+
+ {{ $gettext('Update auto-reply') }}
+
+
+
+
+
+
+
diff --git a/frontend/src/components/admin/identities/AccountSenderAddresses.vue b/frontend/src/components/admin/identities/AccountSenderAddresses.vue
index 0dfbdd8f4..0349aae82 100644
--- a/frontend/src/components/admin/identities/AccountSenderAddresses.vue
+++ b/frontend/src/components/admin/identities/AccountSenderAddresses.vue
@@ -1,4 +1,3 @@
-Ac
@@ -57,11 +56,12 @@ Ac
+
+
diff --git a/modoboa/locale/br/LC_MESSAGES/django.po b/modoboa/locale/br/LC_MESSAGES/django.po
index 11f27686b..fc4b61b46 100644
--- a/modoboa/locale/br/LC_MESSAGES/django.po
+++ b/modoboa/locale/br/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: Breton (http://www.transifex.com/tonio/modoboa/language/br/)\n"
@@ -19,512 +19,612 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Kota rannet kenetre ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo (diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Kota rannet kenetre ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo "
+"(diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Kota dre-ziouer e Mo arloet d'ar boestoù-postel. Un dalvoudegezh \"0\" a dalvez kota ebet."
+msgstr ""
+"Kota dre-ziouer e Mo arloet d'ar boestoù-postel. Un dalvoudegezh \"0\" a "
+"dalvez kota ebet."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Enrolladenn MX aotreet ebet kavet evit an domani-mañ"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "N'hall ket bezañ brasoc'h evit kota an domani"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Aotreadur nac'het"
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Rekis eo leuniañ ar vaezienn"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr "Listenn domanioù meret (eilgwerzherien ha merourien zomani hepken)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Neket aotreet evit ar rol-mañ."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Rankout a ra bezañ par ouzh boest-postell chomlec'h_klok"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Ar vaezienn-mañ a zo rekiset."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "N'eus ket eus an domani lec'hel {}"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Ul listenn resevourien"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "An implijer \"%s\" a zo anezhañ endeo"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "N'ho peus moned ebet d'an domani-mañ."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "N'ho peus moned ebet d'ar voest-posteloù-mañ."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "An implijer \"%s\" a zo anezhañ endeo"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Rankout a ra bezañ un anterin pozitivel"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Neket bet kavet an domani."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Neket bet kavet an domani."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "n'heller ket kavout openssl, bezit asur emañ staliet."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Termeniñ da vihanañ ur rouedad / chomlec'h aotreet"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Ur voest-posteloù a zo rekiset"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Dizanv"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "N'ho peus moned ebet d'an domani-mañ"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "N'hallit ket dilemel ho tomani deoc'h-c'hwi hoc'h-unan"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domanioù"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Enaouiñ ar gwiriañ MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "MXs talvoudus"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Ul listennad chomlec'hioù IP pe rouedad hag a rank bezañ doujet gant kement enrolladenn MX Ur c'hemenn-diwall a vo kaset seul wech ma ne vo ket doujet gant un enrolladenn."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Ul listennad chomlec'hioù IP pe rouedad hag a rank bezañ doujet gant kement "
+"enrolladenn MX Ur c'hemenn-diwall a vo kaset seul wech ma ne vo ket doujet "
+"gant un enrolladenn."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "An domanioù nevez a rank implijout MX(où) aotreet"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Mirout ouzh krouidigezh un domani ma n'eus ket da vihanañ ur chomlec'h termenet MX evit ec'h enrolladennoù."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Mirout ouzh krouidigezh un domani ma n'eus ket da vihanañ ur chomlec'h "
+"termenet MX evit ec'h enrolladennoù."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable DNS checks"
+msgid "Enable IPV6 checks"
+msgstr "Enaouiñ ar gwiriañ DNS"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Enaouiñ ar gwiriañ DNS"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Enaouiñ ar gwiriañ MX"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Enaouiñ ar gwiriañ MX"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Enaouiñ ar gwiriañ MX"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Enaouiñ ar gwiriañ DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Gwiriañ a ra kement domani ouzh ar bourvezerien DNSBL pennañ"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Servijer DNS personnel"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Implijit ur servijer DNS e-plas ur c'hefluniadur servijer lec'hel"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Kavlec'h stokiñ an alc'hwezioù DKIM"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Hent absolut ar c'havlec'h a vo stoket an alc'hwezioù DKIM ennañ. Bezit asur e vez perc'hennet ar c'havlec'h-mañ gant an implijer gwrizienn ha n'hall ket bezañ lennet gant an dud diavaez."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Hent absolut ar c'havlec'h a vo stoket an alc'hwezioù DKIM ennañ. Bezit asur"
+" e vez perc'hennet ar c'havlec'h-mañ gant an implijer gwrizienn ha n'hall "
+"ket bezañ lennet gant an dud diavaez."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Ment dre-ziouer un alc'hwez DKIM"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Ment dre-ziouer en oktedoù an alc'hwezioù DKIM ganet."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Kota domani dre-ziouer"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Kota dre-ziouer (e Mo) arloet d'an domanioù krouet hep talvoudegezh spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Kota dre-ziouer (e Mo) arloet d'an domanioù krouet hep talvoudegezh spisaet."
+" Un dalvoudegezh 0 a dalvez n'eus kota ebet."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Kota domani dre-ziouer"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Boest-posteloù"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Merañ ar voest-posteloù war restr-sistem"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Adenvel pe zilemel boest-posteloù war ar restr-sistem pa vezont adanvet pe dilamet diwar Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Adenvel pe zilemel boest-posteloù war ar restr-sistem pa vezont adanvet pe "
+"dilamet diwar Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Kota boest-posteloù dre-ziouer"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Kota dre-ziouer (e Mo) arloet d'ar voest-posteloù krouet hep talvoudegezh spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Kota dre-ziouer (e Mo) arloet d'ar voest-posteloù krouet hep talvoudegezh "
+"spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default mailbox quota"
msgid "Default mailbox sending limit"
msgstr "Kota boest-posteloù dre-ziouer"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Em-dilamadur kont"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Pa vez dilamet ur voest-posteloù, dilamit ur gont kevelet."
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Em-grouidigezh domani/boest-postel"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
msgstr "Krouit un domani hag ur voest-posteloù pa vez em-grouet ur gont."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Krouiñ un alias pa vez adanvet ur voest-posteloù"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Krouiñ un alias en ur implijout ar chomlec'h pa vez adanvet ar voest-posteloù."
+msgstr ""
+"Krouiñ un alias en ur implijout ar chomlec'h pa vez adanvet ar voest-"
+"posteloù."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Kota dre-ziouer (e Mo) arloet d'ar voest-posteloù krouet hep talvoudegezh spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Kota dre-ziouer (e Mo) arloet d'ar voest-posteloù krouet hep talvoudegezh "
+"spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Melestradurezh"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domani"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Domani a-eil"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Serriñ"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Anv implier"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "An anv implijer. Rankout a ra bezañ ur voest-posteloù reizh evit an implijer eeun pe ar verourien gant ur voest-posteloù."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"An anv implijer. Rankout a ra bezañ ur voest-posteloù reizh evit an implijer"
+" eeun pe ar verourien gant ur voest-posteloù."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rol"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Dibab"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Peseurt live-aotre a vo gant an implijer-mañ"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Ger-tremen dre-zegouezh"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Genel ur ger-tremen dre-zegouezh. M'emaoc'h oc'h hizivaat ar gont-mañ hag e kochit ar c'hombodig-mañ, ur ger-tremen nevez a vo ganet."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Genel ur ger-tremen dre-zegouezh. M'emaoc'h oc'h hizivaat ar gont-mañ hag e "
+"kochit ar c'hombodig-mañ, ur ger-tremen nevez a vo ganet."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Ger-tremen"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Kadarnaat"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Ebarzhit ar memes ger-tremen hag a-us, da wiriañ."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Enaouet"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "N'eus nemet an dreist-merourien hag a vez aotreet evit ar mod-se"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "An div vaezienn ger-tremen na glotont ket an eil gant eben."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "N'hallit ket dilemel ho kont deoc'h-c'hwi hoc'h-unan"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "Postel"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Krouiñ un alias en ur implijout ur chomlec'h kozh"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Kota"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Kota evit ar voest-posteloù-mañ. Gellout a ra bezañ ezpleget e Ko, Mo (diouer) pe Go c'hoazh. Termeniñ un dalvoudegezh ispisial pe implijit talvoudegezh an domani. Laoskit goullo evit termeniñ un dalvoudegezh divevenn (berzet evit ar verourien zomani)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Kota evit ar voest-posteloù-mañ. Gellout a ra bezañ ezpleget e Ko, Mo "
+"(diouer) pe Go c'hoazh. Termeniñ un dalvoudegezh ispisial pe implijit "
+"talvoudegezh an domani. Laoskit goullo evit termeniñ un dalvoudegezh "
+"divevenn (berzet evit ar verourien zomani)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(où)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(où) ar voest-postel-mañ. Spisait ur chomlec'h dre enmont, pouezit war KAS evit ouzhpennañ un enmont nevez. Evit krouiñ un alias 'lak-pep-tra', ebarzhit anv an domani hepken (@domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(où) ar voest-postel-mañ. Spisait ur chomlec'h dre enmont, pouezit war "
+"KAS evit ouzhpennañ un enmont nevez. Evit krouiñ un alias 'lak-pep-tra', "
+"ebarzhit anv an domani hepken (@domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Chomlec'hioù ar c'haser"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Chomlec'h(ioù) kaser ouzhpenn evit ar gont-mañ. An implijer a vo aotreet da gas posteloù en ur ober gant ar chomlec'hioù-se, ha pa 'z eus anezhañ en un doare lec'hel. Spisait ur chomlec'h dre enmont. Pouezit war KAS evit un enmont nevez."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Chomlec'h(ioù) kaser ouzhpenn evit ar gont-mañ. An implijer a vo aotreet da "
+"gas posteloù en ur ober gant ar chomlec'hioù-se, ha pa 'z eus anezhañ en un "
+"doare lec'hel. Spisait ur chomlec'h dre enmont. Pouezit war KAS evit un "
+"enmont nevez."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "N'eus ket eus an Domani"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "N'eus ket eus an domani lec'hel"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domani(où)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domani(où) meret gant an implijer"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Hollek"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Postel"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Aotreadurioù"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Kont hizivaet"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Kont nevez"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Kont krouet"
@@ -537,69 +637,85 @@ msgid "Email address"
msgstr "Chomlec'h postel"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Chomlec'h an alias. Evit krouiñ un alias catchall, ebarzhit hepken an anv domani (@domani.tld)"
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Chomlec'h an alias. Evit krouiñ un alias catchall, ebarzhit hepken an anv "
+"domani (@domani.tld)"
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Reseverien"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Chomlec'hioù az aio an alias-mañ betek ar poent ennañ. Spisait ur chomlec'h dre enmont, pouezit war KAS evit ouzhpennañ un enmont nevez."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Chomlec'hioù az aio an alias-mañ betek ar poent ennañ. Spisait ur chomlec'h "
+"dre enmont, pouezit war KAS evit ouzhpennañ un enmont nevez."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Resever ebet termenet"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Doare"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(où) an domani-mañ. Spisait un anv dre enmont hepken, pouezit war KAS evit ouzhpennañ un emnont nevez."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias(où) an domani-mañ. Spisait un anv dre enmont hepken, pouezit war KAS"
+" evit ouzhpennañ un emnont nevez."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Diuzer alc'hwez"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Kota arloet d'ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo (diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Kota arloet d'ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo "
+"(diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "alias an domani"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Bez ez eus \"%s\" gant ar memes anv"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Kavlec'h stokiñ an alc'hwezioù DKIM chomet digefluniet"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "N'hallit ket termeniñ ur c'hota divevenn"
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domani"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Krouit ur merour domani"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Em-grouit ur merour evit an domani-mañ"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -608,51 +724,53 @@ msgstr "Em-grouit ur merour evit an domani-mañ"
msgid "Name"
msgstr "Anv"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
msgstr "An anv merour. Na eberzhit ket anv domani amañ, em-ouzhpennet e vo."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Genel ur ger-tremen dre-zegouezh evit ar merour."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Gant ur voest-posteloù"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Krouiñ ur voest-posteloù evit ar merour."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Krouiñ aliasoù"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Em-grouit aliasoù standard evit an domani-mañ"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Stumm direizh"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domani aozet"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Dibarzhioù"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Domani nevez"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domani krouet"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Skejer"
@@ -660,23 +778,25 @@ msgstr "Skejer"
msgid "Recipient(s)"
msgstr "Resever(ien)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Roit da anavout unan pe meur a resever skejet gant ur ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Mirout eiladennoù lec'hel"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr "Treuzkas kemennadennoù ha stokiñ eiladennoù e-barzh ar voest-posteloù lec'hel"
+msgstr ""
+"Treuzkas kemennadennoù ha stokiñ eiladennoù e-barzh ar voest-posteloù "
+"lec'hel"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Diuzañ ur restr"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Kenderc'hel war ar fazi"
@@ -684,132 +804,137 @@ msgstr "Kenderc'hel war ar fazi"
msgid "Don't treat duplicated objects as error"
msgstr "Arabat tretiñ an objedoù e doubl evel ur fazi"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Kriptañ ar gerioù-tremen"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Kochit an dibarzh ma ne vez ket kriptet ar gerioù-tremen endalc'het en ho restr"
+msgstr ""
+"Kochit an dibarzh ma ne vez ket kriptet ar gerioù-tremen endalc'het en ho "
+"restr"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Enporzhiadur kont c'hwitet (%s): n'eus ket eus an domani"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Boest-postel {} a zo anezhi endeo"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Enporzhiadur kont c'hwitet (%s): talvoudegezh kota fall"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identelezhioù"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Treuzkas"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Ur voest-posteloù a zo rekiset"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "N'hoc'h ket aotreet da emporzhiañ domanioù"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "N'hoc'h ket aotreet da emporzhiañ aliasoù domani."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "Enrolladenn DNS ebet kavet evit %s"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "Enrolladenn MX ebet evit %s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "N'eus bet kavet anv servijer ebet hag az afe en-dro"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
-msgstr "Prantad gortoz spister DNS, n'heller ket sevel ar reked %s evit ar mare"
+msgstr ""
+"Prantad gortoz spister DNS, n'heller ket sevel ar reked %s evit ar mare"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Stumm chomlec'h IP direizh evit {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Objed a zo anezhañ dija: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objed emporzhiet gant berzh"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
-msgstr "Ar restr CSV neket kodet anezhi en UTF-8, klask a reomp divinout an enkodañ"
+msgstr ""
+"Ar restr CSV neket kodet anezhi en UTF-8, klask a reomp divinout an enkodañ"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Lenn ur restr CSV en ur implijout an enkodañ %(encoding)s"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
-msgstr "N'heller ket digodiñ ar restroù CSV en ur ober gant an enkodañ %(encoding)s"
+msgstr ""
+"N'heller ket digodiñ ar restroù CSV en ur ober gant an enkodañ %(encoding)s"
#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain {} has no MX record"
msgid "Domain has no MX record"
msgstr "An domani {} n'eus enrolladenn MX ebet gantañ"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "An domani {} n'eus enrolladenn MX ebet gantañ"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid MX record: {}"
msgstr "Enrolladennoù MX eus {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "An enrolladenn MX evit an domani {0} a zo direizh {1}"
@@ -818,160 +943,159 @@ msgstr "An enrolladenn MX evit an domani {0} a zo direizh {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] kudenn(où) MX evit an domani {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Kudenn(où) DNSBL gant an domani {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Neket bet kavet an domani."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Un alias gant an anv-mañ zo anezhañ dija"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "chomlec'h"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Chomlec'h an alias."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "enaouet"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Kochiñ evit enaouiñ an alias-mañ"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Deskrivadur"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Diamzeriet da"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Chomlec'h direizh"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Resever lec'hel {}@{} nann-kavet"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Linenn direizh: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "anv"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Anv an domani"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Kochit evit enaouiñ an domani-mañ"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Enaouiñ ar gwiriañ DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Kochit evit enaouiñ ar gwiriadenoù DNs evit an domani-mañ"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Enaouiñ ar sinadur DKIM"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Ma enaouit an arc'hweladur-mañ, un alc'hwez DKIM a vo ganet evit an domani-mañ."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Ma enaouit an arc'hweladur-mañ, un alc'hwez DKIM a vo ganet evit an domani-"
+"mañ."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Padelezh an alc'hwez"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linenn direizh"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Enrolladenn MX aotreet ebet kavet evit an domani {}"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Talvoudegezh kota direizh evit an domani \"{}\""
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Talvoudegezh kota direizh evit boest-posteloù an domani \"{}\""
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "N'hall ket bezañ brasoc'h kota dre-ziouer ur voestad-posteloù evit kota un domani"
+msgstr ""
+"N'hall ket bezañ brasoc'h kota dre-ziouer ur voestad-posteloù evit kota un "
+"domani"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Anv an alias"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "bukenn"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "An domani a vez lakaet ar biz warnañ gant an alias-mañ"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Domani dizanv %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Chomlec'hioù boest-posteloù (hep al lodenn @domani.tld)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "N'heller ket adsevel lec'hiadur ar voest-posteloù (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Ur c'hota a zo rekiset"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -981,8 +1105,9 @@ msgstr "Kota an domani dibaseet"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Serriñ"
@@ -1033,9 +1158,9 @@ msgstr "Kementad"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Aliasoù domani"
@@ -1070,7 +1195,7 @@ msgstr "Krouet"
msgid "Last login"
msgstr "Kevreadenn ziwezhañ"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Eil chomlec'h postel"
@@ -1079,7 +1204,7 @@ msgstr "Eil chomlec'h postel"
msgid "Not defined"
msgstr "Ket termenet"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Niverenn bellgomz"
@@ -1157,7 +1282,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Deiziad"
@@ -1183,9 +1308,9 @@ msgstr "Deiziad krouidigezh"
msgid "Last modification date"
msgstr "Deiziad aozañ diwezhañ"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Aliasoù boest-posteloù"
@@ -1244,11 +1369,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Ket"
@@ -1256,7 +1382,7 @@ msgstr "Ket"
msgid "Generate new key"
msgstr "Genel un alc'hwez nevez"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Ya"
@@ -1269,7 +1395,7 @@ msgid "Administrators"
msgstr "Merourien"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Dilemel an aotre-mañ"
@@ -1306,13 +1432,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Eus"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Da"
@@ -1343,9 +1469,10 @@ msgstr "lazhet"
msgid "Automatically forward emails to another address"
msgstr "Em-dreuzkas ar posteloù betek ur chomlec'h postel all"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Hizivaat"
@@ -1362,12 +1489,40 @@ msgid "Fullname/Recipient"
msgstr "Anv klok/Resever"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
+msgstr ""
+"Pourvezit ur restr CSV el lec'h ma touj al linennoù unan eus ar stummoù da-"
+"heul:
kont; anv-kevreañ; ger-tremen; anv bihan; anv familh; "
+"enaouet; strolladoù; chomlec'h; kota; [, domani, ...]
"
+"
alias; chomlec'h; enaouet; resever; resever; ...
"
+"
Elfenn gentañ pep linenn a vez ret hag e rank bezañ par ouzh unan eus an "
+"talvoudegezhioù kent.
Gellout a rit implijout un arouezenn evel "
+"skejer.
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1403,108 +1558,127 @@ msgstr "Erolladenn MX ebet kavet evit an domani-mañ."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa en deus diguzhet e oa an domani %(domain)s listennet gant ar bourvezerien DNSBL da-heul:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa en deus diguzhet e oa an domani %(domain)s listennet gant ar "
+"bourvezerien DNSBL da-heul:"
#: 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 "Brud an domani a vo merket-kennañ ha posupl eo e vo lakaet da strob ar posteloù o tont eus e berzh. Rankout a rafec'h mont e darempred gant ar bourvezerien-mañ evit goulenn digantañ dilistennañ ar chomlec'h(ioù) IP diguzhet."
+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 ""
+"Brud an domani a vo merket-kennañ ha posupl eo e vo lakaet da strob ar "
+"posteloù o tont eus e berzh. Rankout a rafec'h mont e darempred gant ar "
+"bourvezerien-mañ evit goulenn digantañ dilistennañ ar chomlec'h(ioù) IP "
+"diguzhet."
#: 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 a zo bet diguzhet gantañ ne oa tamm enrolladenn MX reizh gant an domani %(domain)s:"
+msgstr ""
+"Modoboa a zo bet diguzhet gantañ ne oa tamm enrolladenn MX reizh gant an "
+"domani %(domain)s:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Klask"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "enaouet_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "enaouet_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Listenn domanioù"
-#: 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 "Listenn kotaioù"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "Emporzhiañ"
-#: 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 "Ezporzhiañ"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Listenn identelezhioù"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Gwelet identelezhioù an domanioù"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "alias an domani"
-#: 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 "Aozet {}"
-#: 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 "Dilemel %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Enrolladenn MX ebet evit %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 "Stumm chomlec'h IP direizh evit %(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 "Enrolladenn MX ebet evit %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Un alias gant an anv-mañ zo anezhañ dija"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Krouiñ"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Alias nevez"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias krouet"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias aozet"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias dilemet"
@@ -1517,11 +1691,11 @@ msgstr[4] "Aliasoù dilemet"
msgid "MX records of {}"
msgstr "Enrolladennoù MX eus {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "Berradenn DNSBL evit {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domani dilemet"
@@ -1530,20 +1704,20 @@ msgstr[2] "Domanioù dilemet"
msgstr[3] "Domanioù dilemet"
msgstr[4] "Domanioù dilemet"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Ezporzhiañ identelezhioù"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Ezporzhiañ domanioù"
-#: 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 "Reked direizh"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Kont dilemet"
@@ -1552,7 +1726,7 @@ msgstr[2] "Kontoù dilemet"
msgstr[3] "Kontoù dilemet"
msgstr[4] "Kontoù dilemet"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Emporzhiañ domanioù"
@@ -1560,87 +1734,74 @@ msgstr "Emporzhiañ domanioù"
msgid "Import identities"
msgstr "Emporzhiañ identelezhioù"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Treuzkas hizivaet"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid PIN code"
msgstr "Enrolladennoù MX eus {}"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Lec'hel"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Profil implijer"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Sintaks direizh"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Niveroù ront direizh"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr ""
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Ger-tremen kozh"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr ""
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Lec'hel"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Profil implijer"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Sintaks direizh"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Niveroù ront direizh"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr ""
+
+#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Implijer '%s' kevreet gant berzh"
-#: 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 "Dizemglev gant brastres ar ger-tremen. Oc'h hizivat ar ger-tremen %s"
@@ -1650,452 +1811,504 @@ msgstr "Dizemglev gant brastres ar ger-tremen. Oc'h hizivat ar ger-tremen %s"
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "O vezañ anavezet"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Doare anavezadur"
-#: 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 "Drekleur implijet evit bezañ anavezet"
-#: 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 "Ger-tremen dre ziouer ar brastres"
-#: 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 "Brastres implijet evit enrinegañ gerioù-tremen ar postelerezh"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Troiadoù"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Niver a droiadoù d'ober ganto (implijet gant sha256crypt ha sha512crypt hepken). Bez' e rank bezañ etre 1000 ha 999999999, e-barzh."
+#: 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 ""
+"Niver a droiadoù d'ober ganto (implijet gant sha256crypt ha sha512crypt "
+"hepken). Bez' e rank bezañ etre 1000 ha 999999999, e-barzh."
-#: 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 ""
-#: 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 "Hizivait ger-tremen an implijer d'ar mare kevreaén evit implijout ar brastres ger-tremen dre-ziouer"
+msgstr ""
+"Hizivait ger-tremen an implijer d'ar mare kevreaén evit implijout ar "
+"brastres ger-tremen dre-ziouer"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Ger-tremen dre-ziouer"
-#: 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 "Ger-tremen dre-ziouer evit ar gontoù em-grouet."
-#: 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 "Hirder dre-zegouezh ger-tremen"
-#: 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 "Hirder ar gerioù-tremen em-c'hanet."
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Arventennoù LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Chomlec'h ar servijer"
-#: 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 "Chomlec'h IP pe anv DNS ar servijer LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Porzh ar servijer"
-#: 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 "Niverenn borzh TCP implijet gant ar servijer LDAP"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 "Ober gant ur gevreadenn suraet"
-#: 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 "Implijit ur gevreadenn SSL/STARTTLS evit gellet tizhout ar servijer LDAP"
+msgstr ""
+"Implijit ur gevreadenn SSL/STARTTLS evit gellet tizhout ar servijer LDAP"
-#: core/app_settings.py:178 core/app_settings.py:838
+#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
msgstr "Kavlec'h oberiant"
-#: 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 "Lavarout a ra hag-eñ e vez ar servijer LDAP ur C'havlec'h Oberiant"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Strolladoù merañ"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Izili ar strolladoù LDAP Posix a vo krouet evel bezañ merourien domani. Implijit an arouezoù ';' evit gellet skejañ ar strolladoù."
+#: 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 ""
+"Izili ar strolladoù LDAP Posix a vo krouet evel bezañ merourien domani. "
+"Implijit an arouezoù ';' evit gellet skejañ ar strolladoù."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Doare ar strollad"
-#: 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 "An doare strollad LDAP da implijout gant ho kavlec'h."
-#: 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 "Diazez klask ar strolladoù"
-#: 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 "Anv dibar an diaz klask implijet evit kavout strolladoù"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Perzhioù ar ger-tremen"
-#: 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 "Ar perzhioù implijet evit stokiñ ar gerioù-tremen implijer"
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Doare dilesañ"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Klask ha liammañ"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "liamm eeun"
-#: 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 "Dibabit an doare anavezadur da vezañ implijet"
-#: 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 "Liammañ DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "An anv dibar da vezañ implijet evit en em liammañ ouzh ar servijer LDAP. Lezel goullo evit un liamm dizanv."
+#: 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 ""
+"An anv dibar da vezañ implijet evit en em liammañ ouzh ar servijer LDAP. "
+"Lezel goullo evit un liamm dizanv."
-#: 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 "Liammañ ur ger-tremen"
-#: 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 "Ar ger-tremen d'ober gantañ evit kevreañ ouzh ar servijer LDAP (gant 'kevreadenn DN')"
+msgstr ""
+"Ar ger-tremen d'ober gantañ evit kevreañ ouzh ar servijer LDAP (gant "
+"'kevreadenn DN')"
-#: 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 "Diazez enklask an implijerien"
-#: 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 "Anv dibar an diaz enklask implijet evit kavout implijerien"
-#: 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 "Sil klask"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Ur chadenn sil diret (d.sk. '(objedKlas = person)'). Evit bezañ reizh, e rank bezañ enklozet etre krommelloù."
+#: 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 ""
+"Ur chadenn sil diret (d.sk. '(objedKlas = person)'). Evit bezañ reizh, e "
+"rank bezañ enklozet etre krommelloù."
-#: 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 "Patrom implijer 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 "Ar skouer implijet evit sevel DN un implijer. Rankout a rafe enderc'hel ur spas miret (d.l.e %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Ar skouer implijet evit sevel DN un implijer. Rankout a rafe enderc'hel ur "
+"spas miret (d.l.e %(user)s)"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 "Taolenn-stur"
-#: 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 "Froud RSS personel"
-#: 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 "Diskouez froudoù RSS personnel d'an eilgwerzherien ha merourien an domani"
+msgstr ""
+"Diskouez froudoù RSS personnel d'an eilgwerzherien ha merourien an domani"
-#: 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 "Kuzhat an arc'hweladurioù objed"
-#: 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 "Kuzhat an arc'hweladurioù objed d'an eilgwerzherien ha merourien an domani"
+msgstr ""
+"Kuzhat an arc'hweladurioù objed d'an eilgwerzherien ha merourien an domani"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Kemennadennoù"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Chomlec'h ar c'haser"
-#: 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 "Chomlec'h postel implijet da gas kemmennoù."
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "API foran"
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr "Enaouiñ ar c'hehentiñ"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Enaouiñ ar c'hehentiñ dre API foran Modoboa "
-#: 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 "Klask stummoù nevez"
-#: 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 "Em-wiriañ ma vez ur stumm nevez hegerz"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Kas statistikoù"
-#: 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 "Kas ar statistikoù da API foran Modoboa (kontourioù hag an astennoù impliljet)"
+msgstr ""
+"Kas ar statistikoù da API foran Modoboa (kontourioù hag an astennoù "
+"impliljet)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "A-bep seurt"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Treuzoù ar c'hontoù dioberiant"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Treuzoù ar c'hontoù dioberiant"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Ur gont gant un deiziad kevreañ koshoc'h evit an treuzoù-se (e devezhioù) a vo kontet evel bezañ dioberiant"
+#: 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 ""
+"Ur gont gant un deiziad kevreañ koshoc'h evit an treuzoù-se (e devezhioù) a "
+"vo kontet evel bezañ dioberiant"
-#: 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 "Padelezh etre ar c'hemennoù gwiriañ pennañ"
-#: 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 "Padelezh etre div gwiriadenn gemennoù pennañ (en eilennoù)"
-#: 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 "Oad enrollañ maksimom ar marilhoù"
-#: 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 "Oad brasañ e devezhioù un enrollodenn renabl"
-#: 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 "Elfennoù dre bajenn"
-#: 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 "Niver a elfennoù diskouezet dre bajenn"
-#: 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 "Adhenchañ pennañ dre-ziouer"
-#: 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 "An adheñchañ dre-ziouer implijet pa n'eus arload ebet spisaet"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "Bez ho peus lakaet USE_TZ da Gaou, gellout a ra degas kudennoù da vare an tremennadennoù eurvezh hañv/eurvezh goañv (d.l.e ar memes eurvezh lec'hel a c'hoarvez div wech abalamour d'ur cheñchamant horolaj)."
+#: 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 ""
+"Bez ho peus lakaet USE_TZ da Gaou, gellout a ra degas kudennoù da vare an "
+"tremennadennoù eurvezh hañv/eurvezh goañv (d.l.e ar memes eurvezh lec'hel a "
+"c'hoarvez div wech abalamour d'ur cheñchamant horolaj)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Lakaat `USE_TZ = Gwir e-barzh`arventennoù.py"
@@ -2127,31 +2340,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Ger-tremen kozh"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Ger-termen nevez"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Disklotadurioù ar ger-tremen kozh"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Disklotadurioù gerioù-tremen"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Aotren moned an API"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2168,20 +2381,20 @@ msgstr "kemmet"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s gant an implijer %(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 gant "
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "diverket"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "implijer {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "meradur an urzhiad"
@@ -2189,65 +2402,69 @@ msgstr "meradur an urzhiad"
msgid "You can't delete your own account"
msgstr "N'hallit ket diverkañ ho kont deoc'h-c'hwi hoc'h-unan"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Hegerz ez eus un hizivadenn pe muioc'h"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Aotren ar moned d'ar boestoù-post"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Aotren an implijer-mañ da vont e boestoù-post an implijerien"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "Ger-tremen"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "yezh"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Yezh karetañ evit diskwel ar pajenoù"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
-msgstr "Gallout a reer ober gant un eil chomlec'h postel evit ezhommoù adtapout"
+msgstr ""
+"Gallout a reer ober gant un eil chomlec'h postel evit ezhommoù adtapout"
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Hizivadur ger-tremen c'hwitet: modulenn LDAP nann-staliet"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "kont"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Dizanv"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
-msgstr "N'hallit ket emporzhiañ ur gont gant ur rol pouezusoc'h evit hoc'h hini deoc'h-c'hwi"
+msgstr ""
+"N'hallit ket emporzhiañ ur gont gant ur rol pouezusoc'h evit hoc'h hini "
+"deoc'h-c'hwi"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "An implijer eeun '%s' a rank kaout ur chomlec'h postel reizh"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
-msgstr "ar maeziennoù anv-implijer hag ar postel a rank bezañ disheñvel diouzh '%s'"
+msgstr ""
+"ar maeziennoù anv-implijer hag ar postel a rank bezañ disheñvel diouzh '%s'"
-#: 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] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr."
@@ -2256,7 +2473,7 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr."
msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr."
msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr."
-#: 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] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut."
@@ -2265,7 +2482,7 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut."
msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut."
msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut."
-#: 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] "Ar ger-tremen a rank enderc'hel da vihanañ {} bennlizherenn."
@@ -2274,7 +2491,7 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} a bennlizherennoù."
msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} a bennlizherennoù."
msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} a bennlizherennoù."
-#: 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] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial."
@@ -2283,55 +2500,56 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial."
msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial."
msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "Rankout a ra enderc'hel ho ker-tremen ur c'henaozadur a arouezioù disheñvel."
+msgstr ""
+"Rankout a ra enderc'hel ho ker-tremen ur c'henaozadur a arouezioù disheñvel."
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Applications"
msgid "Appication secret"
@@ -2358,8 +2576,12 @@ msgid "Latest news"
msgstr "Keleier diwezhañ"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Kit d'ober un dro war ar weblog ofisiel evit kaout muioc'h a ditouroù."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Kit d'ober un dro war ar weblog ofisiel evit kaout muioc'h a ditouroù."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2371,8 +2593,12 @@ msgstr "Merit ho moned da API Modoboa"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Un teuliadur diwar-benn an API a vez hegerzh amañ."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Un teuliadur diwar-benn an API a vez hegerzh amañ."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2383,7 +2609,7 @@ msgstr "Jedaouer aotren moned API"
msgid "Hello %(user)s."
msgstr "Deiz mat deoc'h %(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 "Titouroù"
@@ -2397,7 +2623,9 @@ msgstr "Un hizivadenn pe muioc'h a zo hegerz!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Sellit ouzh al listenn da-heul da welet hag-eñ e c'hall bezañ hizivaet ar parzh(ioù)."
+msgstr ""
+"Sellit ouzh al listenn da-heul da welet hag-eñ e c'hall bezañ hizivaet ar "
+"parzh(ioù)."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2415,7 +2643,7 @@ msgstr "Stumm diwezhañ"
msgid "Active users"
msgstr "Implijerien oberiant"
-#: 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 "Marilhoù"
@@ -2444,7 +2672,7 @@ msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
-#: 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 "Arventennoù"
@@ -2461,12 +2689,12 @@ msgstr "Enrollañ"
msgid "Modoboa settings"
msgstr "Arventennoù Modoboa"
-#: 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 "Arventennoù"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Penndibaboù"
@@ -2486,7 +2714,7 @@ msgstr "Hizivaat ho titouroù personel"
msgid "Click here to update your password"
msgstr ""
-#: 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 ""
@@ -2497,7 +2725,9 @@ msgid "Two-Factor authentication"
msgstr "Drekleur implijet evit bezañ anavezet"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2509,18 +2739,27 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgctxt "checks"
@@ -2528,12 +2767,18 @@ msgstr ""
msgid "Disable 2FA"
msgstr "Lazhet"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2552,69 +2797,79 @@ msgstr "Enrolladenn DNS ebet kavet evit %s"
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Kriptañ ar gerioù-tremen"
+
#: 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 "Digevreañ"
-#: 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 "Lodenn greiz Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Arventennoù enrollet"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
-msgstr "Hoc'h anv-implijer hag ho ker-tremen na genglotont ket. Klaskit en-dro, mar plij."
+msgstr ""
+"Hoc'h anv-implijer hag ho ker-tremen na genglotont ket. Klaskit en-dro, mar "
+"plij."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Implijer '{}' digevreet gant berzh"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profil hizivaet"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Arventennoù enrollet"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Moned hizivaet"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr "Arventennoù DNS"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr "Enaouiñ an enklaskoù eilpennet"
-#: 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 "Enaouiñ an enklaskoù DNS eilpennet (danevelloù a vo hiroc'h da vezañ diskouezet)"
+msgstr ""
+"Enaouiñ an enklaskoù DNS eilpennet (danevelloù a vo hiroc'h da vezañ "
+"diskouezet)"
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "Ostilhoù DMARC"
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr "Diskouez an danevell DMARC evit {}"
-#: 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 ""
@@ -2650,11 +2905,11 @@ msgstr "Fazi padennek"
msgid "Permanent error"
msgstr "Fazi peurbadus"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Politikerezh"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Sac'hadenn wan"
@@ -2730,95 +2985,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Mammennoù dizanv/Gourdrouzioù"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2847,7 +3102,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2863,7 +3120,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2871,95 +3128,103 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Moned hizivaet"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration"
msgstr "Enaouiñ ar sinadur DKIM"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration."
msgstr "Enaouiñ ar sinadur DKIM"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83
+#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
#, fuzzy
#| msgid "Create aliases"
msgid "Create Folders"
msgstr "Krouiñ aliasoù"
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
#, fuzzy
#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
msgstr "Arventennoù LDAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
@@ -2968,52 +3233,52 @@ msgstr ""
msgid "IMAP migration"
msgstr "Melestradurezh"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Enaouiñ ar c'hehentiñ dre API foran Modoboa "
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Neket kefluniet ar gevreadenn ouzh an diaz-roadenn %s"
-#: 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 "n'heller ket termeniñ enkodiñ ar chadenn"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Aotreadur nac'het: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Aotreadur nac'het"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Ebarzhiñ un anv domani reizh"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Ebarzhit ur chomlec'h postel reizh."
@@ -3023,133 +3288,178 @@ msgstr "Ebarzhit ur chomlec'h postel reizh."
msgid "Submit"
msgstr "Kas"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "C'hwitet ez eus bet war hizivadur ar ger-tremen: {}"
-#: 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 "Sujed"
-#: 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 "Bevennoù dre-ziouer dre-verour"
-#: 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 "Enaouiñ bevennoù diouer dre-verour"
-#: 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 "Enaouiñ pe lazhañ ar bevennoù dre-verour"
-#: 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 "Merourien domani"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a verourien zomani aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a verourien zomani aotreet evit ur merour nevez anezhañ. (0 "
+"evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a zomanioù aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a zomanioù aotreet evit ur merour nevez anezhañ. (0 evit berzañ"
+" kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a aliasoù domani aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a aliasoù domani aotreet evit ur merour nevez anezhañ. (0 evit "
+"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a voestoù-postel aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a voestoù-postel aotreet evit ur merour nevez anezhañ. (0 evit "
+"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a aliasoù aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a aliasoù aotreet evit ur merour nevez anezhañ. (0 evit berzañ "
+"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
-msgstr "Kota un eilgwerzher a vo aotreet da rannañ kenetre an domanioù krouet gantañ. (0 a dalvez tamm kota ebet)"
+#: 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 ""
+"Kota un eilgwerzher a vo aotreet da rannañ kenetre an domanioù krouet "
+"gantañ. (0 a dalvez tamm kota ebet)"
-#: 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 "Bevennoù dre-zomani dre-ziouer"
-#: 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 "Enaouiñ ar bevennoù dre-zomani"
-#: 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 "Enaouiñ pe lazhañ ar bevennoù dre-zomani"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a verourien zomani aotreet evit un domani nevez (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a verourien zomani aotreet evit un domani nevez (0 evit berzañ "
+"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a aliasoù domani aotreet evit un domani nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a aliasoù domani aotreet evit un domani nevez anezhañ. (0 evit "
+"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a voestoù-postel aotreet evit un domani nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a voestoù-postel aotreet evit un domani nevez anezhañ. (0 evit "
+"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Niver brasañ a aliasoù aotreet evit un domani nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+#: 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 ""
+"Niver brasañ a aliasoù aotreet evit un domani nevez anezhañ. (0 evit berzañ "
+"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Bevennoù"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Niver brasañ a zomanioù a c'hall bezañ krouet gant an implijer-mañ"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
-msgstr "Niver brasañ a aliasoù domanioù a c'hall bezañ krouet gant an implijer-mañ"
+msgstr ""
+"Niver brasañ a aliasoù domanioù a c'hall bezañ krouet gant an implijer-mañ"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
-msgstr "Niver brasañ a voestoù-postel a c'hall bezañ krouet gant an implijer-mañ"
+msgstr ""
+"Niver brasañ a voestoù-postel a c'hall bezañ krouet gant an implijer-mañ"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Niver brasañ a aliasoù boest-postel a c'hall bezañ krouet gant an implijer-mañ"
+msgstr ""
+"Niver brasañ a aliasoù boest-postel a c'hall bezañ krouet gant an implijer-"
+"mañ"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Niver brasañ a verourien domani a c'hall bezañ krouet gant an implijer-mañ"
+msgstr ""
+"Niver brasañ a verourien domani a c'hall bezañ krouet gant an implijer-mañ"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Kota rannet kenetre domanioù an eilgwerzher-mañ"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Niver brasañ a aliasoù domani aotreet evit an domani-mañ."
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Niver brasañ a voestoù-postel aotreet evit an domani-mañ."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Niver brasañ a aliasoù aotreet evit an domani-mañ."
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Niver brasañ a verourien zomani aotreet evit an domani-mañ."
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Bevenn fall"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Mammennoù"
@@ -3162,11 +3472,11 @@ msgstr "%s: bevenn tizhet"
msgid "Not enough resources"
msgstr "Ket trawalc'h a vammennoù"
-#: 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 "N'hoc'h ket aotreet da dermeniñ talvoudegezhioù divevenn"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "divevennet"
@@ -3175,97 +3485,97 @@ msgstr "divevennet"
msgid "Resources usage"
msgstr "Implij mammennoù"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr ""
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr ""
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr ""
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr ""
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr ""
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
#, fuzzy
#| msgid "Send statistics"
msgid "Statistics"
msgstr "Kas statistikoù"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
#, fuzzy
#| msgid "Message"
msgid "sent messages"
msgstr "Kemennadenn"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "Message"
msgid "spam messages"
msgstr "Kemennadenn"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3303,199 +3613,205 @@ msgstr ""
msgid "No statistics available"
msgstr "Arventenn hegerz ebet."
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr ""
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr ""
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr ""
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr ""
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr ""
-#: maillog/views.py:64
+#: maillog/views.py:66
#, fuzzy
#| msgid "Unknown domain %s"
msgid "Unknown graphic set"
msgstr "Domani dizanv %s"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown domain %s"
msgid "Unknown domain"
msgstr "Domani dizanv %s"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr ""
-#: 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
#, fuzzy
#| msgid "Update your personal information"
msgid "Personal account information"
msgstr "Hizivaat ho titouroù personel"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Neket bet kavet an domani."
-#: pdfcredentials/api/v2/serializers.py:76 pdfcredentials/views.py:28
+#: pdfcredentials/api/v2/serializers.py:82 pdfcredentials/views.py:26
#, fuzzy
#| msgid "No information available for this domain."
msgid "No document available for this user"
msgstr "Titour ebet hegerz evit an domani-mañ."
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable PDF credentials"
msgstr "Enaouiñ ar gwiriañ DNS"
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
#, fuzzy
#| msgid "Description"
msgid "Security options"
msgstr "Deskrivadur"
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
#, fuzzy
#| msgid "Custom RSS feed"
msgid "Custom message"
msgstr "Froud RSS personel"
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "SMTP server address"
msgstr "Chomlec'h ar servijer"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "SMTP server port"
msgstr "Porzh ar servijer"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "IMAP server address"
msgstr "Chomlec'h ar servijer"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "IMAP server port"
msgstr "Porzh ar servijer"
-#: 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 ""
-#: 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 ""
@@ -3503,15 +3819,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3520,40 +3836,46 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
#, fuzzy
#| msgid "Change password"
msgid "Please change your password!"
msgstr "Cheñch ger-tremen"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3562,27 +3884,172 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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: bevenn tizhet"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: bevenn tizhet"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Rekis eo leuniañ ar vaezienn"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "N'hall ket bezañ brasoc'h evit kota an domani"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Em-dilamadur kont"
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Kota domani dre-ziouer"
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom RSS feed"
+msgid "Auto-reply message"
+msgstr "Froud RSS personel"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "Sujed"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 "Servij nann-degemeret"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr "Arventennoù treuzdougen"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr "Treuzdougen"
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr "chomlec'hioù herbrec'hiañ bukenn"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "porzhioù herbrec'hiañ bukenn"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "gwiriit ar reseverien"
@@ -3652,16 +4119,25 @@ msgstr "Ger-tremen ankouaeet?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "Termenet eo bet ho ker-tremen. Gellout a rit mont war-raok ha kevreañ bremañ."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"Termenet eo bet ho ker-tremen. Gellout a rit mont war-raok ha kevreañ bremañ."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Cheñch ger-tremen"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Al liamm adderaouaekaat a oa direizh anezhañ, sur a-walc'h abalamour m'eo bet implijet endeo. Goulennit war-lerc'h un adderaouekadur ger-tremen nevez mar plij."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Al liamm adderaouaekaat a oa direizh anezhañ, sur a-walc'h abalamour m'eo "
+"bet implijet endeo. Goulennit war-lerc'h un adderaouekadur ger-tremen nevez "
+"mar plij."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3672,19 +4148,35 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "
Postelet hon eus deoc'h pazennoù evit diazezañ ker-tremen, ma vez ur gont gant ar postel ho peus ebarzhet. Resevet e vint ganeoc'h a-benn nebeud.
Ma ne resevit tamm postel ebet, bezit asur da vezañ bet skrivet ho chomlec'h postel pennañ, ha taolit ur sell ouzh an doser strob.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"
Postelet hon eus deoc'h pazennoù evit diazezañ ker-tremen, ma vez ur gont"
+" gant ar postel ho peus ebarzhet. Resevet e vint ganeoc'h a-benn nebeud.
"
+"
Ma ne resevit tamm postel ebet, bezit asur da vezañ bet skrivet ho "
+"chomlec'h postel pennañ, ha taolit ur sell ouzh an doser strob.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "%(username)s, evit loc'hañ an argerzh adderaouekaat ger-tremen evit ho kont Modoboa, klikit war al liamm dindan:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"%(username)s, evit loc'hañ an argerzh adderaouekaat ger-tremen evit ho kont "
+"Modoboa, klikit war al liamm dindan:"
#: 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 "Ma ne 'z a ket en-dro klikañ war al liamm dindan, eilit pe pegit an URL e-barzh ur prenestr merdeer nevez e-plas."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Ma ne 'z a ket en-dro klikañ war al liamm dindan, eilit pe pegit an URL "
+"e-barzh ur prenestr merdeer nevez e-plas."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3703,22 +4195,21 @@ msgstr "Ger-tremen Modoboa adderaouekaet"
msgid "Invalid value"
msgstr "Talvoudegezh direizh"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr "patern"
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr "servij"
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr "lamm da-heul"
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: bevenn tizhet"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Un alias gant an anv-mañ zo anezhañ dija"
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "Un dastumad ostilhoù da aesaat enframmañ DMARC"
diff --git a/modoboa/locale/cs/LC_MESSAGES/django.po b/modoboa/locale/cs/LC_MESSAGES/django.po
index efc6dadcf..c3f138395 100644
--- a/modoboa/locale/cs/LC_MESSAGES/django.po
+++ b/modoboa/locale/cs/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2020-05-11 18:45+0000\n"
"Last-Translator: Tydýt _, 2023\n"
"Language-Team: Czech (https://www.transifex.com/tonio/teams/13749/cs/)\n"
@@ -21,480 +21,535 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
msgstr ""
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
msgstr ""
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr ""
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+msgid "This alias already exists"
+msgstr ""
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
msgid "Directory non-writable"
msgstr ""
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
msgid "Unknown status"
msgstr ""
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr ""
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr ""
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr ""
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr ""
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr ""
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr ""
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
msgstr ""
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr ""
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+msgid "Enable IPV6 checks"
+msgstr ""
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr ""
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr ""
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr ""
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr ""
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr ""
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr ""
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr ""
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr ""
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
msgstr ""
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr ""
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr ""
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr ""
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr ""
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr ""
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr ""
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr ""
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr ""
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr ""
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
msgstr ""
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:407
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:458
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr ""
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr ""
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
msgstr ""
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr ""
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr ""
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr ""
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr ""
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr ""
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr ""
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr ""
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr ""
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr ""
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr ""
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr ""
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
msgstr ""
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr ""
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
msgstr ""
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr ""
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
msgstr ""
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr ""
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr ""
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr ""
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr ""
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr ""
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr ""
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr ""
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr ""
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr ""
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr ""
@@ -507,69 +562,77 @@ msgid "Email address"
msgstr ""
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
msgstr ""
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr ""
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
msgstr ""
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr ""
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr ""
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
msgstr ""
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
msgstr ""
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr ""
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr ""
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr ""
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr ""
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr ""
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -578,51 +641,53 @@ msgstr ""
msgid "Name"
msgstr ""
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
msgstr ""
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr ""
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr ""
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr ""
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr ""
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr ""
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr ""
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr ""
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr ""
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr ""
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr ""
@@ -630,23 +695,23 @@ msgstr ""
msgid "Recipient(s)"
msgstr ""
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr ""
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr ""
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr ""
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr ""
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr ""
@@ -654,7 +719,7 @@ msgstr ""
msgid "Don't treat duplicated objects as error"
msgstr ""
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr ""
@@ -662,93 +727,93 @@ msgstr ""
msgid "Check this option if passwords contained in your file are not crypted"
msgstr ""
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr ""
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr ""
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr ""
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr ""
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr ""
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -757,23 +822,23 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr ""
@@ -782,148 +847,145 @@ msgstr ""
msgid "[modoboa] MX issue(s) for domain {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr ""
-#: admin/models/alias.py:37
-msgid "An alias with this name already exists."
-msgstr ""
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr ""
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr ""
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr ""
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr ""
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr ""
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr ""
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr ""
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr ""
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr ""
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr ""
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr ""
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr ""
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr ""
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr ""
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr ""
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
msgid "{}: domain quota exceeded"
msgstr ""
@@ -931,8 +993,9 @@ msgstr ""
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr ""
@@ -979,9 +1042,9 @@ msgstr ""
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr ""
@@ -1016,7 +1079,7 @@ msgstr ""
msgid "Last login"
msgstr ""
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr ""
@@ -1025,7 +1088,7 @@ msgstr ""
msgid "Not defined"
msgstr ""
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr ""
@@ -1103,7 +1166,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr ""
@@ -1127,9 +1190,9 @@ msgstr ""
msgid "Last modification date"
msgstr ""
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr ""
@@ -1185,11 +1248,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr ""
@@ -1197,7 +1261,7 @@ msgstr ""
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr ""
@@ -1210,7 +1274,7 @@ msgid "Administrators"
msgstr ""
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr ""
@@ -1247,13 +1311,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr ""
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr ""
@@ -1284,9 +1348,10 @@ msgstr ""
msgid "Automatically forward emails to another address"
msgstr ""
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr ""
@@ -1303,11 +1368,24 @@ msgid "Fullname/Recipient"
msgstr ""
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1344,11 +1422,16 @@ msgstr ""
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr ""
#: 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)."
+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 ""
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1360,90 +1443,95 @@ msgstr ""
msgid "Search"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr ""
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, python-format
+msgid "No AAAA record for %s"
+msgstr ""
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr ""
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr ""
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr ""
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] ""
@@ -1455,11 +1543,11 @@ msgstr[3] ""
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] ""
@@ -1467,20 +1555,20 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr ""
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr ""
-#: 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 ""
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] ""
@@ -1488,7 +1576,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr ""
@@ -1496,83 +1584,70 @@ msgstr ""
msgid "Import identities"
msgstr ""
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr ""
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr ""
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
+msgstr ""
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr ""
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr ""
-#: 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 ""
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: 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 ""
#: 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:165
msgid "Invalid syntax"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/api/v2/serializers.py:274
-msgid "Invalid password"
-msgstr ""
-
-#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -1582,450 +1657,478 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr ""
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr ""
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:178 core/app_settings.py:838
+#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr ""
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
+#: 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 ""
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr ""
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr ""
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr ""
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr ""
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 ""
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2057,31 +2160,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr ""
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr ""
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr ""
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2098,20 +2201,20 @@ msgstr ""
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr ""
-#: core/handlers.py:63
+#: core/handlers.py:64
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr ""
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr ""
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2119,67 +2222,67 @@ msgstr ""
msgid "You can't delete your own account"
msgstr ""
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr ""
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr ""
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr ""
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr ""
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr ""
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr ""
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:126
+#: core/models.py:131
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "Nepodařilo se aktualizovat LDAP účet: {}"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr ""
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
-#: 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] ""
@@ -2187,7 +2290,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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] ""
@@ -2195,7 +2298,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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] ""
@@ -2203,7 +2306,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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] ""
@@ -2211,55 +2314,55 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
msgid "Appication secret"
msgstr ""
@@ -2284,7 +2387,9 @@ msgid "Latest news"
msgstr ""
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
+msgid ""
+"Visit the official "
+"weblog for more information."
msgstr ""
#: core/templates/core/api_access.html:3
@@ -2297,7 +2402,9 @@ msgstr ""
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2309,7 +2416,7 @@ msgstr ""
msgid "Hello %(user)s."
msgstr ""
-#: 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 ""
@@ -2341,7 +2448,7 @@ msgstr ""
msgid "Active users"
msgstr ""
-#: 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 ""
@@ -2369,7 +2476,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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 ""
@@ -2386,12 +2493,12 @@ msgstr ""
msgid "Modoboa settings"
msgstr ""
-#: 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 ""
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr ""
@@ -2411,7 +2518,7 @@ msgstr ""
msgid "Click here to update your password"
msgstr ""
-#: 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 ""
@@ -2420,7 +2527,9 @@ msgid "Two-Factor authentication"
msgstr ""
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2432,28 +2541,43 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: 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 ""
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2468,67 +2592,71 @@ msgstr ""
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+msgid "Confirm your password"
+msgstr ""
+
#: core/templatetags/core_tags.py:34
msgid "Modoboa"
msgstr ""
-#: core/templatetags/core_tags.py:102
+#: core/templatetags/core_tags.py:110
msgid "Logout"
msgstr ""
-#: core/templatetags/core_tags.py:131
+#: core/templatetags/core_tags.py:154
msgid "API"
msgstr ""
-#: core/utils.py:32
+#: core/utils.py:33
msgid "The core part of Modoboa"
msgstr ""
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr ""
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr ""
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr ""
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr ""
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr ""
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr ""
-#: 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 ""
@@ -2564,11 +2692,11 @@ msgstr ""
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2640,95 +2768,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2757,7 +2885,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2773,7 +2903,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2781,136 +2911,144 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
msgid "Access denied"
msgstr ""
-#: 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/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/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr ""
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr ""
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Nepodařilo se vytvořit LDAT účet: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Nepodařilo se aktualizovat LDAP účet: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Nepodařilo se smazat LDAP účet: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Nepodařilo se zakázat LDAP účet: {}"
-#: 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 ""
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr ""
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr ""
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr ""
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr ""
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr ""
@@ -2920,135 +3058,155 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: {}"
msgstr "Nepodařilo se aktualizovat LDAP účet: {}"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr ""
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr ""
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr ""
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr ""
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr ""
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr ""
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr ""
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr ""
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr ""
@@ -3061,11 +3219,11 @@ msgstr ""
msgid "Not enough resources"
msgstr ""
-#: 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 ""
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr ""
@@ -3074,91 +3232,91 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr ""
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr ""
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr ""
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr ""
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr ""
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr ""
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3186,175 +3344,181 @@ msgstr ""
msgid "No statistics available"
msgstr ""
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr ""
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr ""
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr ""
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr ""
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr ""
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr ""
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr ""
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr ""
-#: 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 ""
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
msgid "Directory is not writable"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
@@ -3362,15 +3526,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3379,38 +3543,44 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr ""
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3419,27 +3589,156 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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
+msgid "Daily sending limit reached"
+msgstr ""
+
+#: 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:28 postfix_autoreply/forms.py:98
+msgid "This date is over"
+msgstr ""
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr ""
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+msgid "Automatic replies"
+msgstr ""
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+msgid "Default content"
+msgstr ""
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr ""
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+msgid "subject"
+msgstr ""
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr ""
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr ""
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr ""
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr ""
@@ -3507,7 +3806,9 @@ msgstr ""
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3515,7 +3816,9 @@ msgid "Change password"
msgstr ""
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3527,18 +3830,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3558,14 +3869,14 @@ msgstr ""
msgid "Invalid value"
msgstr ""
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
index 150e332d3..2dc736a0f 100644
--- a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
+++ b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/language/cs_CZ/)\n"
@@ -21,512 +21,609 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Kvóta sdílená mezi poštovními schránkami. Lze vyjádřit v KB, MB (výchozí) nebo GB. Hodnota 0 znamená žádnou kvótu."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Kvóta sdílená mezi poštovními schránkami. Lze vyjádřit v KB, MB (výchozí) "
+"nebo GB. Hodnota 0 znamená žádnou kvótu."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
msgstr "Výchozí kvóta v MB pro schránky. Hodnota 0 = žádná kvóta."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Nebyly nalezeny žádné autorizované MX záznamy pro tuto doménu"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Nemůže být vyšší než kvóta domény"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Přístup zamítnut."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Toto pole je vyžadováno"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr "Zobrazit spravované domény (jenom distributori a správci domén)"
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Není povoleno pro tuto roli."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Musí být rovno hodnote schránky celá_adresa"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Toto pole je vyžadováno."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Lokální doména {} neexistuje"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Seznam příjemců"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Uživatel '%s' již existuje"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "K této doméně nemáte přístup."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "K této schránce nemáte přístup."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Uživatel '%s' již existuje"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Musí se jednat o kladné číslo"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Složka nenalezena."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Složka nenalezena."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl nenalezeno, prosím ujistěte se, že je nainstalováno."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definujte alespoň jednu autorizovanou síť / adresu"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Schránka je vyžadována"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Neznámý"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Nemáte oprávnění k přístupu k této doméně"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Nemůžete smazat vlastní doménu"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domény"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Povolit MX kontroly"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Ověřit, zda má každá doména platný MX záznam"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "Platné MX záznamy"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud toto záznam nerespektuje, bude odesláno varování."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud"
+" toto záznam nerespektuje, bude odesláno varování."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Nové domény musí používat autorizovaný/é MX záznam(y)"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Zamezit vytvoření nové domény, pokud její MX záznamy neodpovídají jedné ze zadaných adres."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Zamezit vytvoření nové domény, pokud její MX záznamy neodpovídají jedné ze "
+"zadaných adres."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable DNS checks"
+msgid "Enable IPV6 checks"
+msgstr "Zapnout kontrolu DNS"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Zapnout kontrolu DNS"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Ověřit, zda má každá doména platný MX záznam"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Povolit MX kontroly"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Ověřit, zda má každá doména platný MX záznam"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Povolit MX kontroly"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Ověřit, zda má každá doména platný MX záznam"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Povolit MX kontroly"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Ověřit, zda má každá doména platný MX záznam"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Povolit DNSBL kontroly"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Ověřit každou doménu vůči hlavním DNSBL providerům"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Vlastní DNS server"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Místo konfigurace lokálního serveru použijte vlastní server DNS"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Složka pro uložení DKIM klíčů"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Absolutní cesta ke složce, kde budou uloženy privátní DKIM klíče. Ujistěte se, že vytvořená složka patří uživateli root a není možné z ní číst okolním světem."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Absolutní cesta ke složce, kde budou uloženy privátní DKIM klíče. Ujistěte "
+"se, že vytvořená složka patří uživateli root a není možné z ní číst okolním "
+"světem."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Výchozí délka DKIM klíče"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Výchozí délka v bitech pro nově vygenerované DKIM klíče."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Výchozí kvóta domény"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Výchozí kvóta (v MB), které se použije u nově vytvořených domén bez uvedené hodnoty kvóty. Hodnota 0 znamená, že se kvóta nepoužívá."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Výchozí kvóta (v MB), které se použije u nově vytvořených domén bez uvedené "
+"hodnoty kvóty. Hodnota 0 znamená, že se kvóta nepoužívá."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Výchozí kvóta domény"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Schránky"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Spravovat schránky v souborovém systému"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Přejmenovat nebo odstranit schránky v souborovém systému, pokud jsou přejmenovány nebo odstraněny v Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Přejmenovat nebo odstranit schránky v souborovém systému, pokud jsou "
+"přejmenovány nebo odstraněny v Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Výchozí kvóta schránky"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou kvótu."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, "
+"které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou "
+"kvótu."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default mailbox quota"
msgid "Default mailbox sending limit"
msgstr "Výchozí kvóta schránky"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Automatické odstranění účtu"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Když je schránka odstraněná, odstranit také přiřazený účet uživatele"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Automatické vytvoření domény/schránky"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
msgstr "Při založení účtu automaticky vytvořit doménu a schránku."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Vytvořit alias, pokud je mailová schránka přejmenována"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Vytvořit alias použitím původní adresy, pokud je mailová schránka přejmenována."
+msgstr ""
+"Vytvořit alias použitím původní adresy, pokud je mailová schránka "
+"přejmenována."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou kvótu."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, "
+"které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou "
+"kvótu."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Správa"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Doména"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Relay doména"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Zavřít"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Uživatelské jméno"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "Název uživatele. U běžných uživatelů musí být uvedena platná e-mailová adresa nebo u administrátorů schránka."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"Název uživatele. U běžných uživatelů musí být uvedena platná e-mailová "
+"adresa nebo u administrátorů schránka."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Role"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Vybrat"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Jaká úroveň oprávnění bude tomuto uživateli nastavena"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Náhodné heslo"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Vygenerovat náhodné heslo. Pokud upravujete tento účet a zaškrtnete tuto položku, bude vygenerováno nové heslo."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Vygenerovat náhodné heslo. Pokud upravujete tento účet a zaškrtnete tuto "
+"položku, bude vygenerováno nové heslo."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Heslo"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Potvrzení"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Vložte stejné heslo jako v poli výše, pro jeho ověření."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Povoleno"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Pouze super správci jsou oprávnění pro tento režim"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Obě pole s heslem se neshodují."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Nemůžete zakázat váš vlastní účet"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Vytvořit alias použitím původní adresy"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Kvóta"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Kvóta pro tuto poštovní schránku může být vyjádřena v KB, MB (výchozí) nebo GB. Definujte vlastní hodnotu nebo použijte výchozí pro doménu. Nechte prázdné pro definování neomezené hodnoty (není povoleno pro správce domény)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Kvóta pro tuto poštovní schránku může být vyjádřena v KB, MB (výchozí) nebo "
+"GB. Definujte vlastní hodnotu nebo použijte výchozí pro doménu. Nechte "
+"prázdné pro definování neomezené hodnoty (není povoleno pro správce domény)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(y)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(y) této schránky. V rámci vstupu vložte pouze jeden alias, stiskněte ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(y) této schránky. V rámci vstupu vložte pouze jeden alias, stiskněte "
+"ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' "
+"(např. *@domena.cz)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Adresa odesílatele"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat e-maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat "
+"e-maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci"
+" vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Doména neexistuje"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Lokální doména neexistuje"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Doména(y)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Doména(y) pod správou uživatele"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Obecné"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Mail"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Oprávnění"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Účet aktualizován"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nový účet"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Účet vytvořen"
@@ -539,69 +636,84 @@ msgid "Email address"
msgstr "Emailová adresa"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias adresy. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias adresy. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Příjemci"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Adresy na které bude tento alias ukazovat. Adresy zadávejte jednotlivo, stisknutím klávesy ENTER přidáte nový vstup."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Adresy na které bude tento alias ukazovat. Adresy zadávejte jednotlivo, "
+"stisknutím klávesy ENTER přidáte nový vstup."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Nebyl určen příjemce"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího aliasu stiskněte po vložení ENTER."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího"
+" aliasu stiskněte po vložení ENTER."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Identifikátor klíče"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Výchozí kvóta pro poštovní schránky. Lze vyjádřit v KB, MB (výchozí) nebo GB. Hodnota 0 znamená žádnou kvótu."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Výchozí kvóta pro poštovní schránky. Lze vyjádřit v KB, MB (výchozí) nebo "
+"GB. Hodnota 0 znamená žádnou kvótu."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "doménový alias"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "%s s tímto názvem již existuje"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Není nastavena složka pro ukládání DKIM klíčů"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Neomezená kvóta nelze definovat."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "doména"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Vytvořit správce domény"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Automaticky vytvořit správce této domény"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -610,51 +722,54 @@ msgstr "Automaticky vytvořit správce této domény"
msgid "Name"
msgstr "Jméno"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Generovat náhodné heslo pro administrátora."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "S mailovou schránkou"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Vytvořit mailovou schránku pro administrátora."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Vytvořit aliasy"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Automaticky vytvořit běžné aliasy pro tuto doménu"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Neplatný formát"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Doména upravena"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Možnosti"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Nová doména"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Doména vytvořena"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Oddělovač"
@@ -662,23 +777,23 @@ msgstr "Oddělovač"
msgid "Recipient(s)"
msgstr "Příjemce(i)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Uveďte jednoho nebo více příjemců oddělených pomocí ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Ponechat místní kopie"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Přeposílat zprávy a ukládat kopie do místní schránky"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Vybrat soubor"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Při výskytu chyby pokračovat"
@@ -686,7 +801,7 @@ msgstr "Při výskytu chyby pokračovat"
msgid "Don't treat duplicated objects as error"
msgstr "Nepovažovat duplikáty objektů za chybu"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Zašifrovat hesla"
@@ -694,95 +809,95 @@ msgstr "Zašifrovat hesla"
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "Zatrhněte toto pole, pokud hesla ve vašem souboru nejsou zašifrována"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Schránka {} již existuje"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Import účtu selhal (%s): chybná hodnota kvóty"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identity"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Přeposlat"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Schránka je vyžadována"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Nemáte oprávnění pro import domén"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Nemáte oprávnění pri import doménových aliasů"
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "Nenalezeny žádné DNS záznamy pro %s"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "Žádný MX záznam pro %s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Nenalezeny žádné funkční DNS servery"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "Vypršel časový limit DNS požadavku, nelze získat %s v tuto chvíli"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Neplatný formát IP adresy pro {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Objekt již existuje: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objektů úspěšně importováno"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr "Soubor CSV není kódován v UTF-8, pokouším se odhadnout kódování"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Čtu CSV soubor pomocí %(encoding)s kódování"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Soubor CSV nelze dekódovat pomocí %(encoding)s kódování"
@@ -791,27 +906,27 @@ msgstr "Soubor CSV nelze dekódovat pomocí %(encoding)s kódování"
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain {} has no MX record"
msgid "Domain has no MX record"
msgstr "Doména {} nemá MX záznam"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Doména {} nemá MX záznam"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid MX record: {}"
msgstr "MX záznamy pro {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "MX záznam pro doménu {0} je neplatný: {1}"
@@ -820,160 +935,156 @@ msgstr "MX záznam pro doménu {0} je neplatný: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX problém(y) pro doménu {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL problém(y) pro doménu {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Doména nebyla nalezena."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Alias s tímto názvem již existuje"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "adresa"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Adresa aliasu."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "povoleno"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Zatrhněte pole pro povolení tohoto aliasu"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Popis"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Vyprší o"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Neplatná adresa"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Lokální příjemce {}@{} nebyl nalezen"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Neplatný řádek: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "název"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Doménové jméno"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Zatrhněte pole pro povolení této domény"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Zapnout kontrolu DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Zaškrtněte pro zapnutí kontroly DNS pro tuto doménu"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Povolit DKIM podepisování"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Pokud povolíte tuto možnost, bude vygenerován DKIM klíč pro tuto doménu."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Pokud povolíte tuto možnost, bude vygenerován DKIM klíč pro tuto doménu."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Délka klíče"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Neplatný řádek"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Nenalezeny žádný autorizovaný MX záznam pro doménu {}"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Neplatná hodnota kvóty pro doménu '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Neplatná výchozí hodnota kvóty schránky pro doménu '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "Výchozí kvóta mailové schránky nemůže být větší než kvóta domény"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Název aliasu"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "cíl"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Doména, na kterou tento alias odkazuje"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Neznámá doména %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Adresa schránky (bez části @doména.tld)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Nebylo možné zjistit umístění schránky (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Kvóta je vyžadována"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -983,8 +1094,9 @@ msgstr "Kvóta domény byla překročena"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Zavřít"
@@ -1035,9 +1147,9 @@ msgstr "Počet"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Doménové aliasy"
@@ -1072,7 +1184,7 @@ msgstr "Vytvořeno"
msgid "Last login"
msgstr "Poslední přihlášení"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Sekundární email"
@@ -1081,7 +1193,7 @@ msgstr "Sekundární email"
msgid "Not defined"
msgstr "Není definováno"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Telefonní číslo"
@@ -1159,7 +1271,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Datum"
@@ -1185,9 +1297,9 @@ msgstr "Datum vytvoření"
msgid "Last modification date"
msgstr "Datum poslední změny"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Aliasy schránek"
@@ -1246,11 +1358,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Ne"
@@ -1258,7 +1371,7 @@ msgstr "Ne"
msgid "Generate new key"
msgstr "Vygenerovat nový klíč"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Ano"
@@ -1271,7 +1384,7 @@ msgid "Administrators"
msgstr "Správci"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Odstranit toto oprávnění"
@@ -1308,13 +1421,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Od"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Komu"
@@ -1345,9 +1458,10 @@ msgstr "zákázáno"
msgid "Automatically forward emails to another address"
msgstr "Automaticky přesměrovat emaily na jinou adresu"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Aktualizovat"
@@ -1364,11 +1478,31 @@ msgid "Fullname/Recipient"
msgstr "Celé jméno/Příjemce"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
První element každého řádku je povinný a musí být shodný s některou z předchozích hodnot.
Můžete také použít jiný oddělovač hodnot.
"
@@ -1399,7 +1533,8 @@ msgstr "Aktualizováno"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Tato IP neodpovídá žádnému z platných MX-ů zadefinovaných v možnostech"
+msgstr ""
+"Tato IP neodpovídá žádnému z platných MX-ů zadefinovaných v možnostech"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1407,12 +1542,22 @@ msgstr "Pro tuto doménu nebyl nalezen žádný MX záznam."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa zjistilo, že doména %(domain)s je uvedena v seznamu u následujících poskytovatelů DNSBL:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa zjistilo, že doména %(domain)s je uvedena v seznamu u následujících "
+"poskytovatelů DNSBL:"
#: 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 "Reputace domény bude ovlivněna, a je možné, že e-maily přicházející z ní jsou považovány za spam. Měli byste kontaktovat tyto poskytovatele a požádat je o odstranění IP adresy (adres) ze seznamu."
+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 ""
+"Reputace domény bude ovlivněna, a je možné, že e-maily přicházející z ní "
+"jsou považovány za spam. Měli byste kontaktovat tyto poskytovatele a požádat"
+" je o odstranění IP adresy (adres) ze seznamu."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -1423,92 +1568,98 @@ msgstr "Modoboa zjistilo, že doména %(domain)s nemá platný MX záznam:"
msgid "Search"
msgstr "Hledat"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "Aktivovaný"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "Aktivovaná"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Seznam domén"
-#: 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 "Seznam kvót"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "Seznam identit"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Zobrazit seznam identit domény"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "doménový alias"
-#: 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 "Upravit {}"
-#: 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 "Smazat %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Žádný MX záznam pro %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 "Neplatný formát IP adresy pro %(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 "Žádný MX záznam pro %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Alias s tímto názvem již existuje"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Vytvořit"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Nový alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias vytvořen"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias upraven"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias smazán"
@@ -1520,11 +1671,11 @@ msgstr[3] "Aliasy smazány"
msgid "MX records of {}"
msgstr "MX záznamy pro {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "DNSBL přehled pro {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Doména smazána"
@@ -1532,20 +1683,20 @@ msgstr[1] "Domény smazány"
msgstr[2] "Domén smazáno"
msgstr[3] "Domén smazáno"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Exportovat identity"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Exportovat domény"
-#: 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 "Neplatný požadavek"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Účet smazán"
@@ -1553,7 +1704,7 @@ msgstr[1] "Účty smazány"
msgstr[2] "Účtů smazáno"
msgstr[3] "Účtů smazáno"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importovat domény"
@@ -1561,87 +1712,74 @@ msgstr "Importovat domény"
msgid "Import identities"
msgstr "Importovat identity"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Přeposílání aktualizováno"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid PIN code"
msgstr "MX záznamy pro {}"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Lokální"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Uživatelský profil"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Neplatná syntaxe"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Neplatný počet cyklů"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr ""
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Původní heslo"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr ""
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Lokální"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Uživatelský profil"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Neplatná syntaxe"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Neplatný počet cyklů"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr ""
+
+#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Uživatel '%s' se úspěšně přihlásil"
-#: 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 "Chyba v typu hesla. Aktualizace %s hesla"
@@ -1651,452 +1789,501 @@ msgstr "Chyba v typu hesla. Aktualizace %s hesla"
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Ověření"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Typ ověření"
-#: 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 "Rozhraní pro ověřování přístupu"
-#: 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 "Výchozí schéma hesel"
-#: 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 "Použité schéma pro šifrování hesel schránek"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Počet cyklů"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Počet cyklů (použije se pouze u sha256crypt a sha512crypt). Hodnota musí být mezi 1000 a 999999999 včetně."
+#: 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 ""
+"Počet cyklů (použije se pouze u sha256crypt a sha512crypt). Hodnota musí být"
+" mezi 1000 a 999999999 včetně."
-#: 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 ""
-#: 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 "Zadejte nové heslo pro užití nového typu hesla"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Výchozí heslo"
-#: 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 "Výchozí heslo pro automaticky vytvořené účty."
-#: 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 "Délka náhodného hesla"
-#: 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 "Počet znaků náhodně vygenerovaných hesel."
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Nastavení LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Adresa serveru"
-#: 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 adresa DNS jména LDAP serveru"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Port serveru"
-#: 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 "Port TCP, který používá LDAP server"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 "Použít zabezpečené připojení"
-#: 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 "Použít SSL/STARTTLS připojení pro přístup k LDAP serveru"
-#: 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 "Volba určující, jestli je nebo není LDAP server serverem Active Directory"
+msgstr ""
+"Volba určující, jestli je nebo není LDAP server serverem Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Správcovské skupiny"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Členové těchto LDAP Posix skupin budou automaticky vytvořeni jako správci domény. Pro oddělení skupin použijte ';'."
+#: 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 ""
+"Členové těchto LDAP Posix skupin budou automaticky vytvořeni jako správci "
+"domény. Pro oddělení skupin použijte ';'."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Typ skupiny"
-#: 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 "Typ LDAP skupiny "
-#: 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 "Základna struktury skupin"
-#: 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 "Rozlišovací jméno základny struktury používané pro hledání skupin"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Atribut hesla"
-#: 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 "Atribut používaný pro ukládání hesel uživatelů"
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Metoda ověření"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Vyhledat a spojit"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Přímé spojení"
-#: 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 "Zvolte si metodu ověření, která se použije"
-#: 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 "Spojení pomocí DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "Rozlišovací jméno, které se použije při spojování s LDAP serverem. Ponechejte prázdné pro anonymní spojení."
+#: 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 ""
+"Rozlišovací jméno, které se použije při spojování s LDAP serverem. "
+"Ponechejte prázdné pro anonymní spojení."
-#: 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 "Heslo spojení"
-#: 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 "Heslo, které se použije při spojování s LDAP serverem (při výběru DN spojení)."
+msgstr ""
+"Heslo, které se použije při spojování s LDAP serverem (při výběru DN "
+"spojení)."
-#: 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 "Základna struktury uživatelů"
-#: 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 "Rozlišovací jméno základny struktury používané pro hledání uživatelů"
-#: 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 "Vyhledávací filtr"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Volitelný filtr (např. '(objectClass=osoba)'). Aby byl filtr platný, je nezbytné jen uzavřít do závorek."
+#: 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 ""
+"Volitelný filtr (např. '(objectClass=osoba)'). Aby byl filtr platný, je "
+"nezbytné jen uzavřít do závorek."
-#: 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 "Šablona uživatelského 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 "Šablona použitá pro tvorbu uživatelského rozlišovacího jména (DN). Měla by obsahovat jeden zástupný řetězec (tj. %(user)s)."
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Šablona použitá pro tvorbu uživatelského rozlišovacího jména (DN). Měla by "
+"obsahovat jeden zástupný řetězec (tj. %(user)s)."
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 "Plocha"
-#: 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 "Vlastní RSS zdroj"
-#: 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 "Zobrazit vlastní RSS zdroj distributorům a správcům domény"
-#: 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 "Skrýt widget funkcí"
-#: 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 "Skrýt widget funkcí pro distributory a správce domény"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Oznámení"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Adresy odesílatele"
-#: 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 "Emailová adresa používaná k zasílání upozornění"
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "Veřejné 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 "Povolit komunikaci"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Povolit komunikaci s veřejným Modoboa API rozhraním"
-#: 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 "Zkontrolovat verzi"
-#: 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 "Automaticky kontrolovat dostupnost nové verze"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Odoslat statistiky"
-#: 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 "Zasílat statistické údaje na veřejné Modoboa API rozhraní (počítadla a použité rozšíření)"
+msgstr ""
+"Zasílat statistické údaje na veřejné Modoboa API rozhraní (počítadla a "
+"použité rozšíření)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Různé"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Počet dnů pro neaktivní účet"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Počet dnů pro neaktivní účet"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Účet s datem posledního přihlášení starším než práh (ve dnech) bude považován za neaktivní"
+#: 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 ""
+"Účet s datem posledního přihlášení starším než práh (ve dnech) bude "
+"považován za neaktivní"
-#: 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 "Interval aktualizací upozornění"
-#: 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 "Interval mezi aktualizacemi upozornění na stránce (v sekundách)"
-#: 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 "Maximální stáří záznamu"
-#: 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 "Maximální stáří záznamu ve dnech"
-#: 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 "Položek na stránce"
-#: 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 "Počet zobrazených položek na stránce"
-#: 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 "Výchozí přesměrování aplikace"
-#: 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 "Výchozí přesměrování, které se použije, pokud není žádná aplikace specifikována"
+msgstr ""
+"Výchozí přesměrování, které se použije, pokud není žádná aplikace "
+"specifikována"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "Hodnota USE_TZ je Vypnutá, toto může způsobit problémy při přechodu mezi letním a zimním časem (např. stejný čas dvakrát během změny času)."
+#: 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 ""
+"Hodnota USE_TZ je Vypnutá, toto může způsobit problémy při přechodu mezi "
+"letním a zimním časem (např. stejný čas dvakrát během změny času)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Nastavte `USE_TZ = True` v settings.py"
@@ -2128,31 +2315,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Původní heslo"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nové heslo"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Původní heslo se neshoduje"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Hesla se neshodují"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Povolit API přístup"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2169,20 +2356,20 @@ msgstr "upraveno"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s uživatelem %(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 pomocí "
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "smazáno"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "uživatel {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "příkaz managementu"
@@ -2190,65 +2377,65 @@ msgstr "příkaz managementu"
msgid "You can't delete your own account"
msgstr "Nemůžete smazat vlastní účet"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "K dispozici je jedna, nebo více, aktualizací"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Povolit přístup do poštovních schránek"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Povolit správci přístup do uživatelských poštovních schránek"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "heslo"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "jazyk"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Preferovaný jazyk pro zobrazení stránek"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Alternativní e-mailová adresa, může být použita pro účely obnovy."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Nebylo možné změnit heslo: LDAP modul není instalován"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "účet"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Neznámý"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Nemůžete importvat účet s vyšším oprávněním, než máte vy sám"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Běžný uživatel '%s' musí mít nastavenou platnou emailovou adresu"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "pole uživatelského jména a emailu se nesmí pro '%s' lišit"
-#: 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] "Heslo musí obsahovat alespoň {} číslo."
@@ -2256,7 +2443,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} číslice."
msgstr[2] "Heslo musí obsahovat alespoň {} číslic."
msgstr[3] "Heslo musí obsahovat alespoň {} číslic."
-#: 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] "Heslo musí obsahovat alespoň {} malé písmeno."
@@ -2264,7 +2451,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} malé písmena."
msgstr[2] "Heslo musí obsahovat alespoň {} malých písmen."
msgstr[3] "Heslo musí obsahovat alespoň {} malých písmen."
-#: 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] "Heslo musí obsahovat alespoň {} velké písmeno."
@@ -2272,7 +2459,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} velká písmena."
msgstr[2] "Heslo musí obsahovat alespoň {} velkých písmen."
msgstr[3] "Heslo musí obsahovat alespoň {} velkých písmen."
-#: 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] "Heslo musí obsahovat alespoň {} speciální znak."
@@ -2280,55 +2467,57 @@ msgstr[1] "Heslo musí obsahovat alespoň {} speciální znaky."
msgstr[2] "Heslo musí obsahovat alespoň {} speciálních znaků."
msgstr[3] "Heslo musí obsahovat alespoň {} speciálních znaků."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "Vaše heslo musí obsahovat kombinaci malých a velkých písmen, číslic a speciálních znaků."
+msgstr ""
+"Vaše heslo musí obsahovat kombinaci malých a velkých písmen, číslic a "
+"speciálních znaků."
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Applications"
msgid "Appication secret"
@@ -2355,8 +2544,12 @@ msgid "Latest news"
msgstr "Poslední zprávy"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Pro více informací navštivte oficiální blog ."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Pro více informací navštivte oficiální blog ."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2368,8 +2561,12 @@ msgstr "Ovládat svůj přístup k Modoboa API rozhraní"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Dokumentace k API je dostupná zde."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Dokumentace k API je dostupná zde."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2380,7 +2577,7 @@ msgstr "API přístupový token"
msgid "Hello %(user)s."
msgstr "Ahoj %(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 "Informace"
@@ -2394,7 +2591,9 @@ msgstr "K dispozici je jedna, nebo více, aktualizací!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Zkontrolujte následující seznam pro nalezení komponentu(ů), které mohou být aktualizovány."
+msgstr ""
+"Zkontrolujte následující seznam pro nalezení komponentu(ů), které mohou být "
+"aktualizovány."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2412,7 +2611,7 @@ msgstr "Poslední verze"
msgid "Active users"
msgstr "Aktivní uživatelé"
-#: 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 "Záznamy"
@@ -2440,7 +2639,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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 "Parametry"
@@ -2457,12 +2656,12 @@ msgstr "Uložit"
msgid "Modoboa settings"
msgstr "Nastavení Modoboa"
-#: 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 "Nastavení"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Možnosti"
@@ -2482,7 +2681,7 @@ msgstr "Aktualizovat osobní informace"
msgid "Click here to update your password"
msgstr ""
-#: 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
#, fuzzy
#| msgid "Security options"
msgid "Security"
@@ -2495,7 +2694,9 @@ msgid "Two-Factor authentication"
msgstr "Rozhraní pro ověřování přístupu"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2507,18 +2708,27 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgctxt "checks"
@@ -2526,12 +2736,18 @@ msgstr ""
msgid "Disable 2FA"
msgstr "Zákázáno"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2550,69 +2766,76 @@ msgstr "Nenalezeny žádné DNS záznamy pro %s"
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Zašifrovat hesla"
+
#: 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 "Odhlásit se"
-#: 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 "Hlavní část Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parametry uloženy"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
-msgstr "Vaše uživatelské jméno nebo heslo se neshodují. Zkuste to prosím znovu."
+msgstr ""
+"Vaše uživatelské jméno nebo heslo se neshodují. Zkuste to prosím znovu."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Uživatel '{}' byl úspěšně odhlášen"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profil aktualizován"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Možnosti uloženy"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Přístup aktualizován"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "DMARC nástroje"
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr "Zobrazit DMARC zprávu pro {}"
-#: 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 ""
@@ -2648,11 +2871,11 @@ msgstr "Dočasná chyba"
msgid "Permanent error"
msgstr "Permanentní chyba"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Politika"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Selhání bez odmítnutí"
@@ -2728,95 +2951,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Neznáme zdroje / Hrozby"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2845,7 +3068,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2861,7 +3086,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2869,151 +3094,159 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Přístup aktualizován"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "IMAP migrace"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "IMAP migrace"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP"
msgstr "Nastavení 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 "Souběžné synchronizační úkoly"
-#: 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 "Maximální počet souběžných synchronizačních úkolů"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "Nastavení OfflineIMAP"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "Nastavení OfflineIMAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "Nastavení OfflineIMAP"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
msgid "IMAP Migration"
msgstr "IMAP migrace"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Spojení se serverem IMAP selhalo: %s"
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "IMAP migrace"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Povolit komunikaci s veřejným Modoboa API rozhraním"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Připojení k databázi %s není nastaveno"
-#: 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 "Nelze určit kódování textu."
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Přístup zamítnut: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Přístup zamítnut"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Vložte platné doménové jméno"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Vložte platnou emailovou adresu."
@@ -3023,163 +3256,195 @@ msgstr "Vložte platnou emailovou adresu."
msgid "Submit"
msgstr "Uložit"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Nebylo možné změnit heslo: {}"
-#: 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 "Předmět"
-#: limits/app_settings.py:17 limits/app_settings.py:154
+#: limits/app_settings.py:17 limits/app_settings.py:147
#, fuzzy
#| msgid "Default limits"
msgid "Default per-admin limits"
msgstr "Výchozí omezení"
-#: 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 ""
-#: 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 ""
-#: 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 "Správci domén"
-#: limits/app_settings.py:29 limits/app_settings.py:164
+#: limits/app_settings.py:29 limits/app_settings.py:163
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new administrator. (0 "
+"to deny any creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet správců domény (nastavení nového správce)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
+#: limits/app_settings.py:39 limits/app_settings.py:175
#, fuzzy
#| msgid "Maximum number of allowed domains for a new administrator"
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed domains for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet domén (nastavení nového správce)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
+#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet doménových aliasů (nastavení nového správce)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
+#: limits/app_settings.py:58 limits/app_settings.py:198
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet schránek (nastavení nového správce)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
+#: limits/app_settings.py:67 limits/app_settings.py:210
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet aliasů (nastavení nového správce)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: limits/app_settings.py:88 limits/app_settings.py:213
+#: limits/app_settings.py:82 limits/app_settings.py:232
#, fuzzy
#| msgid "Default limits"
msgid "Default per-domain limits"
msgstr "Výchozí omezení"
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
+#: limits/app_settings.py:94 limits/app_settings.py:248
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new domain. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet správců domény (nastavení nového správce)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
+#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet doménových aliasů (nastavení nového správce)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
+#: limits/app_settings.py:114 limits/app_settings.py:272
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximální povolený počet schránek (nastavení nového správce)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
+#: limits/app_settings.py:123 limits/app_settings.py:283
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
+" -1 to allow unlimited creations)"
msgstr "Maximální povolený počet aliasů (nastavení nového správce)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Omezení"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Maximální povolený počet domén, které může tento uživatel vytvořit"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
-msgstr "Maximální povolený počet doménových aliasů, které může tento uživatel vytvořit"
+msgstr ""
+"Maximální povolený počet doménových aliasů, které může tento uživatel "
+"vytvořit"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Maximální povolený počet schránek, které může tento uživatel vytvořit"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit"
+msgstr ""
+"Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Maximální povolený počet správců domény, které může tento uživatel vytvořit"
+msgstr ""
+"Maximální povolený počet správců domény, které může tento uživatel vytvořit"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
#, fuzzy
#| msgid "Maximum number of domain aliases this user can create"
msgid "Maximum number of domain aliases allowed for this domain."
-msgstr "Maximální povolený počet doménových aliasů, které může tento uživatel vytvořit"
+msgstr ""
+"Maximální povolený počet doménových aliasů, které může tento uživatel "
+"vytvořit"
-#: limits/constants.py:46
+#: limits/constants.py:85
#, fuzzy
#| msgid "Maximum number of mailboxes this user can create"
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Maximální povolený počet schránek, které může tento uživatel vytvořit"
-#: limits/constants.py:50
+#: limits/constants.py:93
#, fuzzy
#| msgid "Maximum number of mailbox aliases this user can create"
msgid "Maximum number of mailbox aliases allowed for this domain."
-msgstr "Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit"
+msgstr ""
+"Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit"
-#: limits/constants.py:55
+#: limits/constants.py:102
#, fuzzy
#| msgid "Maximum number of domain administrators this user can create"
msgid "Maximum number of domain admins allowed for this domain."
-msgstr "Maximální povolený počet správců domény, které může tento uživatel vytvořit"
+msgstr ""
+"Maximální povolený počet správců domény, které může tento uživatel vytvořit"
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Neplatné omezení"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Zdroje"
@@ -3192,11 +3457,11 @@ msgstr "%s: limit byl dosažen"
msgid "Not enough resources"
msgstr "Nedostatek zdrojů"
-#: 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 "Nemáte oprávnění nastavovat neomezené hodnoty"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "neomezeno"
@@ -3205,99 +3470,100 @@ msgstr "neomezeno"
msgid "Resources usage"
msgstr "Využití zdrojů"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Cesta k souboru záznamů"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
-msgstr "Cesta k souboru záznamů, který se používá pro sběr statistických informací"
+msgstr ""
+"Cesta k souboru záznamů, který se používá pro sběr statistických informací"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Adresář pro RRD soubory"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Cesta k adresáři, ve kterém budou ukládány RRD soubory"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
#, fuzzy
#| msgid "rejected messages"
msgid "Show greylisted messages"
msgstr "odmítnuté zprávy"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Statistiky"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Průměrný provoz (zprávy/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "odeslané zprávy"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "přijaté zprávy"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "nedoručené zprávy"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "odmítnuté zprávy"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "odeslané zprávy"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "odeslané zprávy"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "odmítnuté zprávy"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Průměrná velikost provozu (bajtů/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "doručená velikost"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "odeslaná velikost"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Provoz emailů"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3325,183 +3591,193 @@ msgstr "Uložit"
msgid "No statistics available"
msgstr "Žádné statistiky nejsou dostupné"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Den"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Týden"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Měsíc"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Rok"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Vlastní"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Nastaveno neznámé zobrazení"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Nastaveno neznámé zobrazení"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Neplatně nastavený vlastní časový interval"
-#: 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 "Informace osobního účtu"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Složka nenalezena."
-#: 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 "Pro tohoto uživatele není k dispozici žáden dokument"
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "PDF přístupové údaje"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "Vytvářet dokumenty pouze při vytváření účtu"
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Úložný prostor pro dokumenty"
-#: 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 "Adresář pro uložení dokumentů"
-#: 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 "Cesta k adresáři kde budou uloženy PDF dokumenty"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Možnosti zabezpečení"
-#: 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 "Smazat dokumenty po prvním stažení"
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr "Automaticky smazat dokument ihned po prvním stažení cez toto rozhraní"
-#: 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 "Vytvářet dokumenty pouze při vytváření účtu"
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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 "Vytvářet nové dokumenty pouze při vytvoření účtu. Je-li nastaveno na hodnotu ne, bude nový dokument vytvořen pokaždé, když dojde ke změne hesla."
+#: 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 ""
+"Vytvářet nové dokumenty pouze při vytvoření účtu. Je-li nastaveno na hodnotu"
+" ne, bude nový dokument vytvořen pokaždé, když dojde ke změne hesla."
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Možnosti vlastních úprav"
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr "Název"
-#: 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 "Název dokumentu"
-#: 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 web panelu"
-#: 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 adresa Modoboa web panelu"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Vlastní zpráva"
-#: 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 "Vlastní zpráva, která se zobrazí na konci dokumentu."
-#: 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 "Zahrnout nastavení mailového klienta"
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
-msgstr "Zahrnout vyžadovaná nastavení SMTP a IMAP připojení pri konfiguraci mailového klienta, tabletu či telefonu"
+#: 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 ""
+"Zahrnout vyžadovaná nastavení SMTP a IMAP připojení pri konfiguraci "
+"mailového klienta, tabletu či telefonu"
-#: 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 "Adresa SMTP serveru"
-#: 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 "Adresa SMTP serveru (hostname nebo 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 "Port SMTP serveru"
-#: 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 SMTP serveru"
-#: 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 "Zabezpečení SMTP připojení"
-#: 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 "Zabezpečení připojení"
-#: 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 "Adresa IMAP serveru"
-#: 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 "Adresa IMAP serveru (hostname nebo 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 "Port IMAP serveru"
-#: 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 IMAP serveru"
-#: 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 "Zabezpečení IMAP připojení"
@@ -3509,17 +3785,17 @@ msgstr "Zabezpečení IMAP připojení"
msgid "PDF credentials"
msgstr "PDF přístupové údaje"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
msgid "PDF Credentials"
msgstr "PDF přístupové údaje"
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr "Běží na Modoboa - Poštovní hosting zjednodušeně"
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3532,11 +3808,11 @@ msgstr ""
"pro pripojení do rozhraní Modoboa. Zapamatujte si je a smazte\n"
"tento dokument hned, jakmile to bude možné.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Webový panel:"
-#: pdfcredentials/documents.py:91
+#: pdfcredentials/documents.py:116
msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
@@ -3545,31 +3821,38 @@ msgstr ""
"\n"
"Zde si kdykoliv můžete prohlédnout své emaily, vytvořit filtry nebo spravovat Vaše kontakty.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Prosím změňte si své heslo!"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Nastavení PC/Tabletu/Smartphonu:"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr "Použijte tato nastavení ve svém počítači, tabletu či telefonu."
-#: 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 "Získat přístupové údaje uživatele ako PDF dokument"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "PDF přístupové údaje"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Vytváření adresáře pro uložení PDF dokumentů (%s) selhalo "
@@ -3578,33 +3861,193 @@ msgstr "Vytváření adresáře pro uložení PDF dokumentů (%s) selhalo "
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr "Vytváření adresáře pro uložení PDF dokumentů (%s) selhalo "
-#: 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: limit byl dosažen"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: limit byl dosažen"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Zvolené datum je v minulosti"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Musí být větší než datum začátku"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Automatické odpovědi"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Aktivovat automatickou odpověď od uvedeného data. Formát: YYYY-MM-DD "
+"HH:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Do"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Aktivovat automatickou odpověď až do uvedeného data. Formát: YYYY-MM-DD "
+"HH:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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 ""
+"Obsah Vaší odpovědi. Můžete použít následující proměnné, které budou "
+"automaticky nahrazeny příslušnou hodnotou: %(name)s, %(fromdate)s, "
+"%(untildate)s"
+
+#: postfix_autoreply/forms.py:121
+msgid "Automatic reply timeout"
+msgstr "Interval automatické odpovědi"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Interval v sekundách mezi dvěmi automatickými odpověďmi stejnému příjemci"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Výchozí předmět"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Jsem nedostupný"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Výchozí předmět, který se použije u nově vytvořených automatických odpovědí"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Výchozí obsah"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"V současné době nejsem dostupný. Odpovím Vám ihned, jakmile se vrátím zpět.\n"
+"\n"
+"S pozdravem,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Výchozí obsah, který se použije u nově vytvořených automatických odpovědí. "
+"Token '%(name)s' bude automaticky nahrazen celým jménem uživatele."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Automatická odpověď"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Automatická odpověď"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "předmět"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "Předmět, který se vloží do odesílaných emailů"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "obsah"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "Obsah, který se vloží do odesílaných emailů"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Aktivovat/Deaktivovat automatickou odpověď"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr "Vložte zprávu, která se během vaší nepřítomnosti automaticky odešle"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Automatická odpověď byla aktualizována."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
#, fuzzy
#| msgid "Relay domains"
msgid "Transport settings"
msgstr "Relay domény"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
#| msgid "target host"
msgid "target host address"
msgstr "cílový server"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
#, fuzzy
#| msgid "target host"
msgid "target host port"
msgstr "cílový server"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "ověřit příjemce"
@@ -3674,16 +4117,23 @@ msgstr "Zapomenuté heslo?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "Vaše heslo bylo nastaveno. Nyní se můžete přihlásit."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"Vaše heslo bylo nastaveno. Nyní se můžete přihlásit."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Změnit heslo"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Odkaz pro resetování hesla je neplatný, nejspíše proto, že byl již použit. Prosím, vyžádejte si nový odkaz."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Odkaz pro resetování hesla je neplatný, nejspíše proto, že byl již použit. "
+"Prosím, vyžádejte si nový odkaz."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3694,19 +4144,35 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "
Zaslali jsme vám instrukce pro nastavení Vašeho hesla, pokud účet se zadaným emailem existuje. Měl by brzy dorazit.
Pokud žádný email nedorazil, zkontrolujte prosím, že jste správně zadali Vaši primární emailovou adresu a zkontrolujte složku Spam."
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"
Zaslali jsme vám instrukce pro nastavení Vašeho hesla, pokud účet se "
+"zadaným emailem existuje. Měl by brzy dorazit.
Pokud žádný email "
+"nedorazil, zkontrolujte prosím, že jste správně zadali Vaši primární "
+"emailovou adresu a zkontrolujte složku Spam."
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Klikněte na odkaz níže pro resetování hesla vašeho Modoboa účtu %(username)s:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Klikněte na odkaz níže pro resetování hesla vašeho Modoboa účtu "
+"%(username)s:"
#: 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 "Pokud odkaz výše nefunguje, prosím zkopírujte URL a vložte do nového okna prohlížeče."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Pokud odkaz výše nefunguje, prosím zkopírujte URL a vložte do nového okna "
+"prohlížeče."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3725,22 +4191,21 @@ msgstr "Reset Modoboa hesla"
msgid "Invalid value"
msgstr "Neplatná hodnota"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr "vzor"
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr "služba"
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr "následující skok"
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: limit byl dosažen"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Alias s tímto názvem již existuje"
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "Sada nástrojů pro zjednodušení integrace DMARC"
@@ -3749,7 +4214,6 @@ msgstr "následující skok"
#~ msgstr "Vytvářet PDF dokumenty obsahující přístupové údaje uživatele"
#, fuzzy
-#~| msgid "IMAP migration"
#~ msgid "IMAP migrations"
#~ msgstr "IMAP migrace"
@@ -3775,12 +4239,10 @@ msgstr "následující skok"
#~ msgstr "Název služby"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote address (hostname or IP) of this domain"
#~ msgstr "Vzdálený cíl této domény"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote port of this domain"
#~ msgstr "Vzdálený cíl této domény"
@@ -3794,15 +4256,10 @@ msgstr "následující skok"
#~ msgstr "Prohledat"
#, fuzzy
-#~| msgid "The domain name"
#~ msgid "The relay domain name"
#~ msgstr "Doménové jméno"
#, fuzzy
-#~| msgid ""
-#~| "\n"
-#~| "
\n"
diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po
index d890928e1..05d04c83c 100644
--- a/modoboa/locale/de/LC_MESSAGES/django.po
+++ b/modoboa/locale/de/LC_MESSAGES/django.po
@@ -32,7 +32,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2022-02-17 15:08+0000\n"
"Last-Translator: Manfred Mueller\n"
"Language-Team: German (http://www.transifex.com/tonio/modoboa/language/de/)\n"
@@ -42,494 +42,592 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Von Postfächern gemeinsam genutzte Quota/Speicherplatz. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. 0 eingeben, um keine Quota zu verwenden."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Von Postfächern gemeinsam genutzte Quota/Speicherplatz. Kann in KB, MB "
+"(Voreinstellung) oder GB angegeben werden. 0 eingeben, um keine Quota zu "
+"verwenden."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Standardkontingent in MB welches die Mailboxen erhalten. Der Wert 0 bedeutet unlimitiertes Kontingent."
+msgstr ""
+"Standardkontingent in MB welches die Mailboxen erhalten. Der Wert 0 bedeutet"
+" unlimitiertes Kontingent."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Kein autorisierter MX-Eintrag für diese Domain gefunden."
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Kann nicht größer als Domain Kontingent sein"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Zugriff verweigert."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Liste der verwalteten Domains (nur für Reseller und Domain Administratoren)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Liste der verwalteten Domains (nur für Reseller und Domain Administratoren)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Nicht erlaubt für diese Rolle."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Muss mit mailbox full_address übereinstimmen"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich"
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Lokale Domain {} existiert nicht."
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Eine Liste der Empfänger"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Benutzer %s existiert bereits"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Sie haben keinen Zugriff auf diese Domain."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Sie haben keinen Zugriff auf diese Mailbox."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr "Hier ist Ihr neues Modoboa Passwort: {}"
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Benutzer %s existiert bereits"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Muss eine positive Ganzzahl sein"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Verzeichnis nicht gefunden."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Verzeichnis nicht gefunden."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl nicht gefunden, bitte sicherstellen, dass es installiert ist"
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Mindestens ein authorisiertes Netzwerk/IP-Adresse muss definiert sein"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Ein Postfach ist erforderlich"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Unbekannt"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Sie können Ihre eigene Domain nicht löschen"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domains"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Aktiviere MX Prüfungen"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Überprüfe jede Domain auf einen gültigen MX Eintrag"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "Gültige MX-Einträge"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Liste gültiger MX-Records. Eine Warnmeldung wird versandt, falls versucht wird, andere Einträge zu verwenden."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Liste gültiger MX-Records. Eine Warnmeldung wird versandt, falls versucht "
+"wird, andere Einträge zu verwenden."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "gültige MX-Einträge für neue Domains erforderlich"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr "Verwendung gültiger MX-Einträge wird für neue Domains erzwungen."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable SPF checks"
+msgid "Enable IPV6 checks"
+msgstr "Aktiviere SPF-Prüfungen"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr "Aktiviere SPF-Prüfungen"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr "Überprüfe jede Domain auf einen gültigen SPF Eintrag"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr "Aktiviere DKIM-Prüfungen"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "Überprüfe jede Domain mit aktivierter DKIM Signierung auf einen gültigen DNS Eintrag"
+msgstr ""
+"Überprüfe jede Domain mit aktivierter DKIM Signierung auf einen gültigen DNS"
+" Eintrag"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr "Aktiviere DMARC-Prüfungen"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr "Überprüfe jede Domain auf einen gültigen DMARC Eintrag"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr "Aktiviere autoconfig-Prüfungen"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Überprüfe jede Domain auf einen gültigen autoconfiguration Eintrag"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Aktiviere DNSBL-Prüfungen"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Prüfe jede Domain gegen die wichtigsten DNSBL-Anbieter"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Benutzerdefinierter DNS Server"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "eigener DNS-Server umgeht die lokale Namensauflösung"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Verzeichnis für DKIM-Keys"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Absoluter Pfad des Verzeichnisses zur Aufbewahrung von DKIM-Keys. Das Verzeichnis sollte nur dem root-User zugänglich sein."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Absoluter Pfad des Verzeichnisses zur Aufbewahrung von DKIM-Keys. Das "
+"Verzeichnis sollte nur dem root-User zugänglich sein."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "voreingestellte DKIM Schlüssellänge"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Voreingestellte Länge in Bits neu zu generierender DKIM-Keys."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Standard-Domainquota"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. Der Wert 0 bedeutet „Keine Quota“"
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. "
+"Der Wert 0 bedeutet „Keine Quota“"
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Standard-Domainquota"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Postfächer"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Postfächer im Dateisystem verwalten"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Postfächer auch im Dateisystem umbenennen oder entfernen wenn sie in Modoboa umbenannt oder entfernt werden"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Postfächer auch im Dateisystem umbenennen oder entfernen wenn sie in Modoboa"
+" umbenannt oder entfernt werden"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Standard Postfach Kontingent"
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Standardquota (in MB) für neu erstelle Postfächer ohne explizite Wertangabe. Der Wert 0 bedeutet „Keine Quota“"
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Standardquota (in MB) für neu erstelle Postfächer ohne explizite Wertangabe."
+" Der Wert 0 bedeutet „Keine Quota“"
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default mailbox quota"
msgid "Default mailbox sending limit"
msgstr "Standard Postfach Kontingent"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Automatische Konto-Entfernung"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Beim Löschen des Postfachs auch das Konto entfernen."
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Automatische Domain- /Postfach-Erstellung"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Erstelle eine Domain und ein Postfach, wenn ein Konto automatisch erstellt wurde."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"Erstelle eine Domain und ein Postfach, wenn ein Konto automatisch erstellt "
+"wurde."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Erzeuge Alias, wenn Mailbox umbenannt wird."
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Erzeuge Alias mit der bisherigen Adresse, wenn ein Postfach umbenannt wurde."
+msgstr ""
+"Erzeuge Alias mit der bisherigen Adresse, wenn ein Postfach umbenannt wurde."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Standardquota (in MB) für neu erstelle Postfächer ohne explizite Wertangabe. Der Wert 0 bedeutet „Keine Quota“"
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Standardquota (in MB) für neu erstelle Postfächer ohne explizite Wertangabe."
+" Der Wert 0 bedeutet „Keine Quota“"
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Verwaltung"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domain"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Relay-Domain"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Schließen"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Benutzername"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "Der Benutzername. Muss eine gültige E-Mail-Adresse für 'Normale Benutzer' oder Administratoren mit einer Mailbox sein."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"Der Benutzername. Muss eine gültige E-Mail-Adresse für 'Normale Benutzer' "
+"oder Administratoren mit einer Mailbox sein."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rolle"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Auswählen"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Rechte, die der Benutzer haben wird"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Zufälliges Passwort"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Generiere ein zufälliges Password. Wenn du dieses Konto aktualisierst und diese Checkbox aktivierst, wird ein neues Passwort generiert"
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Generiere ein zufälliges Password. Wenn du dieses Konto aktualisierst und "
+"diese Checkbox aktivierst, wird ein neues Passwort generiert"
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Passwort"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Bestätigung"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Passwort bestätigen"
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Aktiviert"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Nur Super-Administratoren dürfen diesen Modus benutzen."
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Die angegebenen Passwörter stimmen nicht überein"
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Sie können Ihr eigenes Konto nicht deaktivieren"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-Mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Erzeuge Alias mit der bisherigen Adresse"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Quota dieses Postfachs. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. Eigenen Wert eingeben oder Voreinstellung der Domain verwenden lassen. Frei lassen, um Quota auf unlimitiert zu setzen (nur Super-Administratoren)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Quota dieses Postfachs. Kann in KB, MB (Voreinstellung) oder GB angegeben "
+"werden. Eigenen Wert eingeben oder Voreinstellung der Domain verwenden "
+"lassen. Frei lassen, um Quota auf unlimitiert zu setzen (nur Super-"
+"Administratoren)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(e)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(e) dieses Postfachs. Jeweils eine Adresse eingeben, ENTER drücken für eine weitere. Den Domainnamen (@domain.tld) eingeben, um einen Catchall zu erstellen. "
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(e) dieses Postfachs. Jeweils eine Adresse eingeben, ENTER drücken für "
+"eine weitere. Den Domainnamen (@domain.tld) eingeben, um einen Catchall zu "
+"erstellen. "
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Absenderadressen "
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Zusätzliche Absenderadresse(n) für dieses Postfach. Der Benutzer darf diese Adresse(n) verwenden, selbst wenn diese nicht lokal vorhanden sind. Jeweils eine Adresse eingeben, ENTER drücken für weitere."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Zusätzliche Absenderadresse(n) für dieses Postfach. Der Benutzer darf diese "
+"Adresse(n) verwenden, selbst wenn diese nicht lokal vorhanden sind. Jeweils "
+"eine Adresse eingeben, ENTER drücken für weitere."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Domain existiert nicht"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Lokale Domain existiert nicht"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domain(s)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domain(s), die dieser Benutzer administriert"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Allgemein"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "E-Mail"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Berechtigungen"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Konto aktualisiert"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Neues Konto"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Konto erstellt"
@@ -542,69 +640,86 @@ msgid "Email address"
msgstr "E-Mail Adresse"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Die Alias-Adresse. Geben Sie nur den Domainnamen (@domain.tld) ein, um einen Catchall-Alias anzulegen."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Die Alias-Adresse. Geben Sie nur den Domainnamen (@domain.tld) ein, um einen"
+" Catchall-Alias anzulegen."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Empfänger"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein und bestätigen Sie mit ENTER."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein"
+" und bestätigen Sie mit ENTER."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Keine Empfänger angegeben"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(e) für diese Domain. Geben Sie jeweils nur eine Adresse pro Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu erhalten."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias(e) für diese Domain. Geben Sie jeweils nur eine Adresse pro "
+"Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu "
+"erhalten."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "DKIM Selector"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Auf Postfächer angewendete Quota. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. 0 eingeben, um keine Quota zu verwenden."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Auf Postfächer angewendete Quota. Kann in KB, MB (Voreinstellung) oder GB "
+"angegeben werden. 0 eingeben, um keine Quota zu verwenden."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "Domain-Alias"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Ein %s mit diesem Namen existiert bereits"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Verzeichnis für DKIM-Keys nicht konfiguriert."
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Ein unlimitiertes Kontingent ist nicht möglich."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "Domain"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Domain-Administrator erstellen"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Automatisch Administrator für diese Domain anlegen"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -613,51 +728,55 @@ msgstr "Automatisch Administrator für diese Domain anlegen"
msgid "Name"
msgstr "Name"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird automatisch angehängt."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird "
+"automatisch angehängt."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Zufällig generiertes Passwort für den Administrator verwenden."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Mit einem Postfach"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Erzeuge Postfach für den Administrator."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Aliase erstellen"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Automatisch Standard-Aliase für Domain anlegen"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Ungültiges Format"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domain verändert"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Optionen"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Neue Domain"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domain erstellt."
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Separator"
@@ -665,23 +784,23 @@ msgstr "Separator"
msgid "Recipient(s)"
msgstr "Empfänger"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Geben sie einen oder mehrere, durch ',' separierte Empfänger an"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Lokale Kopien behalten"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Nachricht weiterleiten und Kopie in Mailbox ablegen"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Wählen Sie eine Datei"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Bei Fehler fortfahren"
@@ -689,7 +808,7 @@ msgstr "Bei Fehler fortfahren"
msgid "Don't treat duplicated objects as error"
msgstr "Doppelte Objekte nicht als Fehler behandeln"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Passwörter verschlüsseln"
@@ -697,93 +816,95 @@ msgstr "Passwörter verschlüsseln"
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "Auswählen, wenn Kennwörter in Datei nicht verschlüsselt sind"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Postfach {} existiert bereits"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Konto Import fehlgeschlagen (%s): ungültiger Quota-Wert"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identitäten"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Weiterleiten"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Ein Postfach ist erforderlich"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
-msgstr "Sie verfügen nicht über ausreichend Rechte, um Domains zu importieren."
+msgstr ""
+"Sie verfügen nicht über ausreichend Rechte, um Domains zu importieren."
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
-msgstr "Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren."
+msgstr ""
+"Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Kein DNS Eintrag für %s gefunden"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Kein %(type)s Eintrag für %(name)s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Keine funktionierenden Namensserver gefunden"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS Error bei der Auflösung, konnte %s nicht auflösen"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Fehlerhaftes IP-Adressformat für {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Objekt existiert bereits: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d Objekte erfolgreich importiert"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr "CSV Datei nicht in UTF-8 enkodiert, versuche das Encoding zu erraten"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Lese CSV Datei mit %(encoding)s Enkodierung"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Konnte CSV Datei nicht mit %(encoding)s Enkodierung dekodieren"
@@ -792,27 +913,27 @@ msgstr "Konnte CSV Datei nicht mit %(encoding)s Enkodierung dekodieren"
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain {} has no MX record"
msgid "Domain has no MX record"
msgstr "Domain {} hat keinen MX-Eintrag"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Domain {} hat keinen MX-Eintrag"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid MX record: {}"
msgstr "MX Einträge für {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "MX-Eingrag für Domain {0} ist ungültig: {1}"
@@ -821,160 +942,160 @@ msgstr "MX-Eingrag für Domain {0} ist ungültig: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX Problem(e) für Domain {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL Problem(e) für Domain {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Domain nicht gefunden."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Ein Alias mit diesem Namen existiert bereits"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "Adresse"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Die Alias-Adresse"
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "aktiviert"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Auswählen, um den Alias zu aktivieren"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Beschreibung"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Läuft ab am"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "Alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Ungültige Adresse"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Lokaler Empfänger {}@{} nicht gefunden"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Ungültige Zeile: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "Name"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Name der Domain"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Auswählen, um diese Domain zu aktivieren"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Aktiviere DNS Prüfungen"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
-msgstr "Das Anhaken dieser Box aktiviert die DNS-Überprüfungen für diese Domain"
+msgstr ""
+"Das Anhaken dieser Box aktiviert die DNS-Überprüfungen für diese Domain"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Aktiviere DKIM Signierung"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Wenn Sie dieses Feature aktivieren wird die DKIM Keygenerierung für diese Domain aktiviert."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Wenn Sie dieses Feature aktivieren wird die DKIM Keygenerierung für diese "
+"Domain aktiviert."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Schlüssel-Länge"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ungültige Zeile"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Kein autorisierter MX Eintrag für die Domain {} gefunden"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Fehlerhafter Kontingentwert für die Domain '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Fehlerhafter Standardwert für das Mailboxkontingent der Domain '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "Der Standardkontingentwert einer Mailbox kann nicht größer als der Standardkontingentwert der domain sein"
+msgstr ""
+"Der Standardkontingentwert einer Mailbox kann nicht größer als der "
+"Standardkontingentwert der domain sein"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Der Alias-Name"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "Ziel"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Domain, auf die dieser Alias verweist"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Unbekannte Domain %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Postfach-Adresse (ohne den '@domain.tld' Teil)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Der Speicherort des Postfachs (%s) konnte nicht bestimmt werden"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Ein Quota ist erforderlich"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -984,8 +1105,9 @@ msgstr "Domain Kontingent überschritten"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Schließen"
@@ -1034,9 +1156,9 @@ msgstr "Anzahl"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Domain-Aliase"
@@ -1071,7 +1193,7 @@ msgstr "Erstellt"
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Sekundäre E-Mail-Adresse"
@@ -1080,7 +1202,7 @@ msgstr "Sekundäre E-Mail-Adresse"
msgid "Not defined"
msgstr "Nicht definiert"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Telefonnummer"
@@ -1158,7 +1280,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Datum"
@@ -1184,9 +1306,9 @@ msgstr "Erstellungsdatum"
msgid "Last modification date"
msgstr "Datum der letzten Änderung"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Postfach-Aliase"
@@ -1245,11 +1367,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Nein"
@@ -1257,7 +1380,7 @@ msgstr "Nein"
msgid "Generate new key"
msgstr "Neuen Schlüssel generieren"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Ja"
@@ -1270,7 +1393,7 @@ msgid "Administrators"
msgstr "Administratoren"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Diese Berechtigung entfernen"
@@ -1307,13 +1430,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Von"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "An"
@@ -1344,9 +1467,10 @@ msgstr "deaktiviert"
msgid "Automatically forward emails to another address"
msgstr "Nachrichten automatisch an andere Adresse weiterleiten"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Aktualisieren"
@@ -1363,11 +1487,24 @@ msgid "Fullname/Recipient"
msgstr "Name/Empfänger"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1396,7 +1533,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."
@@ -1404,108 +1543,126 @@ msgstr "Kein MX Eintrag für diese Domain gefunden."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-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:"
+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:"
#: 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 Domain wird betroffen sein. Es kann sein, dass von ihr kommende E-Mails als Spam betrachtet werden. Sie sollten diese Anbieter kontaktieren und darum bitten, ihre erfasste(n) IP-Adresse(n) zu entfernen."
+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 Domain wird betroffen sein. Es kann sein, dass von ihr "
+"kommende E-Mails als Spam betrachtet werden. Sie sollten diese Anbieter "
+"kontaktieren und darum bitten, ihre erfasste(n) IP-Adresse(n) 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 ""
-#: 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
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "Domain-Alias"
-#: 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"
@@ -1515,36 +1672,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"
@@ -1552,85 +1709,74 @@ 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
-msgid "2FA is not enabled"
-msgstr "2-Faktor-Authentifizierung ist nicht aktiviert"
-
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Lokal"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-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
-msgid "Invalid syntax"
-msgstr "Ungültiger Syntax"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Ungültige Zahl für Runden"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr "Dieser Code ist Falsch"
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Altes Passwort"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
-msgid "Please use the following code to recover your Modoboa password: {}"
-msgstr "Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen: {}"
+#: 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/views.py:54
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Lokal"
+
+#: 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:535
+#: core/app_settings.py:543 core/app_settings.py:551
+#: postfix_autoreply/forms.py:165
+msgid "Invalid syntax"
+msgstr "Ungültige Syntax"
+
+#: 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:194
+msgid "This code is invalid"
+msgstr "Dieser Code ist Falsch"
+
+#: 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:"
+" {}"
+
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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"
@@ -1640,452 +1786,524 @@ 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
-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."
+#: 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."
-#: 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
-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)."
+#: 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)."
-#: 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
-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"
+#: 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"
-#: 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
-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."
+#: 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."
-#: 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
-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."
+#: 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."
-#: 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
-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."
+#: 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."
-#: 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."
+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."
-#: 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
-msgid "Enable automatic synchronization between local database and LDAP directory"
-msgstr "Automatische Synchronisation zwischen lokaler Datenbank und LDAP Verzeichnis aktivieren"
+#: 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"
-#: 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
-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."
+#: 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."
-#: 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)"
+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)"
-#: 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
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: 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
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Schwellwert für inaktive Konten"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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
-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."
+#: 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."
-#: 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 ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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)."
-#: 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"
@@ -2117,31 +2335,31 @@ msgstr "Platzhalter"
msgid "Missing 2FA verification."
msgstr ""
-#: 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"
@@ -2158,20 +2376,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"
@@ -2179,137 +2397,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
#, fuzzy
#| msgid "Application secret"
msgid "Appication secret"
@@ -2336,8 +2557,12 @@ msgid "Latest news"
msgstr "Neuste Nachrichten"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Besuchen Sie den offiziellen Weblog für weitere Informationen."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Besuchen Sie den offiziellen Weblog für weitere Informationen."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2349,8 +2574,12 @@ msgstr "Verwalten Sie Ihren Zugriff auf die Modoboa API"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Eine Dokumentation der API ist hier verfügbar."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Eine Dokumentation der API ist hier verfügbar."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2361,7 +2590,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"
@@ -2375,7 +2604,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"
@@ -2393,7 +2624,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"
@@ -2423,7 +2654,7 @@ 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"
@@ -2440,12 +2671,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"
@@ -2465,7 +2696,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"
@@ -2474,8 +2705,12 @@ msgid "Two-Factor authentication"
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."
+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."
#: core/templates/core/user_security.html:25
msgid "Pin code"
@@ -2486,28 +2721,49 @@ msgid "Register"
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."
+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."
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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"
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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"
#: 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"
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+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.\n"
"Aktiviere dieses Feature, um die Account-Sicherheit zu erhöhen."
@@ -2524,69 +2780,77 @@ 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 ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "DMARC-Tools"
-#: 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 ""
@@ -2622,11 +2886,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"
@@ -2702,95 +2966,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Unbekannte Quellen / Bedrohungen"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2819,7 +3083,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2835,7 +3101,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2843,151 +3109,159 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Zugriff aktualisiert"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "IMAP-Migration"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "IMAP-Migration"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP"
msgstr "OfflineIMAP-Einstellungen"
-#: 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
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "OfflineIMAP-Einstellungen"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: 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
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "OfflineIMAP-Einstellungen"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
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
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Verbindung mit Modoboa public API aktivieren"
-#: 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."
@@ -2997,163 +3271,193 @@ 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
#, fuzzy
#| msgid "Default limits"
msgid "Default per-admin limits"
msgstr "Standard-Grenzwerte"
-#: 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 ""
-#: 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 ""
-#: 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
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maximale Anzahl der Domain-Administratoren, die ein neuer Administrator erstellen darf"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new administrator. (0 "
+"to deny any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Maximale Anzahl der Domain-Administratoren, die ein neuer Administrator "
+"erstellen darf"
-#: limits/app_settings.py:40 limits/app_settings.py:173
+#: limits/app_settings.py:39 limits/app_settings.py:175
#, fuzzy
#| msgid "Maximum number of allowed domains for a new administrator"
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed domains for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximale Anzahl Domains, die ein neuer Administrator erstellen darf"
-#: limits/app_settings.py:50 limits/app_settings.py:181
+#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf"
-#: limits/app_settings.py:61 limits/app_settings.py:190
+#: limits/app_settings.py:58 limits/app_settings.py:198
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximale Anzahl Mailboxen, die ein neuer Administrator erstellen darf"
-#: limits/app_settings.py:71 limits/app_settings.py:199
+#: limits/app_settings.py:67 limits/app_settings.py:210
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximale Anzahl Aliase, die ein neuer Administrator erstellen darf"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: limits/app_settings.py:88 limits/app_settings.py:213
+#: limits/app_settings.py:82 limits/app_settings.py:232
#, fuzzy
#| msgid "Default limits"
msgid "Default per-domain limits"
msgstr "Standard-Grenzwerte"
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
+#: limits/app_settings.py:94 limits/app_settings.py:248
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-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 Domain-Administratoren, die ein neuer Administrator erstellen darf"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+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 Domain-Administratoren, die ein neuer Administrator "
+"erstellen darf"
-#: limits/app_settings.py:111 limits/app_settings.py:232
+#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
+msgstr ""
+"Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf"
-#: limits/app_settings.py:122 limits/app_settings.py:241
+#: limits/app_settings.py:114 limits/app_settings.py:272
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximale Anzahl Mailboxen, die ein neuer Administrator erstellen darf"
-#: limits/app_settings.py:132 limits/app_settings.py:249
+#: limits/app_settings.py:123 limits/app_settings.py:283
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
+" -1 to allow unlimited creations)"
msgstr "Maximale Anzahl Aliase, die ein neuer Administrator erstellen darf"
-#: 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 ""
-#: limits/constants.py:42
+#: limits/constants.py:77
#, fuzzy
#| msgid "Maximum number of domain aliases this user can create"
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf"
-#: limits/constants.py:46
+#: limits/constants.py:85
#, fuzzy
#| msgid "Maximum number of mailboxes this user can create"
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf"
-#: limits/constants.py:50
+#: limits/constants.py:93
#, fuzzy
#| msgid "Maximum number of mailbox aliases this user can create"
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf"
-#: limits/constants.py:55
+#: limits/constants.py:102
#, fuzzy
#| msgid "Maximum number of domain administrators this user can create"
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf"
-#: 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"
@@ -3166,11 +3470,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"
@@ -3179,99 +3485,99 @@ 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 ""
-#: 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
#, fuzzy
#| msgid "rejected messages"
msgid "Show greylisted messages"
msgstr "Abgewiesene Nachrichten"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "Gesendete Nachrichten"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "Gesendete Nachrichten"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "Abgewiesene Nachrichten"
-#: 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 ""
@@ -3299,183 +3605,196 @@ 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
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Unbekanntes graphisches Set"
-#: 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
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Verzeichnis nicht gefunden."
-#: 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
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "PDF Anmeldeinformationen"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "Erzeuge Dokumente nur wenn ein Konto angelegt wurde"
-#: 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
-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"
+#: 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"
-#: 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
-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."
+#: 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."
-#: 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
-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"
+#: 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"
-#: 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"
@@ -3483,17 +3802,17 @@ msgstr "IMAP Verbindungssicherheit"
msgid "PDF credentials"
msgstr "PDF Anmeldeinformationen"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
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"
@@ -3504,11 +3823,11 @@ 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"
@@ -3517,66 +3836,239 @@ 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
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "PDF Anmeldeinformationen"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
-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. "
#: 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
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: Grenze erreicht"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This code is invalid"
+msgid "This date is over"
+msgstr "Das Datum liegt in der Vergangenheit"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Muss größer als der Wert des Startdatums sein"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Automatische Antworten"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Automatische Antwort ab diesem Datum aktivieren. Format: YYYY-MM-DD"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Bis"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Automatische Antwort bis zu diesem Datum aktivieren. Format: YYYY-MM-DD"
+
+#: postfix_autoreply/forms.py:51
+#, 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 ""
+"Der Inhalt Ihrer Antwort: Sie können die folgenden Variablen benutzen, die "
+"automatisch mit dem zugehörigen Wert ersetzt werden: %(name)s, %(fromdate)s,"
+" %(untildate)s"
+
+#: postfix_autoreply/forms.py:121
+msgid "Automatic reply timeout"
+msgstr "Zeit zwischen automatische Antworten"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Zeit zwischen zwei automatisierten Antworten an denselben Empfänger (in "
+"Sekunden)"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Standard-Betreff"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Ich bin weg"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Standard-Betreff wenn eine Antwortnachricht automatisch generiert wird"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Standard-Inhalt"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Ich bin im Moment weg und werde antworten sobald ich zurück bin.\n"
+"\n"
+"Mit freundlichen Grüßen\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Standard-Inhalt wenn eine Antwort automatisch erstellt wird. Das '%(name)s' "
+"Makro wird gegen den vollen Benutzernamen ersetzt."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Automatische Antwort"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Automatische Antwort"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "Betreff"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "Der Betreff, der in den versendeten Nachrichten verwendet wird"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "Inhalt"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "Der Inhalt, der in den versendeten Nachrichten verwendet wird"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Aktivieren/Deaktivieren Sie die automatisierte Antwort"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr ""
+"Geben Sie eine Nachricht an, die gesendet werden soll, wenn Sie nicht "
+"erreichbar sind."
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Automatische Antwort erfolgreich aktualisiert."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
#, fuzzy
#| msgid "Relay domains"
msgid "Transport settings"
msgstr "Relaydomain"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
#| msgid "target host"
msgid "target host address"
msgstr "Ziel-Host"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
#, fuzzy
#| msgid "target host"
msgid "target host port"
msgstr "Ziel-Host"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "Empfänger verifizieren"
@@ -3646,16 +4138,24 @@ msgstr "Passwort vergessen?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-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 ."
+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 ."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Passwort ändern"
#: templates/registration/password_reset_confirm.html:17
-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."
+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."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3666,19 +4166,36 @@ msgid "Resend code"
msgstr "Code erneut senden"
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-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:"
+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:"
#: 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."
+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."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3699,22 +4216,21 @@ msgstr "Modoboa Passwort zurücksetzen"
msgid "Invalid value"
msgstr "Ungültige Zeile"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: Grenze erreicht"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Ein Alias mit diesem Namen existiert bereits"
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "Ein Set von Tools um die DMARC-Integration zu vereinfachen"
@@ -3723,7 +4239,6 @@ msgstr ""
#~ msgstr "Erzeuge PDF-Dokumente welche die Benutzeranmeldeinformationen enthält"
#, fuzzy
-#~| msgid "IMAP migration"
#~ msgid "IMAP migrations"
#~ msgstr "IMAP-Migration"
@@ -3749,12 +4264,10 @@ msgstr ""
#~ msgstr "Der 'Service'-Name"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote address (hostname or IP) of this domain"
#~ msgstr "Entfernte Destination für diese Domain"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote port of this domain"
#~ msgstr "Entfernte Destination für diese Domain"
@@ -3768,15 +4281,10 @@ msgstr ""
#~ msgstr "Scanne"
#, fuzzy
-#~| msgid "The domain name"
#~ msgid "The relay domain name"
#~ msgstr "Name der Domain"
#, fuzzy
-#~| msgid ""
-#~| "\n"
-#~| "
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1491,11 +1570,16 @@ msgstr ""
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr ""
#: 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)."
+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 ""
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1509,94 +1593,100 @@ msgstr ""
msgid "Search"
msgstr "Suchen ..."
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr ""
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
#, fuzzy
#| msgid "Message"
msgid "Message logs"
msgstr "Nachricht"
-#: 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 ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, fuzzy, python-format
+#| msgid "No mechanism found"
+msgid "No AAAA record for %s"
+msgstr "Kein Mechanismus gefunden"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr ""
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr ""
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
#, fuzzy
#| msgid "modified"
msgid "Alias modified"
msgstr "geändert"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
#, fuzzy
#| msgid "deleted"
msgid "Alias deleted"
@@ -1610,11 +1700,11 @@ msgstr[1] "gelöscht"
msgid "MX records of {}"
msgstr "{} Eintrag von {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
#, fuzzy
#| msgid "deleted"
msgid "Domain deleted"
@@ -1622,20 +1712,20 @@ msgid_plural "Domains deleted"
msgstr[0] "gelöscht"
msgstr[1] "gelöscht"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr ""
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr ""
-#: 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
#, fuzzy
#| msgid "Account DN template"
msgid "Account deleted"
@@ -1643,7 +1733,7 @@ msgid_plural "Accounts deleted"
msgstr[0] "Konto-DN-Vorlage"
msgstr[1] "Konto-DN-Vorlage"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr ""
@@ -1651,87 +1741,75 @@ msgstr ""
msgid "Import identities"
msgstr ""
-#: admin/views/user.py:52
+#: admin/views/user.py:51
#, fuzzy
#| msgid "Profile updated"
msgid "Forward updated"
msgstr "Profil aktualisiert"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr "Ungültiger PIN-Code"
-#: 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
-msgid "2FA is not enabled"
-msgstr "2FA ist nicht aktiviert"
-
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Lokal"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Benutzerprofil"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Ungültige Syntax"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Ungültige Anzahl Runden"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr "Dieser Code ist ungültig"
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Altes Passwort"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
-msgid "Please use the following code to recover your Modoboa password: {}"
-msgstr "Bitte verwenden Sie den folgenden Code, um Ihr Modoboa-Passwort wiederherzustellen: {}"
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr "2FA ist nicht aktiviert"
-#: core/api/v2/views.py:54
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Lokal"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Benutzerprofil"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Ungültige Syntax"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Ungültige Anzahl Runden"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr "Dieser Code ist ungültig"
+
+#: 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 verwenden Sie den folgenden Code, um Ihr Modoboa-Passwort "
+"wiederherzustellen: {}"
+
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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' 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 "Kennwortschema stimmt nicht überein. Aktualisiere %s Passwort"
@@ -1739,454 +1817,532 @@ msgstr "Kennwortschema stimmt nicht überein. Aktualisiere %s Passwort"
#: core/api/v2/views.py:93 core/views/auth.py:75
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Passwort-Hash-Parameter stimmen nicht überein. Aktualisiere %s Passwort"
+msgstr ""
+"Passwort-Hash-Parameter stimmen nicht überein. 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 "Das Backend für 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 "Voreingestelltes Passwort-Schema"
-#: 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 "Schema zur Verschlüsselung von Postfach-Passwörtern"
-#: 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
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Anzahl an Runden (nur von sha256crypt und sha512crypt genutzt). Muss zwischen 1000 und 999999999 liegen, inklusive."
+#: 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 an Runden (nur von sha256crypt und sha512crypt genutzt). Muss "
+"zwischen 1000 und 999999999 liegen, inklusive."
-#: 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 "Passwort-Schema beim Login updaten"
-#: 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 "Aktualisiere das Benutzerkennwort bei der Anmeldung, um das Standardkennwortschema zu verwenden"
+msgstr ""
+"Aktualisiere das Benutzerkennwort bei der Anmeldung, um das "
+"Standardkennwortschema 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 kreierte Konten"
-#: 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 der zufällig generierten Passwörter."
-#: 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 "URL des Kennwortdienstes aktualisieren"
-#: core/app_settings.py:94 core/app_settings.py:768
-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 einer externen Seite, auf der Benutzer ihr Passwort aktualisieren können. Betrifft nur nicht lokale Benutzer, die nach einer erfolgreichen externen Authentifizierung (LDAP, SMTP) automatisch erstellt wurden."
+#: 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 einer externen Seite, auf der Benutzer ihr Passwort aktualisieren "
+"können. Betrifft nur nicht lokale Benutzer, die nach einer erfolgreichen "
+"externen Authentifizierung (LDAP, SMTP) automatisch erstellt wurden."
-#: 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 Passwortwiederherstellung"
-#: 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 "Passwortwiederherstellung per SMS aktivieren"
-#: 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 Kennwortwiederherstellung per SMS für Benutzer, die eine Telefonnummer angegeben haben."
+msgstr ""
+"Aktiviere die Kennwortwiederherstellung per SMS für Benutzer, die eine "
+"Telefonnummer angegeben haben."
-#: 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ählen Sie einen Anbieter für den Versand von SMS zur Kennwortwiederherstellung"
+msgstr ""
+"Wählen Sie einen Anbieter für den Versand von SMS zur "
+"Kennwortwiederherstellung"
-#: 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 "Serveradresse"
-#: 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 Ausfallserver (Fallback)"
-#: core/app_settings.py:150 core/app_settings.py:814
-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"
+#: 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"
-#: 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 "Ausfallserver-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 "IP-Adresse oder Hostname 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 "Ausfallserver-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 zweiten 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 "Verwende eine gesicherte Verbindung"
-#: 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 "Administratorgruppen"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Mitglieder dieser LDAP-POSIX-Gruppen werden als Domänenadministratoren erstellt. Nutze ';' um Gruppen zu trennen."
+#: 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-Gruppen werden als Domänenadministratoren "
+"erstellt. Nutze ';' um Gruppen zu trennen."
-#: 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, der mit Ihrem Verzeichnis verwendet 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 "Suchbasis für Gruppen"
-#: 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 Distinguished Name der Suchbasis, die zum Suchen von Gruppen verwendet wird"
+msgstr ""
+"Der Distinguished Name der Suchbasis, die zum Suchen von Gruppen verwendet "
+"wird"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Kennwortattribut"
-#: 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, das zum Speichern von Benutzerpasswörtern verwendet wird"
-#: 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 "Direktbindung"
-#: 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
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "Der Distinguished Name, der beim Binden an den LDAP-Server verwendet werden soll. Für eine anonyme Bindung leer lassen"
+#: 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 Distinguished Name, der beim Binden an den LDAP-Server verwendet werden "
+"soll. Für eine anonyme Bindung leer lassen"
-#: 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 Kennwort, das beim Binden an den LDAP-Server verwendet werden soll (mit 'Bind DN')"
+msgstr ""
+"Das Kennwort, das beim Binden an den LDAP-Server verwendet werden soll (mit "
+"'Bind DN')"
-#: 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 "Suchbasis für Benutzer"
-#: 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 Distinguished Name der Suchbasis, die zum Suchen von Benutzern verwendet wird"
+msgstr ""
+"Der Distinguished Name der Suchbasis, die zum Suchen von Benutzern verwendet "
+"wird"
-#: 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
-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."
+#: 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."
-#: 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 "Benutzer-DN-Vorlage"
-#: 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, die verwendet wird, um den DN eines Benutzers zu erstellen. Es sollte einen Platzhalter enthalten (z. B. %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Die Vorlage, die verwendet wird, um den DN eines Benutzers zu erstellen. Es "
+"sollte einen Platzhalter enthalten (z. B. %(user)s)"
-#: 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-Synchronisationseinstellungen"
-#: 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
-msgid "Enable automatic synchronization between local database and LDAP directory"
-msgstr "Automatische Synchronisierung zwischen lokaler Datenbank und LDAP-Verzeichnis aktivieren"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
+msgstr ""
+"Automatische Synchronisierung 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-Konto löschen, wenn lokales Konto gelöscht wird"
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
-msgstr "Remote-LDAP-Konto löschen, wenn lokales Konto gelöscht wird, ansonsten wird es deaktiviert."
+#: 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-Konto löschen, wenn lokales Konto gelöscht wird, ansonsten wird "
+"es 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 "Konto-DN-Vorlage"
-#: 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 den DN eines Kontos zu erstellen. Es sollte einen Platzhalter enthalten (z. B. %(user)s)"
+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 den DN eines Kontos zu erstellen. Es "
+"sollte einen Platzhalter enthalten (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 "Kontosynchronisierung vom LDAP-Verzeichnis zur lokalen Datenbank aktivieren"
+msgstr ""
+"Kontosynchronisierung vom LDAP-Verzeichnis zur lokalen 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 "Benutzername-Attribut"
-#: 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
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
-msgstr "Speicherort der Konfigurationsdatei, die Dovecot-LDAP-Einstellungen enthält."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
+msgstr ""
+"Speicherort der Konfigurationsdatei, die Dovecot-LDAP-Einstellungen enthält."
-#: 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 "Anzeige benutzerdefinierter RSS-Feeds für Reseller und Domain-Administratoren"
+msgstr ""
+"Anzeige benutzerdefinierter RSS-Feeds für Reseller 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 "Funktionen-Widget ausblenden"
-#: 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 "Funktionen-Widget für Reseller und Domain-Administratoren ausblenden"
-#: 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, die zum Senden von Benachrichtigungen verwendet wird."
-#: 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 "Aktivieren Sie die Kommunikation mit der öffentlichen API von Modoboa"
-#: 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 E-Mail, 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 "Sendet eine E-Mail, um Administratoren über neue Versionen zu benachrichtigen"
+msgstr ""
+"Sendet eine E-Mail, um Administratoren über neue Versionen 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 von Benachrichtigungs-E-Mails über 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 "Sendet Statistiken an die öffentliche API von Modoboa (Zähler und verwendete Erweiterungen)"
+msgstr ""
+"Sendet Statistiken an die öffentliche API von Modoboa (Zähler und verwendete "
+"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
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Schwellwert für inaktive Konten"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Ein Konto mit einem letzten Login-Datum über diesem Schwellenwert (in Tagen) wird als inaktiv betrachtet"
+#: 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 letzten Login-Datum über diesem Schwellenwert (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 "Prüfintervall für Benachrichtigungen"
-#: 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 eines Log-Eintrags"
-#: 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 Protokollsatzes 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 der angezeigten 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, die verwendet wird, wenn keine Anwendung angegeben wurde"
+msgstr ""
+"Die Standardumleitung, die verwendet wird, wenn keine Anwendung angegeben "
+"wurde"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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)."
-#: 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"
@@ -2218,31 +2374,31 @@ msgstr "Platzhalter"
msgid "Missing 2FA verification."
msgstr ""
-#: 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"
@@ -2259,20 +2415,20 @@ msgstr "geändert"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s von Benutzer %(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 "gelöscht"
-#: 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"
@@ -2280,137 +2436,142 @@ msgstr "Administrationsbefehl"
msgid "You can't delete your own account"
msgstr "Sie können Ihr eigenes Konto nicht löschen"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Ein oder mehrere Updates 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 "Postfachzugriff zulassen"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Gewähren Sie diesem Administrator Zugriff auf Benutzerpostfächer"
-#: 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 kann für die Wiederherstellung verwendet werden."
+msgstr ""
+"Eine alternative E-Mail-Adresse kann für die Wiederherstellung verwendet "
+"werden."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
-msgstr "Kennwort konnte nicht aktualisiert werden: LDAP-Modul nicht installiert"
+msgstr ""
+"Kennwort konnte nicht aktualisiert werden: 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 Nord-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 "Anwendungsschlüssel"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr "Anwendungsgeheimnis"
-#: 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
#, fuzzy
#| msgid "Application secret"
msgid "Appication secret"
@@ -2437,8 +2598,12 @@ msgid "Latest news"
msgstr "Neueste Nachrichten"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Besuchen Sie den offiziellen Weblog für weitere Informationen."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Besuchen Sie den offiziellen Weblog für weitere Informationen."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2450,8 +2615,12 @@ msgstr "Verwalten Sie Ihren Zugriff auf die Modoboa API"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Eine Dokumentation der API ist hier verfügbar."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Eine Dokumentation der API ist hier verfügbar."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2462,7 +2631,7 @@ msgstr "API-Zugriffstoken"
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"
@@ -2476,7 +2645,9 @@ msgstr "Ein oder mehrere Updates 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"
@@ -2494,7 +2665,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"
@@ -2524,7 +2695,7 @@ msgstr[1] ""
"\n"
" Folgende Updates 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"
@@ -2541,12 +2712,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"
@@ -2566,7 +2737,7 @@ msgstr "Aktualisieren Sie Ihre persönlichen Daten"
msgid "Click here to update your password"
msgstr "Klicken Sie hier, um Ihr 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"
@@ -2575,8 +2746,12 @@ msgid "Two-Factor authentication"
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 "Installieren Sie einen Soft-Token-Authentifikator wie FreeOTP oder Google Authenticator aus dem App-Store und scannen Sie den QR-Code."
+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 ""
+"Installieren Sie einen Soft-Token-Authentifikator wie FreeOTP oder Google "
+"Authenticator aus dem App-Store und scannen Sie den QR-Code."
#: core/templates/core/user_security.html:25
msgid "Pin code"
@@ -2587,29 +2762,53 @@ msgid "Register"
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."
+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."
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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 jeweils einmal verwendet werden, um den Zugriff auf Ihr Konto wiederherzustellen, falls Sie beispielsweise Ihr Telefon verlieren. Achten Sie darauf, diese sicher aufzubewahren, da Sie sonst nicht mehr auf Ihr Konto zugreifen können."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 jeweils einmal verwendet "
+"werden, um den Zugriff auf Ihr Konto wiederherzustellen, falls Sie "
+"beispielsweise Ihr Telefon verlieren. Achten Sie darauf, diese sicher "
+"aufzubewahren, da Sie sonst nicht mehr auf Ihr Konto zugreifen können."
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr "Die 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 "2FA deaktivieren"
+#: 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 "Wiederherstellungscodes zurücksetzen"
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
-msgstr "Die Zwei-Faktor-Authentifizierung (2FA) ist für diesen Account noch nicht aktiviert. Die Aktivierung dieser Funktion erhöht die Sicherheit des Accounts."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
+msgstr ""
+"Die Zwei-Faktor-Authentifizierung (2FA) ist für diesen Account noch nicht "
+"aktiviert. Die Aktivierung dieser Funktion erhöht die Sicherheit des "
+"Accounts."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2623,69 +2822,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 "Forgot password?"
+msgid "Confirm your password"
+msgstr "Passwort vergessen?"
+
#: 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 "Ausloggen"
-#: 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 "Benutzername und Passwort stimmen nicht überein. Bitte versuche es erneut."
+msgstr ""
+"Benutzername und Passwort stimmen nicht überein. Bitte versuche es erneut."
-#: 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 "Zugang aktualisiert"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
#, fuzzy
#| msgid "LDAP settings"
msgid "DNS settings"
msgstr "LDAP-Einstellungen"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr ""
-#: 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 ""
@@ -2727,11 +2933,11 @@ msgstr "Ausfallserver-Port"
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2803,95 +3009,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: 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 "weniger 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"
@@ -2920,8 +3126,12 @@ msgid "A DNS record has been found but its syntax is not valid:"
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."
+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."
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
msgid "IP address of your Modoboa server"
@@ -2936,7 +3146,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 {}"
@@ -2944,95 +3154,103 @@ 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
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Zugang aktualisiert"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "Enable communication"
msgid "Enable IMAP Migration"
msgstr "Verbindung 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
#, fuzzy
#| msgid "Enable communication"
msgid "Enable IMAP Migration."
msgstr "Verbindung aktivieren"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
#, fuzzy
#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
msgstr "LDAP-Einstellungen"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "Auto configuration"
msgid "IMAP Migration"
msgstr "Automatische Konfiguration"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
@@ -3041,52 +3259,52 @@ msgstr ""
msgid "IMAP migration"
msgstr "Automatische Konfiguration"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "LDAP-Konto konnte nicht erstellt werden: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "LDAP-Konto konnte nicht aktualisiert werden: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Fehler beim Löschen des LDAP-Kontos: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Fehler beim Deaktivieren des LDAP-Kontos: {}"
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Aktivieren Sie die Kommunikation mit der öffentlichen API von Modoboa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Verbindung zur 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 "Codierung 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 Domänennamen ein"
-#: 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."
@@ -3096,137 +3314,157 @@ 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 "Passwort konnte nicht aktualisiert werden: {}"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Domain administrator"
msgid "Domain admins"
msgstr "Domain-Administrator"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr ""
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr ""
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr ""
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr ""
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr ""
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr ""
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr ""
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid limit"
msgstr "Ungültige Zeile"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr ""
@@ -3239,11 +3477,11 @@ msgstr ""
msgid "Not enough resources"
msgstr ""
-#: 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 ""
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr ""
@@ -3252,91 +3490,92 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Pfad zur Protokolldatei"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
-msgstr "Pfad zur Protokolldatei, die zum Sammeln von Statistiken verwendet wird"
+msgstr ""
+"Pfad zur Protokolldatei, die zum Sammeln von Statistiken verwendet wird"
-#: 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 RRD-Dateien gespeichert sind"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr "Zeige Greylisted E-Mails"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr "Unterscheide 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-Binärdatei konnte nicht gefunden werden."
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Durchschnittlicher Datenverkehr (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 "Unzustellbare 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 "Greylisted E-Mails"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Durchschnittlicher Datenverkehr (Bytes/Min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "Empfangene Daten"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "Gesendete Daten"
-#: 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)"
@@ -3364,197 +3603,203 @@ msgstr "Anwenden"
msgid "No statistics available"
msgstr "Keine Statistiken 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 "Unbekannter Grafiksatz"
-#: 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 benutzerdefinierter 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
#, fuzzy
#| msgid "Update your personal information"
msgid "Personal account information"
msgstr "Aktualisieren Sie Ihre persönlichen Daten"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory to store RRD files"
msgid "Directory is not writable"
msgstr "Ablageverzeichnis für RRD-Dateien"
-#: 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 ""
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "Enable API access"
msgid "Enable PDF credentials"
msgstr "API-Zugriff 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: pdfcredentials/app_settings.py:33 pdfcredentials/app_settings.py:134
+#: pdfcredentials/app_settings.py:48 pdfcredentials/app_settings.py:206
#, fuzzy
#| msgid "Directory to store RRD files"
msgid "Directory to save documents into"
msgstr "Ablageverzeichnis für RRD-Dateien"
-#: pdfcredentials/app_settings.py:35 pdfcredentials/app_settings.py:136
+#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:208
#, fuzzy
#| msgid "Path to directory where RRD files are stored"
msgid "Path to a directory where PDF documents will be saved"
msgstr "Pfad zum Verzeichnis, in dem RRD-Dateien gespeichert sind"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
#, fuzzy
#| msgid "Security"
msgid "Security options"
msgstr "Sicherheit"
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
#, fuzzy
#| msgid "spam messages"
msgid "Custom message"
msgstr "Spam E-Mails"
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "SMTP server address"
msgstr "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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "SMTP server port"
msgstr "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 ""
-#: 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 ""
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "IMAP server address"
msgstr "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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "IMAP server port"
msgstr "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 ""
-#: 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 ""
@@ -3562,15 +3807,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3579,42 +3824,48 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
#, fuzzy
#| msgid "Change password"
msgid "Please change your password!"
msgstr "Passwort ändern"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
#, fuzzy
#| msgid "Auto configuration"
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Automatische Konfiguration"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3623,31 +3874,168 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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
+msgid "Daily sending limit reached"
+msgstr ""
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This code is invalid"
+msgid "This date is over"
+msgstr "Dieser Code ist ungültig"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr ""
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Inactive account threshold"
+msgid "Automatic replies"
+msgstr "Schwellwert für inaktive Konten"
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+msgid "Default content"
+msgstr ""
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "spam messages"
+msgid "Auto-reply message"
+msgstr "Spam E-Mails"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "Betreff"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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
#, fuzzy
#| msgid "Update password service URL"
msgid "Unsupported service"
msgstr "URL des Kennwortdienstes aktualisieren"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr ""
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
#| msgid "From address"
msgid "target host address"
msgstr "Absender-Adresse"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr ""
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
#, fuzzy
#| msgid "Recipient"
msgid "verify recipients"
@@ -3717,16 +4105,24 @@ msgstr "Passwort vergessen?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-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."
+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."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Passwort ändern"
#: templates/registration/password_reset_confirm.html:17
-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."
+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."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3737,19 +4133,36 @@ msgid "Resend code"
msgstr "Code erneut senden"
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 Spam-Ordner.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 Spam-Ordner.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Um den Vorgang zum Zurücksetzen des Passworts für Ihr %(username)s Modoboa-Konto zu beginnen, klicken Sie auf folgenden Link:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Um den Vorgang zum Zurücksetzen des Passworts für Ihr %(username)s Modoboa-"
+"Konto zu beginnen, klicken Sie auf 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 obere Link nicht funktioniert, kopieren Sie diesen bitte in ein neues Browser-Fenster."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Falls der obere Link 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
@@ -3770,14 +4183,14 @@ msgstr "Modoboa Passwort zurücksetzen"
msgid "Invalid value"
msgstr "Ungültige Zeile"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
diff --git a/modoboa/locale/el_GR/LC_MESSAGES/django.po b/modoboa/locale/el_GR/LC_MESSAGES/django.po
index d400f7c9e..73a1191f0 100644
--- a/modoboa/locale/el_GR/LC_MESSAGES/django.po
+++ b/modoboa/locale/el_GR/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2017-10-12 19:37+0000\n"
"Last-Translator: Kostas Moumouris \n"
"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/language/el_GR/)\n"
@@ -19,520 +19,627 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
#, fuzzy
-#| msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 σημαίνει ότι δεν υπάρχει quota. "
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 "
+"σημαίνει ότι δεν υπάρχει quota. "
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 σημαίνει ότι δεν υπάρχει quota. "
+msgstr ""
+"Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 "
+"σημαίνει ότι δεν υπάρχει quota. "
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Δεν υπάρχουν ΜΧ έγραφες για αυτό το domain "
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Δεν μπορεί να είναι μεγαλύτερο από το domain quota."
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Η άδεια απορρίφθηκε."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Αυτό το πεδίο είναι υποχρεωτικό"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Λίστα διαχειριζόμενων domains (αφορά μόνο μεταπωλητές και διαχειριστές domain)"
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Λίστα διαχειριζόμενων domains (αφορά μόνο μεταπωλητές και διαχειριστές "
+"domain)"
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Δεν επιτρέπεται για αυτόν τον ρόλο."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Πρέπει να είναι ίσο με την full_address του γραμματοκιβωτίου"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Αυτό το πεδίο απαιτείτε."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Το τοπικός domain {} δεν υπάρχει"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Λίστα παραληπτών"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Ο χρήστης '%s' υπάρχει ήδη"
+
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "Δεν έχετε πρόσβαση σε αυτό το domain"
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
msgstr "Δεν έχετε πρόσβαση σε αυτό το domain"
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Ο χρήστης '%s' υπάρχει ήδη"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Πρέπει να είναι θετικός ακέραιος"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
#, fuzzy
#| msgid "Domain not found."
msgid "Directory not found."
msgstr "To domain δεν βρέθηκε."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Domain not found."
msgid "Directory non-writable"
msgstr "To domain δεν βρέθηκε."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Ορίστε τουλάχιστον μια εξουσιοδοτημένη διεύθυνση / δίκτυο"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Απαιτείται γραμματοκιβώτιο"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Άγνωστη"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Δεν έχετε πρόσβαση σε αυτό το domain"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Δεν μπορείτε να σβήσετε το δικό σας domain"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domains"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Ενεργοποίηση ελέγχου MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "Έγκυρα MXς"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Μια λίστα από IP ή δικτυακές διευθύνσεις που κάθε εγράφη MX πρέπει να ταιριάζει. "
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Μια λίστα από IP ή δικτυακές διευθύνσεις που κάθε εγράφη MX πρέπει να "
+"ταιριάζει. "
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Τα νέα domain πρέπει να χρησιμοποιούν εξουσιοδοτημένους MX(s)"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Αποτροπή δημιουργίας νέου domain, εάν η εγράφη MX χρησιμοποιεί μια από τις είδη ορισμένες διευθύνσεις."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Αποτροπή δημιουργίας νέου domain, εάν η εγράφη MX χρησιμοποιεί μια από τις"
+" είδη ορισμένες διευθύνσεις."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable DNS checks"
+msgid "Enable IPV6 checks"
+msgstr "Ενεργοποίση ελέγχου DNS"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Ενεργοποίση ελέγχου DNS"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Ενεργοποίηση ελέγχου MX"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Ενεργοποίηση ελέγχου MX"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Ενεργοποίηση ελέγχου MX"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Ενεργοποίηση ελέγχου DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Έλεγχος κάθε domain κατά κύριους DNSBL πάροχους"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
msgstr ""
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Προκαθορισμένο domain quota"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Προκαθορισμένο quota (σε MB) που εφαρμόζεται στα νέα domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. "
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Προκαθορισμένο quota (σε MB) που εφαρμόζεται στα νέα domains χωρίς "
+"προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. "
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Προκαθορισμένο domain quota"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Γραμματοκιβώτια"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Χειριστείτε γραμματοκιβώτια στο σύστημα αρχείων"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Μετονομασία και διαγραφή γραμματοκιβωτίων στο σύστημα αρχείων, όταν μετονομάζονται ή διαγράφονται από το Medaboa "
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Μετονομασία και διαγραφή γραμματοκιβωτίων στο σύστημα αρχείων, όταν "
+"μετονομάζονται ή διαγράφονται από το Medaboa "
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Προκαθορισμένο quota γραμματοκιβωτίου "
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. "
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα "
+"domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota."
+" "
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default mailbox quota"
msgid "Default mailbox sending limit"
msgstr "Προκαθορισμένο quota γραμματοκιβωτίου "
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Αυτόματη αφαίρεση λογαριασμών"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Όταν αφαιρείται ένα γραμματοκιβώτιο, να αφαιρείται και ο σχετικός λογαριασμός"
+msgstr ""
+"Όταν αφαιρείται ένα γραμματοκιβώτιο, να αφαιρείται και ο σχετικός "
+"λογαριασμός"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Αυτόματη δημιουργία domain/γραμματοκιβωτίων"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Δημιουργία domain και γραμματοκιβωτίου κατά την αυτόματη δημιουργία λογαριασμού"
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"Δημιουργία domain και γραμματοκιβωτίου κατά την αυτόματη δημιουργία "
+"λογαριασμού"
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Δημιουργία ενός ψευδώνυμου κατά τη μετονομασία ενός γραμματοκιβωτίου"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση όταν μετονομάζεται ένα γραμματοκιβώτιο."
+msgstr ""
+"Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση όταν "
+"μετονομάζεται ένα γραμματοκιβώτιο."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. "
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα "
+"domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota."
+" "
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Διαχείριση"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domain"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Relay domain"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr ""
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Όνομα Χρήστη"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "Το όνομα του χρήστη. Πρέπει να είναι μια έγκυρη e-mail διεύθυνση για απλούς χρήστες ή διαχειριστές με γραμματοκιβώτιο."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"Το όνομα του χρήστη. Πρέπει να είναι μια έγκυρη e-mail διεύθυνση για απλούς "
+"χρήστες ή διαχειριστές με γραμματοκιβώτιο."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Ρόλος"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Επιλογή"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Το επίπεδο δικαιωμάτων αυτού του χρήστη"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Τυχαίως κωδικός"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Δημιουργία ενός τυχαίου κωδικού. Εάν ενημερώνεται αυτό το λογαριασμό και επιλέξετε το box, ένας νέος τυχαίος κωδικός θα δημιουργηθεί. "
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Δημιουργία ενός τυχαίου κωδικού. Εάν ενημερώνεται αυτό το λογαριασμό και "
+"επιλέξετε το box, ένας νέος τυχαίος κωδικός θα δημιουργηθεί. "
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Κωδικός"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Επιβεβαίωση"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Εισάγετε τον ίδιο κωδικό για επιβεβαίωση. "
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Ενεργοποιημένο"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Μόνο σε super διαχειριστές επιτρέπεται αυτή η λειτουργία. "
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Οι δύο κωδικοί δεν είναι ίδιοι"
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Δεν μπορείτε να απενεργοποιήσετε τον δικό σας λογαριασμό"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
#, fuzzy
-#| msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Quota σε ΜΒ για γραμματοκιβώτια. Ορίστε μια προσαρμοσμένη τιμή ή χρησιμοποιήστε την προεπιλεγμένη του τομέα. Αφήστε το κενό για να μη βάλετε όριο (δεν επιτρέπεται για διαχειριστές domain)."
+#| msgid ""
+#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
+#| "one. Leave empty to define an unlimited value (not allowed for domain "
+#| "administrators)."
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Quota σε ΜΒ για γραμματοκιβώτια. Ορίστε μια προσαρμοσμένη τιμή ή "
+"χρησιμοποιήστε την προεπιλεγμένη του τομέα. Αφήστε το κενό για να μη βάλετε "
+"όριο (δεν επιτρέπεται για διαχειριστές domain)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Ψευδώνυμο(μα) "
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Ψευδώνυμο(μα) αυτού του mailbox. Εισάγεται μόνο μια διεύθυνση τη φορά, πατήστε ENTER για να προσθέσετε επιπλέον. Για να δημιουργήσετε ένα catchall ψευδώνυμο, εισάγετε το όνομα τομέα (@domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Ψευδώνυμο(μα) αυτού του mailbox. Εισάγεται μόνο μια διεύθυνση τη φορά, "
+"πατήστε ENTER για να προσθέσετε επιπλέον. Για να δημιουργήσετε ένα catchall"
+" ψευδώνυμο, εισάγετε το όνομα τομέα (@domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Διεύθυνση αποστολέα"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Επιπρόσθετη(τες) διεύθυνση(σεις) αποστολέα για αυτό το λογαριασμό. Ο χρήστης επιτρέπεται να αποστέλλει email χρησιμοποιώντας αυτή την διεύθυνση, ακόμη και εάν αυτή δεν υπάρχει τοπικά στον server. Εισάγετε μόνο μια διεύθυνση ανά γραμμή. Πιέστε ENTER για να εισάγεται επιπλέον διευθύνσεις. "
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Επιπρόσθετη(τες) διεύθυνση(σεις) αποστολέα για αυτό το λογαριασμό. Ο "
+"χρήστης επιτρέπεται να αποστέλλει email χρησιμοποιώντας αυτή την διεύθυνση, "
+"ακόμη και εάν αυτή δεν υπάρχει τοπικά στον server. Εισάγετε μόνο μια "
+"διεύθυνση ανά γραμμή. Πιέστε ENTER για να εισάγεται επιπλέον διευθύνσεις. "
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Το domain δεν υπάρχει"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "To τοπικό domain δεν υπάρχει"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domain(s)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Τα domains που ο χρήστης διαχειρίζεται"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Γενικά"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Προφίλ"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Μήνυμα"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Δικαιώματα"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Ο λογαριασμός ενημερώθηκε"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Νέος λογαριασμός"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Ο λογαριασμός δημιουργήθηκε"
@@ -545,71 +652,88 @@ msgid "Email address"
msgstr "Διεύθυνση Email"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Διεύθυνση ψευδώνυμου. Για να δημιουργήσεις catchall ψευδώνυμα, απλός εισάγεται το όνομα του domain (@domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Διεύθυνση ψευδώνυμου. Για να δημιουργήσεις catchall ψευδώνυμα, απλός "
+"εισάγεται το όνομα του domain (@domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Παραλήπτες"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Οι διευθύνσεις στις οποίες το ψευδώνυμο θα δείχνει. Εισάγεται μόνο μία διεύθυνση ανά εγράφη, πατήστε ENTER για να εισάγεται επιπλέον."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Οι διευθύνσεις στις οποίες το ψευδώνυμο θα δείχνει. Εισάγεται μόνο μία "
+"διεύθυνση ανά εγράφη, πατήστε ENTER για να εισάγεται επιπλέον."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Δεν έχει ορισθεί παραλήπτης"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Τύπος"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Ψευδώνυμο(μα) από το domain. Εισάγεται μόνο ένα όνομα ανά γραμμή, πατήστε ENTER για να εισάγεται επιπλέον. "
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Ψευδώνυμο(μα) από το domain. Εισάγεται μόνο ένα όνομα ανά γραμμή, πατήστε "
+"ENTER για να εισάγεται επιπλέον. "
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
+#: admin/forms/domain.py:57
#, fuzzy
-#| msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 σημαίνει ότι δεν υπάρχει quota. "
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 "
+"σημαίνει ότι δεν υπάρχει quota. "
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "Ψευδώνυμα (alias) domain "
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Το '%s' με αυτό το όνομα υπάρχει ήδη"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Δεν μπορείτε να ορίσετε ένα απεριόριστο quota."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domain"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Δημιουργία διαχειριστή domain"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Αυτόματη δημιουργία διαχειριστή για αυτό το domain"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -618,51 +742,55 @@ msgstr "Αυτόματη δημιουργία διαχειριστή για αυ
msgid "Name"
msgstr "Όνομα"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Το όνομα του διαχειριστή. Μην συμπεριλάβετε το όνομα του domain, γιατί θα προσαρτηθεί αυτόματα στο τέλος."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Το όνομα του διαχειριστή. Μην συμπεριλάβετε το όνομα του domain, γιατί θα "
+"προσαρτηθεί αυτόματα στο τέλος."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Δημιουργήστε έναν τυχαίο κωδικό πρόσβασης για το διαχειριστή."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Με ένα γραμματοκιβώτιο"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Δημιουργήστε ένα γραμματοκιβώτιο για το διαχειριστή."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Δημιουργία Ψευδώνυμου"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Δημιουργήστε αυτόματα standard ψευδώνυμα για αυτόν το domain"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Λάθος μορφοποίηση"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Το domain άλλαξε"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Επιλογές"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Νέο domain"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Το domain δημιουργήθηκε"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Διαχωριστικό"
@@ -670,23 +798,24 @@ msgstr "Διαχωριστικό"
msgid "Recipient(s)"
msgstr "Παραλήπτες"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Προσθέστε παραπάνω από έναν παραλήπτη μετά το διαχωριστικό ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Αποθήκευση τοπικών αντιγράφων"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr "Προώθηση μηνυμάτων και αποθήκευση αντιγράφων στο τοπικό γραμματοκιβώτιο"
+msgstr ""
+"Προώθηση μηνυμάτων και αποθήκευση αντιγράφων στο τοπικό γραμματοκιβώτιο"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Επιλέξτε αρχείο"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Συνέχεια σε περίπτωση σφάλματος"
@@ -694,104 +823,105 @@ msgstr "Συνέχεια σε περίπτωση σφάλματος"
msgid "Don't treat duplicated objects as error"
msgstr "Μην αντιμετωπίζετε τα διπλότυπα αντικείμενα ως σφάλματα"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Κρυπτογράφηση κωδικών"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Επιλέξτε εάν οι κωδικοί που βρίσκονται στο αρχείο δεν είναι κρυπτογραφημένοι"
+msgstr ""
+"Επιλέξτε εάν οι κωδικοί που βρίσκονται στο αρχείο δεν είναι κρυπτογραφημένοι"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Η εισαγωγή λογαριασμού απέτυχε (%s): το domain δεν υπάρχει"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Το γραμματοκιβώτιο {} είδη υπάρχει "
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Η εισαγωγή του λογαριασμού (%s) απέτυχε: λάθος τιμή στο quota"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Ταυτότητες"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Προώθηση"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Απαιτείται γραμματοκιβώτιο"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Δεν έχετε δικαίωμα εισαγωγής domain"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Δεν επιτρέπεται να εισαγάγετε ψευδώνυμα στο domain."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No DNS record found for %s"
msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
-#: admin/lib.py:202
+#: admin/lib.py:204
#, fuzzy, python-format
#| msgid "MX records of {}"
msgid "No %(type)s record for %(name)s"
msgstr "Έγραφες MX από{}"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '{}'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Μη έγκυρη τιμή quota για το domain '{}'"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Το αντικείμενο υπάρχει ήδη: %s'"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d αντικείμενα εισήχθησαν με επιτυχία"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -800,27 +930,27 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain {} has no MX record"
msgid "Domain has no MX record"
msgstr "Το Domain {} δεν έχει εγγραφή MX "
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Το Domain {} δεν έχει εγγραφή MX "
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid MX record: {}"
msgstr "Έγραφες MX από{}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "Η εγγραφή MX για το domain {0} δεν είναι έγκυρη: {1} "
@@ -829,160 +959,158 @@ msgstr "Η εγγραφή MX για το domain {0} δεν είναι έγκυ
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX ζήτημα(τα) για το domain {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL ζήτημα(τα) για το domain {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "To domain δεν βρέθηκε."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Υπάρχει είδη αυτό το ψευδώνυμο"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "διεύθυνση"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Η εναλλακτική διεύθυνση."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "ενεργοποιημένο"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Επιλέξτε για να ενεργοποιήσετε αυτό το ψευδώνυμο"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Περιγραφή"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Λήγει την "
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "Ψευδώνυμο"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Λάθος διεύθυνση"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Ο τοπικός παραλήπτης {}@{} δεν βρέθηκε"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Λάθος γραμμή: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "όνομα"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Το όνομα του domain"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Επιλέξτε για να ενεργοποιηθεί αυτό το domain"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Ενεργοποίση ελέγχου DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Επιλέξτε για να ενεργοποιήσετε τους ελέγχους DNS για αυτόν το domain"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Λάθος γραμμή"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Δεν βρέθηκε εξουσιοδοτημένη εγγραφή MX για το domain {}"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Μη έγκυρη τιμή quota για το domain '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
-msgstr "Μη έγκυρη τιμή quota για το προεπιλεγμένο γραμματοκιβώτιο για το domain '{}'"
+msgstr ""
+"Μη έγκυρη τιμή quota για το προεπιλεγμένο γραμματοκιβώτιο για το domain '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "Το προεπιλεγμένο quota για το γραμματοκιβώτιο δεν πρέπει να είναι μεγαλύτερο από το domain quota. "
+msgstr ""
+"Το προεπιλεγμένο quota για το γραμματοκιβώτιο δεν πρέπει να είναι μεγαλύτερο"
+" από το domain quota. "
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Το όνομα του ψευδώνυμου"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "στόχος"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "To domain στο οποίο αναφέρεται αυτό το ψευδώνυμο"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Άγνωστο domain %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Διεύθυνση γραμματοκιβωτίου (χωρίς το @domain.tld κομμάτι)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Σφάλμα κατά την ανάκτηση της τοποθεσίας του γραμματοκιβωτίου (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Ένα quota απαιτείται "
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -992,8 +1120,9 @@ msgstr "Υπέρβαση του domain quota"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Κλείσιμο"
@@ -1044,9 +1173,9 @@ msgstr "Ποσότητα"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Ψευδώνυμα domain"
@@ -1081,7 +1210,7 @@ msgstr "Δημιουργήθηκε"
msgid "Last login"
msgstr "Τελευταία είσοδος χρήστη"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Δευτερεύον email"
@@ -1090,7 +1219,7 @@ msgstr "Δευτερεύον email"
msgid "Not defined"
msgstr "Μη καθορισμένο"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Τηλέφωνο"
@@ -1168,7 +1297,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Ημερομηνία"
@@ -1194,9 +1323,9 @@ msgstr "Ημερομηνία δημιουργίας"
msgid "Last modification date"
msgstr "Τελευταία ημερομηνία αλλαγής"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Ψευδώνυμο γραμματοκιβωτίου "
@@ -1255,11 +1384,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Όχι"
@@ -1267,7 +1397,7 @@ msgstr "Όχι"
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Ναι"
@@ -1282,7 +1412,7 @@ msgid "Administrators"
msgstr "Διαχειριστές"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Αφαίρεση αυτού του δικαιώματος"
@@ -1319,13 +1449,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Από"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Προς"
@@ -1356,9 +1486,10 @@ msgstr "απενεργοποιημένο"
msgid "Automatically forward emails to another address"
msgstr "Αυτόματη προώθηση των email σε άλλη διεύθυνση"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Ενημέρωση"
@@ -1375,14 +1506,34 @@ msgid "Fullname/Recipient"
msgstr "Όνομα/Παραλήπτης"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
Το πρώτο στοιχείο κάθε γραμμής είναι υποχρεωτικό και "
+"πρέπει να είναι ίδιο με μία από τις προηγούμενες τιμές.
Μπορείτε να "
+"χρησιμοποιήσετε διαφορετικό χαρακτήρα ως διαχωριστικό."
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1410,7 +1561,9 @@ msgstr "Ενημερώθηκε"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Αυτή η διεύθυνση IP δεν αντιστοιχεί σε κανένα από τα έγκυρο MX που ορίζονται στις παραμέτρους"
+msgstr ""
+"Αυτή η διεύθυνση IP δεν αντιστοιχεί σε κανένα από τα έγκυρο MX που ορίζονται"
+" στις παραμέτρους"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1418,109 +1571,127 @@ msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Η Modoboa ανίχνευσε ότι το domain %(domain)s είναι καταχωρημένος στους ακόλουθους παρόχους DNSBL:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Η Modoboa ανίχνευσε ότι το domain %(domain)s είναι καταχωρημένος στους "
+"ακόλουθους παρόχους DNSBL:"
#: 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 "Η φήμη (reputation) του domain θα επηρεαστεί και υπάρχει πιθανότητα τα μηνύματα ηλεκτρονικού ταχυδρομείου που προέρχονται από αυτό να θεωρούνται ανεπιθύμητα. Θα πρέπει να επικοινωνήσετε με αυτούς τους παροχους και να τους ζητήσετε να σας βγάλουν από τη λίστα ανεπιθύμητων διευθύνσεων IP."
+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 ""
+"Η φήμη (reputation) του domain θα επηρεαστεί και υπάρχει πιθανότητα τα "
+"μηνύματα ηλεκτρονικού ταχυδρομείου που προέρχονται από αυτό να θεωρούνται "
+"ανεπιθύμητα. Θα πρέπει να επικοινωνήσετε με αυτούς τους παροχους και να τους"
+" ζητήσετε να σας βγάλουν από τη λίστα ανεπιθύμητων διευθύνσεων IP."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
-msgstr "To Modoboa ανίχνευσε ότι το domain %(domain)s δεν έχει έγκυρη εγγραφή MX:"
+msgstr ""
+"To Modoboa ανίχνευσε ότι το domain %(domain)s δεν έχει έγκυρη εγγραφή MX:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Αναζήτηση"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "enabled_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "enabled_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Λίστα domains"
-#: 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 "List Quotas"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "Εισαγωγή"
-#: 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 "Εξαγωγή"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Λίστα ταυτοτήτων"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Εμφάνιση των ταυτοτήτων του domain"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "Ψευδώνυμα (alias) domain "
-#: 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 "Επεξεργασία{}"
-#: 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;"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, fuzzy, python-format
#| msgid "MX records of {}"
msgid "No MX record for %s"
msgstr "Έγραφες MX από{}"
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, fuzzy, python-format
+#| msgid "MX records of {}"
+msgid "No AAAA record for %s"
+msgstr "Έγραφες MX από{}"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Υπάρχει είδη αυτό το ψευδώνυμο"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Δημιουργία"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Νέο ψευδώνυμο"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Το ψευδώνυμο δημιουργήθηκε"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Το ψευδώνυμο τροποποιήθηκε"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Το ψευδώνυμο διαγράφηκε"
@@ -1530,36 +1701,36 @@ msgstr[1] "Ψευδώνυμο διαγράφηκε"
msgid "MX records of {}"
msgstr "Έγραφες MX από{}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "Περίληψη DNSBL για{}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Το domain διαφράφηκε"
msgstr[1] "Τα domains διαφράφηκαν"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Εξαγωγή ταυτοτήτων"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Εξαγωγή των domain"
-#: 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 "Λάθος αίτημα"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Ο λογαριασμός διαγράφηκε"
msgstr[1] "Οι λογαριασμοί διαγράφηκαν"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Εισαγωγή των domain"
@@ -1567,87 +1738,74 @@ msgstr "Εισαγωγή των domain"
msgid "Import identities"
msgstr "Εισαγωγή ταυτοτήτων"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Η προώθηση ενημερώθηκε"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid PIN code"
msgstr "Λάθος γραμμή"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Τοπικός"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr "md5crypt (αδύναμο)"
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr "sha256 (αδύναμο)"
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr "md5 (αδύναμο)"
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr "crypt (αδύναμο)"
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr "plain (αδύναμο)"
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Προφίλ Χρήστη"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Μη έγκυρη σύνταξη"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Λάθος αριθμός επαναλήψεων "
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr ""
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Παλιός κωδικός"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr ""
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Τοπικός"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Προφίλ Χρήστη"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Μη έγκυρη σύνταξη"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Λάθος αριθμός επαναλήψεων "
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr ""
+
+#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Επιτυχής είσοδος του χρήστη '%s'"
-#: 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 ""
@@ -1657,475 +1815,529 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Πιστοποίηση"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Τύπος Πιστοποίησης"
-#: 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 που χρησιμοποιείται για πιστοποίηση"
-#: 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 "Προεπιλεγμένος αλγόριθμος κωδικοποίησης"
-#: 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 "Σχήμα που θα χρησιμοποιηθεί για την κρυπτογράφηση των κωδικών των λογαριασμών αλληλογραφίας"
+msgstr ""
+"Σχήμα που θα χρησιμοποιηθεί για την κρυπτογράφηση των κωδικών των "
+"λογαριασμών αλληλογραφίας"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Επαναλήψεων"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Αριθμός επαναλήψεων (μόνο για sha256crypt και sha512crypt). Μπορεί να είναι από 1000 έως και 999999999"
+#: 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 ""
+"Αριθμός επαναλήψεων (μόνο για sha256crypt και sha512crypt). Μπορεί να είναι "
+"από 1000 έως και 999999999"
-#: core/app_settings.py:67 core/app_settings.py:749
+#: core/app_settings.py:71 core/app_settings.py:752
#, fuzzy
#| msgid "Default password scheme"
msgid "Update password scheme at login"
msgstr "Προεπιλεγμένος αλγόριθμος κωδικοποίησης"
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Προκαθορισμένος κωδικός"
-#: 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 "Προκαθορισμένος κωδικός για αυτόματη δημιουργία λογαριασμών"
-#: 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 "Μήκος τυχαίου κωδικού"
-#: 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 "Μήκος των τυχαίων δημιουργημένων κωδικών"
-#: core/app_settings.py:90 core/app_settings.py:766
+#: core/app_settings.py:92 core/app_settings.py:781
#, fuzzy
#| msgid "Default password scheme"
msgid "Update password service URL"
msgstr "Προεπιλεγμένος αλγόριθμος κωδικοποίησης"
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Ρυθμίσεις LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Διεύθυνση εξυπηρετητή"
-#: 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 διεύθυνση ή το DNS όνομα του εξυπηρετητή LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Πόρτα εξυπηρετητή"
-#: 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 "Η TCP πόρτα λειτουργίας του εξυπηρετητή LDAP"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: core/app_settings.py:156 core/app_settings.py:819
+#: core/app_settings.py:153 core/app_settings.py:866
#, fuzzy
#| msgid "Server address"
msgid "Secondary server address"
msgstr "Διεύθυνση εξυπηρετητή"
-#: core/app_settings.py:159 core/app_settings.py:822
+#: core/app_settings.py:156 core/app_settings.py:869
#, fuzzy
#| msgid "The IP address or the DNS name of the LDAP server"
msgid "The IP address or the DNS name of the seondary LDAP server"
msgstr "Η IP διεύθυνση ή το DNS όνομα του εξυπηρετητή LDAP"
-#: core/app_settings.py:163 core/app_settings.py:826
+#: core/app_settings.py:161 core/app_settings.py:876
#, fuzzy
#| msgid "Server port"
msgid "Secondary server port"
msgstr "Πόρτα εξυπηρετητή"
-#: core/app_settings.py:166 core/app_settings.py:829
+#: core/app_settings.py:163 core/app_settings.py:879
#, fuzzy
#| msgid "The TCP port number used by the LDAP server"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Η TCP πόρτα λειτουργίας του εξυπηρετητή LDAP"
-#: 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 "Χρήση ασφαλής σύνδεσης"
-#: 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 / STARTTLS για να συνδεθήκατε στον διακομιστή LDAP"
+msgstr ""
+"Χρησιμοποιήστε μια σύνδεση SSL / STARTTLS για να συνδεθήκατε στον διακομιστή"
+" LDAP"
-#: 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 "Ο εξυπηρετητής LDAP είναι Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Groups Διαχειριστών"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Τα μέλη αυτών των LDAP Posix ομάδων χρηστών θα δημιουργηθούν ως διαχειριστές domain. Χρησιμοποιείστε τον χαραχτήρα ';' για να ξεχωρίσετε τις ομάδες."
+#: 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 ""
+"Τα μέλη αυτών των LDAP Posix ομάδων χρηστών θα δημιουργηθούν ως διαχειριστές"
+" domain. Χρησιμοποιείστε τον χαραχτήρα ';' για να ξεχωρίσετε τις ομάδες."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Τύπος ομάδας"
-#: 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 "Τύπος ομάδας LDAP που χρησιμοποιείται με τον κατάλογο σας."
-#: 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 "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 "Το Base DN αναζήτησης ομάδων χρηστών"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Το πεδίο του κωδικού"
-#: 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 "Το πεδίο αποθήκευσης των κωδικών χρηστών"
-#: core/app_settings.py:220 core/app_settings.py:869
+#: core/app_settings.py:214 core/app_settings.py:943
#, fuzzy
#| msgid "Authentication method"
msgid "LDAP authentication settings"
msgstr "Μέθοδος Πιστοποίησης"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Μέθοδος Πιστοποίησης"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Αναζήτηση χρήστη και bind"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Χρήση Bind DN"
-#: 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 "Επιλογή μεθόδου πιστοποίησης"
-#: 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
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "To distinguished name για το bind στον εξυπηρετητή LDAP. Αφήστε το κενό για anonymous"
+#: 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 ""
+"To distinguished name για το bind στον εξυπηρετητή LDAP. Αφήστε το κενό για "
+"anonymous"
-#: 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 κωδικός "
-#: 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 "Ο κωδικός για το bind στον εξυπηρετητή LDAP (αντιστοιχεί στο 'Bind DN')"
+msgstr ""
+"Ο κωδικός για το bind στον εξυπηρετητή LDAP (αντιστοιχεί στο 'Bind DN')"
-#: 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 "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 "Το Base DN αναζήτησης χρηστών"
-#: 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 "Φίλτρο αναζήτησης"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Προαιρετικό φίλτρο (π.χ. '(objectClass=person)'). Για να είναι έγκυρο πρέπει να περικλείεται σε παρενθέσεις."
+#: 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 ""
+"Προαιρετικό φίλτρο (π.χ. '(objectClass=person)'). Για να είναι έγκυρο πρέπει"
+" να περικλείεται σε παρενθέσεις."
-#: 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 "Πρότυπο για 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 "Το πρότυπο δημιουργίας DN χρηστών. Θα πρέπει να περιλαμβάνει έναν placeholder (π.χ. %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Το πρότυπο δημιουργίας DN χρηστών. Θα πρέπει να περιλαμβάνει έναν "
+"placeholder (π.χ. %(user)s)"
-#: core/app_settings.py:282 core/app_settings.py:921
+#: core/app_settings.py:276 core/app_settings.py:1017
#, fuzzy
#| msgid "LDAP settings"
msgid "LDAP synchronization settings"
msgstr "Ρυθμίσεις LDAP"
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: core/app_settings.py:325 core/app_settings.py:956
+#: core/app_settings.py:317 core/app_settings.py:1068
#, fuzzy
#| msgid "User DN template"
msgid "Account DN template"
msgstr "Πρότυπο για DN χρηστών"
-#: core/app_settings.py:328 core/app_settings.py:958
+#: core/app_settings.py:320 core/app_settings.py:1070
#, fuzzy, python-format
-#| msgid "The template used to construct a user's DN. It should contain one placeholder (ie. %(user)s)"
-msgid "The template used to construct an account's DN. It should contain one placeholder (ie. %(user)s)"
-msgstr "Το πρότυπο δημιουργίας DN χρηστών. Θα πρέπει να περιλαμβάνει έναν placeholder (π.χ. %(user)s)"
+#| msgid ""
+#| "The template used to construct a user's DN. It should contain one "
+#| "placeholder (ie. %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Το πρότυπο δημιουργίας DN χρηστών. Θα πρέπει να περιλαμβάνει έναν "
+"placeholder (π.χ. %(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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
#, fuzzy
#| msgid "Password attribute"
msgid "Username attribute"
msgstr "Το πεδίο του κωδικού"
-#: 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 ""
-#: core/app_settings.py:371 core/app_settings.py:995
+#: core/app_settings.py:362 core/app_settings.py:1122
#, fuzzy
#| msgid "Enable communication"
msgid "Enable Dovecot LDAP sync"
msgstr "Ενεργοποίηση επικοινωνίας"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 "Ταμπλό Συντομεύσεων"
-#: 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 "Κατά παραγγελία 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 "Προβολή κατά παραγγελία RSS feed για μεταπωλητές και διαχειριστές τομέα"
+msgstr ""
+"Προβολή κατά παραγγελία RSS feed για μεταπωλητές και διαχειριστές τομέα"
-#: 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 "Κρύβω τις λειτουργίες από τα widget"
-#: 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 "Κρύβω τις λειτουργίες από τα widget για τους μεταπωλητές και τους διαχειριστές του τομέα"
+msgstr ""
+"Κρύβω τις λειτουργίες από τα widget για τους μεταπωλητές και τους "
+"διαχειριστές του τομέα"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Υπενθύμιση "
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Διεύθυνση αποστολέα"
-#: 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 "Email διεύθυνση που χρησιμοποιείται για την αποστολή υπενθυμίσεων "
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "Δημόσιο 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 "Ενεργοποίηση επικοινωνίας"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Ενεργοποίηση επικοινωνίας με δημόσιο API του Modaboa"
-#: 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 "Έλεγχος ενημερώσεων"
-#: 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 "Αυτόματος έλεγχος διαθέσιμων ενημερώσεων"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Αποστολή στατιστικών"
-#: 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 "Αποστολή στατιστικών στο public API του Motaboa (counters και used extensions)"
+msgstr ""
+"Αποστολή στατιστικών στο public API του Motaboa (counters και used "
+"extensions)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Διάφορα"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Όριο απενεργοποιημένων λογαριασμών "
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Όριο απενεργοποιημένων λογαριασμών "
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 "Όριο (σε ημέρες) για να απενεργοποιηθεί ένας Λογαριασμός."
-#: 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 "Μέγιστο διάστημα ελέγχου ειδοποιήσεων"
-#: 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 "Διάστημα μεταξύ των δύο πρώτων ελέγχων ειδοποιήσεων (σε δευτερόλεπτα)"
-#: 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 "Μέγιστος χρόνος καταγραφής των log"
-#: 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 "Μέγιστη διάρκεια σε ημέρες καταγραφής των log"
-#: 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 "Εμφανίσεις ανά σελίδα"
-#: 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 "Αριθμός εμφανίσεων ανά σελίδα"
-#: 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 "Κύριες προκαθορισμένες αναδρομολογήσεις"
-#: 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 "Προκαθορισμένες αναδρομολογήσεις που χρησιμοποιούνται όταν δεν υπάρχουν προκαθορισμένες εφαρμογές"
+msgstr ""
+"Προκαθορισμένες αναδρομολογήσεις που χρησιμοποιούνται όταν δεν υπάρχουν "
+"προκαθορισμένες εφαρμογές"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2157,33 +2369,33 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Παλιός κωδικός"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Νέος κωδικός"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Αναντιστοιχία παλιού κωδικού"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Αναντιστοιχία κωδικών"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Ενεργοποίηση πρόσβασης API"
-#: core/forms.py:152
+#: core/forms.py:170
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "Υπενθύμιση "
-#: core/forms.py:163
+#: core/forms.py:181
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2202,20 +2414,20 @@ msgstr "άλλαξε"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s του χρήστη %(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 από"
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "Διαγράφηκε"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "Χρήστης {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "Εντολή διαχείρισης"
@@ -2223,143 +2435,153 @@ msgstr "Εντολή διαχείρισης"
msgid "You can't delete your own account"
msgstr "Δεν μπορείτε να διαγράψετε τον δικό σας λογαριασμό"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Υπάρχουν διαθέσιμες ενημερώσεις"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
#, fuzzy
#| msgid "One or more updates are available"
msgid "[modoboa] Update(s) available"
msgstr "Υπάρχουν διαθέσιμες ενημερώσεις"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Να επιτρέπεται η πρόσβαση σε γραμματοκιβώτια"
-#: core/models.py:54
-msgid "Allow this administrator to access user mailboxes"
-msgstr "Να επιτρέπεται σε αυτόν τον διαχειριστή η πρόσβαση στα γραμματοκιβώτια χρηστών"
-
#: core/models.py:57
+msgid "Allow this administrator to access user mailboxes"
+msgstr ""
+"Να επιτρέπεται σε αυτόν τον διαχειριστή η πρόσβαση στα γραμματοκιβώτια "
+"χρηστών"
+
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "κωδικός"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "Γλώσσα "
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Επιλογή γλώσσας για την εμφάνιση σελίδων."
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
-msgstr "Μια εναλλακτική e-mail διεύθυνση, μπορεί να χρησιμοποιηθεί για λόγους ανάκτησης."
+msgstr ""
+"Μια εναλλακτική e-mail διεύθυνση, μπορεί να χρησιμοποιηθεί για λόγους "
+"ανάκτησης."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
-msgstr "Σφάλμα κατά την ενημέρωση του κωδικού: το LDAP module δεν είναι εγκατεστημένο"
+msgstr ""
+"Σφάλμα κατά την ενημέρωση του κωδικού: το LDAP module δεν είναι "
+"εγκατεστημένο"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "λογαριασμός"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Άγνωστη"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
-msgstr "Δεν μπορείτε να εισάγετε έναν λογαριασμό με ρόλο μεγαλύτερο από τον δικό σας"
+msgstr ""
+"Δεν μπορείτε να εισάγετε έναν λογαριασμό με ρόλο μεγαλύτερο από τον δικό σας"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Ο απλός χρήστης '%s' πρέπει να έχει μια έγκυρη email διεύθυνση"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
-msgstr "Το όνομα χρήστη και το email δεν μπορεί να είναι διαφορετικά για τον '%s'"
+msgstr ""
+"Το όνομα χρήστη και το email δεν μπορεί να είναι διαφορετικά για τον '%s'"
-#: 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] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα ψηφίο"
msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα ψηφίο"
-#: 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] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} μικρά γράμματα."
msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} μικρά γράμματα."
-#: 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] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} κεφαλαία γράμματα."
msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} κεφαλαία γράμματα."
-#: 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] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα σπέσιαλ χαρακτήρα."
msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα σπέσιαλ χαρακτήρα."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "Ο κωδικός πρέπει να περιέχει ένα συνδυασμό από διαφορετικούς τύπους χαρακτήρων."
+msgstr ""
+"Ο κωδικός πρέπει να περιέχει ένα συνδυασμό από διαφορετικούς τύπους "
+"χαρακτήρων."
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:37 core/sms_backends/ovh.py:107
+#: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109
#, fuzzy
#| msgid "Applications"
msgid "Application key"
msgstr "Εφαρμογές"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
#, fuzzy
#| msgid "Applications"
msgid "Application secret"
msgstr "Εφαρμογές"
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Applications"
msgid "Appication secret"
@@ -2386,8 +2608,12 @@ msgid "Latest news"
msgstr "Τελευταία νέα"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Επισκέψου τοεπίσιμο weblogγια περισσότερες πληροφορίες"
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Επισκέψου τοεπίσιμο "
+"weblogγια περισσότερες πληροφορίες"
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2399,8 +2625,12 @@ msgstr "Ρυθμίσεις πρόσβασης στο API του Modoboa"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Οδηγίες για το API είναι διαθέσιμες εδώ"
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Οδηγίες για το API είναι διαθέσιμες εδώ"
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2411,7 +2641,7 @@ msgstr "Κωδικός πρόσβασης στο API"
msgid "Hello %(user)s."
msgstr "Για σου %(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 "Πληροφορίες"
@@ -2425,7 +2655,9 @@ msgstr "Υπάρχουν διαθέσιμες ενημερώσεις!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Έλεγχος της ακόλουθης λίστας για εύρεση αρθρώματος(των) που μπορούν να αναβαθμιστούν."
+msgstr ""
+"Έλεγχος της ακόλουθης λίστας για εύρεση αρθρώματος(των) που μπορούν να "
+"αναβαθμιστούν."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2443,7 +2675,7 @@ msgstr "Τελευταία έκδοση"
msgid "Active users"
msgstr "Ενεργοί χρήστες"
-#: 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 "Καταγραφές"
@@ -2471,7 +2703,7 @@ msgid_plural ""
msgstr[0] "Υπάρχουν διαθέσιμες ενημερώσεις"
msgstr[1] "Υπάρχουν διαθέσιμες ενημερώσεις"
-#: 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 "Παράμετροι"
@@ -2488,12 +2720,12 @@ msgstr "Αποθήκευση"
msgid "Modoboa settings"
msgstr "Ρυθμίσεις Modoboa"
-#: 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 "Ρυθμίσεις"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Προτιμήσεις"
@@ -2515,7 +2747,7 @@ msgstr "Ενημέρωση προσωπικών πληροφοριών"
msgid "Click here to update your password"
msgstr "Αποτυχία ενημέρωσης κωδικού: {}"
-#: 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
#, fuzzy
#| msgid "Security options"
msgid "Security"
@@ -2528,7 +2760,9 @@ msgid "Two-Factor authentication"
msgstr "Το backend που χρησιμοποιείται για πιστοποίηση"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2542,18 +2776,27 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgctxt "checks"
@@ -2561,12 +2804,18 @@ msgstr ""
msgid "Disable 2FA"
msgstr "Απενεργοποιήθηκε "
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2585,69 +2834,75 @@ msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Κρυπτογράφηση κωδικών"
+
#: 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 "Έξοδος"
-#: 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 "Το βασικό μέρος του Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Οι παράμετροι αποθηκεύτηκαν"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "Λάθος όνομα χρήστη ή κωδικός. Παρακαλώ δοκιμάστε ξανά."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Ο χρήστης '{}' αποσυνδέθηκε επιτυχώς"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Το προφίλ ενημερώθηκε"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Οι προτιμήσεις αποθηκεύτηκαν"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Το πρόσβαση ενημερώθηκε"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr "Ρυθμίσεις DNS"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr "Ενεργοποίηση ανάστροφης αναζήτησης reverse lookups"
-#: 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 (η αναφορές θα καθυστερούν)"
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "Εργαλεία DMARC"
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr "Εμφάνιση της έκθεσης DMARC του {}"
-#: 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 ""
@@ -2683,11 +2938,11 @@ msgstr "προσωρινό σφάλμα"
msgid "Permanent error"
msgstr "Μόνιμο σφάλμα"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Πολιτική"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Πρόβλημα Soft"
@@ -2763,95 +3018,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Άγνωστες πηγές / Απειλές"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2880,7 +3135,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2896,7 +3153,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2904,151 +3161,159 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Το πρόσβαση ενημερώθηκε"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "Μετάβαση IMAP"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "Μετάβαση IMAP"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
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 "Ταυτόχρονες εργασίες συγχρονισμού"
-#: 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 "Ο μέγιστος αριθμός ταυτόχρονων εργασιών συγχρονισμού"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "Ρυθμίσεις OfflineIMAP"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "Ρυθμίσεις OfflineIMAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "Ρυθμίσεις OfflineIMAP"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
msgid "IMAP Migration"
msgstr "Μετάβαση IMAP"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Παρουσιάστηκε σφάλμα στη σύνδεση με τον εξυπηρετητή IMAP: %s"
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "Μετάβαση IMAP"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Ενεργοποίηση επικοινωνίας με δημόσιο API του Modaboa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Δεν έχει ρυθμιστεί η σύνδεση με την βάση δεδομένων %s"
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Δεν επιτρέπεται η πρόσβαση: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Δεν επιτρέπεται η πρόσβαση"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Εισάγετε ένα έγκυρο όνομα domain"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Εισαγωγή μιας πραγματικής διεύθυνσης email."
@@ -3058,133 +3323,186 @@ msgstr "Εισαγωγή μιας πραγματικής διεύθυνσης em
msgid "Submit"
msgstr "Αποστολή"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Αποτυχία ενημέρωσης κωδικού: {}"
-#: 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 "Τίτλος"
-#: 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 "Προεπιλεγμένα όρια ανά διαχειριστή"
-#: 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 "Ενεργοποίηση ορίων ανά διαχειριστή"
-#: 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 "Ενεργοποίηση ή απενεργοποίηση ορίων ανά διαχειριστή"
-#: 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"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός επιτρεπτών διαχειριστών domain ενός νέου διαχειριστή. (0 για καμία δημιουργία, -1 για απεριόριστες δημιουργίες)"
+#: 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 ""
+"Μέγιστος αριθμός επιτρεπτών διαχειριστών domain ενός νέου διαχειριστή. (0 "
+"για καμία δημιουργία, -1 για απεριόριστες δημιουργίες)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός επιτρεπτών domain ενός νέου διαχειριστή. (0 για καμία δημιουργία, -1 για απεριόριστες δημιουργίες)"
+#: 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 ""
+"Μέγιστος αριθμός επιτρεπτών domain ενός νέου διαχειριστή. (0 για καμία "
+"δημιουργία, -1 για απεριόριστες δημιουργίες)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για domain, για νέους διαχειριστές. (Το 0 δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) "
+#: 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 ""
+"Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για domain, για νέους "
+"διαχειριστές. (Το 0 δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) "
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός επιτρεπτών γραμματοκιβωτίων ενός νέου διαχειριστή. (0 για καμία δημιουργία, -1 για απεριόριστες δημιουργίες)"
+#: 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 ""
+"Μέγιστος αριθμός επιτρεπτών γραμματοκιβωτίων ενός νέου διαχειριστή. (0 για "
+"καμία δημιουργία, -1 για απεριόριστες δημιουργίες)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για νέους διαχειριστές. (Το 0 δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) "
+#: 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 ""
+"Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για νέους διαχειριστές. (Το 0 "
+"δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) "
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
-msgstr "To quota που ένας μεταπωλητής επιτρέπεται να μοιράζει μεταξύ των domains που δημιουργεί. (0 σημαίνει χωρίς quota)"
+#: 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 ""
+"To quota που ένας μεταπωλητής επιτρέπεται να μοιράζει μεταξύ των domains που"
+" δημιουργεί. (0 σημαίνει χωρίς quota)"
-#: 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 "Προκαθορισμένα ανά domain όρια"
-#: 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 "Ενεργοποίηση ορίων ανά domain"
-#: 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 "Ενεργοποίηση ή απενεργοποίηση ορίων ανά domain"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός από επιτρεπόμενους διαχειριστές domain για ένα νέο domain. (0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
+#: 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 ""
+"Μέγιστος αριθμός από επιτρεπόμενους διαχειριστές domain για ένα νέο domain. "
+"(0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα domain για ένα νέο domain. (0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
+#: 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 ""
+"Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα domain για ένα νέο domain. (0 "
+"απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός από επιτρεπόμενα γραμματοκιβώτια για ένα νέο domain. (0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
+#: 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 ""
+"Μέγιστος αριθμός από επιτρεπόμενα γραμματοκιβώτια για ένα νέο domain. (0 "
+"απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για ένα νέο domain. (0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
+#: 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 ""
+"Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για ένα νέο domain. (0 "
+"απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Όρια"
-#: limits/constants.py:10
-msgid "Maximum number of domains this user can create"
-msgstr "Ο μέγιστος αριθμός domain που μπορούν να δημιουργηθούν από αυτόν τον χρήστη"
-
#: limits/constants.py:14
+msgid "Maximum number of domains this user can create"
+msgstr ""
+"Ο μέγιστος αριθμός domain που μπορούν να δημιουργηθούν από αυτόν τον χρήστη"
+
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
-msgstr "Ο μέγιστος αριθμός από ψευδώνυμα domain που ο συγκεκριμένος χρήστης μπορεί να δημιουργήσει"
+msgstr ""
+"Ο μέγιστος αριθμός από ψευδώνυμα domain που ο συγκεκριμένος χρήστης μπορεί "
+"να δημιουργήσει"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
-msgstr "Ο μέγιστος αριθμός γραμματοκυβωτίων που μπορούν να δημιουργηθούν από αυτόν τον χρήστη"
+msgstr ""
+"Ο μέγιστος αριθμός γραμματοκυβωτίων που μπορούν να δημιουργηθούν από αυτόν "
+"τον χρήστη"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Ο μέγιστος αριθμός από ψευδώνυμα γραμματοκιβώτιον που ο συγκεκριμένος χρήστης μπορεί να δημιουργήσει. "
+msgstr ""
+"Ο μέγιστος αριθμός από ψευδώνυμα γραμματοκιβώτιον που ο συγκεκριμένος "
+"χρήστης μπορεί να δημιουργήσει. "
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Ο μέγιστος αριθμός διαχειριστών domain που μπορούν να δημιουργηθούν από αυτόν τον χρήστη"
+msgstr ""
+"Ο μέγιστος αριθμός διαχειριστών domain που μπορούν να δημιουργηθούν από "
+"αυτόν τον χρήστη"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Διαμοιραζόμενο quota μεταξύ των domains του μεταπωλητή"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
-msgstr "Μέγιστος αριθμός από ψευδώνυμα domain που επιτρέπονται για αυτό το domain"
+msgstr ""
+"Μέγιστος αριθμός από ψευδώνυμα domain που επιτρέπονται για αυτό το domain"
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
-msgstr "Μέγιστος αριθμός από γραμματοκιβώτια που επιτρέπονται για αυτό το domain."
+msgstr ""
+"Μέγιστος αριθμός από γραμματοκιβώτια που επιτρέπονται για αυτό το domain."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
-msgstr "Μέγιστος αριθμός από ψευδώνυμα γραμματοκιβωτίων που επιτρέπονται για αυτό το domain. "
+msgstr ""
+"Μέγιστος αριθμός από ψευδώνυμα γραμματοκιβωτίων που επιτρέπονται για αυτό το"
+" domain. "
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Μέγιστος αριθμός διαχειριστών domain για αυτό το domain"
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Λάθος όριο"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Πόροι"
@@ -3197,11 +3515,11 @@ msgstr "%s: χρήση ορίου"
msgid "Not enough resources"
msgstr "Δεν υπάρχουν διαθέσιμοι πόροι"
-#: 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 "Δεν έχετε δικαίωμα καταχώρισης απεριόριστων τιμών"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "χωρίς περιορισμούς"
@@ -3210,95 +3528,97 @@ msgstr "χωρίς περιορισμούς"
msgid "Resources usage"
msgstr "Χρήση πόρων"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Διαδρομή προς το αρχείο καταγραφής"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Διαδρομή προς το αρχείο καταγραφής για την συλλογή στατιστικών"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Κατάλογος αρχείων για την αποθήκευση των αρχείων RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Διαδρομή προς τον κατάλογο αρχείων για την αποθήκευση αρχείων RRD"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr "Εμφάνιση μηνυμάτων greylisted"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
-msgstr "Διαφοροποίηση μεταξύ σκληρών (hard) και μαλακών (soft) απορρίψεων (greylisting)"
+msgstr ""
+"Διαφοροποίηση μεταξύ σκληρών (hard) και μαλακών (soft) απορρίψεων "
+"(greylisting)"
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Στατιστικά"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr "Αδυναμία εύρεσης του εκτελέσουμε rrdtool."
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Μέσος όρος κίνησης (μηνύματα/λεπτό)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "απεσταλμένα μηνύματα"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "ληφθέντα μηνήματα"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "Μηνύματα bounced "
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "απορριφθέντα μηνύματα"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr ""
"Μηνύματα με ιούς \n"
" "
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr "Διαφημιστικά μηνύματα"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
"Μηνύματα που είναι greylisted\n"
" "
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Μέσος όρος φυσιολογικού traffic (bytes/min) "
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "Μέγεθος λαμβανόμενου"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "μέγεθος αποστολής"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Κίνηση Mail"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr "Μέσος όρος δημιουργίας λογαριασμών (λογαριασμοί/ώρα)"
@@ -3326,183 +3646,194 @@ msgstr "Εφαρμογή"
msgid "No statistics available"
msgstr "Δεν υπάρχουν διαθέσιμα στατιστικά"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Ημέρα"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Εβδομάδα"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Μήνας"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Έτος"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Προσαρμοσμένο"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Άγνωστο σετ γραφικών"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Άγνωστο σετ γραφικών"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Λάθος προσαρμοσμένη περίοδος"
-#: 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 "Προσωπικές πληροφορίες λογαριασμού"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Domain not found."
msgid "Directory is not writable"
msgstr "To domain δεν βρέθηκε."
-#: 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 "Δεν υπάρχουν διαθέσιμα έγγραφα για αυτόν τον χρήστη"
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "Διαπιστευτήρια PDF"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "Δημιουργία εγγράφων μόνο κατά την δημιουργία λογαριασμού"
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Αποθηκευτικός χώρος εγγράφων"
-#: 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 "Κατάλογος αρχείων για την αποθήκευση εγγράφων"
-#: 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 "Κατάλογος αρχείων για την αποθήκευση PDF εγγράφων"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Ρυθμίσεις Ασφαλείας"
-#: 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 "Διαγραφή εγγράφων μετά την πρώτη λήψη"
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr "Αυτόματη διαγραφή εγγράφου μετά την πρώτη λήψη από αυτήν την διεπαφή"
-#: 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 "Δημιουργία εγγράφων μόνο κατά την δημιουργία λογαριασμού"
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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 "Δημιουργία νέου εγγράφου μόνο κατά την δημιουργία νέου λογαριασμού. Εάν επιλέξετε όχι, ένα νέο έγγραφο θα δημιουργείται κάθε φορά που ο κωδικός χρήστη ενημερώνεται."
+#: 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 ""
+"Δημιουργία νέου εγγράφου μόνο κατά την δημιουργία νέου λογαριασμού. Εάν "
+"επιλέξετε όχι, ένα νέο έγγραφο θα δημιουργείται κάθε φορά που ο κωδικός "
+"χρήστη ενημερώνεται."
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Επιλογές προσαρμογής"
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr "Τίτλος"
-#: 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 "Ο τίτλος του εγγράφου"
-#: 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 "Διεύθυνση Web panel"
-#: 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 του Modoboa web panel"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Προσαρμοσμένο μήνυμα"
-#: 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 "Ένα προσαρμοσμένο μήνυμα που θα εμφανιστεί στο τέλος των εγγράφων"
-#: 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 "Συμπεριλάβε τις ρυθμίσεις σύνδεσης προγράμματος αλληλογραφίας"
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
-msgstr "Συμπεριέλαβε της απαιτούμενες ρυθμίσης SMTP και IMAP για διασύνδεση με προγράμματα emai, τάμπλετ και τηλέφωνα"
+#: 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 ""
+"Συμπεριέλαβε της απαιτούμενες ρυθμίσης SMTP και IMAP για διασύνδεση με "
+"προγράμματα emai, τάμπλετ και τηλέφωνα"
-#: 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 Server"
-#: 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 "Διεύθυνση από τον SMTP server (hostname ή 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"
-#: 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 "Οι θύρες που ακούει ό SMTP Server"
-#: 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"
-#: 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 "Μηχανισμός ασφαλείας σύνδεσης"
-#: 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 server"
-#: 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 "Διεύθυνση του IMAP server (hostname ή 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"
-#: 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 "Η θύρα που ακούει ο IMAP Server"
-#: 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"
@@ -3510,17 +3841,17 @@ msgstr "Ασφάλεια σύνδεσης IMAP"
msgid "PDF credentials"
msgstr "Διαπιστευτήρια PDF"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
msgid "PDF Credentials"
msgstr "Διαπιστευτήρια PDF"
-#: 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"
@@ -3534,11 +3865,11 @@ msgstr ""
"Αποστηθίστε το περιεχόμενο και διαγράψτε το έγγραφο\n"
"το συντομότερο δυνατόν.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Web panel:"
-#: pdfcredentials/documents.py:91
+#: pdfcredentials/documents.py:116
msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
@@ -3548,62 +3879,234 @@ msgstr ""
"Εδώ μπορείτε να προβάλετε τα ηλεκτρονικά σας μηνύματα σε πραγματικό χρόνο, να δημιουργήσετε φίλτρα ή να διαχειριστείτε\n"
" τις επαφές σας.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Παρακαλώ αλλάξτε το κωδικό σας!"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Ρυθμίσεις: PC/Tablet/Smartphone "
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
-msgstr "Χρησιμοποιήστε αυτές τις ρυθμίσεις για τον υπολογιστή, το tablet ή το τηλέφωνό σας."
+msgstr ""
+"Χρησιμοποιήστε αυτές τις ρυθμίσεις για τον υπολογιστή, το tablet ή το "
+"τηλέφωνό σας."
-#: 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 "Ανάκτηση διαπιστευτηρίων χρήστη σε αρχείο PDF"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "Διαπιστευτήρια PDF"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
-msgstr "Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων (%s)"
+msgstr ""
+"Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων"
+" (%s)"
#: pdfcredentials/lib.py:34
#, python-format
msgid "Failed to create the directory that will contain PDF documents (%s)"
-msgstr "Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων (%s)"
+msgstr ""
+"Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων"
+" (%s)"
-#: 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: χρήση ορίου"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: χρήση ορίου"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Αυτή η ημερομηνία έχει παρέλθει"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Πρέπει να είναι μεγαλύτερη από την ημερομηνία έναρξης"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Αυτόματες απαντήσεις"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Ενεργοποίηση της αυτόματης απάντησης από αυτήν την ημερομηνία. Μορφή : "
+"YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Έως"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Ενεργοποίηση της αυτόματης απάντησης μέχρι αυτήν την ημερομηνία. Μορφή : "
+"YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr "Χρονικό όριο λήξης αυτόματης απάντησης"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Χρονικό όριο λήξης σε δευτερόλεπτα μεταξύ δύο αυτόματων απαντήσεων προς τον "
+"ίδιο παραλήπτη"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Προεπιλεγμένος τίτλος"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Λείπω"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Προκαθορισμένο θέμα που θα χρησιμοποιείται όταν δημιουργούνται αυτόματες "
+"απαντήσεις μηνυμάτων"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Προεπιλεγμένο περιεχόμενο"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Αυτή την στιγμή είμαι εκτός γραφείου. Θα σας απαντήσω μόλις επιστρέψω.\n"
+"\n"
+"Φιλικά,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Το προεπιλεγμένο κείμενο που θα χρησιμοποιείται στις αυτόματες απαντήσεις. "
+"Το macro '%(name)s' αντικαθίσταται από το όνομα του χρήστη. "
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Κείμενο αυτόματης απάντησης"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Αυτόματη απάντηση"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "τίτλος"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "Ο τίτλος που θα φαίνεται στα απεσταλμένα email"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "περιεχόμενο"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "Το κείμενο που θα φαίνεται στα απεσταλμένα email"
+
+#: postfix_autoreply/models.py:24
+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 ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
#, fuzzy
#| msgid "Relay settings"
msgid "Transport settings"
msgstr "Ρυθμίσεις Relay"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr "Διεύθυνση κεντρικού host"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "Θύρα κεντρικού host"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "επιβεβαίωση παραληπτών"
@@ -3673,16 +4176,24 @@ msgstr "Ξέχασα των κωδικό;"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "Ο κωδικός σου έχει οριστεί. Για να εισαγωγή πηγαίνετε στο ."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"Ο κωδικός σου έχει οριστεί. Για να εισαγωγή πηγαίνετε στο ."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Αλλαγή κωδικού"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Ο σύνδεσμος για την επαναφορά του κωδικού ήταν άκυρος, πιθανότατα γιατί είχε είδη χρησιμοποιηθεί. Παρακαλώ ζητήστε μια νέα επαναφορά κωδικού."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Ο σύνδεσμος για την επαναφορά του κωδικού ήταν άκυρος, πιθανότατα γιατί είχε"
+" είδη χρησιμοποιηθεί. Παρακαλώ ζητήστε μια νέα επαναφορά κωδικού."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3693,19 +4204,36 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "Σας έχουμε αποστείλει με ηλεκτρονικό ταχυδρομείο οδηγίες για να ορίσετε των κωδικό σας, εφόσον υπάρχει ένας λογαριασμός με το διεύθυνση ηλεκτρονικής αλληλογραφίας που καταχωρήσατε. Θα πρέπει να το λάβετε σύντομα.
Εάν δεν λάβατε το email, παρακαλώ συγουρευτείτε ότι εισάγατε σωστά την διεύθυνση σας και ελέγξτε τον φάκελο τον Spam σας.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"Σας έχουμε αποστείλει με ηλεκτρονικό ταχυδρομείο οδηγίες για να ορίσετε των "
+"κωδικό σας, εφόσον υπάρχει ένας λογαριασμός με το διεύθυνση ηλεκτρονικής "
+"αλληλογραφίας που καταχωρήσατε. Θα πρέπει να το λάβετε σύντομα.
Εάν "
+"δεν λάβατε το email, παρακαλώ συγουρευτείτε ότι εισάγατε σωστά την διεύθυνση"
+" σας και ελέγξτε τον φάκελο τον Spam σας.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Για να ενεργοποιήσετε την διαδικασία επαναφοράς κωδικού για το λογαριασμό του Modaboa %(username)s, παρακαλώ πατήστε στον ακόλουθο σύνδεσμο:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Για να ενεργοποιήσετε την διαδικασία επαναφοράς κωδικού για το λογαριασμό "
+"του Modaboa %(username)s, παρακαλώ πατήστε στον ακόλουθο σύνδεσμο:"
#: 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 "Εφόσον ο παρακάτω σύνδεσμος δεν λειτουργεί, αντιγράψτε και επικολλήστε το σύνδεσμο URL σε ένα νέο παράθυρο φύλλομετρητή. "
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Εφόσον ο παρακάτω σύνδεσμος δεν λειτουργεί, αντιγράψτε και επικολλήστε το "
+"σύνδεσμο URL σε ένα νέο παράθυρο φύλλομετρητή. "
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3724,22 +4252,36 @@ msgstr "Ο κωδικός του Μοdaboa επαναφέρθηκε"
msgid "Invalid value"
msgstr "Διεύθυνση κεντρικού υπολογιστή target host"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: χρήση ορίου"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Υπάρχει είδη αυτό το ψευδώνυμο"
+
+#~ msgid "md5crypt (weak)"
+#~ msgstr "md5crypt (αδύναμο)"
+
+#~ msgid "sha256 (weak)"
+#~ msgstr "sha256 (αδύναμο)"
+
+#~ msgid "md5 (weak)"
+#~ msgstr "md5 (αδύναμο)"
+
+#~ msgid "crypt (weak)"
+#~ msgstr "crypt (αδύναμο)"
+
+#~ msgid "plain (weak)"
+#~ msgstr "plain (αδύναμο)"
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "Ένα σετ εργαλείων για την απλοποίηση της ενσωμάτωσης του DMARC"
@@ -3748,7 +4290,6 @@ msgstr ""
#~ msgstr "Δημιουργία PDF εγγράφων που να περιέχουν τα διαπιστευτήρια χρηστών"
#, fuzzy
-#~| msgid "IMAP migration"
#~ msgid "IMAP migrations"
#~ msgstr "Μετάβαση IMAP"
@@ -3756,13 +4297,16 @@ msgstr ""
#~ msgstr "Μετάβαση IMAP με χρήση του OfflineIMAP"
#~ msgid "Migrate existing mailboxes using IMAP and OfflineIMAP"
-#~ msgstr "Μετάβαση υπαρχόντων γραμματοκιβωτίων με χρήση IMAP και του OfflineIMAP"
+#~ msgstr ""
+#~ "Μετάβαση υπαρχόντων γραμματοκιβωτίων με χρήση IMAP και του OfflineIMAP"
#~ msgid "Secret key"
#~ msgstr "Μυστικό κλειδί"
#~ msgid "Key used to encrypt/decrypt passwords"
-#~ msgstr "Το κλειδί που χρησιμοποιείται για την κρυπτογράφηση/αποκρυπτογράφηση των κωδικών"
+#~ msgstr ""
+#~ "Το κλειδί που χρησιμοποιείται για την κρυπτογράφηση/αποκρυπτογράφηση των "
+#~ "κωδικών"
#~ msgid "Key must be either 16, 24, or 32 bytes long"
#~ msgstr "Το κλειδί πρέπει να είναι μεγέθους 16, 24 ή 32 bytes"
@@ -3801,14 +4345,15 @@ msgstr ""
#~ msgstr "Ο ιδιοκτήτης των γραμματοκιβωτίων"
#~ msgid "The UNIX account who owns mailboxes on the filesystem"
-#~ msgstr "Ο UNIX λογαριασμός που είναι ιδιοκτήτης των γραμματοκιβωτίων στο σύστημα αρχείων"
+#~ msgstr ""
+#~ "Ο UNIX λογαριασμός που είναι ιδιοκτήτης των γραμματοκιβωτίων στο σύστημα "
+#~ "αρχείων"
#, python-format
#~ msgid "Domain '%s' does not exist"
#~ msgstr "Το domain '%s' δεν υπάρχει"
#, fuzzy
-#~| msgid "Invalid format"
#~ msgid "Raw format"
#~ msgstr "Λάθος μορφοποίηση"
@@ -3819,30 +4364,27 @@ msgstr ""
#~ msgstr "Όνομα αρχείου"
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No {type} record found for MX {mx}"
#~ msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No A record found for MX %(domain)s"
#~ msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No AAAA record found for MX %(domain)s"
#~ msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
#~ msgid "Quota in MB shared between mailboxes. A value of 0 means no quota."
-#~ msgstr "Κοινόχρηστο quota σε MB μεταξύ γραμματοκιβωτίων. Μια τιμή 0 σημαίνει ότι δεν υπάρχει quota. "
+#~ msgstr ""
+#~ "Κοινόχρηστο quota σε MB μεταξύ γραμματοκιβωτίων. Μια τιμή 0 σημαίνει ότι δεν"
+#~ " υπάρχει quota. "
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No DNS records found without MX for %s"
#~ msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No DNS records found without MX for %(domain)s"
#~ msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
diff --git a/modoboa/locale/en/LC_MESSAGES/django.po b/modoboa/locale/en/LC_MESSAGES/django.po
index cb76e9e19..234071268 100644
--- a/modoboa/locale/en/LC_MESSAGES/django.po
+++ b/modoboa/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,480 +17,533 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
msgstr ""
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
msgstr ""
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr ""
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+msgid "This alias already exists"
+msgstr ""
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
msgid "Directory non-writable"
msgstr ""
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
msgid "Unknown status"
msgstr ""
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr ""
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr ""
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr ""
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr ""
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr ""
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr ""
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr ""
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+msgid "Enable IPV6 checks"
+msgstr ""
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr ""
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr ""
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr ""
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr ""
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr ""
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr ""
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr ""
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr ""
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
msgstr ""
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr ""
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr ""
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr ""
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr ""
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr ""
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr ""
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr ""
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr ""
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr ""
-#: admin/app_settings.py:181 admin/app_settings.py:428
+#: admin/app_settings.py:177 admin/app_settings.py:491
msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:407
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:458
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr ""
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr ""
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
msgstr ""
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr ""
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr ""
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr ""
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr ""
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr ""
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr ""
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr ""
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr ""
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr ""
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr ""
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr ""
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr ""
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
msgstr ""
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr ""
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
msgstr ""
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr ""
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr ""
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr ""
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr ""
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr ""
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr ""
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr ""
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr ""
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr ""
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr ""
@@ -503,69 +556,77 @@ msgid "Email address"
msgstr ""
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
msgstr ""
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr ""
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
msgstr ""
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr ""
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr ""
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
msgstr ""
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
msgstr ""
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr ""
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr ""
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr ""
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr ""
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr ""
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -574,51 +635,53 @@ msgstr ""
msgid "Name"
msgstr ""
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
msgstr ""
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr ""
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr ""
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr ""
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr ""
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr ""
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr ""
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr ""
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr ""
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr ""
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr ""
@@ -626,23 +689,23 @@ msgstr ""
msgid "Recipient(s)"
msgstr ""
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr ""
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr ""
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr ""
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr ""
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr ""
@@ -650,7 +713,7 @@ msgstr ""
msgid "Don't treat duplicated objects as error"
msgstr ""
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr ""
@@ -658,93 +721,93 @@ msgstr ""
msgid "Check this option if passwords contained in your file are not crypted"
msgstr ""
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr ""
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr ""
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr ""
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr ""
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr ""
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -753,23 +816,23 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr ""
@@ -778,148 +841,145 @@ msgstr ""
msgid "[modoboa] MX issue(s) for domain {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr ""
-#: admin/models/alias.py:37
-msgid "An alias with this name already exists."
-msgstr ""
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr ""
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr ""
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr ""
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr ""
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr ""
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr ""
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr ""
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr ""
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr ""
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr ""
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr ""
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr ""
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr ""
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr ""
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr ""
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
msgid "{}: domain quota exceeded"
msgstr ""
@@ -975,9 +1035,9 @@ msgstr ""
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr ""
@@ -1012,7 +1072,7 @@ msgstr ""
msgid "Last login"
msgstr ""
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr ""
@@ -1021,7 +1081,7 @@ msgstr ""
msgid "Not defined"
msgstr ""
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr ""
@@ -1099,7 +1159,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr ""
@@ -1123,9 +1183,9 @@ msgstr ""
msgid "Last modification date"
msgstr ""
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr ""
@@ -1185,7 +1245,7 @@ msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr ""
@@ -1193,7 +1253,7 @@ msgstr ""
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr ""
@@ -1206,7 +1266,7 @@ msgid "Administrators"
msgstr ""
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr ""
@@ -1243,13 +1303,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr ""
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr ""
@@ -1280,9 +1340,10 @@ msgstr ""
msgid "Automatically forward emails to another address"
msgstr ""
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr ""
@@ -1299,11 +1360,24 @@ msgid "Fullname/Recipient"
msgstr ""
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1340,11 +1414,16 @@ msgstr ""
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr ""
#: 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)."
+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 ""
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1356,90 +1435,95 @@ msgstr ""
msgid "Search"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr ""
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, python-format
+msgid "No AAAA record for %s"
+msgstr ""
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr ""
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr ""
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr ""
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] ""
@@ -1449,36 +1533,36 @@ msgstr[1] ""
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] ""
msgstr[1] ""
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr ""
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr ""
-#: 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 ""
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] ""
msgstr[1] ""
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr ""
@@ -1486,83 +1570,69 @@ msgstr ""
msgid "Import identities"
msgstr ""
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr ""
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr ""
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
+msgstr ""
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr ""
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr ""
-#: 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 ""
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: 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 ""
#: 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:165
msgid "Invalid syntax"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/api/v2/serializers.py:274
-msgid "Invalid password"
-msgstr ""
-
-#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -1572,450 +1642,477 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr ""
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr ""
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:178 core/app_settings.py:838
+#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr ""
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
+#: 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 ""
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr ""
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr ""
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr ""
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr ""
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 ""
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2047,31 +2144,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr ""
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr ""
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr ""
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2088,20 +2185,20 @@ msgstr ""
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr ""
-#: core/handlers.py:63
+#: core/handlers.py:64
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr ""
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr ""
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2109,137 +2206,137 @@ msgstr ""
msgid "You can't delete your own account"
msgstr ""
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr ""
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr ""
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr ""
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr ""
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr ""
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr ""
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr ""
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
msgid "Appication secret"
msgstr ""
@@ -2264,7 +2361,9 @@ msgid "Latest news"
msgstr ""
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
+msgid ""
+"Visit the official "
+"weblog for more information."
msgstr ""
#: core/templates/core/api_access.html:3
@@ -2277,7 +2376,9 @@ msgstr ""
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2289,7 +2390,7 @@ msgstr ""
msgid "Hello %(user)s."
msgstr ""
-#: 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 ""
@@ -2321,7 +2422,7 @@ msgstr ""
msgid "Active users"
msgstr ""
-#: 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 ""
@@ -2347,7 +2448,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: 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 ""
@@ -2364,12 +2465,12 @@ msgstr ""
msgid "Modoboa settings"
msgstr ""
-#: 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 ""
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr ""
@@ -2389,7 +2490,7 @@ msgstr ""
msgid "Click here to update your password"
msgstr ""
-#: 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 ""
@@ -2398,7 +2499,9 @@ msgid "Two-Factor authentication"
msgstr ""
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2410,28 +2513,43 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: 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 ""
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2446,67 +2564,71 @@ msgstr ""
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+msgid "Confirm your password"
+msgstr ""
+
#: core/templatetags/core_tags.py:34
msgid "Modoboa"
msgstr ""
-#: core/templatetags/core_tags.py:102
+#: core/templatetags/core_tags.py:110
msgid "Logout"
msgstr ""
-#: core/templatetags/core_tags.py:131
+#: core/templatetags/core_tags.py:154
msgid "API"
msgstr ""
-#: core/utils.py:32
+#: core/utils.py:33
msgid "The core part of Modoboa"
msgstr ""
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr ""
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr ""
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr ""
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr ""
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr ""
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr ""
-#: 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 ""
@@ -2542,11 +2664,11 @@ msgstr ""
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2618,95 +2740,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2735,7 +2857,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2751,7 +2875,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2759,136 +2883,144 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
msgid "Access denied"
msgstr ""
-#: 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/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/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr ""
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr ""
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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 ""
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr ""
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr ""
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr ""
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr ""
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr ""
@@ -2898,133 +3030,153 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr ""
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr ""
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr ""
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr ""
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr ""
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr ""
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr ""
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr ""
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr ""
@@ -3037,11 +3189,11 @@ msgstr ""
msgid "Not enough resources"
msgstr ""
-#: 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 ""
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr ""
@@ -3050,91 +3202,91 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr ""
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr ""
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr ""
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr ""
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr ""
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr ""
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3162,175 +3314,181 @@ msgstr ""
msgid "No statistics available"
msgstr ""
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr ""
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr ""
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr ""
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr ""
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr ""
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr ""
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr ""
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr ""
-#: 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 ""
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
msgid "Directory is not writable"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
@@ -3338,15 +3496,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3355,38 +3513,44 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr ""
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3395,27 +3559,156 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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
+msgid "Daily sending limit reached"
+msgstr ""
+
+#: 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:28 postfix_autoreply/forms.py:98
+msgid "This date is over"
+msgstr ""
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr ""
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+msgid "Automatic replies"
+msgstr ""
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+msgid "Default content"
+msgstr ""
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr ""
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+msgid "subject"
+msgstr ""
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr ""
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr ""
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr ""
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr ""
@@ -3483,7 +3776,9 @@ msgstr ""
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3491,7 +3786,9 @@ msgid "Change password"
msgstr ""
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3503,18 +3800,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3534,14 +3839,14 @@ msgstr ""
msgid "Invalid value"
msgstr ""
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
diff --git a/modoboa/locale/es/LC_MESSAGES/django.po b/modoboa/locale/es/LC_MESSAGES/django.po
index 02f8a17df..433a4cb9e 100644
--- a/modoboa/locale/es/LC_MESSAGES/django.po
+++ b/modoboa/locale/es/LC_MESSAGES/django.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/es/)\n"
@@ -26,525 +26,620 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
#, fuzzy
-#| msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite."
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite."
+msgstr ""
+"Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
#, fuzzy
#| msgid "No MX record found for this domain."
msgid "No authorized MX record found for this domain"
msgstr "No se encontró ningún registro MX para este dominio."
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "No puede superar la cuota de dominio"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permiso denegado."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Este campo es obligatorio"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Lista de dominios administrados (sólo distribuidores y administradores de dominio)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista de dominios administrados (sólo distribuidores y administradores de "
+"dominio)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "No estás autorizado para esta función."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Debe ser igual a la dirección completa del buzón"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Este campo es obligatorio."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "El dominio local {} no existe"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Lista de destinatarios"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "El usuario '%s' ya existe"
+
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "No tienes acceso a este dominio"
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
msgstr "No tienes acceso a este dominio"
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "El usuario '%s' ya existe"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Debe ser un entero positivo"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
#, fuzzy
#| msgid "Domain not found."
msgid "Directory not found."
msgstr "Dominio no encontrado."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Domain not found."
msgid "Directory non-writable"
msgstr "Dominio no encontrado."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Es obligatorio un buzón"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Desconocido"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "No tienes acceso a este dominio"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "No puedo eliminar su propio dominio"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Dominios"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Habilitar comprobación MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Compruebe que cada dominio tenga un registro MX válido"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "MX Validos"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Una lista de IP o dirección de red, cada registro MX debe coincidir. Se enviará una advertencia si un registro no la respeta."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Una lista de IP o dirección de red, cada registro MX debe coincidir. Se "
+"enviará una advertencia si un registro no la respeta."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr ""
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable DNS checks"
+msgid "Enable IPV6 checks"
+msgstr "Activar comprobación de DNS"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Activar comprobación de DNS"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Compruebe que cada dominio tenga un registro MX válido"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Habilitar comprobación MX"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Compruebe que cada dominio tenga un registro MX válido"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Habilitar comprobación MX"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Compruebe que cada dominio tenga un registro MX válido"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Habilitar comprobación MX"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Compruebe que cada dominio tenga un registro MX válido"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Habilitar comprobación DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Compruebe cada dominio con los principales proveedores de DNSBL"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
msgstr ""
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Cuota del dominio por defecto"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que no tuvieran un valor especificado. Un valor de 0 significa que no hay cuota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que"
+" no tuvieran un valor especificado. Un valor de 0 significa que no hay "
+"cuota."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Cuota del dominio por defecto"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Mailboxes"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Manejar mailboxes en el sistema de fichero"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean renombrados o eliminados dentro de Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean "
+"renombrados o eliminados dentro de Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Cuota de mailbox por defecto"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "La cuota de mailbox por defecto (en MB) se aplica a los dominios nuevos que no especifican este valor. Un valor de 0 significa ningún limite."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"La cuota de mailbox por defecto (en MB) se aplica a los dominios nuevos que "
+"no especifican este valor. Un valor de 0 significa ningún limite."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default mailbox quota"
msgid "Default mailbox sending limit"
msgstr "Cuota de mailbox por defecto"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Elminar cuentas automáticamente"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Cuando un mailbox es eliminado, también lo es su cuenta asociada."
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Creación automática de dominio/buzón"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Crear un dominio y un buzón cuando se cree automáticamente una cuenta."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"Crear un dominio y un buzón cuando se cree automáticamente una cuenta."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "La cuota de mailbox por defecto (en MB) se aplica a los dominios nuevos que no especifican este valor. Un valor de 0 significa ningún limite."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"La cuota de mailbox por defecto (en MB) se aplica a los dominios nuevos que "
+"no especifican este valor. Un valor de 0 significa ningún limite."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Administración"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Dominio"
-#: admin/constants.py:29
+#: admin/constants.py:24
#, fuzzy
msgid "Relay domain"
msgstr "Nuevo dominio"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr ""
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nombre de usuario"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "El nombre del usuario. Debe ser una dirección de 'e-mail' válida para usuarios simples o administradores con un buzón."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"El nombre del usuario. Debe ser una dirección de 'e-mail' válida para "
+"usuarios simples o administradores con un buzón."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Función"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Elija"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Qué nivel de permiso tendrá este usuario"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
#, fuzzy
#| msgid "Random address"
msgid "Random password"
msgstr "Dirección aleatoria"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Contraseña"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Confirmación"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Introduzca la misma contraseña que arriba, para verificación."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Activado"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Sólo se permiten superadministradores para este modo"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Las contraseñas no concuerdan"
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "No puede deshabilitar su propia cuenta"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "Email"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Cuota"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
#, fuzzy
-#| msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Cuota en MB para este mailbox. Defina un valor por defecto o use el del dominio por defecto. Déjelo vacío para definir un valor ilimitado (no permitido para los administradores del dominio)"
+#| msgid ""
+#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
+#| "one. Leave empty to define an unlimited value (not allowed for domain "
+#| "administrators)."
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Cuota en MB para este mailbox. Defina un valor por defecto o use el del "
+"dominio por defecto. Déjelo vacío para definir un valor ilimitado (no "
+"permitido para los administradores del dominio)"
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(es) de este buzón. Indique sólo una dirección por entrada, presione ENTER para agregar una nueva entrada. Para crear un alias catchall, simplemente ingrese el nombre de dominio (@ domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(es) de este buzón. Indique sólo una dirección por entrada, presione "
+"ENTER para agregar una nueva entrada. Para crear un alias catchall, "
+"simplemente ingrese el nombre de dominio (@ domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Direcciónes de remitente"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Dirección(es) adicional (es) del remitente para esta cuenta. El usuario podrá enviar correos electrónicos utilizando esta dirección, aunque no exista localmente. Indique una dirección por entrada. Presione ENTER para agregar una nueva entrada."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Dirección(es) adicional (es) del remitente para esta cuenta. El usuario "
+"podrá enviar correos electrónicos utilizando esta dirección, aunque no "
+"exista localmente. Indique una dirección por entrada. Presione ENTER para "
+"agregar una nueva entrada."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "El dominio no existe"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "El dominio no existe"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Dominio(s)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Dominio(s) que el usuario administra"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "General"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Perfil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Correo"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Permisos"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Cuenta actualizada"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nueva cuenta"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Cuenta creada"
@@ -557,71 +652,87 @@ msgid "Email address"
msgstr "Dirección de email"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "La dirección del alias. Para crear un alias catchall, simplemente ingrese el nombre de dominio (@ domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"La dirección del alias. Para crear un alias catchall, simplemente ingrese el"
+" nombre de dominio (@ domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatarios"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Las direcciones a las que apunta este alias. Indique sólo una dirección por entrada, presione ENTER para agregar una nueva entrada."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Las direcciones a las que apunta este alias. Indique sólo una dirección por "
+"entrada, presione ENTER para agregar una nueva entrada."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "No ha puesto destinatario"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione ENTER para añadir una nueva entrada."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione "
+"ENTER para añadir una nueva entrada."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
+#: admin/forms/domain.py:57
#, fuzzy
-#| msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite."
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "alias del dominio"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Ya existe un %s con ese nombre"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "No puede definir una cuota ilimitada."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "dominio"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Crear un administrador del dominio"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Automáticamente crear una administrador para este dominio"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -630,53 +741,57 @@ msgstr "Automáticamente crear una administrador para este dominio"
msgid "Name"
msgstr "Nombre"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "El nombre del administrador. No incluya el nombre del dominio aquí, será añadido automáticamente."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"El nombre del administrador. No incluya el nombre del dominio aquí, será "
+"añadido automáticamente."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
#, fuzzy
#| msgid "Create a mailbox for the administrator."
msgid "Generate a random password for the administrator."
msgstr "Crear mailbox para el administrador."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Con una mailbox"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Crear mailbox para el administrador."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Crear alias"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Automáticamente crear alias estándar para este dominio"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Dominio modificado"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Opciones"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Nuevo dominio"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Dominio creado"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Separador"
@@ -684,23 +799,23 @@ msgstr "Separador"
msgid "Recipient(s)"
msgstr "Destinatario(s)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indique uno o más destinatarios separados por una ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Mantener copias locales"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Reenvía mensajes y guarda copias en su mailbox local"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Seleccione un fichero"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Continúe en error."
@@ -708,104 +823,106 @@ msgstr "Continúe en error."
msgid "Don't treat duplicated objects as error"
msgstr "No tratar objetos duplicados como error"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Contraseñas cifradas"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Marque esta opción si las contraseñas que contiene su fichero no están cifradas"
+msgstr ""
+"Marque esta opción si las contraseñas que contiene su fichero no están "
+"cifradas"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Falló la importación de la cuenta (%s): el dominio no existe"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "El buzón {} ya existe"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Error en la importación de la cuenta (%s): valor de cuota incorrecto"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identidades"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Siguiente"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Es obligatorio un buzón"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "No está autorizado para importar dominios"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "No está autorizado para importar alias de dominio."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No DNS record found for %s"
msgstr "No se encontró ningún registro MX para este dominio."
-#: admin/lib.py:202
+#: admin/lib.py:204
#, fuzzy, python-format
#| msgid "MX records of {}"
msgid "No %(type)s record for %(name)s"
msgstr "Registros MX de {}"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '{}'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Cuota inválida para dominio '{}'"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "El objeto ya existe: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objetos importados con éxito"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -814,27 +931,27 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain {} has no MX record"
msgid "Domain has no MX record"
msgstr "El dominio {} no tiene registro MX"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "El dominio {} no tiene registro MX"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid MX record: {}"
msgstr "Registros MX de {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "El registro MX para el dominio {0} no es válido: {1}"
@@ -843,160 +960,155 @@ msgstr "El registro MX para el dominio {0} no es válido: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX problema(s) para el dominio {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL problema(s) para el dominio {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Dominio no encontrado."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Ya existe un alias con este nombre"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "dirección"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "La dirección del alias."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "activado"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Marcar para activar este alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Descripción"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Caduca en"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Dirección inválida"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Receptor local {}@{} no encontrado"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Línea inválida: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "nombre"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Nombre del dominio"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Marcar para activar este dominio"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Activar comprobación de DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Seleccionar para activar la comprobación de DNS para este dominio"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Línea inválida"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No MX record found for this domain."
msgid "{}: no authorized MX record found for domain"
msgstr "No se encontró ningún registro MX para este dominio."
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Cuota inválida para dominio '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Cuota de mailbox por defecto inválida para dominio '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "La cuota de mailbox por defecto no puede superar la cuota de dominio"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Nombre del alias"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "objetivo"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "El dominio al que este alias apunta"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Dominio desconocido %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Dirección del mailbox (sin la parte @dominio.tld)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Fallo al recuperar la localización del mailbox (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Una cuota es obligatoria"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -1006,8 +1118,9 @@ msgstr "Cuota de dominio excedida"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Cerrar"
@@ -1058,9 +1171,9 @@ msgstr "Cantidad"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Alias del dominio"
@@ -1095,7 +1208,7 @@ msgstr "Creado"
msgid "Last login"
msgstr "Último acceso"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Email secundario"
@@ -1104,7 +1217,7 @@ msgstr "Email secundario"
msgid "Not defined"
msgstr "Sin definir"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Numero de telefono "
@@ -1182,7 +1295,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Fecha"
@@ -1208,9 +1321,9 @@ msgstr "Fecha de creación"
msgid "Last modification date"
msgstr "Última fecha de modificación"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Alias del mailbox"
@@ -1269,11 +1382,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "No "
@@ -1281,7 +1395,7 @@ msgstr "No "
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Sí"
@@ -1296,7 +1410,7 @@ msgid "Administrators"
msgstr "Administradores"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Eliminar este permiso"
@@ -1333,13 +1447,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Desde"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Hasta"
@@ -1372,9 +1486,10 @@ msgstr "deshabilitado"
msgid "Automatically forward emails to another address"
msgstr "Reenvía automáticamente los correos a otra dirección"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Actualizar"
@@ -1391,12 +1506,40 @@ msgid "Fullname/Recipient"
msgstr "Nombre completo/Destinatario"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
El primer elemento de cada línea es "
+"obligatorio y debe ser igual a uno de los valores anteriores. p>
Puede"
+" utilizar un carácter diferente como separador. p>"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1424,7 +1567,9 @@ msgstr "Actualizado"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Esta IP no coincide con ninguno de los registros MX válidos definidos en los parámetros"
+msgstr ""
+"Esta IP no coincide con ninguno de los registros MX válidos definidos en los"
+" parámetros"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1432,109 +1577,128 @@ msgstr "No se encontró ningún registro MX para este dominio."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los siguientes proveedores DNSBL:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los"
+" siguientes proveedores DNSBL:"
#: 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 "La reputación de los dominios se verán afectados y existe la posibilidad de que los mensajes de correo electrónico procedentes de él se consideren spam. Debe comunicarse con estos proveedores y pedirles que elimine la(s) dirección(es) IP detectada(s)."
+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 ""
+"La reputación de los dominios se verán afectados y existe la posibilidad de "
+"que los mensajes de correo electrónico procedentes de él se consideren spam."
+" Debe comunicarse con estos proveedores y pedirles que elimine la(s) "
+"dirección(es) IP detectada(s)."
#: 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 detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los siguientes proveedores DNSBL:"
+msgstr ""
+"Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los"
+" siguientes proveedores DNSBL:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Buscar"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "Activado"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "Activado"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Listar dominios"
-#: 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 "Listar cuotas"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "Importar"
-#: 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 "Exportar"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Listar identidades"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Ver las identidades del dominio"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "alias del dominio"
-#: 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 "Editar {}"
-#: 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 "¿Eliminar %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, fuzzy, python-format
#| msgid "MX records of {}"
msgid "No MX record for %s"
msgstr "Registros MX de {}"
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, fuzzy, python-format
+#| msgid "MX records of {}"
+msgid "No AAAA record for %s"
+msgstr "Registros MX de {}"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Ya existe un alias con este nombre"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Crear"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Nuevo alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias creado"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias modificado"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias eliminado"
@@ -1544,36 +1708,36 @@ msgstr[1] "Aliases eliminados"
msgid "MX records of {}"
msgstr "Registros MX de {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "Resumen de DNSBL para {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Dominio eliminado"
msgstr[1] "Dominios eliminados"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Exportar identidades"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Exportar dominios"
-#: 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 "Petición inválida"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Cuenta eliminada"
msgstr[1] "Cuentas eliminadas"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importar dominios"
@@ -1581,542 +1745,584 @@ msgstr "Importar dominios"
msgid "Import identities"
msgstr "Importar identidades"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Reenvío actualizado"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid PIN code"
msgstr "Registros MX de {}"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Local"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Perfil de usuario"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Sintaxis inválida"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Número de rondas inváldo"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr ""
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Contraseña anterior"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr ""
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Local"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Perfil de usuario"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Sintaxis inválida"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Número de rondas inváldo"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr ""
+
+#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Usuario '%s' ha entrado con éxito"
-#: 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 "No se ajusta al esquema de contraseña. Actualizando la contraseña de %s "
+msgstr ""
+"No se ajusta al esquema de contraseña. Actualizando la contraseña de %s "
#: core/api/v2/views.py:93 core/views/auth.py:75
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Autenticación"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Tipo de autenticación"
-#: 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 "El sistema usado para autenticación"
-#: 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 "Esquema de contraseña por defecto"
-#: 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 "Esquema usado para cifrar las contraseñas del mailbox"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Rondas"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe estar entre 1000 y 999999999, incluído."
+#: 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 ""
+"Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe"
+" estar entre 1000 y 999999999, incluído."
-#: 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 ""
-#: 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 "Forzar actualización de contraseña al acceder para usar el esquema de contraseñas"
+msgstr ""
+"Forzar actualización de contraseña al acceder para usar el esquema de "
+"contraseñas"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Contraseña por defecto"
-#: 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 "Contraseña por defecto para cuentas creadas automáticamente."
-#: 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 "Longitud de contraseña aleatoria"
-#: 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 "Longitud de las contraseñas generadas aleatoriamente."
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Configuración de LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Dirección del servidor"
-#: 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 "La dirección IP del servidor de nombres (DNS) del servidor LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Puerto del servidor"
-#: 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 "Número de puerto TCP usado por el servidor LDAP"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 "Usa una conexión segura"
-#: 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 "Usa una conexión SSL/STARTTLS para acceder al servidor LDAP"
-#: core/app_settings.py:178 core/app_settings.py:838
+#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
msgstr "Directorio Activo"
-#: 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 "Decir si el servidor de LDAP es uno del tipo Directorio Activo"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Administrador de grupos"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Los miembros de esos grupos Posix LDAP serán creados como administradores de dominio. Use caracteres \";\" para separar los grupos."
+#: 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 ""
+"Los miembros de esos grupos Posix LDAP serán creados como administradores de"
+" dominio. Use caracteres \";\" para separar los grupos."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Tipo de grupo"
-#: 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 "El tipo de LDAP para usar en el directorio"
-#: 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 "Base para la búsqueda de grupos"
-#: 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 "El distinguido nombre de la búsqueda base usada para encontrar grupos"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Atributo de la contraseña"
-#: 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 "El atributo usado para guardar las contraseñas del usuario"
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Método de autenticación"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Buscar y unir"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Unión directa"
-#: 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 "Elegir el método de autenticación a usar"
-#: 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 "Unir a DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació para una unión anónima"
+#: 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 ""
+"El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació"
+" para una unión anónima"
-#: 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 "Unir contraseña"
-#: 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 "La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')"
+msgstr ""
+"La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')"
-#: 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 "Base para la búsqueda de usuarios"
-#: 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 "El distinguido nombre de la búsqueda base usada para encontrar usuarios"
+msgstr ""
+"El distinguido nombre de la búsqueda base usada para encontrar usuarios"
-#: 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 "Filtro de búsqueda"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea válido tiene que ser encerrado entre paréntesis."
+#: 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 ""
+"Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea "
+"válido tiene que ser encerrado entre paréntesis."
-#: 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 "Plantilla DN del usuario"
-#: 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 "La plantilla usada para contriunr un DN de usuario. Debería contener una cadena reemplazables (p.e. %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"La plantilla usada para contriunr un DN de usuario. Debería contener una "
+"cadena reemplazables (p.e. %(user)s)"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 "Panel de Control"
-#: 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 "Agregación RSS personalizada"
-#: 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 "Mostrar una fuente de agregación RSS personalizada a revendedores y administradores de dominio"
+msgstr ""
+"Mostrar una fuente de agregación RSS personalizada a revendedores y "
+"administradores de dominio"
-#: 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 "Ocultar widget de características"
-#: 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 "Ocultar el widget de características a revendedores y administradores de dominio"
+msgstr ""
+"Ocultar el widget de características a revendedores y administradores de "
+"dominio"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Notificaciones"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Dirección del remitente"
-#: 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 "Dirección de email usada para mandar notificaciones"
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "API pública"
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr "Establecer comunicación"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Establecer comunicación con la API publica de Modoboa"
-#: 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 "Comprobar nuevas versiones"
-#: 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 "Verificar automáticamente si hay una nueva versión disponible"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Enviar estadísticas"
-#: 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 "Enviar estadísticas a la API pública de Modoboa (contadores y extensiones usadas)"
+msgstr ""
+"Enviar estadísticas a la API pública de Modoboa (contadores y extensiones "
+"usadas)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Otros"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Límite para cuentas inactivas"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Límite para cuentas inactivas"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Una cuenta inactiva con una fecha de inicio de sesión previa a este límite (en días) se considerará como cuenta inactiva"
+#: 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 ""
+"Una cuenta inactiva con una fecha de inicio de sesión previa a este límite "
+"(en días) se considerará como cuenta inactiva"
-#: 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 "Intervalo de tiempo para notificaciones superiores"
-#: 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 "Intervalo entre dos notificaciones superiores (en segundos)"
-#: 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 "Máximo tiempo de almacenamiento del log"
-#: 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 "El tiempo máximo de almacenamiento del log en días"
-#: 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 "Items por página"
-#: 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 "Número de elementos mostrado por página"
-#: 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 "Redirección principal por defecto"
-#: 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 "La redirección que será usada cuando ninguna aplicación sea especificada."
+msgstr ""
+"La redirección que será usada cuando ninguna aplicación sea especificada."
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "A fijado USE_TZ como falso, lo que puede llevar a problemas en la transición entre los horarios de verano e invierno (p.ej., que la misma hora exista dos veces debido a cambios del reloj)."
+#: 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 ""
+"A fijado USE_TZ como falso, lo que puede llevar a problemas en la transición"
+" entre los horarios de verano e invierno (p.ej., que la misma hora exista "
+"dos veces debido a cambios del reloj)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Ajuste `USE_TZ = True` en settings.py"
@@ -2148,31 +2354,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Contraseña anterior"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nueva contraseña"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "La contraseña no concuerda con la anterior"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Las contraseñas no coinciden"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Habilitar acceso al API"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2189,20 +2395,20 @@ msgstr "modificado"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s por el usuario %(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 por "
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "eliminado"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "usuario {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "comando de administración"
@@ -2210,137 +2416,139 @@ msgstr "comando de administración"
msgid "You can't delete your own account"
msgstr "No puede eliminar su propia cuenta"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Una o más actualizaciones están disponibles"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Permitir acceso al buzón"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Permitir a este administrador acceso al buzon de los usuarios"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "contraseña"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "idioma"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Idioma preferido para mostrar las páginas"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Email alternativo, puede ser usado para recuperación."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Falló al actualizar la contraseña: módulo LDAP no instalado"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "cuenta"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Desconocido"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "No puede importar una cuenta con un rol mayor que el suyo"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "El usuario normal '%s' debe tener una dirección de email válida"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
-msgstr "Los campos de nombre de usuario y de email no deben ser diferentes para '%s'"
+msgstr ""
+"Los campos de nombre de usuario y de email no deben ser diferentes para '%s'"
-#: 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] "La contraseña debe contener al menos {} dígito."
msgstr[1] "La contraseña debe contener al menos {} dígitos."
-#: 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] "La contraseña debe tener al menos {} minúscula."
msgstr[1] "La contraseña debe tener al menos {} minúsculas."
-#: 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] "La contraseña debe tener al menos {} mayúscula."
msgstr[1] "La contraseña debe tener al menos {} mayúsculas."
-#: 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] "La contraseña debe tener al menos {} carácter especial."
msgstr[1] "La contraseña debe tener al menos {} caracteres especiales."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "Su contraseña debe contener una combinación de diferentes tipos de carácter."
+msgstr ""
+"Su contraseña debe contener una combinación de diferentes tipos de carácter."
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Applications"
msgid "Appication secret"
@@ -2367,8 +2575,12 @@ msgid "Latest news"
msgstr "Lo más receinte"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Visite el weblog oficial para más información."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Visite el weblog "
+"oficial para más información."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2380,8 +2592,12 @@ msgstr "Controla tu acceso al API de Modoboa"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "La documentación de la API está disponible aquí."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"La documentación de la API está disponible aquí."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2392,7 +2608,7 @@ msgstr "Token de acceso a la API"
msgid "Hello %(user)s."
msgstr "Hola %(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 "Información"
@@ -2406,7 +2622,9 @@ msgstr "Hay una o más actualizaciones disponibles"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Comprueba la siguiente lista para encontrar los componentes que pueden ser actualizados."
+msgstr ""
+"Comprueba la siguiente lista para encontrar los componentes que pueden ser "
+"actualizados."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2424,7 +2642,7 @@ msgstr "Última versión"
msgid "Active users"
msgstr "Usuarios activos"
-#: 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"
@@ -2450,7 +2668,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: 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 "Parámetros"
@@ -2467,12 +2685,12 @@ msgstr "Guardar"
msgid "Modoboa settings"
msgstr "Configuración de Modoboa"
-#: 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 "Configuración"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Preferencias"
@@ -2492,7 +2710,7 @@ msgstr "Actualizar su información personal"
msgid "Click here to update your password"
msgstr ""
-#: 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 ""
@@ -2503,7 +2721,9 @@ msgid "Two-Factor authentication"
msgstr "El sistema usado para autenticación"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2515,18 +2735,27 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgctxt "checks"
@@ -2534,12 +2763,18 @@ msgstr ""
msgid "Disable 2FA"
msgstr "Deshabilitado"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2558,71 +2793,79 @@ msgstr "No se encontró ningún registro MX para este dominio."
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Contraseñas cifradas"
+
#: 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 "Salir"
-#: 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 "El núcleo de Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parámetros guardados"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
-msgstr "Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de nuevo."
+msgstr ""
+"Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de "
+"nuevo."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Usuario '{}' ha salido con éxito"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Perfil actualizado"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Preferencias guardadas"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Acceso actualizado"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
#, fuzzy
#| msgid "LDAP settings"
msgid "DNS settings"
msgstr "Configuración de LDAP"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
#, fuzzy
#| msgid "MX records of {}"
msgid "Show DMARC report for {}"
msgstr "Registros MX de {}"
-#: 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
#, fuzzy
#| msgid "Not defined"
msgid "Not resolved"
@@ -2666,11 +2909,11 @@ msgstr ""
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2750,95 +2993,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2867,7 +3110,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2883,7 +3128,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2891,95 +3136,103 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Acceso actualizado"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "Enable communication"
msgid "Enable IMAP Migration"
msgstr "Establecer comunicación"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "Enable communication"
msgid "Enable IMAP Migration."
msgstr "Establecer comunicación"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83
+#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
#, fuzzy
#| msgid "Create aliases"
msgid "Create Folders"
msgstr "Crear alias"
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
#, fuzzy
#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
msgstr "Configuración de LDAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
@@ -2988,52 +3241,52 @@ msgstr ""
msgid "IMAP migration"
msgstr "Administración"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Establecer comunicación con la API publica de Modoboa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Conexión a la base de datos %s no configurada"
-#: 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 "No es posible determinar la codificación de la cadena"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Permiso denegado: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Permiso denegado"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Introduzca un nombre dominio válido"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Intriduzca un email válido"
@@ -3043,163 +3296,195 @@ msgstr "Intriduzca un email válido"
msgid "Submit"
msgstr "Enviar"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "No se ha podido actualizar la contraseña: {}"
-#: 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 "Tema"
-#: limits/app_settings.py:17 limits/app_settings.py:154
+#: limits/app_settings.py:17 limits/app_settings.py:147
#, fuzzy
#| msgid "Default limits"
msgid "Default per-admin limits"
msgstr "Límites por defecto"
-#: 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 ""
-#: 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 ""
-#: 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 "Administradores del dominio"
-#: limits/app_settings.py:29 limits/app_settings.py:164
+#: limits/app_settings.py:29 limits/app_settings.py:163
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de dominios permitido de administradores para un nuevo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new administrator. (0 "
+"to deny any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo de dominios permitido de administradores para un nuevo "
+"administrador"
-#: limits/app_settings.py:40 limits/app_settings.py:173
+#: limits/app_settings.py:39 limits/app_settings.py:175
#, fuzzy
#| msgid "Maximum number of allowed domains for a new administrator"
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed domains for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máximo de dominios permitidos para un nuevo administrador"
-#: limits/app_settings.py:50 limits/app_settings.py:181
+#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo permitido de alias de dominio para un nuevo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo permitido de alias de dominio para un nuevo administrador"
-#: limits/app_settings.py:61 limits/app_settings.py:190
+#: limits/app_settings.py:58 limits/app_settings.py:198
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máximo de mailboxes permitidas para un nuevo administrador"
-#: limits/app_settings.py:71 limits/app_settings.py:199
+#: limits/app_settings.py:67 limits/app_settings.py:210
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máxido de alias permitidos para un nuevo administrador"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: limits/app_settings.py:88 limits/app_settings.py:213
+#: limits/app_settings.py:82 limits/app_settings.py:232
#, fuzzy
#| msgid "Default limits"
msgid "Default per-domain limits"
msgstr "Límites por defecto"
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
+#: limits/app_settings.py:94 limits/app_settings.py:248
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de dominios permitido de administradores para un nuevo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new domain. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo de dominios permitido de administradores para un nuevo "
+"administrador"
-#: limits/app_settings.py:111 limits/app_settings.py:232
+#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo permitido de alias de dominio para un nuevo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo permitido de alias de dominio para un nuevo administrador"
-#: limits/app_settings.py:122 limits/app_settings.py:241
+#: limits/app_settings.py:114 limits/app_settings.py:272
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máximo de mailboxes permitidas para un nuevo administrador"
-#: limits/app_settings.py:132 limits/app_settings.py:249
+#: limits/app_settings.py:123 limits/app_settings.py:283
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
+" -1 to allow unlimited creations)"
msgstr "Número máxido de alias permitidos para un nuevo administrador"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Límites"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Número máxima de dominios que este usuario puede crear"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Número máximo de alias de dominio que este usuario puede crear"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Número máximo de mailboxes que este usuario puede crear"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr "Número máximo de alias a mailboxes que este usuario puede crear"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Número máximo de administradores de dominio que este usuario puede crear"
+msgstr ""
+"Número máximo de administradores de dominio que este usuario puede crear"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
#, fuzzy
#| msgid "Maximum number of domain aliases this user can create"
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Número máximo de alias de dominio que este usuario puede crear"
-#: limits/constants.py:46
+#: limits/constants.py:85
#, fuzzy
#| msgid "Maximum number of mailboxes this user can create"
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Número máximo de mailboxes que este usuario puede crear"
-#: limits/constants.py:50
+#: limits/constants.py:93
#, fuzzy
#| msgid "Maximum number of mailbox aliases this user can create"
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Número máximo de alias a mailboxes que este usuario puede crear"
-#: limits/constants.py:55
+#: limits/constants.py:102
#, fuzzy
#| msgid "Maximum number of domain administrators this user can create"
msgid "Maximum number of domain admins allowed for this domain."
-msgstr "Número máximo de administradores de dominio que este usuario puede crear"
+msgstr ""
+"Número máximo de administradores de dominio que este usuario puede crear"
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Límite inválido"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Recursos"
@@ -3212,11 +3497,11 @@ msgstr "%s: límete alcanzado"
msgid "Not enough resources"
msgstr "No hay suficientes recursos"
-#: 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 "No está autorizado definir valores ilimitados"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "ilimitado"
@@ -3225,91 +3510,91 @@ msgstr "ilimitado"
msgid "Resources usage"
msgstr "Uso de recursos"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Ruta del fichero de log"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Ruta al fichero de log usado para recolectar estadísticas"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Directorio para guardar los ficheros RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Ruta al directorio dónde están almacenados los ficheros RRD"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr ""
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Estadísticas"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr "Fallo al localizar el binario rrdtool"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Media del tráfico (msgs/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "mensajes enviados"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "mensajes recibidos"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "mensajes rebotados"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "mensajes bloqueados"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr "mensajes con virus"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr "Mensajes Basura"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Media normal del tamaño del tráfico (bytes/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "tamaño recibido"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "tamaño enviado"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Tráfico de correo"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr "Creación promedio de cuentas (cuentas/hora)"
@@ -3337,201 +3622,207 @@ msgstr "Aplicar"
msgid "No statistics available"
msgstr "No hay estadísticas disponibles"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Día"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Semana"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Mes"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Año"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "A medida"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Conjunto gráfico desconocido"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Conjunto gráfico desconocido"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Período elegido erróneo"
-#: 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
#, fuzzy
#| msgid "Update your personal information"
msgid "Personal account information"
msgstr "Actualizar su información personal"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Domain not found."
msgid "Directory is not writable"
msgstr "Dominio no encontrado."
-#: pdfcredentials/api/v2/serializers.py:76 pdfcredentials/views.py:28
+#: pdfcredentials/api/v2/serializers.py:82 pdfcredentials/views.py:26
#, fuzzy
#| msgid "No information available for this domain."
msgid "No document available for this user"
msgstr "No hay información disponible para este dominio."
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable PDF credentials"
msgstr "Activar comprobación de DNS"
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: pdfcredentials/app_settings.py:33 pdfcredentials/app_settings.py:134
+#: pdfcredentials/app_settings.py:48 pdfcredentials/app_settings.py:206
#, fuzzy
#| msgid "Directory to store RRD files"
msgid "Directory to save documents into"
msgstr "Directorio para guardar los ficheros RRD"
-#: pdfcredentials/app_settings.py:35 pdfcredentials/app_settings.py:136
+#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:208
#, fuzzy
#| msgid "Path to directory where RRD files are stored"
msgid "Path to a directory where PDF documents will be saved"
msgstr "Ruta al directorio dónde están almacenados los ficheros RRD"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
#, fuzzy
#| msgid "Description"
msgid "Security options"
msgstr "Descripción"
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
#, fuzzy
#| msgid "spam messages"
msgid "Custom message"
msgstr "Mensajes Basura"
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "SMTP server address"
msgstr "Dirección del servidor"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "SMTP server port"
msgstr "Puerto del servidor"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "IMAP server address"
msgstr "Dirección del servidor"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "IMAP server port"
msgstr "Puerto del servidor"
-#: 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 ""
-#: 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 ""
@@ -3539,15 +3830,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3556,40 +3847,46 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
#, fuzzy
#| msgid "Change password"
msgid "Please change your password!"
msgstr "Cambiar contraseña"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3598,30 +3895,190 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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: límete alcanzado"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: límete alcanzado"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Esta fecha ha pasado"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Debe ser posterior a la fecha inicial"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Contestaciones automáticas"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Activar su autorepuesta a partir de esta fecha. Formato: YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Hasta"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Activar su autorepuesta hasta esta fecha. Formato: YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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 ""
+"El contenido de su respuesta. Puede utilizar las siguientes variable, que "
+"serán reemplazados automáticamente por su valor apropiado: "
+"%(name)s,%(fromdate)s,%(untildate)s"
+
+#: postfix_autoreply/forms.py:121
+msgid "Automatic reply timeout"
+msgstr "Tiempo de caducidad de respuestas automáticas"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "Tiempo en segundos entre dos autorespuestas para el mismo emisor"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Asunto por defecto"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Estoy fuera"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"El asunto por defecto es usado cuando un mensaje de autorespuesta es creado "
+"automáticamente"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Contenido por defecto"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Estoy fuera ahora. Le responderé tan pronto como regrese.\n"
+"\n"
+"Saludos cordiales,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"El contenido por defecto es usado cuando un mensaje de autorespuesta es "
+"creado automáticamente. La macro '%(name)s' será reemplazada por el nombre "
+"completo del usuario."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "spam messages"
+msgid "Auto-reply message"
+msgstr "Mensaje de autorespuesta"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Contestación automática"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "asunto"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "El asunto que aparecerán en los correos enviados"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "contenido"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "El contenido que aparecerá en los emails enviados"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Activar/desactivar su autorespuesta"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr ""
+"Defina el mensaje que automáticamente se enviará cuando esté desconectado"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "El mensaje de autorespuesta se ha actualizado correctamente."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
#, fuzzy
msgid "Transport settings"
msgstr "Nuevo dominio"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
msgid "target host address"
msgstr "objetivo"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
#, fuzzy
msgid "target host port"
msgstr "objetivo"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
#, fuzzy
msgid "verify recipients"
msgstr "Destinatarios"
@@ -3692,16 +4149,24 @@ msgstr "¿Ha olvidado su contraseña?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "Ha cambiado su contraseña. Proceda e inicie sesión ahora."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"Ha cambiado su contraseña. Proceda e inicie sesión "
+"ahora."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Cambiar contraseña"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "El enlace de restauración de contraseña es inválido, tal vez ya fue utilizado. Por favor solicite la restauración de contraseña de nuevo."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"El enlace de restauración de contraseña es inválido, tal vez ya fue "
+"utilizado. Por favor solicite la restauración de contraseña de nuevo."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3712,19 +4177,36 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "
Si existe una cuenta con el correo electrónico introducido, recibirá en breves instantes instrucciones via email para cambiar su contraseña.
Si no recibe el correo, por favor compruebe que la dirección de correo electrónico introducida es su dirección principal y revise su directorio de correo basura.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"
Si existe una cuenta con el correo electrónico introducido, recibirá en "
+"breves instantes instrucciones via email para cambiar su "
+"contraseña.
Si no recibe el correo, por favor compruebe que la "
+"dirección de correo electrónico introducida es su dirección principal y "
+"revise su directorio de correo basura.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Para empezar el proceso de restauración de contraseña para su %(username)s cuenta de Modoboa, haga click en el enlace siguiente:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Para empezar el proceso de restauración de contraseña para su %(username)s "
+"cuenta de Modoboa, haga click en el enlace siguiente:"
#: 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 "Si no puede hacer click en el enlace anterior, por favor copie y pegue la URL en una ventana nueva del navegador."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Si no puede hacer click en el enlace anterior, por favor copie y pegue la "
+"URL en una ventana nueva del navegador."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3745,22 +4227,21 @@ msgstr "Restauración de contraseña de Modoboa"
msgid "Invalid value"
msgstr "Línea inválida"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: límete alcanzado"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Ya existe un alias con este nombre"
#~ msgid "Graphical statistics about emails traffic using RRDtool"
#~ msgstr "Estadísticas gráficas del tráfico de emails usando RRDtool"
@@ -3790,7 +4271,6 @@ msgstr ""
#~ msgstr "Nuevo dominio"
#, fuzzy
-#~| msgid "The domain name"
#~ msgid "The relay domain name"
#~ msgstr "Nombre del dominio"
@@ -3805,7 +4285,6 @@ msgstr ""
#~ msgstr "El dominio '%s' no existe"
#, fuzzy
-#~| msgid "Invalid format"
#~ msgid "Raw format"
#~ msgstr "Formato inválido"
@@ -3816,30 +4295,27 @@ msgstr ""
#~ msgstr "Nombre del fichero"
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No {type} record found for MX {mx}"
#~ msgstr "No se encontró ningún registro MX para este dominio."
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No A record found for MX %(domain)s"
#~ msgstr "No se encontró ningún registro MX para este dominio."
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No AAAA record found for MX %(domain)s"
#~ msgstr "No se encontró ningún registro MX para este dominio."
#~ msgid "Quota in MB shared between mailboxes. A value of 0 means no quota."
-#~ msgstr "La cuota compartida entre las mailboxes en MB. Un valor de 0 significa ningún limite."
+#~ msgstr ""
+#~ "La cuota compartida entre las mailboxes en MB. Un valor de 0 significa "
+#~ "ningún limite."
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No DNS records found without MX for %s"
#~ msgstr "No se encontró ningún registro MX para este dominio."
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No DNS records found without MX for %(domain)s"
#~ msgstr "No se encontró ningún registro MX para este dominio."
diff --git a/modoboa/locale/fi/LC_MESSAGES/django.po b/modoboa/locale/fi/LC_MESSAGES/django.po
index 6a6a9999c..e6f9bda4f 100644
--- a/modoboa/locale/fi/LC_MESSAGES/django.po
+++ b/modoboa/locale/fi/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2023-02-17 22:03+0200\n"
"Last-Translator: Ossi Mäntylahti \n"
"Language-Team: \n"
@@ -18,488 +18,601 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.2.2\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Postilaatikoiden kesken jaettu kiintiö. Voidaan ilmaista kilotavuina (KB), megatavuina (MB) (oletus) tai gigatavuina (GB). Arvo 0 tarkoittaa, ettei kiintiötä ole."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Postilaatikoiden kesken jaettu kiintiö. Voidaan ilmaista kilotavuina (KB), "
+"megatavuina (MB) (oletus) tai gigatavuina (GB). Arvo 0 tarkoittaa, ettei "
+"kiintiötä ole."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Postilaatikoihin sovellettava oletuskiintiö megatavuina. Arvo 0 tarkoittaa, ettei kiintiötä ole."
+msgstr ""
+"Postilaatikoihin sovellettava oletuskiintiö megatavuina. Arvo 0 tarkoittaa, "
+"ettei kiintiötä ole."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Tälle verkkotunnukselle ei löytynyt valtuutettua MX-tietuetta"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Ei voi olla suurempi kuin verkkotunnuksen kiintiö"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Lupa evätty."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Tämä kenttä on pakollinen"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Luettelo hallinnoiduista verkkotunnuksista (vain jälleenmyyjät ja verkkotunnusten ylläpitäjät)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Luettelo hallinnoiduista verkkotunnuksista (vain jälleenmyyjät ja "
+"verkkotunnusten ylläpitäjät)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Ei sallittu tässä roolissa."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Täytyy olla yhtä suuri kuin postilaatikon koko osoite"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Tämä kenttä on pakollinen."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Paikallista verkkotunnusta {} ei ole olemassa"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Luettelo vastaanottajista"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Käyttäjä '%s' on jo olemassa"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Sinulla ei ole pääsyä tähän verkkotunnukseen."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Sinulla ei ole pääsyä tähän postilaatikkoon."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr "Tässä on uusi Modoboa-salasanasi: {}"
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Käyttäjä '%s' on jo olemassa"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Täytyy olla positiivinen kokonaisluku"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Hakemistoa ei löydy."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Hakemistoa ei löydy."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl ei löydy, varmista, että se on asennettu."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Määritä vähintään yksi valtuutettu verkko/osoite"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Tarvitaan postilaatikko"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
msgstr "Tuntematon tunniste {}"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Sinulla ei ole pääsyä tähän verkkotunnukseen"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Et voi poistaa omaa verkkotunnustasi"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Verkkotunnukset"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Ota MX-tarkistukset käyttöön"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
-msgstr "Tarkista, että jokaisella verkkotunnuksella on voimassa oleva MX-tietue"
+msgstr ""
+"Tarkista, että jokaisella verkkotunnuksella on voimassa oleva MX-tietue"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "Voimassa olevat MX:t"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Luettelo IP- tai verkko-osoitteista, joita jokaisen MX-tietueen pitäisi vastata. Varoitus lähetetään, jos tietue ei noudata sitä."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Luettelo IP- tai verkko-osoitteista, joita jokaisen MX-tietueen pitäisi "
+"vastata. Varoitus lähetetään, jos tietue ei noudata sitä."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Uusien verkkotunnusten on käytettävä valtuutettuja MX:iä"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Estä uuden verkkotunnuksen luominen, jos sen MX-tietue ei käytä jotakin määritetyistä osoitteista."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Estä uuden verkkotunnuksen luominen, jos sen MX-tietue ei käytä jotakin "
+"määritetyistä osoitteista."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable SPF checks"
+msgid "Enable IPV6 checks"
+msgstr "Ota SPF-tarkistukset käyttöön"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr "Ota SPF-tarkistukset käyttöön"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr "Tarkista, onko jokaisella verkkotunnuksella voimassa oleva SPF-tietue"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr "Ota DKIM-tarkistukset käyttöön"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "Tarkista, onko jokaisella verkkotunnuksella, jossa DKIM-kirjautuminen on käytössä, voimassa oleva DNS-tietue"
+msgstr ""
+"Tarkista, onko jokaisella verkkotunnuksella, jossa DKIM-kirjautuminen on "
+"käytössä, voimassa oleva DNS-tietue"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr "Ota DMARC-tarkistukset käyttöön"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
-msgstr "Tarkista, onko jokaisella verkkotunnuksella voimassa oleva DMARC-tietue"
+msgstr ""
+"Tarkista, onko jokaisella verkkotunnuksella voimassa oleva DMARC-tietue"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr "Ota käyttöön automaattisen määritysten tarkistus"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
-msgstr "Tarkista, onko jokaisella verkkotunnuksella kelvolliset tietueet automaattista määritystä varten"
+msgstr ""
+"Tarkista, onko jokaisella verkkotunnuksella kelvolliset tietueet "
+"automaattista määritystä varten"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Ota DNSBL-tarkistukset käyttöön"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
-msgstr "Tarkista jokainen verkkotunnus merkittävimmistä DNSBL-palveluntarjoajista"
+msgstr ""
+"Tarkista jokainen verkkotunnus merkittävimmistä DNSBL-palveluntarjoajista"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Mukautettu DNS-palvelin"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
-msgstr "Käytä mukautettua DNS-palvelinta paikallisen palvelinkonfiguraation sijasta"
+msgstr ""
+"Käytä mukautettua DNS-palvelinta paikallisen palvelinkonfiguraation sijasta"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "DKIM-avainten tallennushakemisto"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Absoluuttinen polku, johon DKIM:n yksityiset avaimet tallennetaan. Varmista, että tämä hakemisto kuuluu root-käyttäjälle eikä ole ulkomaailman luettavissa."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Absoluuttinen polku, johon DKIM:n yksityiset avaimet tallennetaan. Varmista,"
+" että tämä hakemisto kuuluu root-käyttäjälle eikä ole ulkomaailman "
+"luettavissa."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "DKIM-avaimen oletuspituus"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Uusien luotujen DKIM-avainten oletuspituus bitteinä."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Verkkotunnuksen oletuskiintiö"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Oletuskiintiö (megatavua), jota sovelletaan juuri luotuihin toimialueisiin, joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, että kiintiötä ei ole."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Oletuskiintiö (megatavua), jota sovelletaan juuri luotuihin toimialueisiin, "
+"joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, että kiintiötä ei ole."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr "Oletusarvo verkkotunnuksen lähetysrajalle"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
-msgstr "Viestien määrä, jonka juuri luodut verkkotunnukset saavat lähettää päivässä. Jätä tyhjäksi, jos et halua rajoitusta."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+"Viestien määrä, jonka juuri luodut verkkotunnukset saavat lähettää päivässä."
+" Jätä tyhjäksi, jos et halua rajoitusta."
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Postilaatikot"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Käsittele postilaatikoita tiedostojärjestelmässä"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Nimeä uudelleen tai poista postilaatikot tiedostojärjestelmästä, kun ne nimetään uudelleen tai poistetaan Modoboassa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Nimeä uudelleen tai poista postilaatikot tiedostojärjestelmästä, kun ne "
+"nimetään uudelleen tai poistetaan Modoboassa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Oletuspostilaatikkokiintiö"
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Oletuspostilaatikkokiintiö (megatavua), jota sovelletaan juuri luotuihin postilaatikoihin, joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, ettei kiintiötä ole."
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Oletuspostilaatikkokiintiö (megatavua), jota sovelletaan juuri luotuihin "
+"postilaatikoihin, joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, ettei "
+"kiintiötä ole."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr "Oletuspostilaatikon lähetysraja"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
-msgstr "Viestien määrä, jonka juuri luodut postilaatikot saavat lähettää päivässä. Jätä tyhjäksi, jos et halua rajoitusta."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+"Viestien määrä, jonka juuri luodut postilaatikot saavat lähettää päivässä. "
+"Jätä tyhjäksi, jos et halua rajoitusta."
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Tilin automaattinen poistaminen"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Kun postilaatikko poistetaan, poistetaan myös siihen liittyvä tili"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Automaattinen verkkotunnuksen/sähköpostilaatikon luominen"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
msgstr "Luo verkkotunnus ja postilaatikko, kun tili luodaan automaattisesti."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Luo alias, kun postilaatikko nimetään uudelleen"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Luo alias, joka käyttää vanhaa osoitetta, kun postilaatikko nimetään uudelleen."
+msgstr ""
+"Luo alias, joka käyttää vanhaa osoitetta, kun postilaatikko nimetään "
+"uudelleen."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Oletuspostilaatikkokiintiö (megatavua), jota sovelletaan juuri luotuihin postilaatikoihin, joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, ettei kiintiötä ole."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Oletuspostilaatikkokiintiö (megatavua), jota sovelletaan juuri luotuihin "
+"postilaatikoihin, joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, ettei "
+"kiintiötä ole."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Hallinnointinäkymä"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Verkkotunnus"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Relay-välitystunnus"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr "Avattu"
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr "Suljettu"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Käyttäjätunnus"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "Käyttäjän nimi. Yksinkertaisten käyttäjien tai ylläpitäjien, joilla on postilaatikko, on oltava voimassa oleva sähköpostiosoite."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"Käyttäjän nimi. Yksinkertaisten käyttäjien tai ylläpitäjien, joilla on "
+"postilaatikko, on oltava voimassa oleva sähköpostiosoite."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rooli"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Valitse"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Minkä tason oikeudet tällä käyttäjällä on"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Satunnainen salasana"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Luo satunnainen salasana. Jos päivität tätä tiliä ja valitset tämän, Modoboa luo uuden salasanan."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Luo satunnainen salasana. Jos päivität tätä tiliä ja valitset tämän, Modoboa"
+" luo uuden salasanan."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Salasana"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Vahvistus"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Kirjoita varmuuden vuoksi sama salasana uudelleen."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Käytössä"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Tämä tila on sallittu vain pääylläpitäjille"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Salasanakentät eivät vastanneet toisiaan."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Et voi poistaa omaa tiliäsi käytöstä"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "Sähköpostiosoite"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Luo alias käyttäen vanhaa osoitetta"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Kiintiö"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Tämän postilaatikon kiintiö, joka voidaan ilmaista kilotavuina, megatavuina (oletus) tai gigatavuina. Määritä oma arvo tai käytä toimialueen oletusarvoa. Jätä tyhjäksi, jos haluat määrittää rajoittamattoman arvon (ei sallittu toimialueen ylläpitäjille)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Tämän postilaatikon kiintiö, joka voidaan ilmaista kilotavuina, megatavuina "
+"(oletus) tai gigatavuina. Määritä oma arvo tai käytä toimialueen "
+"oletusarvoa. Jätä tyhjäksi, jos haluat määrittää rajoittamattoman arvon (ei "
+"sallittu toimialueen ylläpitäjille)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Viestien lähetysraja"
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr "Viestien määrä, jonka tämä postilaatikko voi lähettää päivässä"
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(kset)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Tämän postilaatikon aliakset. Ilmoita vain yksi osoite per syöttö, paina enter lisätäksesi uuden. Jos haluat luoda catchall-aliaksen, syötä vain verkkotunnus (@verkkotunnus.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Tämän postilaatikon aliakset. Ilmoita vain yksi osoite per syöttö, paina "
+"enter lisätäksesi uuden. Jos haluat luoda catchall-aliaksen, syötä vain "
+"verkkotunnus (@verkkotunnus.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Lähettäjän osoitteet"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Tämän tilin lisälähetysosoite(et). Käyttäjä saa lähettää sähköposteja käyttämällä tätä osoitetta, vaikka sitä ei olisikaan olemassa paikallisesti. Ilmoita yksi osoite per rivi. Lisää uusi rivi painamalla enter."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Tämän tilin lisälähetysosoite(et). Käyttäjä saa lähettää sähköposteja "
+"käyttämällä tätä osoitetta, vaikka sitä ei olisikaan olemassa paikallisesti."
+" Ilmoita yksi osoite per rivi. Lisää uusi rivi painamalla enter."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Verkkotunnusta ei ole olemassa"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Paikallista verkkotunnusta ei ole olemassa"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Verkkotunnus(kset)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Käyttäjän hallinnoima verkkotunnus(kset)"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Yleiset"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profiili"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Sähköposti"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Oikeudet"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Tili päivitetty"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Uusi tili"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Tili luotu"
@@ -512,69 +625,86 @@ msgid "Email address"
msgstr "Sähköpostiosoite"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias-osoite. Jos haluat luoda catchall-aliaksen, kirjoita vain verkkotunnus (@verkkotunnus.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias-osoite. Jos haluat luoda catchall-aliaksen, kirjoita vain verkkotunnus"
+" (@verkkotunnus.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Vastaanottajat"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Osoitteet, joihin tämä alias osoittaa. Ilmoita yksi osoite per rivi, paina enter lisätäksesi uuden rivin."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Osoitteet, joihin tämä alias osoittaa. Ilmoita yksi osoite per rivi, paina "
+"enter lisätäksesi uuden rivin."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Vastaanottajaa ei ole määritelty"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tyyppi"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Tämän verkkotunnuksen aliakset. Ilmoita vain yksi nimi per rivi, paina enter lisätäksesi uuden rivin."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Tämän verkkotunnuksen aliakset. Ilmoita vain yksi nimi per rivi, paina enter"
+" lisätäksesi uuden rivin."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "DKIM-avaimen valitsin-tietue (selector)"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Postilaatikoihin sovellettava oletuskiintiö. Voidaan ilmaista kilotavuina, megatavuina (oletus) tai gigatavuina. Arvo 0 tarkoittaa, ettei kiintiötä ole."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Postilaatikoihin sovellettava oletuskiintiö. Voidaan ilmaista kilotavuina, "
+"megatavuina (oletus) tai gigatavuina. Arvo 0 tarkoittaa, ettei kiintiötä "
+"ole."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "verkkotunnuksen alias"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Nimellä %s on jo olemassa"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "DKIM-avainten tallennushakemistoa ei ole määritetty"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Et voi määritellä rajoittamatonta kiintiötä."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domain"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Luo verkkotunnuksen ylläpitäjä"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Luo automaattisesti järjestelmänvalvojan tälle verkkotunnukselle"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -583,51 +713,55 @@ msgstr "Luo automaattisesti järjestelmänvalvojan tälle verkkotunnukselle"
msgid "Name"
msgstr "Nimi"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Ylläpitäjän nimi. Älä sisällytä verkkotunnuksen nimeä tähän, se liitetään automaattisesti."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Ylläpitäjän nimi. Älä sisällytä verkkotunnuksen nimeä tähän, se liitetään "
+"automaattisesti."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Luo satunnainen salasana järjestelmänvalvojalle."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Postilaatikolla"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Luo ylläpitäjän postilaatikko."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Luo aliaksia"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Luo tälle verkkotunnukselle automaattisesti aliaksia"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Virheellinen muoto"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Muutettu verkkotunnus"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Vaihtoehdot"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Uusi verkkotunnus"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Verkkotunnus luotu"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Erotin"
@@ -635,23 +769,23 @@ msgstr "Erotin"
msgid "Recipient(s)"
msgstr "Vastaanottaja(t)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Ilmoita yksi tai useampi vastaanottaja erotettuna pilkulla (',')"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Säilytä paikallisia kopioita"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Välitä viestit ja tallenna kopiot paikalliseen postilaatikkoon"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Valitse tiedosto"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Jatka virheestä"
@@ -659,101 +793,103 @@ msgstr "Jatka virheestä"
msgid "Don't treat duplicated objects as error"
msgstr "Älä käsittele päällekkäisiä objekteja virheenä"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Salakirjoita salasanat"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Valitse tämä vaihtoehto, jos tiedostosi sisältämiä salasanoja ei ole salakirjoitettu"
+msgstr ""
+"Valitse tämä vaihtoehto, jos tiedostosi sisältämiä salasanoja ei ole "
+"salakirjoitettu"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Tilin tuonti epäonnistui (%s): verkkotunnusta ei ole olemassa"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Postilaatikko {} on jo olemassa"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Tilin tuonti epäonnistui (%s): väärä kiintiöarvo"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identiteetit"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Välitä"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Tarvitaan postilaatikko"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "DNS-tietuetta ei löytynyt %s"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Ei %(type)s-tietueelle %(name)s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Toimivia nimipalvelimia ei löytynyt"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS-kyselyn aikakatkaisu, kysely %s ei onnistu tällä hetkellä"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Virheellinen IP-osoiteformaatti {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Kohde on jo olemassa: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objektit tuotu onnistuneesti"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr "CSV-tiedosto ei ole UTF-8-muotoinen. Yritetään arvata koodausta"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "CSV-tiedoston lukeminen käyttäen %(encoding)s-koodausta"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "CSV-tiedostoa ei voi dekoodata käyttämällä %(encoding)s-koodausta"
@@ -762,23 +898,23 @@ msgstr "CSV-tiedostoa ei voi dekoodata käyttämällä %(encoding)s-koodausta"
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} DNSBL-palveluntarjoajan listaama {}"
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr "Verkkotunnuksella ei ole MX-tietuetta"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Verkkotunnuksella {} ei ole MX-tietuetta"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr "Virheellinen MX-tietue: {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "Verkkotunnuksen {0} MX-tietue on virheellinen: {1}"
@@ -787,160 +923,157 @@ msgstr "Verkkotunnuksen {0} MX-tietue on virheellinen: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX-ongelma(t) verkkotunnukselle {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL ongelma(t) verkkotunnukselle {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Verkkotunnusta ei löydy."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Alias tällä nimellä on jo olemassa"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "osoite"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Alias-osoite."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "käytössä"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Ota käyttöön tämän aliaksen aktivointi"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Kuvaus"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Vanhenee"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Virheellinen osoite"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Paikallista vastaanottajaa {}@{} ei löydy"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Virheellinen rivi: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "nimi"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Verkkotunnus"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr "Viestien määrä, jonka tämä verkkotunnus voi lähettää päivässä"
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Aktivoi tämä verkkotunnus"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Ota DNS-tarkistukset käyttöön"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Ota DNS-tarkistukset käyttöön tämän verkkotunnuksen osalta"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Ota DKIM-allekirjoitus käyttöön"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Jos aktivoit tämän ominaisuuden, tälle verkkotunnukselle luodaan DKIM-avain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Jos aktivoit tämän ominaisuuden, tälle verkkotunnukselle luodaan DKIM-avain."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Avaimen pituus"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Virheellinen rivi"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Verkkotunnukselle {} ei löytynyt valtuutettua MX-tietuetta"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Virheellinen kiintiö verkkotunnukselle '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Virheellinen oletuspostilaatikon kiintiö verkkotunnukselle '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "Oletuspostilaatikon kiintiö ei voi olla suurempi kuin toimialueen kiintiö"
+msgstr ""
+"Oletuspostilaatikon kiintiö ei voi olla suurempi kuin toimialueen kiintiö"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Aliaksen nimi"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "kohde"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Verkkotunnus, johon tämä alias osoittaa"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Tuntematon verkkotunnus %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Postilaatikon osoite (ilman @domain.tld-osaa)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Postilaatikon haku epäonnistui sijainnista (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Kiintiö on määritettävä"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -950,8 +1083,9 @@ msgstr "Verkkotunnuksen kiintiö ylitetty"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Sulje"
@@ -1000,9 +1134,9 @@ msgstr "Määrä"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Verkkotunnuksen aliakset"
@@ -1037,7 +1171,7 @@ msgstr "Luotu"
msgid "Last login"
msgstr "Viimeisin kirjautuminen"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Toissijainen sähköpostiosoite"
@@ -1046,7 +1180,7 @@ msgstr "Toissijainen sähköpostiosoite"
msgid "Not defined"
msgstr "Ei määritelty"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Puhelinnumero"
@@ -1124,7 +1258,7 @@ msgstr "Avatut hälytykset"
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Päivämäärä"
@@ -1148,9 +1282,9 @@ msgstr "Luontipäivä"
msgid "Last modification date"
msgstr "Viimeisin muutospäivä"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Postilaatikon aliakset"
@@ -1206,11 +1340,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Ei"
@@ -1218,7 +1353,7 @@ msgstr "Ei"
msgid "Generate new key"
msgstr "Luo uusi avain"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Kyllä"
@@ -1231,7 +1366,7 @@ msgid "Administrators"
msgstr "Ylläpitäjät"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Poista tämä lupa"
@@ -1268,13 +1403,13 @@ msgstr "Jonon ID"
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Lähde"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Vastaanottaja"
@@ -1305,9 +1440,10 @@ msgstr "pois käytöstä"
msgid "Automatically forward emails to another address"
msgstr "Lähetä sähköpostit automaattisesti eteenpäin toiseen osoitteeseen"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Päivitä"
@@ -1324,12 +1460,39 @@ msgid "Fullname/Recipient"
msgstr "Koko nimi/saaja"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
Kunkin"
+" rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä suuri kuin"
+" jokin edellisistä arvoista.
Voit käyttää erottimena eri merkkiä.
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1357,7 +1520,9 @@ msgstr "Päivitetty"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Tämä IP-osoite ei vastaa mitään parametreissa määritellyistä kelvollisista MX-osoitteista"
+msgstr ""
+"Tämä IP-osoite ei vastaa mitään parametreissa määritellyistä kelvollisista "
+"MX-osoitteista"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1365,106 +1530,125 @@ msgstr "Tälle verkkotunnukselle ei löytynyt MX-tietuetta."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa havaitsi, että verkkotunnus %(domain)s on listattu seuraavilla DNSBL-palveluntarjoajilla:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa havaitsi, että verkkotunnus %(domain)s on listattu seuraavilla "
+"DNSBL-palveluntarjoajilla:"
#: 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 "Verkkotunnuksen maine kärsii, ja on mahdollista, että siitä tulevia sähköposteja pidetään roskapostina. Sinun tulisi ottaa yhteyttä näihin palveluntarjoajiin ja pyytää heitä poistamaan havaitut IP-osoitteet listalta."
+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 ""
+"Verkkotunnuksen maine kärsii, ja on mahdollista, että siitä tulevia "
+"sähköposteja pidetään roskapostina. Sinun tulisi ottaa yhteyttä näihin "
+"palveluntarjoajiin ja pyytää heitä poistamaan havaitut IP-osoitteet "
+"listalta."
#: 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 havaitsi, että verkkotunnuksella %(domain)s ei ole voimassa olevaa MX-tietuetta:"
+msgstr ""
+"Modoboa havaitsi, että verkkotunnuksella %(domain)s ei ole voimassa olevaa "
+"MX-tietuetta:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Hae"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "enabled_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "enabled_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Luettelo verkkotunnuksista"
-#: 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 "Luettelo kiintiöistä"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr "Viestilokit"
-#: 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 "Tuonti"
-#: 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 "Viedä"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Luettelo identiteeteistä"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Näytä verkkotunnuksen identiteetit"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr "Näytä verkkotunnuksen hälytykset"
-#: 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 "Muokkaa {}"
-#: 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 "Poistetaanko %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Ei MX-tietuetta %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 "Virheellinen IP-osoiteformaatti %(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 "Ei MX-tietuetta %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Alias tällä nimellä on jo olemassa"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Luo"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Uusi alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias luotu"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias muokattu"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias poistettu"
@@ -1474,36 +1658,36 @@ msgstr[1] ""
msgid "MX records of {}"
msgstr "MX-tietueet {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "DNSBL-tiivistelmä {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Verkkotunnus poistettu"
msgstr[1] "Verkkotunnukset poistettu"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Vie identiteetit"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Vie verkkotunnukset"
-#: 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 "Virheellinen pyyntö"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Tili poistettu"
msgstr[1] "Poistetut tilit"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Tuo verkkotunnuksia"
@@ -1511,85 +1695,72 @@ msgstr "Tuo verkkotunnuksia"
msgid "Import identities"
msgstr "Tuo identiteetit"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Välitystieto päivitetty"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr "Virheellinen PIN-koodi"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr "Kaksivaiheinen tunnistus (2FA) on jo käytössä"
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
-msgstr "Kaksivaiheinen tunnistautuminen (2FA) ei ole käytössä"
-
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Paikallinen"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Käyttäjäprofiili"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Virheellinen syntaksi"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Virheellinen kierrosluku"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr "Tämä koodi on virheellinen"
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Vanha salasana"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr "Kaksivaiheinen tunnistautuminen (2FA) ei ole käytössä"
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Paikallinen"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Käyttäjäprofiili"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Virheellinen syntaksi"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Virheellinen kierrosluku"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr "Tämä koodi on virheellinen"
+
+#: 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 "Käytä seuraavaa koodia saadaksesi takaisin Modoboa-salasanasi: {}"
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Käyttäjä '%s' kirjautui onnistuneesti sisään"
-#: 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 "Salasanajärjestelmä ei vastaa toisiaan. Salasanan %s päivittäminen"
@@ -1599,452 +1770,522 @@ msgstr "Salasanajärjestelmä ei vastaa toisiaan. Salasanan %s päivittäminen"
msgid "Password hash parameter missmatch. Updating %s password"
msgstr "Salasanan hash-parametrit eivät täsmää. Salasanan %s päivittäminen"
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Tunnistautuminen"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Autentikointityyppi"
-#: 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 "Tunnistautumiseen käytettävä taustajärjestelmä"
-#: 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 "Oletussalasanojen järjestelmä"
-#: 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 "Sähköpostilaatikon salasanojen salaamiseen käytetty järjestelmä"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Kierrokset"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Käytettävien kierrosten määrä (vain sha256crypt ja sha512crypt käyttävät). Arvon on oltava välillä 1000 ja 99999999999."
+#: 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 ""
+"Käytettävien kierrosten määrä (vain sha256crypt ja sha512crypt käyttävät). "
+"Arvon on oltava välillä 1000 ja 99999999999."
-#: 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 "Päivitä salasanajärjestelmä kirjautumisen yhteydessä"
-#: 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 "Päivitä käyttäjän salasana sisäänkirjautumisen yhteydessä käyttämään oletussalasanajärjestelmää"
+msgstr ""
+"Päivitä käyttäjän salasana sisäänkirjautumisen yhteydessä käyttämään "
+"oletussalasanajärjestelmää"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Oletussalasana"
-#: 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 "Automaattisesti luotujen tilien oletussalasana."
-#: 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 "Satunnaisen salasanan pituus"
-#: 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 "Satunnaisesti luotujen salasanojen pituus."
-#: 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 "Päivitä salasanapalvelun URL-osoite"
-#: core/app_settings.py:94 core/app_settings.py:768
-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 "Ulkoisen sivun URL-osoite, jolla käyttäjät voivat päivittää salasanansa. Koskee vain muita kuin paikallisia käyttäjiä. Eli niitä, jotka luodaan automaattisesti onnistuneen ulkoisen todennuksen jälkeen (LDAP, SMTP)."
+#: 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 ""
+"Ulkoisen sivun URL-osoite, jolla käyttäjät voivat päivittää salasanansa. "
+"Koskee vain muita kuin paikallisia käyttäjiä. Eli niitä, jotka luodaan "
+"automaattisesti onnistuneen ulkoisen todennuksen jälkeen (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 "Ilmoitus salasanan palautuksesta"
-#: 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 "Väliaikainen viesti, joka näytetään salasanan nollaussivulla."
-#: 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 "Ota salasanan palautus käyttöön tekstiviestillä"
-#: 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 "Ota käyttöön salasanan palautus tekstiviestillä käyttäjille, jotka ovat täyttäneet puhelinnumeron."
+msgstr ""
+"Ota käyttöön salasanan palautus tekstiviestillä käyttäjille, jotka ovat "
+"täyttäneet puhelinnumeron."
-#: 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-palveluntarjoaja"
-#: 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 "Valitse palveluntarjoaja, joka lähettää salasanan palautustekstiviestin"
+msgstr ""
+"Valitse palveluntarjoaja, joka lähettää salasanan palautustekstiviestin"
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "LDAP-asetukset"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Palvelimen osoite"
-#: 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 "LDAP-palvelimen IP-osoite tai DNS-nimi"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Palvelimen portti"
-#: 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 "LDAP-palvelimen käyttämän TCP-portin numero"
-#: 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 "Toisen palvelimen käyttöönotto (varapalvelin)"
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
-msgstr "Ota käyttöön toissijainen LDAP-palvelin, jota käytetään, jos ensisijainen palvelin ei toimi"
+#: 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 ""
+"Ota käyttöön toissijainen LDAP-palvelin, jota käytetään, jos ensisijainen "
+"palvelin ei toimi"
-#: 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 "Toisen palvelimen osoite"
-#: 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 "Toisen LDAP-palvelimen IP-osoite tai DNS-nimi"
-#: 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 "Toisen palvelimen portti"
-#: 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 "LDAP:n toissijaisen palvelimen käyttämä TCP-portin numero"
-#: 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 "Käytä suojattua yhteyttä"
-#: 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 "Käytä SSL/STARTTLS-yhteyttä LDAP-palvelimen käyttämiseen"
-#: 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 "Kerro, onko LDAP-palvelin Active Directory -palvelin"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Järjestelmänvalvojien ryhmät"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Näiden LDAP Posix -ryhmien jäsenet luodaan verkkotunnuksen järjestelmänvalvojiksi. Käytä ';'-merkkejä ryhmien erottamiseen."
+#: 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 ""
+"Näiden LDAP Posix -ryhmien jäsenet luodaan verkkotunnuksen "
+"järjestelmänvalvojiksi. Käytä ';'-merkkejä ryhmien erottamiseen."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Ryhmän tyyppi"
-#: 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 "LDAP-ryhmän tyyppi, jota käytetään hakemiston kanssa."
-#: 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 "Ryhmien hakupohja"
-#: 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 "Ryhmien etsimiseen käytettävän hakupohjan erottuva nimi"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Salasana-attribuutti"
-#: 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 "Määrite, jota käytetään käyttäjien salasanojen tallentamiseen"
-#: 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-todennusasetukset"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Tunnistusmenetelmä"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Etsi ja sido"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Suora sidonta"
-#: 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 "Valitse käytettävä todennusmenetelmä"
-#: 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 "Sido DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "Erotusnimi, jota käytetään LDAP-palvelimeen sitoutumisessa. Jätä tyhjäksi anonyymiä sidontaa varten"
+#: 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 ""
+"Erotusnimi, jota käytetään LDAP-palvelimeen sitoutumisessa. Jätä tyhjäksi "
+"anonyymiä sidontaa varten"
-#: 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 "Sido salasana"
-#: 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 "Salasana, jota käytetään LDAP-palvelimeen sitoutumisessa (komennolla 'Bind DN')"
+msgstr ""
+"Salasana, jota käytetään LDAP-palvelimeen sitoutumisessa (komennolla 'Bind "
+"DN')"
-#: 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 "Käyttäjien hakupohja"
-#: 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 "Käyttäjien etsimiseen käytettävän hakupohjan erisnimi"
-#: 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 "Etsi suodatin"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Valinnainen suodatinmerkkijono (esim. '(objectClass=person)'). Tämän on oltava suluissa."
+#: 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 ""
+"Valinnainen suodatinmerkkijono (esim. '(objectClass=person)'). Tämän on "
+"oltava suluissa."
-#: 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 "Käyttäjän DN-malli"
-#: 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 "Käyttäjän DN:n rakentamiseen käytettävä malli. Sen tulisi sisältää yksi paikanvaraaja (eli %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Käyttäjän DN:n rakentamiseen käytettävä malli. Sen tulisi sisältää yksi "
+"paikanvaraaja (eli %(user)s)"
-#: 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-synkronointiasetukset"
-#: 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 "Ota käyttöön vienti LDAP:iin"
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
-msgstr "Ota käyttöön automaattinen synkronointi paikallisen tietokannan ja LDAP-hakemiston välillä"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
+msgstr ""
+"Ota käyttöön automaattinen synkronointi paikallisen tietokannan ja LDAP-"
+"hakemiston välillä"
-#: 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 "Etäisen LDAP-tilin poistaminen, kun paikallinen tili poistetaan"
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
-msgstr "Poista etä-LDAP-tili, kun paikallinen tili poistetaan. Muuten se poistetaan käytöstä."
+#: 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 ""
+"Poista etä-LDAP-tili, kun paikallinen tili poistetaan. Muuten se poistetaan "
+"käytöstä."
-#: 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 "Tilin DN-malli"
-#: 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 "Malli, jota käytetään tilin DN:n muodostamiseen. Sen tulisi sisältää yksi paikanvaraaja (eli %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Malli, jota käytetään tilin DN:n muodostamiseen. Sen tulisi sisältää yksi "
+"paikanvaraaja (eli %(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 "Ota käyttöön tuonti LDAP:stä"
-#: 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 "Tilien synkronoinnin käyttöönotto LDAP-hakemistosta paikalliseen tietokantaan"
+msgstr ""
+"Tilien synkronoinnin käyttöönotto LDAP-hakemistosta paikalliseen "
+"tietokantaan"
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr "Käyttäjätunnus-määrite"
-#: 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 "Sen LDAP-attribuutin nimi, josta käyttäjänimi löytyy."
-#: 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 "Ota Dovecot LDAP-synkronointi käyttöön"
-#: 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-todennusasetuksia sovelletaan Dovecot-konfiguraatioon."
-#: 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 -asetustiedosto"
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr "Dovecotin LDAP-asetukset sisältävän määritystiedoston sijainti."
-#: 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 "Työpöytä"
-#: 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 "Mukautettu RSS-syöte"
-#: 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 "Näytä mukautettu RSS-syöte jälleenmyyjille ja verkkotunnuksen ylläpitäjille"
+msgstr ""
+"Näytä mukautettu RSS-syöte jälleenmyyjille ja verkkotunnuksen ylläpitäjille"
-#: 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 "Piilota ominaisuudet-widget"
-#: 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 "Piilota ominaisuudet-widget jälleenmyyjiltä ja verkkotunnuksen ylläpitäjiltä"
+msgstr ""
+"Piilota ominaisuudet-widget jälleenmyyjiltä ja verkkotunnuksen ylläpitäjiltä"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Ilmoitukset"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Lähettäjän osoite"
-#: 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 "Ilmoitusten lähettämiseen käytettävä sähköpostiosoite."
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "Julkinen 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 "Ota viestintä käyttöön"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Ota käyttöön viestintä Modoboan julkisen API:n kanssa"
-#: 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 "Tarkista uudet versiot"
-#: 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 "Tarkistaa automaattisesti, onko uudempi versio saatavana"
-#: 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 "Lähetä sähköpostia, kun uusia versioita löytyy"
-#: 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 "Lähetä sähköpostiviesti, joka ilmoittaa ylläpitäjille uusista versioista"
+msgstr ""
+"Lähetä sähköpostiviesti, joka ilmoittaa ylläpitäjille uusista versioista"
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr "Vastaanottaja"
-#: 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 "Uusia versioita koskevien ilmoitussähköpostiviestien vastaanottaja."
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Lähetä tilastot"
-#: 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 "Lähetä tilastoja Modoboan julkiseen API:han (laskurit ja käytetyt laajennukset)"
+msgstr ""
+"Lähetä tilastoja Modoboan julkiseen API:han (laskurit ja käytetyt "
+"laajennukset)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Sekalaiset"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Inaktiivisen tilin kynnysarvo"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Inaktiivisen tilin kynnysarvo"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Tiliä, jonka viimeisin kirjautumispäivä on suurempi kuin tämä kynnysarvo (päivinä), pidetään inaktiivisena"
+#: 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 ""
+"Tiliä, jonka viimeisin kirjautumispäivä on suurempi kuin tämä kynnysarvo "
+"(päivinä), pidetään inaktiivisena"
-#: 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 "Ylimpien ilmoitusten tarkistusväli"
-#: 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 "Kahden ylimmän ilmoituksen tarkistuksen välinen aika (sekunteina)"
-#: 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 "Lokitiedoston enimmäisikä"
-#: 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 "Lokitietueen enimmäisikä päivinä"
-#: 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 "Kohteita per sivu"
-#: 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 "Näytettävien kohteiden määrä sivua kohti"
-#: 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 "Oletusarvoinen ylhäältä uudelleenohjaus"
-#: 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 "Oletusarvoinen uudelleenohjaus, jota käytetään, kun sovellusta ei ole määritetty"
+msgstr ""
+"Oletusarvoinen uudelleenohjaus, jota käytetään, kun sovellusta ei ole "
+"määritetty"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "Olet asettanut USE_TZ:n arvoksi False, mikä voi aiheuttaa ongelmia kesä- ja talviajan vaihtuessa. (Sama paikallinen aika esiintyy kahdesti kellon vaihtumisen vuoksi)."
+#: 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 ""
+"Olet asettanut USE_TZ:n arvoksi False, mikä voi aiheuttaa ongelmia kesä- ja "
+"talviajan vaihtuessa. (Sama paikallinen aika esiintyy kahdesti kellon "
+"vaihtumisen vuoksi)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Aseta `USE_TZ = True` tiedostossa settings.py"
@@ -2076,31 +2317,31 @@ msgstr "Harjoitus"
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Vanha salasana"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Uusi salasana"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Vanhat salasanat eivät vastaa toisiaan"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Salasanat eivät täsmää"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Ota API-yhteys käyttöön"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr "Tarkistuskoodi"
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr "Virheellinen koodi"
@@ -2117,20 +2358,20 @@ msgstr "muokattu"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s käyttäjältä %(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 tekijänä "
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "poistettu"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "käyttäjä {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "hallintakomento"
@@ -2138,137 +2379,139 @@ msgstr "hallintakomento"
msgid "You can't delete your own account"
msgstr "Et voi poistaa omaa tiliäsi"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Yksi tai useampi päivitys on saatavilla"
-#: 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] Päivitys(kset) saatavilla"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Salli postilaatikoiden käyttöoikeus"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Salli tämän järjestelmänvalvojan pääsy käyttäjien postilaatikoihin"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "salasana"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "kieli"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Suositeltava kieli sivujen näyttämiseen."
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Vaihtoehtoista sähköpostiosoitetta voidaan käyttää palautukseen."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Salasanan päivittäminen epäonnistui: LDAP-moduulia ei ole asennettu"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "tili"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Tuntematon"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Et voi tuoda tiliä, jonka rooli on suurempi kuin omasi"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
-msgstr "Yksinkertaisella käyttäjällä '%s' on oltava voimassa oleva sähköpostiosoite"
+msgstr ""
+"Yksinkertaisella käyttäjällä '%s' on oltava voimassa oleva sähköpostiosoite"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
-msgstr "käyttäjätunnus ja sähköpostiosoite eivät saa erota toisistaan kentissä '%s'"
+msgstr ""
+"käyttäjätunnus ja sähköpostiosoite eivät saa erota toisistaan kentissä '%s'"
-#: 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] "Salasanan on sisällettävä vähintään {}-numero."
msgstr[1] "Salasanan on sisällettävä vähintään {} numeroa."
-#: 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] "Salasanan on sisällettävä vähintään {} pientä kirjainta."
msgstr[1] "Salasanan on sisällettävä vähintään {} pientä kirjainta."
-#: 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] "Salasanan on sisällettävä vähintään {} isoa kirjainta."
msgstr[1] "Salasanan on sisällettävä vähintään {} isoa kirjainta."
-#: 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] "Salasanan on sisällettävä vähintään {} erikoismerkki."
msgstr[1] "Salasanan on sisällettävä vähintään {} erikoismerkkiä."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr "Salasanan on sisällettävä yhdistelmä erilaisia merkkejä."
-#: 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-päätepiste"
-#: 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 Europe"
-#: 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 Pohjois-Amerikka"
-#: 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 Eurooppa"
-#: 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 Pohjois-Amerikka"
-#: 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 Eurooppa"
-#: 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 Pohjois-Amerikka"
-#: 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 "Sovellusavain"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr "Sovelluksen salainen avain"
-#: 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 "Asiakkaan avain"
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Application secret"
msgid "Appication secret"
@@ -2295,8 +2538,12 @@ msgid "Latest news"
msgstr "Ajankohtaista"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Lisätietoja virallisesta blogista."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Lisätietoja virallisesta blogista."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2308,8 +2555,12 @@ msgstr "Hallitse Modoboa API:n käyttöä"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "API:n dokumentaatio on saatavilla täällä."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"API:n dokumentaatio on saatavilla täällä."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2320,7 +2571,7 @@ msgstr "API-käyttötunniste"
msgid "Hello %(user)s."
msgstr "Hei %(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 "Tiedot"
@@ -2334,7 +2585,8 @@ msgstr "Yksi tai useampi päivitys on saatavilla!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Tarkista seuraavasta luettelosta komponentti(t), jotka voidaan päivittää."
+msgstr ""
+"Tarkista seuraavasta luettelosta komponentti(t), jotka voidaan päivittää."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2352,7 +2604,7 @@ msgstr "Viimeisin versio"
msgid "Active users"
msgstr "Aktiiviset käyttäjät"
-#: 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 "Lokit"
@@ -2382,7 +2634,7 @@ msgstr[1] ""
"\n"
" Seuraavat päivitykset ovat saatavilla:\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 "Parametrit"
@@ -2399,12 +2651,12 @@ msgstr "Tallenna"
msgid "Modoboa settings"
msgstr "Modoboan asetukset"
-#: 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 "Asetukset"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Asetukset"
@@ -2424,7 +2676,7 @@ msgstr "Päivitä henkilökohtaiset tietosi"
msgid "Click here to update your password"
msgstr "Klikkaa tästä päivittääksesi salasanasi"
-#: 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 "Turvallisuus"
@@ -2433,7 +2685,9 @@ msgid "Two-Factor authentication"
msgstr "Kaksivaiheinen tunnistus"
#: 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."
+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 ""
"Asenna soft token -autentikointiohjelma, kuten FreeOTP tai Google\n"
" Authenticator sovelluskaupasta ja käytä \n"
@@ -2448,12 +2702,17 @@ msgid "Register"
msgstr "Rekisteröidy"
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr "Onnittelut! Kaksivaiheinen tunnistus on nyt käytössä tililläsi."
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
"Näitä palautuskoodeja voidaan käyttää kutakin kerran. Näin voit\n"
" saada tilisi takaisin, jos esimerkiksi kadotat puhelimesi.\n"
@@ -2464,17 +2723,29 @@ msgstr ""
msgid "Two-Factor Authentication is enabled for your account."
msgstr "Kaksivaiheinen tunnistautuminen on käytössä tililläsi."
+#: 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 "Poista kaksivaiheinen tunnistautuminen (2FA) käytöstä"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
-msgstr "Kaksivaiheista tunnistusta (2FA) ei ole vielä aktivoitu tilillesi. Tämän ominaisuuden käyttöönotto lisää tilisi turvallisuutta."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
+msgstr ""
+"Kaksivaiheista tunnistusta (2FA) ei ole vielä aktivoitu tilillesi. Tämän "
+"ominaisuuden käyttöönotto lisää tilisi turvallisuutta."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2488,71 +2759,77 @@ msgstr "Uudet palautuskoodit"
msgid "Here are your new recovery codes. "
msgstr "Tässä ovat uudet palautuskoodit. "
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Salakirjoita salasanat"
+
#: 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 "Kirjaudu ulos"
-#: 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 "Modoboan ydinosa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Tallennetut parametrit"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "Käyttäjätunnuksesi ja salasanasi eivät täsmää. Yritä uudelleen."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Käyttäjä '{}' kirjautui onnistuneesti ulos"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profiili päivitetty"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Asetukset tallennettu"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Oikeudet päivitetty"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
#, fuzzy
#| msgid "LDAP settings"
msgid "DNS settings"
msgstr "LDAP-asetukset"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
#, fuzzy
#| msgid "No MX record for %s"
msgid "Show DMARC report for {}"
msgstr "Ei MX-tietuetta %s"
-#: 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
#, fuzzy
#| msgid "Not defined"
msgid "Not resolved"
@@ -2598,11 +2875,11 @@ msgstr "Toisen palvelimen portti"
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2682,95 +2959,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr "Väärä ip4-mekanismin syntaksi"
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr "Väärä IPv4-osoitteen muoto"
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr "Väärä ip6-mekanismin syntaksi"
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr "Väärä IPv6-osoitteen muoto"
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr "Virheellinen syntaksi {}-mekanismille"
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr "Virheellinen maski löydetty {}"
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr "Tämä ei ole SPF-tietue"
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr "Tuntematon mekanismi {}"
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr "Tuntematon muunnin {}"
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr "Havaittu kaksoismuunnin {}"
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr "Mekanismia ei löydetty"
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr "DKIM-tietue ei kelpaa"
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr "Virheellinen tunniste {}"
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr "Tietueesta ei löytynyt avainta"
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr "Väärä arvo {} tunnisteelle {}"
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr "Väärä arvo {} tunnisteelle {}:"
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr " ei kokonaisluku"
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr " pienempi kuin {}"
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr " on suurempi kuin {}"
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr "Epäkelpo DMARC-tietue"
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr "Tuntematon tunniste {}"
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr "Puuttuu vaadittu p-tunniste"
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr "Julkiset avaimet eivät täsmää"
@@ -2799,8 +3076,12 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr "DNS-tietue on löydetty, mutta sen syntaksi ei ole oikein:"
#: 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 "Tässä on esimerkki DNS-konfiguraatiosta (bind-muodossa). Korvaa [ ]:n välissä olevat arvot sopivilla arvoilla."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
+msgstr ""
+"Tässä on esimerkki DNS-konfiguraatiosta (bind-muodossa). Korvaa [ ]:n "
+"välissä olevat arvot sopivilla arvoilla."
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
msgid "IP address of your Modoboa server"
@@ -2815,7 +3096,7 @@ msgstr "Automaattinen asetusten määrittäminen"
msgid "hostname of your automx server"
msgstr "automx-palvelimen nimi"
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr "{} tietueesta {}"
@@ -2823,97 +3104,105 @@ msgstr "{} tietueesta {}"
msgid "Auto configuration records for {}"
msgstr "Automaattisen määrityksen asetukset {}"
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr "DNS-määritykset"
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Oikeudet päivitetty"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration"
msgstr "Ota DKIM-allekirjoitus käyttöön"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration."
msgstr "Ota DKIM-allekirjoitus käyttöön"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83
+#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
#, fuzzy
#| msgid "Create aliases"
msgid "Create Folders"
msgstr "Luo aliaksia"
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
#, fuzzy
#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
msgstr "LDAP-asetukset"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "Auto configuration"
msgid "IMAP Migration"
msgstr "Automaattinen asetusten määrittäminen"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
@@ -2922,52 +3211,52 @@ msgstr ""
msgid "IMAP migration"
msgstr "Hallinnointinäkymä"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "LDAP-tilin luominen epäonnistui: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "LDAP-tilin päivittäminen epäonnistui: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "LDAP-tilin poistaminen epäonnistui: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "LDAP-tilin poistaminen käytöstä epäonnistui: {}"
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Ota käyttöön viestintä Modoboan julkisen API:n kanssa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Yhteyttä tietokantaan %s ei ole määritetty"
-#: 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 "ei pysty määrittämään merkkijonon koodausta"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Lupa evätty: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Lupa evätty"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Syötä kelvollinen verkkotunnus"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Syötä oikean muotoinen sähköpostiosoite."
@@ -2977,133 +3266,176 @@ msgstr "Syötä oikean muotoinen sähköpostiosoite."
msgid "Submit"
msgstr "Lähetä"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Salasanan päivitys epäonnistui: {}"
-#: 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 "Aihe"
-#: 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 "Oletusarvoiset järjestelmänvalvojakohtaiset rajoitukset"
-#: 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 "Ota käyttöön järjestelmänvalvojakohtaiset rajoitukset"
-#: 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 "Ota käyttöön tai poista käytöstä järjestelmänvalvojakohtaiset rajoitukset"
+msgstr ""
+"Ota käyttöön tai poista käytöstä järjestelmänvalvojakohtaiset rajoitukset"
-#: 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 "Verkkotunnuksen ylläpitäjät"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden järjestelmänvalvojan sallittujen verkkotunnusten järjestelmänvalvojien enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden järjestelmänvalvojan sallittujen verkkotunnusten järjestelmänvalvojien"
+" enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman "
+"määrän luomisen)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden järjestelmänvalvojan sallittujen verkkotunnusten enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden järjestelmänvalvojan sallittujen verkkotunnusten enimmäismäärä. (0 "
+"kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden järjestelmänvalvojan sallittujen verkkotunnusten enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden järjestelmänvalvojan sallittujen verkkotunnusten enimmäismäärä. (0 "
+"kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden järjestelmänvalvojan sallittujen postilaatikoiden enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden järjestelmänvalvojan sallittujen postilaatikoiden enimmäismäärä. (0 "
+"kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden järjestelmänvalvojan sallittujen aliasten enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden järjestelmänvalvojan sallittujen aliasten enimmäismäärä. (0 kieltää "
+"kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
-msgstr "Kiintiö, jonka jälleenmyyjä saa jakaa luomiensa verkkotunnusten kesken. (0 tarkoittaa, ettei kiintiötä ole)"
+#: 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 ""
+"Kiintiö, jonka jälleenmyyjä saa jakaa luomiensa verkkotunnusten kesken. (0 "
+"tarkoittaa, ettei kiintiötä ole)"
-#: 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 "Oletusarvoiset verkkotunnuskohtaiset rajoitukset"
-#: 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 "Ota käyttöön verkkotunnuskohtaiset rajoitukset"
-#: 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 "Ota käyttöön tai poista käytöstä verkkotunnuskohtaiset rajoitukset"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden verkkotunnuksen sallittujen ylläpitäjien enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden verkkotunnuksen sallittujen ylläpitäjien enimmäismäärä. (0 kieltää "
+"kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden verkkotunnuksen sallittujen aliasten enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden verkkotunnuksen sallittujen aliasten enimmäismäärä. (0 kieltää kaiken "
+"luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden verkkotunnuksen sallittujen postilaatikoiden enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden verkkotunnuksen sallittujen postilaatikoiden enimmäismäärä. (0 kieltää"
+" kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Uuden verkkotunnuksen sallittujen aliasten enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+#: 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 ""
+"Uuden verkkotunnuksen sallittujen aliasten enimmäismäärä. (0 kieltää kaiken "
+"luomisen, -1 sallii rajoittamattoman määrän luomisen)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Rajoitukset"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Verkkotunnusten enimmäismäärä, jonka tämä käyttäjä voi luoda"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Verkkotunnusten aliasten enimmäismäärä, jonka tämä käyttäjä voi luoda"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Postilaatikoiden enimmäismäärä, jonka tämä käyttäjä voi luoda"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr "Postilaatikon aliasten enimmäismäärä, jonka tämä käyttäjä voi luoda"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Verkkotunnuksen ylläpitäjien enimmäismäärä, jonka tämä käyttäjä voi luoda"
+msgstr ""
+"Verkkotunnuksen ylläpitäjien enimmäismäärä, jonka tämä käyttäjä voi luoda"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Tämän jälleenmyyjän verkkotunnusten kesken jaettu kiintiö"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Tämän verkkotunnuksen aliaksien enimmäismäärä."
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Tämän verkkotunnuksen postilaatikoiden enimmäismäärä."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Tämän verkkotunnuksen postilaatikkoaliaksien enimmäismäärä."
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Tämän verkkotunnuksen ylläpitäjien enimmäismäärä."
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Virheellinen raja"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Resurssit"
@@ -3116,11 +3448,11 @@ msgstr "%s: raja saavutettu"
msgid "Not enough resources"
msgstr "Resurssit eivät riitä"
-#: 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 "Et saa määritellä rajoittamattomia arvoja"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "rajoittamaton"
@@ -3129,91 +3461,91 @@ msgstr "rajoittamaton"
msgid "Resources usage"
msgstr "Resurssien käyttö"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Polku lokitiedostoon"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Polku tilastojen keräämiseen käytettävään lokitiedostoon"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Hakemisto, johon RRD-tiedostot tallennetaan"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Polku hakemistoon, johon RRD-tiedostot on tallennettu"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr "Näytä harmaalle listalle merkityt viestit"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr "Kovien ja pehmeiden hylkäysten erottaminen toisistaan (greylisting)"
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Tilastot"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr "Rrdtoolsin binääritiedostoa ei löydy."
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Keskimääräinen liikenne (msgs/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "lähetetyt viestit"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "vastaanotetut viestit"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "palautuneet viestit"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "hylätyt viestit"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr "virusviestit"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr "roskapostiviestit"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr "harmaalla listalla olevat viestit"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Keskimääräinen normaali liikennekoko (tavua/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "vastaanotettu koko"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "lähetetty koko"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Postiliikenne"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr "Keskimääräinen tilin luominen (tili/tunti)"
@@ -3241,199 +3573,205 @@ msgstr "Käytä"
msgid "No statistics available"
msgstr "Tilastoja ei ole saatavilla"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Päivä"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Viikko"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Kuukausi"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Vuosi"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Mukautettu"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Tuntematon graafinen sarja"
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr "Tuntematon verkkotunnus %s"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Väärä mukautettu ajanjakso"
-#: 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
#, fuzzy
#| msgid "Update your personal information"
msgid "Personal account information"
msgstr "Päivitä henkilökohtaiset tietosi"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Hakemistoa ei löydy."
-#: pdfcredentials/api/v2/serializers.py:76 pdfcredentials/views.py:28
+#: pdfcredentials/api/v2/serializers.py:82 pdfcredentials/views.py:26
#, fuzzy
#| msgid "No information available for this domain."
msgid "No document available for this user"
msgstr "Tältä verkkotunnukselta ei ole saatavilla tietoja."
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "Enable SPF checks"
msgid "Enable PDF credentials"
msgstr "Ota SPF-tarkistukset käyttöön"
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: pdfcredentials/app_settings.py:33 pdfcredentials/app_settings.py:134
+#: pdfcredentials/app_settings.py:48 pdfcredentials/app_settings.py:206
#, fuzzy
#| msgid "Directory to store RRD files"
msgid "Directory to save documents into"
msgstr "Hakemisto, johon RRD-tiedostot tallennetaan"
-#: pdfcredentials/app_settings.py:35 pdfcredentials/app_settings.py:136
+#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:208
#, fuzzy
#| msgid "Path to directory where RRD files are stored"
msgid "Path to a directory where PDF documents will be saved"
msgstr "Polku hakemistoon, johon RRD-tiedostot on tallennettu"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
#, fuzzy
#| msgid "Security"
msgid "Security options"
msgstr "Turvallisuus"
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
#, fuzzy
#| msgid "spam messages"
msgid "Custom message"
msgstr "roskapostiviestit"
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "SMTP server address"
msgstr "Palvelimen osoite"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "SMTP server port"
msgstr "Palvelimen portti"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "IMAP server address"
msgstr "Palvelimen osoite"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "IMAP server port"
msgstr "Palvelimen portti"
-#: 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 ""
-#: 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 ""
@@ -3441,15 +3779,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3458,42 +3796,48 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
#, fuzzy
#| msgid "Change password"
msgid "Please change your password!"
msgstr "Vaihda salasana"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
#, fuzzy
#| msgid "Auto configuration"
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Automaattinen asetusten määrittäminen"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3502,27 +3846,168 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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
+msgid "Daily sending limit reached"
+msgstr "Päivittäinen lähetysraja saavutettu"
+
+#: policyd/core.py:125
+msgid "[modoboa] Sending limit reached"
+msgstr "[modoboa] Lähetysraja saavutettu"
+
+#: policyd/templates/policyd/notifications/limit_reached.html:3
+#, python-format
+msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
+msgstr "Seuraavien %(ltype)s päivittäinen raja on saavutettu: %(name)s."
+
+#: postfix_autoreply/api/v2/serializers.py:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This code is invalid"
+msgid "This date is over"
+msgstr "Tämä koodi on virheellinen"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Ei voi olla suurempi kuin verkkotunnuksen kiintiö"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Tilin automaattinen poistaminen"
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Verkkotunnuksen oletuskiintiö"
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "spam messages"
+msgid "Auto-reply message"
+msgstr "roskapostiviestit"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "Aihe"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 "Ei tuettu palvelu"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr "Kuljetusasetukset"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr "Siirto"
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr "kohde-isäntäkoneen osoite"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "kohde-isännän portti"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "tarkistaa vastaanottajat"
@@ -3592,16 +4077,22 @@ msgstr "Unohditko salasanasi?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "Salasanasi on asetettu. Voit nyt kirjautua sisään."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"Salasanasi on asetettu. Voit nyt kirjautua sisään."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Vaihda salasana"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Salasananvaihtolinkkisi vaikuttaa vialliselta. Tilaa uusi vaihtolinkki."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Salasananvaihtolinkkisi vaikuttaa vialliselta. Tilaa uusi vaihtolinkki."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3612,19 +4103,35 @@ msgid "Resend code"
msgstr "Lähetä koodi uudelleen"
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "
Olemme lähettäneet sinulle sähköpostitse ohjeet salasanasi asettamista varten, jos tili on olemassa antamallasi sähköpostiosoitteella. Sinun pitäisi saada ne pian.
Jos et saa sähköpostia, varmista, että olet syöttänyt ensisijaisen osoitteesi, ja tarkista roskapostikansiosi.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"
Olemme lähettäneet sinulle sähköpostitse ohjeet salasanasi asettamista "
+"varten, jos tili on olemassa antamallasi sähköpostiosoitteella. Sinun "
+"pitäisi saada ne pian.
Jos et saa sähköpostia, varmista, että olet "
+"syöttänyt ensisijaisen osoitteesi, ja tarkista roskapostikansiosi.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Voit aloittaa %(username)s Modoboa-tilisi salasanan palautusprosessin klikkaamalla alla olevaa linkkiä:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Voit aloittaa %(username)s Modoboa-tilisi salasanan palautusprosessin "
+"klikkaamalla alla olevaa linkkiä:"
#: 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 "Jos yllä olevaa linkkiä klikkaamalla ei onnistu, kopioi ja liitä URL-osoite uuteen selainikkunaan."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Jos yllä olevaa linkkiä klikkaamalla ei onnistu, kopioi ja liitä URL-osoite "
+"uuteen selainikkunaan."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3643,27 +4150,21 @@ msgstr "Modoboa-salasanan palautus"
msgid "Invalid value"
msgstr "Virheellinen arvo"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr "malli"
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr "palvelu"
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr "seuraava hyppy"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "Päivittäinen lähetysraja saavutettu"
-
-#~ msgid "[modoboa] Sending limit reached"
-#~ msgstr "[modoboa] Lähetysraja saavutettu"
-
-#, python-format
-#~ msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
-#~ msgstr "Seuraavien %(ltype)s päivittäinen raja on saavutettu: %(name)s."
+#, fuzzy
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Alias tällä nimellä on jo olemassa"
#~ msgid "Mailboxes owner"
#~ msgstr "Postilaatikoiden omistaja"
diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po
index 04842301c..9b34ca62b 100644
--- a/modoboa/locale/fr/LC_MESSAGES/django.po
+++ b/modoboa/locale/fr/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:
# Antoine Nguyen , 2016-2017,2020,2023
# Christophe CHAUVET , 2018
@@ -15,528 +15,605 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Antoine Nguyen , 2016-2017,2020,2023\n"
"Language-Team: French (http://app.transifex.com/tonio/modoboa/language/fr/)\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: fr\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
-msgstr "Quota partagé entre les boîtes aux lettres. Peut être exprimé en Ko, Mo (défaut) ou Go. Une valeur à 0 signifie pas de quota."
+msgstr ""
+"Quota partagé entre les boîtes aux lettres. Peut être exprimé en Ko, Mo "
+"(défaut) ou Go. Une valeur à 0 signifie pas de quota."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Quota par défaut en Mo appliqué aux boîtes aux lettres. Une valeur à 0 signifie pas de quota."
+msgstr ""
+"Quota par défaut en Mo appliqué aux boîtes aux lettres. Une valeur à 0 "
+"signifie pas de quota."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Aucun enregistrement MX autorisé trouvé pour ce domaine"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Ne peut pas être supérieur au quota du domaine"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permission refusée."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Ce champ est requis"
-#: admin/api/v1/serializers.py:186
+#: admin/api/v1/serializers.py:235
msgid ""
"List of administered domains (resellers and domain administrators only)."
-msgstr "Liste des domaines administrés (revendeurs et administrateurs de domaine seulement)."
+msgstr ""
+"Liste des domaines administrés (revendeurs et administrateurs de domaine "
+"seulement)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Non autorisé pour ce rôle."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Doit être égale au champ full_address dans mailbox"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97
-#: core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Ce champ est requis."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Le domaine local {} n'existe pas"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Une liste de destinataire"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "L'utilisateur '%s' existe déjà"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Vous n'avez pas accès à ce domaine."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Vous n'avez pas accès à cette boîtes aux lettres."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr "Voici votre nouveau mot de passe Modoboa :"
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "L'utilisateur '%s' existe déjà"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Doit être un entier positif"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Répertoire introuvable."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
msgid "Directory non-writable"
msgstr "Répertoire inaccessible en écriture"
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
-msgstr "impossible de trouver openssl, veuillez vous assurer vous qu'il est installé."
+msgstr ""
+"impossible de trouver openssl, veuillez vous assurer vous qu'il est "
+"installé."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Ce champ n'autorise que des adresses IP correctes (ou des réseaux)"
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
-msgstr "Veuillez désactiver la migration IMAP avant de désactiver cette option"
+msgstr ""
+"Veuillez désactiver la migration IMAP avant de désactiver cette option"
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Définissez au moins un réseau / une adresse autorisé"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
msgid "A mailbox is required to create aliases."
msgstr "Une boîte aux lettres est requises pour créer des alias"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
msgid "Unknown status"
msgstr "Statut inconnu"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Vous n'avez pas accès à ce domaine"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Vous ne pouvez pas supprimer votre propre domaine"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr "Aucun ID d'alarme fourni"
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr "ID(s) incorrect(s) d'alarme(s) reçu(s)"
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domaines"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Activer la vérification des MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Vérifie que chaque domaine a un enregistrement MX valide"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "MX(s) valide(s)"
-#: admin/app_settings.py:37 admin/app_settings.py:312
+#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
"A list of IP or network address every MX record should match. A warning will"
" be sent if a record does not respect it."
-msgstr "Une liste d'adresses IP ou réseau que chaque enregistrement MX doit respecter. Un avertissement sera envoyé dès qu'un enregistrement ne la respecte pas."
+msgstr ""
+"Une liste d'adresses IP ou réseau que chaque enregistrement MX doit "
+"respecter. Un avertissement sera envoyé dès qu'un enregistrement ne la "
+"respecte pas."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Les nouveaux domaines doivent utiliser un ou plusieurs MX autorisés"
-#: admin/app_settings.py:48 admin/app_settings.py:321
+#: admin/app_settings.py:46 admin/app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
-msgstr "Empêcher la création d'un domaine s'il n'a pas au moins un MX utilisant une adresse autorisée."
+msgstr ""
+"Empêcher la création d'un domaine s'il n'a pas au moins un MX utilisant une "
+"adresse autorisée."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable SPF checks"
+msgid "Enable IPV6 checks"
+msgstr "Activer les tests SPF"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr "Activer les tests SPF"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr "Vérifie que chaque domaine a un enregistrement SPF valide"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr "Activer les tests DKIM"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "Vérifie que chaque domaine ayant la signature DKIM activée dispose d'un enregistrement DNS valide"
+msgstr ""
+"Vérifie que chaque domaine ayant la signature DKIM activée dispose d'un "
+"enregistrement DNS valide"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr "Activer les tests DMARC"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr "Vérifie que chaque domaine a un enregistrement DMARC valide"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr "Activer les tests d'autoconfiguration"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
-msgstr "Vérifie que chaque domaine a les enregistrements nécessaires à l'autoconfiguration"
+msgstr ""
+"Vérifie que chaque domaine a les enregistrements nécessaires à "
+"l'autoconfiguration"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Activer les vérifications DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Vérifie chaque domaine auprès des fournisseurs de DNSBL"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Serveur DNS personnalisé"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
-msgstr "Utiliser un serveur DNS personnalisé à la place de la configuration par défaut du serveur"
+msgstr ""
+"Utiliser un serveur DNS personnalisé à la place de la configuration par "
+"défaut du serveur"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Répertoire de stockage des clés DKIM"
-#: admin/app_settings.py:107 admin/app_settings.py:367
+#: admin/app_settings.py:104 admin/app_settings.py:398
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
"world."
-msgstr "Chemin absolu du répertoire dans lequel seront stockées les clés DKIM. Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il n'est pas lisible par le monde extérieur."
+msgstr ""
+"Chemin absolu du répertoire dans lequel seront stockées les clés DKIM. "
+"Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il "
+"n'est pas lisible par le monde extérieur."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Taille par défaut d'une clé DKIM"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Taille par défaut en octets des clés DKIM nouvellement générées."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Quota de domaine par défaut"
-#: admin/app_settings.py:127 admin/app_settings.py:381
+#: admin/app_settings.py:122 admin/app_settings.py:418
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
-msgstr "Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué."
+msgstr ""
+"Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne "
+"spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr "Limite d'envoi par défaut du domaine"
-#: admin/app_settings.py:136 admin/app_settings.py:388
+#: admin/app_settings.py:131 admin/app_settings.py:428
msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
-msgstr "Nombre maximal de messages que les nouveaux domaines seront autorisés à envoyer par jour. Laisser vide pour n'indiquer aucune limite."
+msgstr ""
+"Nombre maximal de messages que les nouveaux domaines seront autorisés à "
+"envoyer par jour. Laisser vide pour n'indiquer aucune limite."
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Boites"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Gérer les boites sur le système de fichiers"
-#: admin/app_settings.py:147 admin/app_settings.py:400
+#: admin/app_settings.py:142 admin/app_settings.py:448
msgid ""
"Rename or remove mailboxes on the filesystem when they get renamed or "
"removed within Modoboa"
-msgstr "Renommer ou supprimer les boites sur le système de fichiers quand elles sont renommées ou supprimées dans Modoboa"
+msgstr ""
+"Renommer ou supprimer les boites sur le système de fichiers quand elles sont"
+" renommées ou supprimées dans Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405
-#: admin/forms/domain.py:49 admin/models/domain.py:32
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Quota par défaut pour une boîte aux lettres"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
-msgstr "Quota par défaut utilisé pour les boîtes aux lettres nouvellement créés. Une valeur à 0 signifie pas de quota."
+msgstr ""
+"Quota par défaut utilisé pour les boîtes aux lettres nouvellement créés. Une"
+" valeur à 0 signifie pas de quota."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr "Limite d'envoi par défaut d'une boîte aux lettres"
-#: admin/app_settings.py:165 admin/app_settings.py:415
+#: admin/app_settings.py:160 admin/app_settings.py:469
msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
-msgstr "Nombre maximal de messages que les nouveaux comptes seront autorisés à envoyer par jour. Laisser vide pour n'indiquer aucune limite."
+msgstr ""
+"Nombre maximal de messages que les nouveaux comptes seront autorisés à "
+"envoyer par jour. Laisser vide pour n'indiquer aucune limite."
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Suppression automatique de compte"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en même temps"
+msgstr ""
+"Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en "
+"même temps"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Création automatique de domaine/boite aux lettres"
-#: admin/app_settings.py:181 admin/app_settings.py:428
+#: admin/app_settings.py:177 admin/app_settings.py:491
msgid ""
"Create a domain and a mailbox when an account is automatically created."
-msgstr "Créer un domaine et une boite aux lettres quand un compte est créé automatiquement."
+msgstr ""
+"Créer un domaine et une boite aux lettres quand un compte est créé "
+"automatiquement."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Créer un alias quand une boite aux lettres est renommée"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres est renommée."
+msgstr ""
+"Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres "
+"est renommée."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
-msgstr "Quota par défaut (en Mo) appliqué aux nouveaux domaines quand aucune valeur n'est spécifiée. Une valeur de 0 signifie pas de quota."
+msgstr ""
+"Quota par défaut (en Mo) appliqué aux nouveaux domaines quand aucune valeur "
+"n'est spécifiée. Une valeur de 0 signifie pas de quota."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Administration"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domaine"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Domaine relais"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr "Ouverte"
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr "Fermée"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nom d'utilisateur"
-#: admin/forms/account.py:34
+#: admin/forms/account.py:31
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
-msgstr "Le nom de l'utilisateur. Doit être une adresse e-mail valide pour les utilisateurs simples ou les administrateurs avec une boite aux lettres."
+msgstr ""
+"Le nom de l'utilisateur. Doit être une adresse e-mail valide pour les "
+"utilisateurs simples ou les administrateurs avec une boite aux lettres."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rôle"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Choisir"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Quel niveau de permission cet utilisateur aura"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Mot de passe aléatoire"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:43
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
-msgstr "Générer un mot de passe aléatoire. Si vous modifiez ce compte et cochez cette case, un nouveau mot de passe sera généré."
+msgstr ""
+"Générer un mot de passe aléatoire. Si vous modifiez ce compte et cochez "
+"cette case, un nouveau mot de passe sera généré."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Mot de passe"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Confirmation"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Entrer le même mot de passe, pour vérification."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Activé"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Seuls les super administrateurs sont autorisés pour ce mode"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Les deux mots de passe ne correspondent pas."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Vous ne pouvez pas désactiver votre propre compte"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Créer un alias en utilisant l'ancienne adresse"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
msgid ""
"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
" custom value or use domain's default one. Leave empty to define an "
"unlimited value (not allowed for domain administrators)."
-msgstr "Quota pour cette boite. Peut être exprimé en Ko, Mo (défaut) ou Go. Définir une valeur spécifique ou utiliser la valeur par défaut du domaine. Laisser vide pour définir une valeur illimitée (interdit pour les admins. de domaine)."
+msgstr ""
+"Quota pour cette boite. Peut être exprimé en Ko, Mo (défaut) ou Go. Définir "
+"une valeur spécifique ou utiliser la valeur par défaut du domaine. Laisser "
+"vide pour définir une valeur illimitée (interdit pour les admins. de "
+"domaine)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Limite d'envoi des messages"
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr "Nombre de messages que ce compte peut envoyer par jour"
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:256
+#: admin/forms/account.py:269
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
-msgstr "Alias de cette boîte aux lettres. Indiquer une adresse par champ, appuyer sur ENTREE pour ajouter un nouveau champ. Pour créer un alias 'fourre-tout', entrer seulement le nom du domaine (@domain.tld)."
+msgstr ""
+"Alias de cette boîte aux lettres. Indiquer une adresse par champ, appuyer "
+"sur ENTREE pour ajouter un nouveau champ. Pour créer un alias 'fourre-tout',"
+" entrer seulement le nom du domaine (@domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Adresses d'envoi"
-#: admin/forms/account.py:265
+#: admin/forms/account.py:278
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
-msgstr "Adresse(s) d'envoi supplémentaire(s) pour ce compte. L'utilisateur sera autorisé à envoyer des e-mails en utilisant la/les adresse(s) déclarée(s), même si elle(s) n'existe(nt) pas localement. Indiquer une adresse par champ. Appuyer sur ENTREE pour ajouter un nouveau champ."
+msgstr ""
+"Adresse(s) d'envoi supplémentaire(s) pour ce compte. L'utilisateur sera "
+"autorisé à envoyer des e-mails en utilisant la/les adresse(s) déclarée(s), "
+"même si elle(s) n'existe(nt) pas localement. Indiquer une adresse par champ."
+" Appuyer sur ENTREE pour ajouter un nouveau champ."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Domaine inexistant"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Le domaine local n'existe pas"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domaine(s)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domaine(s) que cet utilisateur administre"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Général"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Courrier"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Permissions"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Compte mis à jour"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nouveau compte"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Compte créé"
@@ -552,74 +629,82 @@ msgstr "Adresse email"
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
-msgstr "L'adresse de l'alias. Pour créer un alias \"fourre-tout\", saisissez uniquement le nom du domaine (@domain.tld)."
+msgstr ""
+"L'adresse de l'alias. Pour créer un alias \"fourre-tout\", saisissez "
+"uniquement le nom du domaine (@domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinataires"
-#: admin/forms/alias.py:33
+#: admin/forms/alias.py:34
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
-msgstr "Les adresses vers lesquelles cet alias pointera. Indiquer une adresse par champ, appuyer sur ENTREE pour ajouter un nouveau champ."
+msgstr ""
+"Les adresses vers lesquelles cet alias pointera. Indiquer une adresse par "
+"champ, appuyer sur ENTREE pour ajouter un nouveau champ."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Aucune destinataire défini"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Type"
-#: admin/forms/domain.py:34
+#: admin/forms/domain.py:38
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
-msgstr "Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE pour ajouter un nouveau champ."
+msgstr ""
+"Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE"
+" pour ajouter un nouveau champ."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Sélecteur de clé"
-#: admin/forms/domain.py:52
+#: admin/forms/domain.py:57
msgid ""
"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
"GB. A value of 0 means no quota."
-msgstr "Quota par défaut appliqué aux boîtes aux lettres. Peut être exprimé en Ko, Mo (défaut) ou Go. Une valeur à 0 signifie pas de quota."
+msgstr ""
+"Quota par défaut appliqué aux boîtes aux lettres. Peut être exprimé en Ko, "
+"Mo (défaut) ou Go. Une valeur à 0 signifie pas de quota."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "alias de domaine"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Un %s de ce nom existe déjà"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Répertoire de stockage des clés DKIM non configuré"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Vous ne pouvez pas définir de quota illimité"
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domaine"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Créer un administrateur de domaine"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Créer automatiquement un administrateur pour ce domaine"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -628,53 +713,55 @@ msgstr "Créer automatiquement un administrateur pour ce domaine"
msgid "Name"
msgstr "Nom"
-#: admin/forms/domain.py:241
+#: admin/forms/domain.py:255
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
-msgstr "Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera ajouté automatiquement."
+msgstr ""
+"Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera "
+"ajouté automatiquement."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Générer un mot de passe aléatoire pour cet administrateur."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Avec une boite aux lettres"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Créer une boite aux lettres pour l'administrateur"
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Créer des alias"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Créer automatiquement des alias standard pour ce domaine"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Format invalide"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domaine modifié"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Options"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Nouveau domaine"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domaine créé"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Séparateur"
@@ -682,23 +769,24 @@ msgstr "Séparateur"
msgid "Recipient(s)"
msgstr "Destinataire(s)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indiquer un ou plusieurs destinataires séparés par une ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Conserver des copies locales"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr "Transférer les messages et conserver une copie dans votre boite locale"
+msgstr ""
+"Transférer les messages et conserver une copie dans votre boite locale"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Sélectionner un fichier"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Continuer en cas d'erreur"
@@ -706,126 +794,131 @@ msgstr "Continuer en cas d'erreur"
msgid "Don't treat duplicated objects as error"
msgstr "Ne pas traiter les objets dupliqués comme des erreurs"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Chiffrer les mots de passe"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Cocher cette option si les mots de passe contenus dans votre fichier ne sont pas chiffrés"
+msgstr ""
+"Cocher cette option si les mots de passe contenus dans votre fichier ne sont"
+" pas chiffrés"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "L'import du compte a échoué (%s): le domaine n'existe pas"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "La boite {} existe déjà"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "L'import du compte a échoué (%s): mauvais quota"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identités"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Transfert"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Une boite aux lettres est requise"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Vous n'êtes pas autorisé à importer des domaines"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Vous n'êtes pas autorisé à importer des alias de domaine."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Aucun enregistrement DNS trouvé pour %s."
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Aucun enregistrement %(type)s trouvé pour %(name)s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Aucun serveur de noms fonctionnel trouvé"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "Timeout de résolution DNS, impossible de requêter %s pour l'instant"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr "Le nom DNS est trop long : %s"
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Format d'adresse IP incorrect pour {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "L'objet existe déjà : %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objets importés avec succès"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
-msgstr "Le fichier CSV n'est pas encodé en UTF-8, tentative de détermination de l'encodage"
+msgstr ""
+"Le fichier CSV n'est pas encodé en UTF-8, tentative de détermination de "
+"l'encodage"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Lire le fichier CSV en utilisant l'encodage %(encoding)s"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
-msgstr "Impossible de décoder le fichier CSV en utilisant l'encodage %(encoding)s"
+msgstr ""
+"Impossible de décoder le fichier CSV en utilisant l'encodage %(encoding)s"
#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
msgid "DKIM path non-writable"
msgstr "Chemin d'accès DKIM non accessible en écriture"
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "Le MX {} est listé par le fournisseur de DNSBL {}"
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr "Le domaine n'a pas d'enregistrement MX"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Le domaine {} n'a pas d'enregistrement MX"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr "Enregistrement MX incorrect : {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "Enregistrement MX invalide pour le domaine {0} : {1}"
@@ -834,149 +927,151 @@ msgstr "Enregistrement MX invalide pour le domaine {0} : {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] problème(s) de MX pour le domaine {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Domaine introuvable."
-#: admin/models/alias.py:37
-msgid "An alias with this name already exists."
-msgstr "Un alias de ce nom existe déjà."
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "Adresse"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "L'adresse de l'alias"
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "Activé"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Cocher pour activer cet alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Description"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Expire le"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Adresse invalide"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Destinataire local {}@{} introuvable"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
msgid "Invalid line: {}"
msgstr "Ligne incorrecte : {}"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "Nom"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Le nom du domaine"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr "Nombre de messages que ce domaine peut envoyer par jour"
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Cocher pour activer ce domaine"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Activer les tests DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Cocher pour activer les tests DNS pour ce domaine"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Activer la signature DKIM"
-#: admin/models/domain.py:59
+#: admin/models/domain.py:63
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Si vous activez cette fonctionnalité, une clé DKIM sera générée pour ce domain."
+msgstr ""
+"Si vous activez cette fonctionnalité, une clé DKIM sera générée pour ce "
+"domain."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Taille de la clé"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ligne invalide"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
msgid "{}: no authorized MX record found for domain"
msgstr "{} : aucun enregistrement MX autorisé n'a été trouvé pour ce domaine"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
msgid "{}: invalid quota value for domain"
msgstr "{} : valeur incorrecte de quota pour ce domaine"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
msgid "{}: invalid default mailbox quota value for domain"
-msgstr "{} : la valeur du quota par défaut des boîtes aux lettres est incorrecte pour ce domaine"
+msgstr ""
+"{} : la valeur du quota par défaut des boîtes aux lettres est incorrecte "
+"pour ce domaine"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "{} : le quota par défaut de la boîte aux lettres ne peut pas être supérieur au quota du domaine"
+msgstr ""
+"{} : le quota par défaut de la boîte aux lettres ne peut pas être supérieur "
+"au quota du domaine"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Le nom de l'alias"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "cible"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Le domaine vers lequel cet alias pointe"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Domaine %s inconnu"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Impossible de récuperer l'emplacement de la boite (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Un quota est requis"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
msgid "{}: domain quota exceeded"
msgstr "{} : quota du domaine dépassé"
@@ -1033,9 +1128,9 @@ msgstr "Quantité"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Alias de domaine"
@@ -1070,7 +1165,7 @@ msgstr "Créé"
msgid "Last login"
msgstr "Dernière connexion"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Email secondaire"
@@ -1079,7 +1174,7 @@ msgstr "Email secondaire"
msgid "Not defined"
msgstr "Non défini"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Numéro de téléphone"
@@ -1157,7 +1252,7 @@ msgstr "Alarms ouvertes pour"
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Date"
@@ -1181,9 +1276,9 @@ msgstr "Date de création"
msgid "Last modification date"
msgstr "Date de dernière modification"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Alias de boite"
@@ -1241,10 +1336,11 @@ msgstr "Attention"
#: admin/templates/admin/domain_detail.html:139
msgid ""
"DKIM keys already exist for this domain. Do you want to overwrite them?"
-msgstr "Des clés DKIM existent déjà pour ce domaine. Voulez vous les écraser ?"
+msgstr ""
+"Des clés DKIM existent déjà pour ce domaine. Voulez vous les écraser ?"
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Non"
@@ -1252,7 +1348,7 @@ msgstr "Non"
msgid "Generate new key"
msgstr "Générer une nouvelle clé"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Oui"
@@ -1265,7 +1361,7 @@ msgid "Administrators"
msgstr "Administrateurs"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Supprimer cette permission"
@@ -1302,13 +1398,13 @@ msgstr "ID de file"
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "De"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "À"
@@ -1339,9 +1435,10 @@ msgstr "Desactivé"
msgid "Automatically forward emails to another address"
msgstr "Transférer automatiquement les messages vers une autre adresse"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Mettre à jour"
@@ -1366,7 +1463,14 @@ msgid ""
"verify recipients
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.
"
-msgstr "Fournir un fichier CSV dans lequel les lignes respectent un des formats suivants :
Le premier "
+"élément de chaque ligne est obligatoire et doit être égal à l'une des "
+"valeurs présentées.
Vous pouvez utiliser un caractère différent en "
+"tant que séparateur.
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1404,7 +1515,9 @@ msgstr "Mis à jour"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Cette IP ne correspond à un aucun des MX valides déclarés dans les paramètres."
+msgstr ""
+"Cette IP ne correspond à un aucun des MX valides déclarés dans les "
+"paramètres."
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1415,108 +1528,121 @@ msgstr "Aucun enregistrement MX trouvé pour ce domaine."
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
-msgstr "Modoboa a détecté que le domaine %(domain)s est listé par les fournisseurs de DNSBL suivants :"
+msgstr ""
+"Modoboa a détecté que le domaine %(domain)s est listé par les fournisseurs "
+"de DNSBL suivants :"
#: 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 "La réputation de ce domaine sera affectée et il est probable que les emails venant de lui soient considérés comme du spam. Vous devriez contacter ces fournisseurs pour leur demander de délister la/les adresse(s) détectée(s)."
+msgstr ""
+"La réputation de ce domaine sera affectée et il est probable que les emails "
+"venant de lui soient considérés comme du spam. Vous devriez contacter ces "
+"fournisseurs pour leur demander de délister la/les adresse(s) détectée(s)."
#: 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 a détecté que le domain %(domain)s n'a aucun enregistrement MX valide :"
+msgstr ""
+"Modoboa a détecté que le domain %(domain)s n'a aucun enregistrement MX "
+"valide :"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Chercher"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "Activé"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "Activée"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Lister les domaines"
-#: 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 "Lister les quotas"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr "Historique des messages"
-#: 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 "Importer"
-#: 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 "Exporter"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Lister les identités"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Voir les identités du domaine"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr "Voir les alarmes du domaine"
-#: 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 "Modifier {}"
-#: 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 "Supprimer %s ?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Aucun enregistrement MX trouvé pour %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 "Format d'adresse IP incorrect pour %(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 "Aucun enregistrement MX trouvé pour %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Un alias de ce nom existe déjà"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Créer"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Nouvel alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias créé"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias modifié"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias supprimé"
@@ -1527,38 +1653,38 @@ msgstr[2] "Alias supprimés"
msgid "MX records of {}"
msgstr "Enregistrements MX de {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "Résumé DNSBL pour {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domaine supprimé"
msgstr[1] "Domaines supprimés"
msgstr[2] "Domaines supprimés"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Export d'identités"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Export de domaines"
-#: 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 "Requête invalide"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Compte supprimé"
msgstr[1] "Comptes supprimés"
msgstr[2] "Comptes supprimés"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importer des domaines"
@@ -1566,565 +1692,618 @@ msgstr "Importer des domaines"
msgid "Import identities"
msgstr "Importer des identités"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Transfert mis à jour"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr "Code PIN non valide"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr "2FA est déjà activf"
-#: 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 "Tentative de connexion infructueuse depuis '%s' en tant que '%s'"
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr "Mot de passe incorrect"
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr "Authentification 2 facteurs non activée"
-#: 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 "Locale"
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr "md5crypt (faible)"
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr "sha256 (faible)"
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr "md5 (faible)"
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr "crypt (faible)"
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr "clair (faible)"
-
-#: 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 "Profil utilisateur"
#: 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:165
msgid "Invalid syntax"
msgstr "Syntaxe invalide"
-#: 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 "Nombre invalide de tours"
-#: 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 "Ce code n'est pas valide"
-#: core/api/v2/serializers.py:274
-msgid "Invalid password"
-msgstr "Mot de passe incorrect"
-
-#: 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 "Veuillez utiliser le code suivant pour récupérer votre mot de passe Modoboa : {}"
+msgstr ""
+"Veuillez utiliser le code suivant pour récupérer votre mot de passe Modoboa "
+": {}"
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr "Tentative de connexion infructueuse depuis '%s' en tant que '%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 "Utiliseur '%s' connecté avec succès"
-#: 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 "La méthode de chiffrement du mot de passe diffère. Mise à jour du mot de passe de %s"
+msgstr ""
+"La méthode de chiffrement du mot de passe diffère. Mise à jour du mot de "
+"passe de %s"
#: core/api/v2/views.py:93 core/views/auth.py:75
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Le paramètre de hash du mot de passe ne correspond pas. Mise à jour %s du mot de passe"
+msgstr ""
+"Le paramètre de hash du mot de passe ne correspond pas. Mise à jour %s du "
+"mot de passe"
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Authentification"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Type d'authentification"
-#: 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 "Le backend utilisé pour l'authentification"
-#: 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 "Méthode de chiffrement par défaut"
-#: 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 "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres"
+msgstr ""
+"Méthode utilisée pour chiffrer les mots de passe des boites aux lettres"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Tours"
-#: 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 "Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit être compris entre 1000 et 999999999 inclue."
+msgstr ""
+"Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit "
+"être compris entre 1000 et 999999999 inclue."
-#: 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 "Mettre à jour la méthode de chiffrement du mot de passe à la connexion"
+msgstr ""
+"Mettre à jour la méthode de chiffrement du mot de passe à la connexion"
-#: 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 "Mise à jour du mot de passe utilisateur lors d'une connexion pour utiliser la méthode de chiffrement par défaut"
+msgstr ""
+"Mise à jour du mot de passe utilisateur lors d'une connexion pour utiliser "
+"la méthode de chiffrement par défaut"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Mot de passe par défaut"
-#: 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 "Mot de passe par défaut pour les comptes créés automatiquement."
-#: 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 "Taille d'un mot de passe aléatoire"
-#: 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 "Taille des mots de passe générés aléatoirement."
-#: 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 "URL de service de mise à jour du mot de passe"
-#: 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 "L'URL d'une page externe où les utilisateurs pourront mettre à jour leur mot de passe. Elle s'applique uniquement aux utilisateurs non locaux, c'est à dire ceux créés après une authentification externe réussie (LDAP, SMTP)."
+msgstr ""
+"L'URL d'une page externe où les utilisateurs pourront mettre à jour leur mot"
+" de passe. Elle s'applique uniquement aux utilisateurs non locaux, c'est à "
+"dire ceux créés après une authentification externe réussie (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 "Annonce pour la récupération de mot de passe"
-#: 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 "Un message temporaire qui sera affiché sur la page de récupération de mot de passe"
+msgstr ""
+"Un message temporaire qui sera affiché sur la page de récupération de mot de"
+" passe"
-#: 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 "Activer la récupération de mot de passe par 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 "Activer la récupération de mot de passe par SMS pour les utilisateurs ayant renseigné un numéro de téléphone"
+msgstr ""
+"Activer la récupération de mot de passe par SMS pour les utilisateurs ayant "
+"renseigné un numéro de téléphone"
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr "Fournisseur SMS"
-#: 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 "Choisir un fournisseur pour envoyer les SMS de récupération de mot de passe"
+msgstr ""
+"Choisir un fournisseur pour envoyer les SMS de récupération de mot de passe"
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Paramètres LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Adresse du serveur"
-#: 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 "L'adresse IP ou le nom DNS du serveur LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Port utilisé par le serveur"
-#: 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 "Le port TCP utilisé par le serveur LDAP"
-#: 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 "Activer le serveur secondaire (secours)"
-#: 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 "Activer un serveur LDAP secondaire qui sera utilisé si le principal est en échec"
+msgstr ""
+"Activer un serveur LDAP secondaire qui sera utilisé si le principal est en "
+"échec"
-#: 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 "Adresse du serveur secondaire"
-#: 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 "L'adresse IP ou le nom DNS du serveur LDAP secondaire"
-#: 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 "Port du serveur secondaire"
-#: 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 "Le numéro du port TCP utilisé par le serveur LDAP secondaire"
-#: 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 "Utiliser une connexion sécurisée"
-#: 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 "Utiliser une connexion SSL/STARTTLS pour accéder au serveur LDAP"
-#: 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 "Indiquer si le serveur LDAP est un Active Directory ou pas"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Groupes administrateurs"
-#: 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 "Les membres de ces groupes LDAP (Posix) seront créés en tant qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les groupes."
+msgstr ""
+"Les membres de ces groupes LDAP (Posix) seront créés en tant "
+"qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les "
+"groupes."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Type de groupe"
-#: 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 "Le type de groupe LDAP à utiliser avec votre annuaire."
-#: 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 "Base de recherche des groupes"
-#: 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 "Le nom distinctif de la base de recherche utilisée pour rechercher les groupes"
+msgstr ""
+"Le nom distinctif de la base de recherche utilisée pour rechercher les "
+"groupes"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Attribut 'mot de passe'"
-#: 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 "L'attribut utilisé pour stocker les mots de passe"
-#: 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 "Paramètres d'authentification LDAP"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Méthode d'authentification"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Recherche et connexion"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Connexion directe"
-#: 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 "Choisir la méthode d'authentification à utiliser"
-#: 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 "ND de connexion"
-#: 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 "Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser vide pour une connexion anonyme"
+msgstr ""
+"Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser "
+"vide pour une connexion anonyme"
-#: 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 "Mot de passe de connexion"
-#: 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 "Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de connexion')"
+msgstr ""
+"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de"
+" connexion')"
-#: 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 "Base de recherche des utilisateurs"
-#: 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 "Le nom distinctif de la base de recherche utilisée pour rechercher les utilisateurs"
+msgstr ""
+"Le nom distinctif de la base de recherche utilisée pour rechercher les "
+"utilisateurs"
-#: 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 "Filtre de recherche"
-#: 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 "Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être valide, il doit être entouré de parenthèses."
+msgstr ""
+"Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être "
+"valide, il doit être entouré de parenthèses."
-#: 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 "Modèle de nom distinctif utilisateur"
-#: 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 "Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il doit contenir un espace réservé (ex. %(user)s)"
+msgstr ""
+"Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il "
+"doit contenir un espace réservé (ex. %(user)s)"
-#: 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 "Paramètres de synchronisation LDAP"
-#: 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 "Activer l'export LDAP"
-#: 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 "Activer la synchronisation automatique entre la base de données locale et l'annuaire LDAP"
+msgstr ""
+"Activer la synchronisation automatique entre la base de données locale et "
+"l'annuaire LDAP"
-#: 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 "Supprimer un compte LDAP distant lorsqu'un compte local est supprimé"
-#: 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 "Supprimer un compte LDAP distant lorsqu'un compte local supprimé, autrement il sera désactivé."
+msgstr ""
+"Supprimer un compte LDAP distant lorsqu'un compte local supprimé, autrement "
+"il sera désactivé."
-#: 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 "Modèle des DN de compte"
-#: 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 "Le modèle utilisé pour construite un DN de compte (nom unique). Il doit contenir un emplacement (c'est à dire 1%(user)s)"
+msgstr ""
+"Le modèle utilisé pour construite un DN de compte (nom unique). Il doit "
+"contenir un emplacement (c'est à dire 1%(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 "Activer l'import LDAP"
-#: 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 "Activer la synchronisation des comptes entre un annuaire LDAP et la base de données locale"
+msgstr ""
+"Activer la synchronisation des comptes entre un annuaire LDAP et la base de "
+"données locale"
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr "Attribut nom d'utilisateur"
-#: 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 "Le nom de l'attribut LDAP dans lequel le nom d'utilisateur peut être trouvé."
+msgstr ""
+"Le nom de l'attribut LDAP dans lequel le nom d'utilisateur peut être trouvé."
-#: 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 "Activer la synchronisation LDAP pour Dovecot"
-#: 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 "Les paramètres d'authentification LDAP seront appliqués à la configuration de Dovecot."
+msgstr ""
+"Les paramètres d'authentification LDAP seront appliqués à la configuration "
+"de Dovecot."
-#: 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 "Fichier de configuration Dovecot pour LDAP"
-#: 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 "Emplacement du fichier de configuration qui contient les paramètres LDAP de Dovecot"
+msgstr ""
+"Emplacement du fichier de configuration qui contient les paramètres LDAP de "
+"Dovecot"
-#: 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 "Tableau de bord"
-#: 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 "Flux RSS personnalisé"
-#: 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 "Afficher un flux RSS personnalisé aux revendeurs et administrateurs de domaine"
+msgstr ""
+"Afficher un flux RSS personnalisé aux revendeurs et administrateurs de "
+"domaine"
-#: 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 "Masquer le widget des fonctionnalités"
-#: 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 "Masquer le widget des fonctionnalités pour les revendeurs et les administrateurs de domaine"
+msgstr ""
+"Masquer le widget des fonctionnalités pour les revendeurs et les "
+"administrateurs de domaine"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Notifications"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Adresse d'envoi"
-#: 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 "Adresse utilisée pour envoyer les notifications."
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "API publique"
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr "Activer la communication"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Activer la communication avec l'API publique de Modoboa"
-#: 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 "Vérifier les nouvelles versions"
-#: 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 "Vérifie automatiquement si une nouvelle version est disponible"
-#: 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 "Envoyer un email quand de nouvelles versions sont trouvées"
-#: 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 "Envoyer un email pour notifier les administrateurs à propos des nouvelles versions"
+msgstr ""
+"Envoyer un email pour notifier les administrateurs à propos des nouvelles "
+"versions"
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr "Destinataire"
-#: 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 "Destinataire des emails de notification pour les nouvelles versions"
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Envoyer des statistiques"
-#: 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 "Envoyer des statistiques à l'API publique de Modoboa (compteurs et extensions utilisées)"
+msgstr ""
+"Envoyer des statistiques à l'API publique de Modoboa (compteurs et "
+"extensions utilisées)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Divers"
-#: 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 "Activer le suivi des comptes inactifs"
-#: 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 "Autoriser les administrateurs à définir in seuil (en jours) à partir duquel un compte est considéré comme inactif si l'utilisateur ne s'est pas connecté"
+msgstr ""
+"Autoriser les administrateurs à définir in seuil (en jours) à partir duquel "
+"un compte est considéré comme inactif si l'utilisateur ne s'est pas connecté"
-#: 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 "Seuil des comptes inactifs"
-#: 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 "Un compte avec une date de dernière connexion antérieure à ce seuil sera considéré comme inactif"
+msgstr ""
+"Un compte avec une date de dernière connexion antérieure à ce seuil sera "
+"considéré comme inactif"
-#: 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 "Intervalle de vérification des notifications"
-#: 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 "Intervalle entre deux vérifications de notification (en secondes)"
-#: 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 "Age maximal d'un enregistrement du journal"
-#: 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 "L'age maximal en jours d'un enregistrement du journal"
-#: 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 "Eléments par page"
-#: 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 "Nombre d'éléments affichés par page"
-#: 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 "Redirection par défaut"
-#: 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 "La redirection appliquée par défaut quand aucune application n'est spécifiée"
+msgstr ""
+"La redirection appliquée par défaut quand aucune application n'est spécifiée"
-#: 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 "Vous avez défini USE_TZ à False, ce qui peut entraîner des problèmes lors des transitions entre l'heure d'été et l'heure d'hiver (c.-à-d. La même heure locale se produisant deux fois en raison d'un changement d'horloge)."
+msgstr ""
+"Vous avez défini USE_TZ à False, ce qui peut entraîner des problèmes lors "
+"des transitions entre l'heure d'été et l'heure d'hiver (c.-à-d. La même "
+"heure locale se produisant deux fois en raison d'un changement d'horloge)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Mettre `USE_TZ = True` dans settings.py"
@@ -2156,31 +2335,31 @@ msgstr "Test"
msgid "Missing 2FA verification."
msgstr "La vérification 2FA est manquante"
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Ancien mot de passe"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nouveau mot de passe"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "L'ancien mot de passe est incorrect"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Les mots de passe diffèrent"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Activer l'accès API"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr "Code de vérification"
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr "Code incorrect"
@@ -2197,20 +2376,20 @@ msgstr "modifié"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s par l'utilisateur %(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 par"
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "Supprimé"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "l'utilisateur {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "commande de gestion"
@@ -2218,141 +2397,144 @@ msgstr "commande de gestion"
msgid "You can't delete your own account"
msgstr "Vous ne pouvez pas supprimer votre propre compte"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Une ou plusieurs mises à jour sont disponibles!"
-#: 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] Mise(s) à jour disponible(s)"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Autoriser l'accès aux boites"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Autoriser cet administrateur à accéder aux boites des utilisateurs"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "mot de passe"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "langue"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Langage préféré pour afficher les pages"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Une adresse e-mail alternative ou de secours."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
-msgstr "Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé"
+msgstr ""
+"Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "compte"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Inconnu"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Vous ne pouvez pas importer un compte avec un rôle supérieur au votre"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "L'utilisateur simple '%s' doit avoir une adresse email valide"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "Les champs username et email de '%s' ne doivent pas différer"
-#: 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] "Le mot de passe doit contenir au moins {} chiffre."
msgstr[1] "Le mot de passe doit contenir au moins {} chiffres."
msgstr[2] "Le mot de passe doit contenir au moins {} chiffres."
-#: 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] "Le mot de passe doit contenir au moins {} minuscule."
msgstr[1] "Le mot de passe doit contenir au moins {} minuscules."
msgstr[2] "Le mot de passe doit contenir au moins {} minuscules."
-#: 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] "Le mot de passe doit contenir au moins {} majuscule."
msgstr[1] "Le mot de passe doit contenir au moins {} majuscules."
msgstr[2] "Le mot de passe doit contenir au moins {} majuscules."
-#: 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] "Le mot de passe doit contenir au moins {} caractère spécial."
msgstr[1] "Le mot de passe doit contenir au moins {} caractères spéciaux."
msgstr[2] "Le mot de passe doit contenir au moins {} caractères spéciaux."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "Votre mot de passe doit contenir une combinaison de différents types de caractère."
+msgstr ""
+"Votre mot de passe doit contenir une combinaison de différents types de "
+"caractère."
-#: 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 "Point de terminaison API"
-#: 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 Europe"
-#: 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 États Unis"
-#: 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 Amérique du Nord"
-#: 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 Europe"
-#: 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 Amérique du Nord"
-#: 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 Europe"
-#: 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 Amérique du Nord"
-#: 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 "Clé d'application"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr "Secret d'application"
-#: 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 "Clé du consommateur"
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
msgid "Appication secret"
msgstr "Secret de l'application"
@@ -2380,7 +2562,9 @@ msgstr "Dernières nouvelles"
msgid ""
"Visit the official "
"weblog for more information."
-msgstr "Visitez le blog officiel pour plus d'information."
+msgstr ""
+"Visitez le blog "
+"officiel pour plus d'information."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2395,7 +2579,9 @@ msgstr "Contrôlez votre accès à l'API de Modoboa"
msgid ""
"A documentation of the API is available here."
-msgstr "Une documentation de l'API est disponible ici."
+msgstr ""
+"Une documentation de l'API est disponible ici."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2406,7 +2592,7 @@ msgstr "Jeton d'accès à l'API"
msgid "Hello %(user)s."
msgstr "Bonjour %(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"
@@ -2420,7 +2606,8 @@ msgstr "Une ou plusieurs mises à jour sont disponibles!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Consulter la liste suivante pour trouver le(s) composant(s) concerné(s)."
+msgstr ""
+"Consulter la liste suivante pour trouver le(s) composant(s) concerné(s)."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2438,7 +2625,7 @@ msgstr "Dernière version"
msgid "Active users"
msgstr "Utilisateurs actifs"
-#: 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 "Journaux"
@@ -2461,11 +2648,17 @@ msgid ""
msgid_plural ""
"\n"
" The following updates are available:\n"
-msgstr[0] "\nLa mise à jour suivante est disponible :\n"
-msgstr[1] "\nLes mises à jour suivantes sont disponibles :\n"
-msgstr[2] "\nLes mises à jour suivantes sont disponibles :\n"
+msgstr[0] ""
+"\n"
+"La mise à jour suivante est disponible :\n"
+msgstr[1] ""
+"\n"
+"Les mises à jour suivantes sont disponibles :\n"
+msgstr[2] ""
+"\n"
+"Les mises à jour suivantes sont disponibles :\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 "Paramètres"
@@ -2482,12 +2675,12 @@ msgstr "Enregistrer"
msgid "Modoboa settings"
msgstr "Paramètres de Modoboa"
-#: 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 "Configuration"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Préférences"
@@ -2507,7 +2700,7 @@ msgstr "Mettez à jour vos informations personnelles"
msgid "Click here to update your password"
msgstr "Cliquez ici pour mettre à jour votre mot de passe"
-#: 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 "Sécurité"
@@ -2519,7 +2712,10 @@ msgstr "Authentification à deux facteurs"
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 "Installez une application d'authentification par jetons comme FreeOTP ou Google Authenticator à partir de votre appstore et utilisez-la pour scanner ce QR code."
+msgstr ""
+"Installez une application d'authentification par jetons comme FreeOTP ou "
+"Google Authenticator à partir de votre appstore et utilisez-la pour scanner "
+"ce QR code."
#: core/templates/core/user_security.html:25
msgid "Pin code"
@@ -2532,7 +2728,9 @@ msgstr "Enregistrement"
#: core/templates/core/user_security.html:33
msgid ""
"Congratulations! Two-Factor Authentication is now enabled for your account."
-msgstr "Félicitations ! L'authentification à deux facteurs est maintenant activée pour votre compte."
+msgstr ""
+"Félicitations ! L'authentification à deux facteurs est maintenant activée "
+"pour votre compte."
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
@@ -2541,16 +2739,29 @@ 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 "Les codes de récupération suivants peuvent être utilisés une fois chacun pour vous permettre de récupérer un accès à votre compte, au cas où vous perdriez votre téléphone par exemple. Assurez-vous de les conserver dans un lieu sûr, autrement vous ne serez définitivement plus en mesure d'accéder à votre compte."
+msgstr ""
+"Les codes de récupération suivants peuvent être utilisés une fois chacun "
+"pour vous permettre de récupérer un accès à votre compte, au cas où vous "
+"perdriez votre téléphone par exemple. Assurez-vous de les conserver dans un "
+"lieu sûr, autrement vous ne serez définitivement plus en mesure d'accéder à "
+"votre compte."
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr "L'authentification à deux facteurs est activée pour votre compte."
+#: 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 "Désactiver authentification à 2 facteurs."
+#: 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 "Réinitialiser les codes de récupération."
@@ -2559,7 +2770,9 @@ msgstr "Réinitialiser les codes de récupération."
msgid ""
"Two-Factor Authentication (2FA) is not yet activated for your account. "
"Enabling this feature will increase your account's security."
-msgstr "L'authentification à 2 facteurs n'est pas encore activée pour votre compte. Activer cette fonctionnalité renforcera la sécurité de votre compte."
+msgstr ""
+"L'authentification à 2 facteurs n'est pas encore activée pour votre compte. "
+"Activer cette fonctionnalité renforcera la sécurité de votre compte."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2573,67 +2786,77 @@ msgstr "Nouveaux codes de récupération"
msgid "Here are your new recovery codes. "
msgstr "Vous trouverez ici vos nouveaux codes de récupération."
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Chiffrer les mots de passe"
+
#: 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 "Déconnexion"
-#: 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 "Le coeur de Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Paramètres enregistrés"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
-msgstr "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez réessayer."
+msgstr ""
+"Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez "
+"réessayer."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Utilisateur '{}' déconnecté avec succès"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profil mis à jour"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Préférences enregistrées"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Accès mis à jour"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr "Paramètres DNS"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr "Activer les recherches inversées"
-#: 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 "Activer les recherches DNS inversées (les rapports seront plus longs à afficher)"
+msgstr ""
+"Activer les recherches DNS inversées (les rapports seront plus longs à "
+"afficher)"
-#: 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 "Afficher le rapport DMARC pour {}"
-#: 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 "Non résolu"
@@ -2669,11 +2892,11 @@ msgstr "Erreur temporaire"
msgid "Permanent error"
msgstr "Erreur permanente"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Politique"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Erreur soft"
@@ -2745,95 +2968,95 @@ msgstr "Transitaires avec ARC"
msgid "Unknown sources / Threats"
msgstr "Sources inconnues / Menaces"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr "Mauvaise syntaxe de mécanisme ip4"
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr "Mauvais format d'adresse IPv4"
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr "Mauvaise syntaxe de mécanisme ip6"
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr "Mauvais format d'adresse IPv6"
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr "Mauvaise syntaxe de mécanisme {}"
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr "Masque incorrect trouvé {}"
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr "Ce n'est pas un enregistrement SPF"
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr "Mécanisme inconnu {}"
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr "Modificateur inconnu {}"
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr "Modificateur dupliqué {} trouvé"
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr "Aucun mécanisme trouvé"
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr "Ce n'est pas un enregistrement DKIM"
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr "Tag incorrect {}"
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr "Pas de clé trouvée dans l'enregistrement"
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr "Mauvaise valeur {} pour le tag {}"
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr "Mauvaise valuer {} pour le tag {} :"
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr " ce n'est pas un entier"
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr " inférieur à {}"
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr " supérieur à {}"
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr "Ce n'est pas un enregistrement DMARC"
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr "Tag inconnu {}"
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr "Tag obligatoire p introuvable"
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr "La clé publique ne correspond pas"
@@ -2865,7 +3088,9 @@ msgstr "Un enregistrement DNS a été trouvé mais sa syntaxe est incorrecte :"
msgid ""
"Here is an example of DNS configuration (bind format). Replace value between"
" [ ] by the appropriate ones."
-msgstr "Voici un exemple de configuration DNS (format bind). Remplacez les valeurs entre [ ] par celles appropriées."
+msgstr ""
+"Voici un exemple de configuration DNS (format bind). Remplacez les valeurs "
+"entre [ ] par celles appropriées."
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
msgid "IP address of your Modoboa server"
@@ -2880,7 +3105,7 @@ msgstr "Configuration automatique"
msgid "hostname of your automx server"
msgstr "Nom d'hôte de votre serveur automx"
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr "Enregistrement {} de {}"
@@ -2888,144 +3113,153 @@ msgstr "Enregistrement {} de {}"
msgid "Auto configuration records for {}"
msgstr "Enregistrements d'autoconfiguration pour {}"
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr "Configuration DNS pour {}"
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
msgid "Access denied"
msgstr "Accès refusé"
-#: 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 "Activer la migration IMAP"
-#: 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 "Activer la migration IMAP."
-#: 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 "Tâche(s) de synchronisation concurrente(s)"
-#: 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 "Nombre maximal de tâche de synchronisation concurrente"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr "Filtre OfflineIMAP"
-#: 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 "Création des dossiers"
-#: 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 "Autoriser la création des dossiers manquant pendant la synchro"
-#: 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 "Filtre d'exclusion de dossier"
-#: 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 "Utiliser une expression régulière pour explicitement inclure des dossiers à synchroniser. Exemple : ^Trash$|Del"
+msgstr ""
+"Utiliser une expression régulière pour explicitement inclure des dossiers à "
+"synchroniser. Exemple : ^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 "Filtre d'inclusion de dossier"
-#: 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 "Une liste de dossiers séparés par des virgules à explicitement inclure pendant la synchronisation même s'ils sont concernés par le filtre d'exclusion. Exemple debian.user, debian.personal"
+msgstr ""
+"Une liste de dossiers séparés par des virgules à explicitement inclure "
+"pendant la synchronisation même s'ils sont concernés par le filtre "
+"d'exclusion. Exemple debian.user, debian.personal"
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "Paramètres OfflineIMAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr "Paramètres de filtragre OfflineIMAP"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
msgid "IMAP Migration"
msgstr "Migration IMAP"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Echec lors de la connexion au serveur IMAP : %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 "La création automatique de domaine/compte est désactivée, ce qui veut dire que l'authentification IMAP ne fonctionnera pas."
+msgstr ""
+"La création automatique de domaine/compte est désactivée, ce qui veut dire "
+"que l'authentification IMAP ne fonctionnera pas."
-#: imap_migration/checks.py:13
+#: imap_migration/checks.py:16
msgid ""
"Go to the online parameters panel (admin tab) and activate this feature."
-msgstr "Rendez vous sur le panneau de configuration des paramètres (onglet Administration) et activez cette fonctionnalité."
+msgstr ""
+"Rendez vous sur le panneau de configuration des paramètres (onglet "
+"Administration) et activez cette fonctionnalité."
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "Migration IMAP"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Impossible de créer le compte LDAP : {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Impossible de mettre à jour le compte LDAP : {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Impossible de supprimer le compte LDAP : {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Impossible de désactiver le compte LDAP : {}"
-#: 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 "Impossible de communiquer avec l'API : %s"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Connexion à la base de données %s non configurée"
-#: 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 "Impossible de déterminer l'encodage de la chaîne de caractères"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Permission refusée : %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Permission refusée"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Entrer un nom de domaine valide"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Entrez une adresse email valide."
@@ -3035,153 +3269,175 @@ msgstr "Entrez une adresse email valide."
msgid "Submit"
msgstr "Soumettre"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Impossible de mettre à jour le mot de passe : {}"
-#: 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 "Sujet"
-#: 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 "Limites administrateur par défaut"
-#: 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 "Activer les limites par administrateur"
-#: 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 "Activer ou désactiver les limites par administrateur"
-#: 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 "Admins de domaine"
-#: 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 "Nombre maximal d'admins de domaine pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les création illimitées)"
+msgstr ""
+"Nombre maximal d'admins de domaine pour un nouvel administrateur. (0 pour "
+"interdire toute création, -1 pour autoriser les création illimitées)"
-#: 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 "Nombre maximal de domaines pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal de domaines pour un nouvel administrateur. (0 pour interdire "
+"toute création, -1 pour autoriser les créations illimitées)"
-#: 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 "Nombre maximal d'alias de domaine pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal d'alias de domaine pour un nouvel administrateur. (0 pour "
+"interdire toute création, -1 pour autoriser les créations illimitées)"
-#: 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 "Nombre maximal de boites pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal de boites pour un nouvel administrateur. (0 pour interdire "
+"toute création, -1 pour autoriser les créations illimitées)"
-#: 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 "Nombre maximal d'alias de boite pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal d'alias de boite pour un nouvel administrateur. (0 pour "
+"interdire toute création, -1 pour autoriser les créations illimitées)"
-#: 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 "Le quota qu'un revendeur sera autorisé à partager entre les domaines qu'il créé. (0 signifie pas de quota)"
+msgstr ""
+"Le quota qu'un revendeur sera autorisé à partager entre les domaines qu'il "
+"créé. (0 signifie pas de quota)"
-#: 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 "Limites domaine par défaut"
-#: 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 "Activer les limites par domaine"
-#: 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 "Activer ou désactiver les limites par domaine"
-#: 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 "Nombre maximal d'administrateurs de domaine autorisés pour un nouveau domaine (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal d'administrateurs de domaine autorisés pour un nouveau "
+"domaine (0 pour interdire toute création, -1 pour autoriser les créations "
+"illimitées)"
-#: 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 "Nombre maximal d'alias de domaine autorisés pour un nouveau domaine. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal d'alias de domaine autorisés pour un nouveau domaine. (0 pour"
+" interdire toute création, -1 pour autoriser les créations illimitées)"
-#: 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 "Nombre maximal de boites aux lettres autorisées pour un nouveau domaine. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal de boites aux lettres autorisées pour un nouveau domaine. (0 "
+"pour interdire toute création, -1 pour autoriser les créations illimitées)"
-#: 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 "Nombre maximal d'alias autorisés pour un nouveau domaine. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)"
+msgstr ""
+"Nombre maximal d'alias autorisés pour un nouveau domaine. (0 pour interdire "
+"toute création, -1 pour autoriser les créations illimitées)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Limites"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Nombre maximal de domaines que cet utilisateur peut créer"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Nombre maximal d'alias de domain que cet utilisateur peut créer"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Nombre maximal de boites que cet utilisateur peut créer"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr "Nombre maximal d'alias de boite que cet utilisateur peut créer"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr "Nombre maximal d'admins de domaine que cet utilisateur peut créer"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Quota partagé entre les domaines de ce revendeur"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Nombre maximal d'alias de domaine autorisés pour ce domaine."
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Nombre maximal de boites aux lettres autorisées pour ce domaine."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Nombre maximal d'alias autorisés pour ce domaine."
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
-msgstr "Nombre maximal d'administrateurs de domaine autorisés pour ce domaine."
+msgstr ""
+"Nombre maximal d'administrateurs de domaine autorisés pour ce domaine."
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Limite invalide"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Ressources"
@@ -3194,11 +3450,11 @@ msgstr "%s : limite atteinte"
msgid "Not enough resources"
msgstr "Pas assez de ressources"
-#: 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 "Vous n'êtes pas autorisé à définir des valeurs illimitées"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "illimité"
@@ -3207,91 +3463,93 @@ msgstr "illimité"
msgid "Resources usage"
msgstr "Utilisation des ressources"
-#: 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 "Vous devez fournir des dates de début et fin quand la période est personnalisée"
+msgstr ""
+"Vous devez fournir des dates de début et fin quand la période est "
+"personnalisée"
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Chemin d'accès vers le journal"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Emplacement du log utilisé pour collecter les statistiques"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Répertoire où stocker les fichiers RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Emplacement du répertoire de stockage des fichiers RRD"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr "Afficher les messages greylistés"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr "Différencie les rejets en douceur des rejets durs (greylisting)"
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Statistiques"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr "Impossible de trouver le binaire rrdtool"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Trafic moyen (msgs/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "messages envoyés"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "messages reçus"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "messages non remis"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "messages rejetés"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr "messages de type virus"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr "messages de type spam"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr "Messages greylistés"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Taille moyenne du trafic normal (octets/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "taille reçue"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "taille envoyée"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Trafic messagerie"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr "Moyenne des créations de compte (compte/heure)"
@@ -3319,181 +3577,190 @@ msgstr "Appliquer"
msgid "No statistics available"
msgstr "Aucune statistique disponible"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Jour"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Semaine"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Mois"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Année"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Personnalisée"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Jeu de graphiques inconnu"
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr "Domaine inconnu"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Mauvaise période personnalisée"
-#: 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 "Informations de compte personnel"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
msgid "Directory is not writable"
msgstr "Le répertoire n'est pas accessible en écriture"
-#: 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 "Aucun document disponible pour cet utilisateur"
-#: 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 "Activer les identifiants PDF"
-#: 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 "Activer la génération d'un document PDF d'identifiants à la création d'un compte."
+msgstr ""
+"Activer la génération d'un document PDF d'identifiants à la création d'un "
+"compte."
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Stockage des documents"
-#: 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 "Répertoire dans lequel les documents sont sauvegardés"
-#: 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 "Chemin d'accès vers le répertoire ou seront stockés les documents"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Options de sécurité"
-#: 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 "Supprimer les documents après le premier téléchargement"
-#: 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 "Supprimer automatiquement un document juste après son premier téléchargement depuis cette interface"
+msgstr ""
+"Supprimer automatiquement un document juste après son premier téléchargement"
+" depuis cette interface"
-#: 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 "Générer les documents à la création des comptes uniquement"
-#: 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 "Génère un nouveau document uniquement lors de la création d'un compte. Si défini à non, un nouveau document sera généré chaque fois qu'un mot de passe est changé."
+msgstr ""
+"Génère un nouveau document uniquement lors de la création d'un compte. Si "
+"défini à non, un nouveau document sera généré chaque fois qu'un mot de passe"
+" est changé."
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Options de personnalisation"
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr "Titre"
-#: 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 "Le titre du document"
-#: 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 de la console web"
-#: 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 de la console web Modoboa"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Message personnalisé"
-#: 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 "Un message personnalisé qui apparaîtra en bas des documents."
-#: 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 "Inclure les paramètres de connexion pour client mail"
-#: 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 "Inclure les paramètres de connexion nécessaires pour configurer un client mail, une tablette ou un téléphone"
+msgstr ""
+"Inclure les paramètres de connexion nécessaires pour configurer un client "
+"mail, une tablette ou un téléphone"
-#: 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 "Adresse du serveur SMTP"
-#: 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 du serveur SMTP (nom d'hôte ou 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 "Port du serveur SMTP"
-#: 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 d'écoute du serveur SMTP"
-#: 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 "Sécurité de la connexion SMTP"
-#: 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 "Mécanisme de sécurisation de la connexion"
-#: 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 "Adresse du serveur IMAP"
-#: 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 du serveur IMAP (nom d'hôte ou 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 "Port du serveur IMAP"
-#: 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 d'écoute du serveur IMAP"
-#: 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 "Sécurité de la connexion IMAP"
@@ -3501,84 +3768,249 @@ msgstr "Sécurité de la connexion IMAP"
msgid "PDF credentials"
msgstr "Identifiants en PDF"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr "Identifiants PDF"
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr "Propulsé par Modoboa - L'hébergement mail simplifié"
-#: 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 "\nCher %s, ce document contient les identifiants dont vous aurez\nbesoin pour vous connecter à Modoboa. Apprenez les puis détruisez\nce document le plus rapidement possible.\n"
+msgstr ""
+"\n"
+"Cher %s, ce document contient les identifiants dont vous aurez\n"
+"besoin pour vous connecter à Modoboa. Apprenez les puis détruisez\n"
+"ce document le plus rapidement possible.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Console web :"
-#: 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 "\nD'ici vous pouvez consulter vos emails en ligne n'importe quand, créer des filtres ou gérer vos contacts.\n"
+msgstr ""
+"\n"
+"D'ici vous pouvez consulter vos emails en ligne n'importe quand, créer des filtres ou gérer vos contacts.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Merci de changer votre mot de passe !"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Configuration PC/Tablette/Smartphone :"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
-msgstr "Utilisez ces paramètres pour votre ordinateur, votre tablette ou votre téléphone."
+msgstr ""
+"Utilisez ces paramètres pour votre ordinateur, votre tablette ou votre "
+"téléphone."
-#: 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 "Récupérer les identifiant de l'utilisateur sous forme d'un document PDF"
+msgstr ""
+"Récupérer les identifiant de l'utilisateur sous forme d'un document PDF"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr "Télécharger les identifiants PDF"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
-msgstr "Impossible d'écrire dans le répertoire sélectionné pour stocker les documents PDF"
+msgstr ""
+"Impossible d'écrire dans le répertoire sélectionné pour stocker les "
+"documents PDF"
#: pdfcredentials/lib.py:34
#, python-format
msgid "Failed to create the directory that will contain PDF documents (%s)"
-msgstr "Echec lors de la création du répertoire qui contiendra les documents PDF (%s)"
+msgstr ""
+"Echec lors de la création du répertoire qui contiendra les documents PDF "
+"(%s)"
-#: 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
+msgid "Daily sending limit reached"
+msgstr "Limite quotidienne d'envoi atteinte"
+
+#: 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:28 postfix_autoreply/forms.py:98
+msgid "This date is over"
+msgstr "Cette date est dépassée"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr "Doit être supérieure à la date de démarrage"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+msgid "Automatic replies"
+msgstr "Réponses automatiques"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Activer votre réponse automatique à partir de cette date. Format : YYYY-MM-"
+"DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Jusqu'à"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Activer votre réponse automatique jusqu'à cette date. Format : YYYY-MM-DD "
+"HH:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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 ""
+"Le contenu de votre réponse. Vous pouvez utiliser les variables suivantes, "
+"qui seront automatiquement remplacées par des valeurs appropriées : "
+"%(name)s, %(fromdate)s, %(untildate)s"
+
+#: postfix_autoreply/forms.py:121
+msgid "Automatic reply timeout"
+msgstr "Délai d'expiration d'une réponse automatique"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Timeout en secondes entre deux réponses automatiques pour le même "
+"destinataire"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Sujet par défaut"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Je suis absent"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Sujet par défaut utilisé quand un message d'absence est créé automatiquement"
+
+#: postfix_autoreply/forms.py:140
+msgid "Default content"
+msgstr "Contenu par défaut"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Je suis actuellement absent. Je vous répondrai dès mon retour.\n"
+"\n"
+"Cordialement,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Contenu par défaut utilisé quand un message d'absence est créé "
+"automatiquement.La macro '%(name)s' sera remplacée par le nom complet de "
+"l'utilisateur."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr "Message de réponse automatique"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Réponse automatique"
+
+#: postfix_autoreply/models.py:15
+msgid "subject"
+msgstr "sujet"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "Le sujet qui apparaitra dans les emails envoyés"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "contenu"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "Le contenu qui apparaitra dans les emails envoyés"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Activer/Désactiver votre réponse automatique"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr "Définir un message à envoyer automatiquement quand vous êtes absent"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Message de réponse auto. mis à jour."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr "Service non supporté"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr "Paramètres du transport"
-#: 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 "Adresse de l'hôte cible"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "Port de l'hôte cible"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "Vérifier les destinataires"
@@ -3649,7 +4081,9 @@ msgstr "Mot de passe oublié ?"
msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
-msgstr "Votre mot de passe a été défini. Vous pouvez continuer et vous connecter dès maintenant."
+msgstr ""
+"Votre mot de passe a été défini. Vous pouvez continuer et vous connecter dès maintenant."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
@@ -3659,7 +4093,10 @@ msgstr "Changer le mot de passe"
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
-msgstr "Le lien de réinitialisation du mot de passe était invalide, probablement parce qu'il a déjà été utilisé. Merci de demander une nouvelle réinitialisation de mot de passe."
+msgstr ""
+"Le lien de réinitialisation du mot de passe était invalide, probablement "
+"parce qu'il a déjà été utilisé. Merci de demander une nouvelle "
+"réinitialisation de mot de passe."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3675,7 +4112,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 "
Nous vous avons envoyé par email les instructions pour définir votre mot de passe, pour peu qu'un compte avec l'email que vous avez renseigné existe. Vous devriez les recevoir rapidement.
Si vous ne recevez pas d'email, merci de vérifier que vous avez renseigné votre adresse principale et de vérifier votre dossier spam.
"
+msgstr ""
+"
Nous vous avons envoyé par email les instructions pour définir votre mot "
+"de passe, pour peu qu'un compte avec l'email que vous avez renseigné existe."
+" Vous devriez les recevoir rapidement.
Si vous ne recevez pas d'email,"
+" merci de vérifier que vous avez renseigné votre adresse principale et de "
+"vérifier votre dossier spam.
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1341,11 +1415,16 @@ msgstr ""
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr ""
#: 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)."
+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 ""
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1357,90 +1436,95 @@ msgstr ""
msgid "Search"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr ""
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, python-format
+msgid "No AAAA record for %s"
+msgstr ""
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr ""
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr ""
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr ""
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] ""
@@ -1450,36 +1534,36 @@ msgstr[1] ""
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] ""
msgstr[1] ""
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr ""
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr ""
-#: 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 ""
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] ""
msgstr[1] ""
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr ""
@@ -1487,83 +1571,69 @@ msgstr ""
msgid "Import identities"
msgstr ""
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr ""
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr ""
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
+msgstr ""
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr ""
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr ""
-#: 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 ""
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: 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 ""
#: 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:165
msgid "Invalid syntax"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/api/v2/serializers.py:274
-msgid "Invalid password"
-msgstr ""
-
-#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -1573,450 +1643,477 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr ""
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr ""
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:178 core/app_settings.py:838
+#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr ""
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
+#: 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 ""
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr ""
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr ""
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr ""
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr ""
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 ""
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2048,31 +2145,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr ""
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr ""
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr ""
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2089,20 +2186,20 @@ msgstr ""
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr ""
-#: core/handlers.py:63
+#: core/handlers.py:64
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr ""
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr ""
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2110,137 +2207,137 @@ msgstr ""
msgid "You can't delete your own account"
msgstr ""
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr ""
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr ""
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr ""
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr ""
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr ""
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr ""
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr ""
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
msgid "Appication secret"
msgstr ""
@@ -2265,7 +2362,9 @@ msgid "Latest news"
msgstr ""
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
+msgid ""
+"Visit the official "
+"weblog for more information."
msgstr ""
#: core/templates/core/api_access.html:3
@@ -2278,7 +2377,9 @@ msgstr ""
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2290,7 +2391,7 @@ msgstr ""
msgid "Hello %(user)s."
msgstr ""
-#: 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 ""
@@ -2322,7 +2423,7 @@ msgstr ""
msgid "Active users"
msgstr ""
-#: 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 ""
@@ -2348,7 +2449,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: 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 ""
@@ -2365,12 +2466,12 @@ msgstr ""
msgid "Modoboa settings"
msgstr ""
-#: 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 ""
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr ""
@@ -2390,7 +2491,7 @@ msgstr ""
msgid "Click here to update your password"
msgstr ""
-#: 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 ""
@@ -2399,7 +2500,9 @@ msgid "Two-Factor authentication"
msgstr ""
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2411,28 +2514,43 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: 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 ""
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2447,67 +2565,71 @@ msgstr ""
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+msgid "Confirm your password"
+msgstr ""
+
#: core/templatetags/core_tags.py:34
msgid "Modoboa"
msgstr ""
-#: core/templatetags/core_tags.py:102
+#: core/templatetags/core_tags.py:110
msgid "Logout"
msgstr ""
-#: core/templatetags/core_tags.py:131
+#: core/templatetags/core_tags.py:154
msgid "API"
msgstr ""
-#: core/utils.py:32
+#: core/utils.py:33
msgid "The core part of Modoboa"
msgstr ""
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr ""
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr ""
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr ""
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr ""
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr ""
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr ""
-#: 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 ""
@@ -2543,11 +2665,11 @@ msgstr ""
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2619,95 +2741,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2736,7 +2858,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2752,7 +2876,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2760,136 +2884,144 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
msgid "Access denied"
msgstr ""
-#: 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/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/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr ""
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr ""
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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 ""
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr ""
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr ""
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr ""
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr ""
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr ""
@@ -2899,133 +3031,153 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr ""
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr ""
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr ""
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr ""
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr ""
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr ""
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr ""
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr ""
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr ""
@@ -3038,11 +3190,11 @@ msgstr ""
msgid "Not enough resources"
msgstr ""
-#: 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 ""
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr ""
@@ -3051,91 +3203,91 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr ""
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr ""
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr ""
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr ""
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr ""
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr ""
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3163,175 +3315,181 @@ msgstr ""
msgid "No statistics available"
msgstr ""
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr ""
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr ""
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr ""
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr ""
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr ""
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr ""
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr ""
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr ""
-#: 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 ""
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
msgid "Directory is not writable"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
@@ -3339,15 +3497,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3356,38 +3514,44 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr ""
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3396,27 +3560,156 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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
+msgid "Daily sending limit reached"
+msgstr ""
+
+#: 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:28 postfix_autoreply/forms.py:98
+msgid "This date is over"
+msgstr ""
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr ""
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+msgid "Automatic replies"
+msgstr ""
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+msgid "Default content"
+msgstr ""
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr ""
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+msgid "subject"
+msgstr ""
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr ""
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr ""
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr ""
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr ""
@@ -3484,7 +3777,9 @@ msgstr ""
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3492,7 +3787,9 @@ msgid "Change password"
msgstr ""
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3504,18 +3801,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3535,14 +3840,14 @@ msgstr ""
msgid "Invalid value"
msgstr ""
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
diff --git a/modoboa/locale/it/LC_MESSAGES/django.po b/modoboa/locale/it/LC_MESSAGES/django.po
index 6158b5fa5..79770d040 100644
--- a/modoboa/locale/it/LC_MESSAGES/django.po
+++ b/modoboa/locale/it/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2018-11-01 16:31+0000\n"
"Last-Translator: marcotrevisan \n"
"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/it/)\n"
@@ -21,512 +21,616 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Spazio massimo confiviso tra le mailbox. Può essere espresso in KB, MB (predefinito) o GB. Il valore 0 indica nessun limite."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Spazio massimo confiviso tra le mailbox. Può essere espresso in KB, MB "
+"(predefinito) o GB. Il valore 0 indica nessun limite."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Spazio massimo predefinito in MB applicato alle caselle di posta. Un valore 0 indica nessun limite."
+msgstr ""
+"Spazio massimo predefinito in MB applicato alle caselle di posta. Un valore "
+"0 indica nessun limite."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Non è stato trovato alcun record MX autorizzato per questo dominio"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
-msgstr "Non può essere maggiore dello spazio massimo definito a livello di dominio"
+msgstr ""
+"Non può essere maggiore dello spazio massimo definito a livello di dominio"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permesso negato."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Questo campo è obbligatorio"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Lista dei domini amministrati (solo per rivenditori e amministratori di dominio)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista dei domini amministrati (solo per rivenditori e amministratori di "
+"dominio)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Non consentito per questo ruolo."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Deve essere uguale a full_address della casella di posta"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Questo campo è obbligatorio."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Il dominio locale {} non esiste"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Una lista di destinatari"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "L'utente '%s' esiste già"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Non hai accesso a questo dominio"
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Non hai accesso a questa casella di posta."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "L'utente '%s' esiste già"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Dev'essere un intero positivo"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Cartella non trovata."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Cartella non trovata."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl non trovato, assicurarsi che sia installato."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definire almeno una rete / indirizzo autorizzato"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "É necessaria una casella"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Sconosciuto"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Non hai accesso a questo dominio"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Non puoi cancellare il tuo dominio"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domini"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Abilita i controlli MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Verifica che ogni dominio abbia un record MX valido"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "MX validi"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Una lista di indirizzi IP o host a cui ciascun record MX dovrebbe appartenere. Verrà inviato un avviso se un record non la rispetta. "
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Una lista di indirizzi IP o host a cui ciascun record MX dovrebbe "
+"appartenere. Verrà inviato un avviso se un record non la rispetta. "
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Nuovi domini devono utilizzare MX autorizzati"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Impedisci la creazione di un nuovo dominio se il suo record MX non utilizza uno degli indirizzi definiti."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Impedisci la creazione di un nuovo dominio se il suo record MX non utilizza "
+"uno degli indirizzi definiti."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable DNS checks"
+msgid "Enable IPV6 checks"
+msgstr "Abilita i controlli DNS"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Abilita i controlli DNS"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Verifica che ogni dominio abbia un record MX valido"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Abilita i controlli MX"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Verifica che ogni dominio abbia un record MX valido"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Abilita i controlli MX"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Verifica che ogni dominio abbia un record MX valido"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Abilita i controlli MX"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Verifica che ogni dominio abbia un record MX valido"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Abilita i controlli DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Verifica ciascun dominio sui principali provider DNSBL"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "DNS server custom"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Usa un DNS server custom invece della configurazione a sever locale"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Cartella di salvataggio delle chiavi DKIM"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Percorso assoluto della cartella dove le chiavi private DKIM verranno salvate. Assicurarsi che questa cartella sia di proprietà dell'utente root e che non sia leggibile da altri."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Percorso assoluto della cartella dove le chiavi private DKIM verranno "
+"salvate. Assicurarsi che questa cartella sia di proprietà dell'utente root e"
+" che non sia leggibile da altri."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Lunghezza predefinita delle chiavi DKIM"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Lunghezza predefinita in numero di bit per nuove chiavi DKIM."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Quota predefinita per il domini"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. Un valore 0 implica nessuna quota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. "
+"Un valore 0 implica nessuna quota."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Quota predefinita per il domini"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Caselle di posta"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Gestione delle caselle di posta nel filsystem"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Rinomina o rimuovi le caselle di posta nel filesystem quando vengono rinominate o cancellate in Modoboa "
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Rinomina o rimuovi le caselle di posta nel filesystem quando vengono "
+"rinominate o cancellate in Modoboa "
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Dimensione massima predefinita per le mailbox"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Dimensione massima predefinita (in MB) applicata per nuovi domini creati senza alcun valore specificato. Un valore 0 indica nessun limite."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Dimensione massima predefinita (in MB) applicata per nuovi domini creati "
+"senza alcun valore specificato. Un valore 0 indica nessun limite."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default mailbox quota"
msgid "Default mailbox sending limit"
msgstr "Dimensione massima predefinita per le mailbox"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Rimozione automatica dell'account"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Quando una casella postale viene rimossa rimuovi anche l'account associato"
+msgstr ""
+"Quando una casella postale viene rimossa rimuovi anche l'account associato"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Creazione automatica del domini/casella di posta elettronica"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Crea un dominio ed una casella di posta elettronica quando si crea un account utente"
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"Crea un dominio ed una casella di posta elettronica quando si crea un "
+"account utente"
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Crea un alias quando una mailbox viene rinominata"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Crea un alias con il vecchio indirizzo quando una mailbox viene rinominata."
+msgstr ""
+"Crea un alias con il vecchio indirizzo quando una mailbox viene rinominata."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Dimensione massima predefinita (in MB) applicata per nuovi domini creati senza alcun valore specificato. Un valore 0 indica nessun limite."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Dimensione massima predefinita (in MB) applicata per nuovi domini creati "
+"senza alcun valore specificato. Un valore 0 indica nessun limite."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Amministrazione"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Dominio"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Dominio di relay"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Chiudi"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nome utente"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "Il nome dell'utente. Dev'essere un indirizzo e-mail per gli utenti semplici o gli amministratori che posseggono una casella"
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"Il nome dell'utente. Dev'essere un indirizzo e-mail per gli utenti semplici "
+"o gli amministratori che posseggono una casella"
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Ruolo"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Scegli"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Il livello di permessi che avrà questo utente"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Password casuale"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Genera una password casuale. Selezionando questa casella durante l'aggioenamento dell'account, verrà generata una nuova password."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Genera una password casuale. Selezionando questa casella durante "
+"l'aggioenamento dell'account, verrà generata una nuova password."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Password"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Conferma"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
-msgstr "Inserisci la medesima password che hai inserito sopra, per la verifica."
+msgstr ""
+"Inserisci la medesima password che hai inserito sopra, per la verifica."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Abilitato"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Solo i super amministratori possono operare in questa modalità"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Le password nei due campi non corrispondono"
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Tu non puoi disabilitare il tuo account"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Crea un alias con il vecchio indirizzo."
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Dimensione massima per questa mailbox, può essere espressa in KB, MB (predefinito) o GB. Definire un valore personalizzato o utilizzare quello predefinito per il dominio. Lasciare vuoto per specificare un valore non limitato (non permesso per amministratori di dominio)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Dimensione massima per questa mailbox, può essere espressa in KB, MB "
+"(predefinito) o GB. Definire un valore personalizzato o utilizzare quello "
+"predefinito per il dominio. Lasciare vuoto per specificare un valore non "
+"limitato (non permesso per amministratori di dominio)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias di questa mailbox. Indicare un solo indirizzo per inserimento, premere ENTER per effettuare un nuovo inserimento. Per creare un alias \"intercetta-tutto\", inserire semplicemente il nome dominio (@domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias di questa mailbox. Indicare un solo indirizzo per inserimento, premere"
+" ENTER per effettuare un nuovo inserimento. Per creare un alias "
+"\"intercetta-tutto\", inserire semplicemente il nome dominio (@domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Indirizzi mittenti"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Indirizzo(/i) mittente aggiuntivo per questo account. L'utente potrà inviare email usando questo indirizzo/i, anche se non esiste localmente. Indicare un indirizzo per inserimento. Premere ENTER per un nuovo inserimento."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Indirizzo(/i) mittente aggiuntivo per questo account. L'utente potrà inviare"
+" email usando questo indirizzo/i, anche se non esiste localmente. Indicare "
+"un indirizzo per inserimento. Premere ENTER per un nuovo inserimento."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Il dominio non esiste"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Il dominio locale non esiste"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Dominio(i)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Dominio(i) amministrato(i) dall'utente"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Generale"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profilo"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Posta"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Permessi"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Account aggiornato"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nuovo account"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Account creato"
@@ -539,69 +643,86 @@ msgid "Email address"
msgstr "Indirizzo email"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Indirizzi email alias. Per creare un alias catchall specifica il nome del dominio (@domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Indirizzi email alias. Per creare un alias catchall specifica il nome del "
+"dominio (@domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatari"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Indirizzi verso il quale questo alias punterà . Indicare un solo indirizzo per ogni ingresso , premere INVIO per aggiungere un nuovo input ."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Indirizzi verso il quale questo alias punterà . Indicare un solo indirizzo "
+"per ogni ingresso , premere INVIO per aggiungere un nuovo input ."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Non è stato definito un destinatario"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO per aggiungere un nuovo elemento"
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO "
+"per aggiungere un nuovo elemento"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Selettore di chiave"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Valore predefinito per lo spazio massimo confiviso tra le mailbox. Può essere espresso in KB, MB (predefinito) o GB. Il valore 0 indica nessun limite."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Valore predefinito per lo spazio massimo confiviso tra le mailbox. Può "
+"essere espresso in KB, MB (predefinito) o GB. Il valore 0 indica nessun "
+"limite."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "alias del dominio"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Un %s con questo nome esiste già"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Cartella di salvataggio per le chiavi DKIM non configurata."
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Non puoi definire uno spazio illimitato."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "dominio"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Crea un amministratore di dominio"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Crea automaticamente un amministratore per questo dominio"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -610,51 +731,55 @@ msgstr "Crea automaticamente un amministratore per questo dominio"
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Il nome dell'amministratore. Non includere il nome del dominio, verrà aggiunto automaticamente."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Il nome dell'amministratore. Non includere il nome del dominio, verrà "
+"aggiunto automaticamente."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Genera una password casuale per l'amministratore."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Con una casella di posta"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Crea una casella di posta per l'amministratore."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Crea alias"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Crea automaticamente gli alias standard per questo dominio"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Formato non valido"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Dominio modificato"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Opzioni"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Nuovo dominio"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Dominio creato"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Separatore"
@@ -662,23 +787,24 @@ msgstr "Separatore"
msgid "Recipient(s)"
msgstr "Destinatario(i)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indicare uno o più destinatari separati da ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Mantieni copie locali"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr "Inoltra i messaggi e memorizza le copie nella tua casella di posta locale"
+msgstr ""
+"Inoltra i messaggi e memorizza le copie nella tua casella di posta locale"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Seleziona un file"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Continuare in caso di errore"
@@ -686,132 +812,136 @@ msgstr "Continuare in caso di errore"
msgid "Don't treat duplicated objects as error"
msgstr "Non considerare errore gli oggetti duplicati"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Cripta le password"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Seleziona questa opzione se le password contenute nel file non sono criptate"
+msgstr ""
+"Seleziona questa opzione se le password contenute nel file non sono criptate"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Importazione dell'account fallito (%s): il dominio non esiste"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "La La casella di posta {} esiste già"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importazione account fallito(%s): valore della quota errato"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identità"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Inoltra"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "É necessaria una casella"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Non hai i permessi di importare domini"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Non hai i permessi di importare gli alias dominio"
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "Nessun record DNS trovato per %s"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "Nessun record MX per %s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Nessun DNS server funzionante trovato"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
-msgstr "Timeout nella risoluzione DNS del nome, problema momentaneo nell'interrogare %s "
+msgstr ""
+"Timeout nella risoluzione DNS del nome, problema momentaneo nell'interrogare"
+" %s "
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Formato di indirizzo IP non valido per {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "L'oggetto esiste già: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d oggetti importati correttamente"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr "Il file CSV non è codificato UTF-8, cerco di determinare l'encoding"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Lettura del file CSV utilizzando la codifica %(encoding)s"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
-msgstr "Impossibile decodificare il file CSV utilizzando la codifica %(encoding)s"
+msgstr ""
+"Impossibile decodificare il file CSV utilizzando la codifica %(encoding)s"
#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain {} has no MX record"
msgid "Domain has no MX record"
msgstr "Il dominio {} non ha record MX"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Il dominio {} non ha record MX"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid MX record: {}"
msgstr "Record MX di {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "Il record MX per il dominio {0} non è valido: {1}"
@@ -820,160 +950,158 @@ msgstr "Il record MX per il dominio {0} non è valido: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] problema(/i) MX per il dominio {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] problema(/i) DNSBL per il dominio {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Dominio non trovato."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Un alias con questo nome esiste già"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "indirizzo"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Indirizzi Alias."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "Attivato"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Seleziona per attivare questo alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Descrizione"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Scade il"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Indirizzo non valido"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Destinatario locale {}@{} non trovato"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Riga non valida: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "nome"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Il nome del dominio"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Seleziona per attivare questo dominio"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Abilita i controlli DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Seleziona per abilitare i controlli DNS per questo dominio"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Abilita la firma DKIM"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Se attivi questa feature, verrà generata una chiave DKIM per questo dominio."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Se attivi questa feature, verrà generata una chiave DKIM per questo dominio."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Lunghezza della chiave"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Riga non valida"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Non è stato trovato alcun record MX autorizzato per il dominio {}"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Valore di spazio massimo non valido per il dominio '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Valore di spazio massimo predefinito non valido per il dominio '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "Lo spazio massimo predefinito per una casella di posta non può superare quello definito a livello di dominio"
+msgstr ""
+"Lo spazio massimo predefinito per una casella di posta non può superare "
+"quello definito a livello di dominio"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Il nome dell'alias"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "destinazione"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Il dominio a cui punta questo alias"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Dominio sconosciuto %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Indirizzo della casella di posta (senza la parte @dominio.org)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Impossibile recuperare la posizione della casella di posta (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "È richiesta una quota"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -983,8 +1111,9 @@ msgstr "Superato lo spazio massimo per il dominio"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Chiudi"
@@ -1035,9 +1164,9 @@ msgstr "Quantità"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Alias del dominio"
@@ -1072,7 +1201,7 @@ msgstr "Creato"
msgid "Last login"
msgstr "Ultimo login"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Email alternativa"
@@ -1081,7 +1210,7 @@ msgstr "Email alternativa"
msgid "Not defined"
msgstr "Non definito"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Numero di telefono"
@@ -1159,7 +1288,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Data"
@@ -1185,9 +1314,9 @@ msgstr "Data di creazione"
msgid "Last modification date"
msgstr "Data dell'ultima modifica"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Alias delle caselle di posta"
@@ -1246,11 +1375,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "No"
@@ -1258,7 +1388,7 @@ msgstr "No"
msgid "Generate new key"
msgstr "Genera una nuova chiave"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Si"
@@ -1271,7 +1401,7 @@ msgid "Administrators"
msgstr "Amministratori"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Rimuovi questo permesso"
@@ -1308,13 +1438,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Da"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "A"
@@ -1345,9 +1475,10 @@ msgstr "Disabilitato"
msgid "Automatically forward emails to another address"
msgstr "Inoltra automaticamente le e-mail ad un altro indirizzo"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Aggiorna"
@@ -1364,12 +1495,39 @@ msgid "Fullname/Recipient"
msgstr "Nome completo/Destinatario"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
Il "
+"primo elemento di ciascuna linea è obbligatorio e deve essere uguale ad uno "
+"dei precedenti valori.
Si può utilizzare un diverso separatore.
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1397,7 +1555,9 @@ msgstr "Aggiornato"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Questo indirizzo IP non coincide con nessuno degli MX validi definiti nei parametri."
+msgstr ""
+"Questo indirizzo IP non coincide con nessuno degli MX validi definiti nei "
+"parametri."
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1405,108 +1565,126 @@ msgstr "Non è stato trovato alcun record MX per questo dominio"
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa ha rilevato che il dominio %(domain)sè presente nelle liste dei seguenti provider DNSBL:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa ha rilevato che il dominio %(domain)sè presente nelle liste dei "
+"seguenti provider DNSBL:"
#: 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 "La reputazione del dominio verrà influenzata negativamente ed è probabile che le email provenienti da esso vengano considerate spam. Dovresti contattare questi provider e chiedere loro di togliere dalla lista gli indirizzi IP identificati."
+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 ""
+"La reputazione del dominio verrà influenzata negativamente ed è probabile "
+"che le email provenienti da esso vengano considerate spam. Dovresti "
+"contattare questi provider e chiedere loro di togliere dalla lista gli "
+"indirizzi IP identificati."
#: 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 ha rilevato che il dominio %(domain)snon ha un record MX valido:"
+msgstr ""
+"Modoboa ha rilevato che il dominio %(domain)snon ha un record MX valido:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Ricerca"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "Abilitato"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "Abilitata"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Lista domini"
-#: 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 "Elenco quote"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "Importa"
-#: 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 "Esporta"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Elenco identità"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Visualizza le identita del dominio"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "alias del dominio"
-#: 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 "Modifica {}"
-#: 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 "Eliminare %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Nessun record MX per %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 "Formato non valido per l'indirizzo IP %(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 "Nessun record MX per %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Un alias con questo nome esiste già"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Crea"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Nuovo alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias creato"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias modificato"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias eliminato"
@@ -1516,36 +1694,36 @@ msgstr[1] "Alias eliminati"
msgid "MX records of {}"
msgstr "Record MX di {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "Sommario DNSBL per {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Dominio cancellato"
msgstr[1] "Domini cancellati"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Identità di esportazione"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Esporta domini"
-#: 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 "Richiesta non valida"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Account cancellato"
msgstr[1] "Account cancellati"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importa domini"
@@ -1553,87 +1731,74 @@ msgstr "Importa domini"
msgid "Import identities"
msgstr "Identità di importazione"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Inoltro aggiornato"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid PIN code"
msgstr "Riga non valida"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Locale"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr "md5crypt (debole)"
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr "sha256 (debole)"
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr "md5 (debole)"
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr "crypt (debole)"
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr "plain (debole)"
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Profilo utente"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Sintassi errata"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Numero di cicli non valido"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr ""
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Vecchia password"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr ""
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Locale"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Profilo utente"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Sintassi errata"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Numero di cicli non valido"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr ""
+
+#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "L'utente '%s' è correttamente registrato"
-#: 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 ""
@@ -1643,475 +1808,533 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Autenticazione"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Tipo di autenticazione"
-#: 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 "Il backend utilizzato per l'autenticazione"
-#: 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 "Schema password predefinito"
-#: 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 "Schema utilizzato per la criptazione delle password delle caselle di posta"
+msgstr ""
+"Schema utilizzato per la criptazione delle password delle caselle di posta"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Cicli"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Numero di cicli da utilizzare (valido per sha256crypt e sha512crypt). Deve essere compreso tra 1000 e 999999999."
+#: 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 ""
+"Numero di cicli da utilizzare (valido per sha256crypt e sha512crypt). Deve "
+"essere compreso tra 1000 e 999999999."
-#: core/app_settings.py:67 core/app_settings.py:749
+#: core/app_settings.py:71 core/app_settings.py:752
#, fuzzy
#| msgid "Update password scheme"
msgid "Update password scheme at login"
msgstr "Aggiorna lo schema di password"
-#: 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 "Aggiorna la password utente al login per usare lo schema di password predefinito"
+msgstr ""
+"Aggiorna la password utente al login per usare lo schema di password "
+"predefinito"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Password predefinita"
-#: 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 "Password predefinita per gli account creati automaticamente."
-#: 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 "Lunghezza della password casuale"
-#: 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 "Lunghezza delle password generate casualmente"
-#: core/app_settings.py:90 core/app_settings.py:766
+#: core/app_settings.py:92 core/app_settings.py:781
#, fuzzy
#| msgid "Update password scheme"
msgid "Update password service URL"
msgstr "Aggiorna lo schema di password"
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Impostazioni LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Indirizzo del server"
-#: 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 "L'indirizzo IP o il DNS name del server LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Porta del server"
-#: 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 "Il numero della porta TCP utilizzata dal server LDAP"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: core/app_settings.py:156 core/app_settings.py:819
+#: core/app_settings.py:153 core/app_settings.py:866
#, fuzzy
#| msgid "Server address"
msgid "Secondary server address"
msgstr "Indirizzo del server"
-#: core/app_settings.py:159 core/app_settings.py:822
+#: core/app_settings.py:156 core/app_settings.py:869
#, fuzzy
#| msgid "The IP address or the DNS name of the LDAP server"
msgid "The IP address or the DNS name of the seondary LDAP server"
msgstr "L'indirizzo IP o il DNS name del server LDAP"
-#: core/app_settings.py:163 core/app_settings.py:826
+#: core/app_settings.py:161 core/app_settings.py:876
#, fuzzy
#| msgid "Server port"
msgid "Secondary server port"
msgstr "Porta del server"
-#: core/app_settings.py:166 core/app_settings.py:829
+#: core/app_settings.py:163 core/app_settings.py:879
#, fuzzy
#| msgid "The TCP port number used by the LDAP server"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Il numero della porta TCP utilizzata dal server LDAP"
-#: 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 "Usa una connessione sicura"
-#: 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 "Usa una connessione SSL/STARTTLS per l'accesso al server LDAP"
-#: 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 "Segnala se il server LDAP è una Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Gruppi degli amministratori"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Gli appartenenti a questi gruppi LDAP Posix avranno i privilegi di amministratori di dominio. Utilizza il carattere ';' per separare valori multipli."
+#: 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 ""
+"Gli appartenenti a questi gruppi LDAP Posix avranno i privilegi di "
+"amministratori di dominio. Utilizza il carattere ';' per separare valori "
+"multipli."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Tipo di gruppo"
-#: 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 "Il tipo di gruppo LDAP da utilizzare nella Directory"
-#: 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 "Base di ricerca per i gruppi"
-#: 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 "DN (Nome distinto univoco) della base di ricerca utilizzato per trovare i gruppi"
+msgstr ""
+"DN (Nome distinto univoco) della base di ricerca utilizzato per trovare i "
+"gruppi"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Attributo della password"
-#: 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 "L'attributo utilizzato per memorizzare le password degli utenti"
-#: core/app_settings.py:220 core/app_settings.py:869
+#: core/app_settings.py:214 core/app_settings.py:943
#, fuzzy
#| msgid "Authentication method"
msgid "LDAP authentication settings"
msgstr "Metodo di autenticazione"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Metodo di autenticazione"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Cerca e collega"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Collegamento diretto"
-#: 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 "Scegli il metodo di autenticazione da usare"
-#: 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 "Collega DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "DN (Nome distinto univoco) da usare quando ci si collega al server LDAP. Lasciare vuoto per un collegamento anonimo"
+#: 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 ""
+"DN (Nome distinto univoco) da usare quando ci si collega al server LDAP. "
+"Lasciare vuoto per un collegamento anonimo"
-#: 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 "Password del collegamento"
-#: 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 "La password da utilizzare quando ci si collega al server LDAP (con 'Collega DN')"
+msgstr ""
+"La password da utilizzare quando ci si collega al server LDAP (con 'Collega "
+"DN')"
-#: 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 "Base di ricerca per gli utenti"
-#: 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 "DN (Nome distinto univoco) della base di ricerca utilizzata per cercare gli utenti"
+msgstr ""
+"DN (Nome distinto univoco) della base di ricerca utilizzata per cercare gli "
+"utenti"
-#: 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 "Filtro ricerca"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere valida deve essere racchiusa tra parentesi."
+#: 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 ""
+"Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere "
+"valida deve essere racchiusa tra parentesi."
-#: 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 "Modello DN dell'utente"
-#: 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 "Il modello utilizzato per comporre il DN degli utenti. Deve contenere un segnaposto (p.es. %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Il modello utilizzato per comporre il DN degli utenti. Deve contenere un "
+"segnaposto (p.es. %(user)s)"
-#: core/app_settings.py:282 core/app_settings.py:921
+#: core/app_settings.py:276 core/app_settings.py:1017
#, fuzzy
#| msgid "LDAP settings"
msgid "LDAP synchronization settings"
msgstr "Impostazioni LDAP"
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: core/app_settings.py:325 core/app_settings.py:956
+#: core/app_settings.py:317 core/app_settings.py:1068
#, fuzzy
#| msgid "User DN template"
msgid "Account DN template"
msgstr "Modello DN dell'utente"
-#: core/app_settings.py:328 core/app_settings.py:958
+#: core/app_settings.py:320 core/app_settings.py:1070
#, fuzzy, python-format
-#| msgid "The template used to construct a user's DN. It should contain one placeholder (ie. %(user)s)"
-msgid "The template used to construct an account's DN. It should contain one placeholder (ie. %(user)s)"
-msgstr "Il modello utilizzato per comporre il DN degli utenti. Deve contenere un segnaposto (p.es. %(user)s)"
+#| msgid ""
+#| "The template used to construct a user's DN. It should contain one "
+#| "placeholder (ie. %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Il modello utilizzato per comporre il DN degli utenti. Deve contenere un "
+"segnaposto (p.es. %(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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
#, fuzzy
#| msgid "Password attribute"
msgid "Username attribute"
msgstr "Attributo della password"
-#: 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 ""
-#: core/app_settings.py:371 core/app_settings.py:995
+#: core/app_settings.py:362 core/app_settings.py:1122
#, fuzzy
#| msgid "Enable communication"
msgid "Enable Dovecot LDAP sync"
msgstr "Abilita comunicazione"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 "RSS feed custom"
-#: 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 "Mostra RSS feed custom a rivenditori e amministratori di dominio"
-#: 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 "Nascondi il widget delle feature"
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Notifiche"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Indirizzo di invio"
-#: 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 "Indirizzo email utilizzato per inviare le notifiche"
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "API pubblica"
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr "Abilita comunicazione"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Abilita la comunicazione con l'API pubblica di modoboa"
-#: 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 "Controlla nuove versioni"
-#: 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 "Controlla automaticamente se è disponibile una nuova versione"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Invia statistiche"
-#: 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 "Invia statistiche all'API pubblica di modoboa (contatori ed estensioni utilizzate)"
+msgstr ""
+"Invia statistiche all'API pubblica di modoboa (contatori ed estensioni "
+"utilizzate)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Varie"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Soglia account inattivo"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Soglia account inattivo"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Un account con una data di ultimo accesso più vecchia di questa soglia (in giorni) verrà considerato inattivo"
+#: 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 ""
+"Un account con una data di ultimo accesso più vecchia di questa soglia (in "
+"giorni) verrà considerato inattivo"
-#: 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 "Intervallo notifiche"
-#: 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 "Intervallo di tempo per la ricerca di nuove notifiche (in secondi)"
-#: 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 "Età massima dei log"
-#: 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 "La persistenza massima in giorni dei log"
-#: 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 "Elementi per pagina"
-#: 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 "Numero degli elementi visualizzati in ciascuna pagina"
-#: 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 "Reindirizzamento principale predefinito"
-#: 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 "Redirezione predefinita utilizzata quando non è specificata alcuna applicazione"
+msgstr ""
+"Redirezione predefinita utilizzata quando non è specificata alcuna "
+"applicazione"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Imposta `USE_TZ = True` in settings.py"
@@ -2143,33 +2366,33 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Vecchia password"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nuova password"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "La vecchia password non corrisponde"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Le password non corrispondono"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Abilita accesso API"
-#: core/forms.py:152
+#: core/forms.py:170
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "Notifiche"
-#: core/forms.py:163
+#: core/forms.py:181
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2188,20 +2411,20 @@ msgstr "modificato"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s dall'utente %(user)s"
-#: core/handlers.py:63
+#: core/handlers.py:64
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr ""
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "cancellato"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2209,143 +2432,148 @@ msgstr ""
msgid "You can't delete your own account"
msgstr "Non puoi cancellare il tuo account"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Sono disponibili nuovi aggiornamenti"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
#, fuzzy
#| msgid "One or more updates are available"
msgid "[modoboa] Update(s) available"
msgstr "Sono disponibili nuovi aggiornamenti"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Consenti l'accesso alle caselle di posta"
-#: core/models.py:54
-msgid "Allow this administrator to access user mailboxes"
-msgstr "Permetti a questo amministratore di accedere alle caselle di posta degli utenti"
-
#: core/models.py:57
+msgid "Allow this administrator to access user mailboxes"
+msgstr ""
+"Permetti a questo amministratore di accedere alle caselle di posta degli "
+"utenti"
+
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "password"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "lingua"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Lingua preferita per la visualizzazione delle pagine"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
-msgstr "Un indirizzo email alternativo, da utilizzare per il recupero password."
+msgstr ""
+"Un indirizzo email alternativo, da utilizzare per il recupero password."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Aggiornamento della password fallito: il modulo LDAP non è installato"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "account"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Sconosciuto"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Non puoi importare un account con un ruolo superiore al tuo"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "L'utente '%s' deve avere un indirizzo email valido"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "I campi nome utente e email di '%s' devono avere lo stesso valore"
-#: 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] "La password deve contenere almeno {} cifra."
msgstr[1] "La password deve contenere almeno {} cifre."
-#: 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] "La password deve contenere almeno {} lettera minuscola."
msgstr[1] "La password deve contenere almeno {} lettere minuscole."
-#: 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] "La password deve contenere almeno {} lettera maiuscola."
msgstr[1] "La password deve contenere almeno {} lettere maiuscole."
-#: 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] "La password deve contenere almeno {} carattere speciale."
msgstr[1] "La password deve contenere almeno {} caratteri speciali."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "La tua password deve contenere una combinazione di diversi tipi di carattere."
+msgstr ""
+"La tua password deve contenere una combinazione di diversi tipi di "
+"carattere."
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:37 core/sms_backends/ovh.py:107
+#: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109
#, fuzzy
#| msgid "Applications"
msgid "Application key"
msgstr "Applicazioni"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
#, fuzzy
#| msgid "Applications"
msgid "Application secret"
msgstr "Applicazioni"
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Applications"
msgid "Appication secret"
@@ -2372,8 +2600,12 @@ msgid "Latest news"
msgstr "Ultime notizie"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Per ulteriori informazioni visita il blog ufficiale"
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Per ulteriori informazioni visita il blog ufficiale"
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2385,7 +2617,9 @@ msgstr "Controlla l'accesso alle API di modoboa"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2397,7 +2631,7 @@ msgstr "Token di accesso"
msgid "Hello %(user)s."
msgstr "Ciao %(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 "Informazioni"
@@ -2411,7 +2645,9 @@ msgstr "Uno o più aggiornamenti sono disponibili!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Controlla il seguente elenco per verificare se ci sono componenti da poter aggiornare"
+msgstr ""
+"Controlla il seguente elenco per verificare se ci sono componenti da poter "
+"aggiornare"
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2429,7 +2665,7 @@ msgstr "Ultima versione"
msgid "Active users"
msgstr "Utenti attivi"
-#: 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 "Log"
@@ -2457,7 +2693,7 @@ msgid_plural ""
msgstr[0] "Sono disponibili nuovi aggiornamenti"
msgstr[1] "Sono disponibili nuovi aggiornamenti"
-#: 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 "Parametri"
@@ -2474,12 +2710,12 @@ msgstr "Salva"
msgid "Modoboa settings"
msgstr "Impostazioni Modoboa"
-#: 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 "Impostazioni"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Preferenze"
@@ -2501,7 +2737,7 @@ msgstr "Aggiorna le informazioni personali"
msgid "Click here to update your password"
msgstr "Aggiornamento della password fallito: {}"
-#: 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
#, fuzzy
#| msgid "Security options"
msgid "Security"
@@ -2514,7 +2750,9 @@ msgid "Two-Factor authentication"
msgstr "Il backend utilizzato per l'autenticazione"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2528,18 +2766,27 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgctxt "checks"
@@ -2547,12 +2794,18 @@ msgstr ""
msgid "Disable 2FA"
msgstr "Disabilitato"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2571,69 +2824,75 @@ msgstr "Nessun record DNS trovato per %s"
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Cripta le password"
+
#: 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 "Esci"
-#: 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 "Parte centrale di Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parametri salvati"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "Il tuo username e/o la tua password non corrispondono. Riprova."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Utente '{}' disconnesso"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profilo aggiornato"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Preferenze salvate"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Accesso aggiornato"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "Strumenti DMARC"
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr "Mostra DMARC report per {}"
-#: 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 ""
@@ -2669,11 +2928,11 @@ msgstr "Errore temporaneo"
msgid "Permanent error"
msgstr "Errore permanente"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Policy"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Piccolo problema"
@@ -2749,95 +3008,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Fonti sconosciute / Minaccie"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2866,7 +3125,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2882,7 +3143,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2890,151 +3151,159 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Accesso aggiornato"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "Migrazione IMAP"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "Migrazione IMAP"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP"
msgstr "Impostazioni 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 "Sincronizzazioni contemporanee"
-#: 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 "Il numero massimo si sincronizzazioni contemporanee"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "Impostazioni OfflineIMAP"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "Impostazioni OfflineIMAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "Impostazioni OfflineIMAP"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
msgid "IMAP Migration"
msgstr "Migrazione IMAP"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Conennessione al server IMAP fallito: %s"
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "Migrazione IMAP"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Impossibile creare un account LDAP: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Impossibile aggiornare l'account LDAP: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Impossibile eliminare l'account LDAP: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Impossibile disabilitare l'account LDAP: {}"
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Abilita la comunicazione con l'API pubblica di modoboa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "La connessione con il database %s non è configurata"
-#: 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 "impossibile determinare la codifica della stringa"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Accesso negato: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Accesso negato"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Inserisci un nome di dominio valido"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Inserisci un indirizzo email valido."
@@ -3044,133 +3313,177 @@ msgstr "Inserisci un indirizzo email valido."
msgid "Submit"
msgstr "Invia"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Aggiornamento della password fallito: {}"
-#: 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 "Oggetto"
-#: 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 "Limiti predefiniti per amministratore"
-#: 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 "Abilita i limiti per amministratore"
-#: 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 "Abilita o disabilita i limiti per amministratore"
-#: 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 "Amministratori di domini"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Il numero massimo di domini amministrabili per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)"
+#: 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 ""
+"Il numero massimo di domini amministrabili per nuovi amministratori. (0 per "
+"disabilitare la creazione, -1 per permettere la creazione illimitata)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Il numero massimo di domini per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)"
+#: 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 ""
+"Il numero massimo di domini per nuovi amministratori. (0 per disabilitare la"
+" creazione, -1 per permettere la creazione illimitata)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)"
+#: 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 ""
+"Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la "
+"creazione, -1 per permettere la creazione illimitata)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Il numero massimo di caselle di posta elettronica per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)"
+#: 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 ""
+"Il numero massimo di caselle di posta elettronica per nuovi amministratori. "
+"(0 per disabilitare la creazione, -1 per permettere la creazione illimitata)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)"
+#: 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 ""
+"Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la "
+"creazione, -1 per permettere la creazione illimitata)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
-msgstr "La dimensione massima che un rivenditore potrà condividere tra i domini che crea. (0 significa nessun limite)"
+#: 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 ""
+"La dimensione massima che un rivenditore potrà condividere tra i domini che "
+"crea. (0 significa nessun limite)"
-#: 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 "Limiti predefiniti per dominio"
-#: 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 "Abilita i limiti per dominio"
-#: 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 "Abilita o disabilita i limiti per dominio"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numero massimo di amministratori di dominio consentiti per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)"
+#: 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 ""
+"Numero massimo di amministratori di dominio consentiti per un nuovo dominio."
+" (0 per negare qualunque creazione, -1 per permetterne senza limiti)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numero massimo di alias di dominio consentiti per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)"
+#: 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 ""
+"Numero massimo di alias di dominio consentiti per un nuovo dominio. (0 per "
+"negare qualunque creazione, -1 per permetterne senza limiti)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numero massimo di caselle di posta consentite per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)"
+#: 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 ""
+"Numero massimo di caselle di posta consentite per un nuovo dominio. (0 per "
+"negare qualunque creazione, -1 per permetterne senza limiti)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numero massimo di alias consentiti per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)"
+#: 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 ""
+"Numero massimo di alias consentiti per un nuovo dominio. (0 per negare "
+"qualunque creazione, -1 per permetterne senza limiti)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Limiti"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Numero massimo di domini che questo utente può creare"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Numero massimo di alias di dominio che questo utente può creare"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Numero massimo di caselle di posta che questo utente può creare"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Numero massimo di alias di caselle di posta che questo utente può creare"
+msgstr ""
+"Numero massimo di alias di caselle di posta che questo utente può creare"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Numero massimo di amministratori di dominio che questo utente può creare"
+msgstr ""
+"Numero massimo di amministratori di dominio che questo utente può creare"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Dimensione massima condivisa per i domini di questo rivenditore"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Massimo numero di alias di dominio permessi per questo dominio."
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Numero massimo di caselle di posta consentite per questo dominio."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
-msgstr "Numero massimo di alias di caselle di posta consentite per questo dominio."
+msgstr ""
+"Numero massimo di alias di caselle di posta consentite per questo dominio."
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
-msgstr "Numero massimo di amministratori di dominio consentiti per questo dominio."
+msgstr ""
+"Numero massimo di amministratori di dominio consentiti per questo dominio."
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Limite non valido"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Risorse"
@@ -3183,11 +3496,11 @@ msgstr "%s: raggiunto il limite"
msgid "Not enough resources"
msgstr "Risorse insufficienti"
-#: 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 "Non ti è consentito definire valori non limitati"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "senza limiti"
@@ -3196,101 +3509,101 @@ msgstr "senza limiti"
msgid "Resources usage"
msgstr "Utilizzo risorse"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Percorso del file di log"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Percorso del file di log utilizzato per raccogliere le statistiche"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Cartella dei file RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Percorso della cartella dove sono memorizzati i file RRD"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
#, fuzzy
#| msgid "rejected messages"
msgid "Show greylisted messages"
msgstr "messaggi respinti"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Statistiche"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
#, fuzzy
msgid "Average traffic (msgs/min)"
msgstr "Dimensione del traffico normale medio"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "messaggi inviati"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "messaggi ricevuti"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "messaggi di rimbalzo"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "messaggi respinti"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "messaggi inviati"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "messaggi inviati"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "messaggi respinti"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
#, fuzzy
msgid "Average normal traffic size (bytes/min)"
msgstr "Dimensione del traffico normale medio"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "dimensione di ricezione"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "dimensione di spedizione"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Traffico mail"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3318,183 +3631,196 @@ msgstr "Applica"
msgid "No statistics available"
msgstr "Non sono disponibili statistiche"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Giorno"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Settimana"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Mese"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Anno"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr ""
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Impostazione grafica sconosciuta"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Impostazione grafica sconosciuta"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Periodo personalizzato sbagliato"
-#: 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 "Informazioni Personali"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Cartella non trovata."
-#: 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 "Non ci sono documenti disponibili er questo utente"
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "Credenziali PDF"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "Genera documenti solo dopo la creazione dell'account"
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Memorizzazione Documenti"
-#: 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 "Cartella nella quale salvare i documenti"
-#: 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 "Indirizzo della cartella dove i documenti PDF saranno salvati"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Opzioni di sicurezza"
-#: 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 "Cancella i documenti dopo averli scaricati"
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
-msgstr "Elimina automaticamente il documento dopo che è stato scaricato da questa interfaccia"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
+msgstr ""
+"Elimina automaticamente il documento dopo che è stato scaricato da questa "
+"interfaccia"
-#: 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 "Genera documenti solo dopo la creazione dell'account"
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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 "Generare un nuovo documento solo quando si crea un nuovo account. Se impostato su no , un nuovo documento verrà creato ogni volta che la password viene aggiornata."
+#: 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 ""
+"Generare un nuovo documento solo quando si crea un nuovo account. Se "
+"impostato su no , un nuovo documento verrà creato ogni volta che la password"
+" viene aggiornata."
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Opzioni di personalizzazione"
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr "Titolo"
-#: 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 "Il titolo del documento"
-#: 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 del pannello di controllo web"
-#: 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 del pannello di controllo web di Modoboa"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Messaggio personalizzato"
-#: 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 "Un messaggio personalizzato comparirà alla fine dei documenti"
-#: 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 "Includi le impostazioni di connessione del client di posta"
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
-msgstr "Includi le informazioni di connessione SMTP e IMAP richieste per configurare un client di posta, un tablet o telefono"
+#: 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 ""
+"Includi le informazioni di connessione SMTP e IMAP richieste per configurare"
+" un client di posta, un tablet o telefono"
-#: 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 "Indirizzo del server SMTP"
-#: 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 "Indirizzo del server SMTP (nome host o indirizzo 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 "Porta del server SMTP"
-#: 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 "Porta di ascolto del server SMTP"
-#: 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 "Sicurezza della connessione al server SMTP"
-#: 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 "Meccanismo di sicurezza della connessione"
-#: 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 "indirizzo del server IMAP"
-#: 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 "Indirizzo del server IMAP (nome host o indirizzo 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 "Porta del server IMAP"
-#: 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 "Porta di ascolto del server IMAP"
-#: 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 "Sicurezza della connessione al server IMAP"
@@ -3502,17 +3828,17 @@ msgstr "Sicurezza della connessione al server IMAP"
msgid "PDF credentials"
msgstr "Credenziali PDF"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
msgid "PDF Credentials"
msgstr "Credenziali PDF"
-#: 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"
@@ -3525,11 +3851,11 @@ msgstr ""
"per accedere a Modoboa. Leggilo e elimina\n"
" il documento il prima possibile.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Pannello web:"
-#: pdfcredentials/documents.py:91
+#: pdfcredentials/documents.py:116
msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
@@ -3539,31 +3865,38 @@ msgstr ""
"Qui puoi sempre visualizzare le tue email onlime, creare filtri\n"
"o gestire i tuoi contatti.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Per favore cambia la tua password!"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Configurazione PC/Tablet/Smartphone:"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr "Utilizza quelle impostazioni per il tuo computer, tablet o telefono."
-#: 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 "Recuperare le credenziali dell'utente come documento PDF"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "Credenziali PDF"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Impossibile creare la cartella che conterrà i documenti PDF (%s)"
@@ -3572,27 +3905,180 @@ msgstr "Impossibile creare la cartella che conterrà i documenti PDF (%s)"
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr "Impossibile creare la cartella che conterrà i documenti PDF (%s)"
-#: 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: raggiunto il limite"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: raggiunto il limite"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Questa data è passata"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Dev'essere successiva alla data di inizio"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Risposte automatiche"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Attiva la risposta automatica da questa data"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Fino al"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Attiva la tua risposta automatica fino a questa data"
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr "Tempo massimo della risposta automatica"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Tempo massimo in secondi tra due risposte automatiche al medesimo "
+"destinatario"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Oggetto predefinito"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Sono via"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Oggetto predefinito utilizzato nei messaggi di risposta automatica"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Corpo del messaggio predefinito"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Al momento non posso rispondere. Risponderò al mio ritorno.\n"
+"\n"
+"Distinti saluti,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Corpo del messaggio predefinito per i messaggi di risposta automatica. La "
+"macro '%(name)s' verrà sostituita con il nome dell'utente. "
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Messaggio di risposta automatica"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Risposte automatiche"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "oggetto"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "L'oggetto che apparirà nelle mail inviate"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "contenuto"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "Il contenuto che apparirà nelle mail inviate"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Attiva/disattiva la tua risposta automatica"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr "Definisci un messaggio da inviare automaticamente quando sei via"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Messaggio di risposta automatica aggiornato con successo."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr "Servizio non supportato"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr "Impostazioni di trasporto"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr "Trasporto"
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr "Indirizzo dell'host di destinazione "
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "Porta dell'host di destinazione"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "Verifica destinatari"
@@ -3662,16 +4148,24 @@ msgstr "Password dimenticata?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "La tua password è stata impostata. Ora puoi accedere."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"La tua password è stata impostata. Ora puoi accedere."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Cambia password"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Il link per il reset della password non era valido, probabilmente perché è già stato uitilizzato. Richiedi un altro reset della password."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Il link per il reset della password non era valido, probabilmente perché è "
+"già stato uitilizzato. Richiedi un altro reset della password."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3682,19 +4176,36 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "
Ti abbiamo inviato una email con le istruzioni per l'impostazione della password, se esiste un account associato alla email che hai inserito. Dovresti riceverle a breve
Se non ricevi nessuna email, assicurati di avere inserito il tuo indirizo email primario, inoltre controlla la posta indesiderata.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"
Ti abbiamo inviato una email con le istruzioni per l'impostazione della "
+"password, se esiste un account associato alla email che hai inserito. "
+"Dovresti riceverle a breve
Se non ricevi nessuna email, assicurati di "
+"avere inserito il tuo indirizo email primario, inoltre controlla la posta "
+"indesiderata.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Per avviare il processo di reset della password per il tuo account Modoboa %(username)s, clicca il link sottostante:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Per avviare il processo di reset della password per il tuo account Modoboa "
+"%(username)s, clicca il link sottostante:"
#: 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 "Se non funziona il click del link sopra, fai copia e incolla della URL in una nuova finestra del browser."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Se non funziona il click del link sopra, fai copia e incolla della URL in "
+"una nuova finestra del browser."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3713,22 +4224,36 @@ msgstr "Modoboa password reset"
msgid "Invalid value"
msgstr "Valore non valido"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr "pattern"
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr "servizio"
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr "prossimo salto"
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: raggiunto il limite"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Un alias con questo nome esiste già"
+
+#~ msgid "md5crypt (weak)"
+#~ msgstr "md5crypt (debole)"
+
+#~ msgid "sha256 (weak)"
+#~ msgstr "sha256 (debole)"
+
+#~ msgid "md5 (weak)"
+#~ msgstr "md5 (debole)"
+
+#~ msgid "crypt (weak)"
+#~ msgstr "crypt (debole)"
+
+#~ msgid "plain (weak)"
+#~ msgstr "plain (debole)"
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "Una serie di strumenti per facilitare l'integrazione DMARC"
@@ -3737,7 +4262,6 @@ msgstr "prossimo salto"
#~ msgstr "Genera i documenti PDF con le credenziali dell'utente"
#, fuzzy
-#~| msgid "IMAP migration"
#~ msgid "IMAP migrations"
#~ msgstr "Migrazione IMAP"
diff --git a/modoboa/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/locale/ja_JP/LC_MESSAGES/django.po
index fdca66796..5ea000e9c 100644
--- a/modoboa/locale/ja_JP/LC_MESSAGES/django.po
+++ b/modoboa/locale/ja_JP/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2016-09-14 17:06+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/language/ja_JP/)\n"
@@ -19,547 +19,620 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
msgstr ""
"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
"値が0の場合は、クォータ制限はありません。"
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
msgstr ""
"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
"値が0の場合は、クォータ制限はありません。"
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
#, fuzzy
#| msgid "No information available for this domain."
msgid "No authorized MX record found for this domain"
msgstr "このドメインに関する情報がありません。"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "アクセス拒否"
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "このフィールドは必須です"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr "管理しているドメインのリスト (リセーラーとドメイン管理者のみ)"
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "このロールには許可されていません"
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "メールボックス full_address に等しくなければなりません"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
#, fuzzy
#| msgid "A mailbox is required"
msgid "This field is required."
msgstr "メールボックスは必須です"
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "ローカルドメイン {} は、存在しません"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "ユーザー %s はすでに存在します"
+
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "このドメインにアクセスする権限がありません"
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
msgstr "このドメインにアクセスする権限がありません"
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "ユーザー %s はすでに存在します"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "正の整数でなければいけません"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
#, fuzzy
#| msgid "Domain not found."
msgid "Directory not found."
msgstr "ドメインが見つかりません"
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Domain not found."
msgid "Directory non-writable"
msgstr "ドメインが見つかりません"
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "メールボックスは必須です"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown domain %s"
msgid "Unknown status"
msgstr "不明なドメイン %s"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "このドメインにアクセスする権限がありません"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "あなた自身のドメインは削除できません"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "ドメイン"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr ""
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr ""
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr ""
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
msgstr ""
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr ""
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable DNSBL checks"
+msgid "Enable IPV6 checks"
+msgstr "DNSBL チェックを有効にする"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
#, fuzzy
#| msgid "Enable DNSBL checks"
msgid "Enable SPF checks"
msgstr "DNSBL チェックを有効にする"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
#, fuzzy
#| msgid "Check every domain against major DNSBL providers"
msgid "Check if every domain has a valid SPF record"
msgstr "すべてのドメインを 主な DNSBL プロバイダーでチェックする"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
#, fuzzy
#| msgid "Enable DNSBL checks"
msgid "Enable DKIM checks"
msgstr "DNSBL チェックを有効にする"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
#, fuzzy
#| msgid "Enable DNSBL checks"
msgid "Enable DMARC checks"
msgstr "DNSBL チェックを有効にする"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
#, fuzzy
#| msgid "Check every domain against major DNSBL providers"
msgid "Check if every domain has a valid DMARC record"
msgstr "すべてのドメインを 主な DNSBL プロバイダーでチェックする"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
#, fuzzy
#| msgid "Enable DNSBL checks"
msgid "Enable autoconfig checks"
msgstr "DNSBL チェックを有効にする"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "DNSBL チェックを有効にする"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "すべてのドメインを 主な DNSBL プロバイダーでチェックする"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
msgstr ""
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "デフォルトドメインクォータ"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
msgstr ""
"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
"値が0の場合は、クォータ制限はありません。"
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "デフォルトドメインクォータ"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "メールボックス"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "ファイルシステムのメールボックスを操作する"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
msgstr "Modoboa で、メールボックスの名前の変更もしくは、削除したとき、ファイルシステム上のメールボックスも、名前の変更もしくは削除する。"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox quota"
msgstr "デフォルトドメインクォータ"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
msgstr ""
"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
"値が0の場合は、クォータ制限はありません。"
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox sending limit"
msgstr "デフォルトドメインクォータ"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "アカウントの自動削除"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "メールボックスが削除されたとき、関連するアカウントも削除します"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "ドメインとメールボックスを自動作成"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
msgstr "アカウントが自動的に作成されたとき、ドメインとメールボックを作成します。"
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
msgstr ""
"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
"値が0の場合は、クォータ制限はありません。"
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "管理"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "ドメイン"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "リレードメイン"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr ""
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "ユーザ名"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
msgstr ""
"ユーザーの名前。\n"
"メールボックスを持つユーザーもしくは管理者の有効な電子メールアドレスでなければなりません。"
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "ロール"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "選ぶ"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "このユーザーは、アクセス許可のレベルを持つことになります"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
#, fuzzy
#| msgid "Invalid address"
msgid "Random password"
msgstr "不正なアドレス"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "パスワード"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "確認"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "確認のため、上記と同じパスワードを入力します。"
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "有効化"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "スーパー管理者だけが、このモードのために許可されています。"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "2つのパスワード項目が一致しません"
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "あなた自身のアカウントは無効化できません"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "電子メール"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "クォータ"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
#, fuzzy
-#| msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
+#| msgid ""
+#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
+#| "one. Leave empty to define an unlimited value (not allowed for domain "
+#| "administrators)."
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
msgstr ""
"このメールボックスのクォータ (MB)\n"
"カスタム値またはドメインのデフォルト値を定義します\n"
"無制限の値を定義する場合は空白のままにします\n"
"(ドメイン管理者には許可されていません)"
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "エイリアス"
-#: admin/forms/account.py:256
+#: admin/forms/account.py:269
#, fuzzy
-#| msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. Use the '*' character to create a 'catchall' alias (ex: *@domain.tld)."
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
+#| msgid ""
+#| "Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+#| "to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+#| "*@domain.tld)."
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
msgstr ""
"メールボックスのエイリアス\n"
"input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追加します\n"
" 「キャッチオール」エイリアスを作成するには、 ' * '文字を使用してください (例: *@domain.tld)"
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr ""
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
msgstr ""
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "ドメインは存在しません"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "ローカルドメインは存在しません"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "ドメイン"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "ユーザーに管理されたドメイン"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "全般"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "プロフィール"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "メール"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "アクセス許可"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "アカウントを更新しました"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "新しいアカウト"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "アカウントを作成しました"
@@ -574,7 +647,9 @@ msgid "Email address"
msgstr "メールアドレス"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
msgstr ""
"エイリアスアドレス\n"
"キャッチオールエイリアスを作成するためには、ドメイン名だけを入力します (@domain.tld)"
@@ -583,70 +658,78 @@ msgstr ""
msgid "Recipients"
msgstr "受信者"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
msgstr ""
"アドレスはこのエイリアスが指し示すます。\n"
"input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追加します"
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "受信者が定義されていません"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "タイプ"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
msgstr ""
"このドメインのエイリアス \n"
"input ごとに1つの名前を入力して、 ENTER キーを押して、新しい input を追加します"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
+#: admin/forms/domain.py:57
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
msgstr ""
"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
"値が0の場合は、クォータ制限はありません。"
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "ドメインエイリアス"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr " %s という名前は、すでに存在しています"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "ドメイン"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "ドメイン管理者を作成する"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "自動的にドメインの管理者を作成する"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -655,57 +738,59 @@ msgstr "自動的にドメインの管理者を作成する"
msgid "Name"
msgstr "名前"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
msgstr ""
"管理者の名前\n"
"ここでは、ドメイン名を含めないでください、それが自動的に付加されます。"
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Generate a random password for the administrator."
msgstr "ドメイン管理者を作成する"
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "ドメイン管理者を作成する"
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "エイリアスを作成"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "自動的にドメインの標準的なエイリアスを作成する"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "不正なフォーマット"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "ドメインが修正されました"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "オプション"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "新しいドメイン"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "ドメインが作成されました"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "セパレーター"
@@ -713,23 +798,23 @@ msgstr "セパレーター"
msgid "Recipient(s)"
msgstr "受信者"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "\",\"で区切られた1つまたは複数の受信者を示します"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "ローカルコピーを保持する"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "メッセージを転送して、ローカルのメールボックスへコピーを格納します。"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "ファイルを選択"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "エラーのときに続行する"
@@ -737,7 +822,7 @@ msgstr "エラーのときに続行する"
msgid "Don't treat duplicated objects as error"
msgstr "重複したオブジェクトをエラーとして処理しない"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "パスワード暗号化"
@@ -745,96 +830,96 @@ msgstr "パスワード暗号化"
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "ファイルに含まれるパスワードが暗号化されていない場合は、このオプションをチェックしてください"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "アカウントのインポートに失敗しました (%s): ドメインが存在しません"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "メールボックス {} はすでに存在します"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "アカウントのインポートに失敗しました (%s): 不正なクォータの値"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "ID"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "転送先"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "メールボックスは必須です"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "ドメインのインポートは許可されていません"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "ドメインエイリアスのインポートは許可されていません"
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No information available for this domain."
msgid "No DNS record found for %s"
msgstr "このドメインに関する情報がありません。"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, fuzzy, python-format
#| msgid "No information available for this domain."
msgid "No %(type)s record for %(name)s"
msgstr "このドメインに関する情報がありません。"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '%s'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "不正なドメイン %s のクォータ値"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "オブジェクトはすでに存在します: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d オブジェクトのインポートに成功しました"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -843,25 +928,25 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain not found."
msgid "Domain has no MX record"
msgstr "ドメインが見つかりません"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr ""
@@ -870,164 +955,159 @@ msgstr ""
msgid "[modoboa] MX issue(s) for domain {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] ドメイン {} の DNSBL結果"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "ドメインが見つかりません"
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "このエイリアス名がすでに存在しています"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "アドレス"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "エイリアスアドレス"
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
-msgstr "有効"
+msgstr "有効化"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "このエイリアスをアクティブにするために確認してください"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "説明"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr ""
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "エイリアス"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "不正なアドレス"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "ローカル受信者 {}@{} は見つかりません"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "不正な行: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "名前"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "ドメイン名"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "このドメインをアクティブするために確認してください"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
#, fuzzy
#| msgid "Enable DNSBL checks"
msgid "Enable DNS checks"
msgstr "DNSBL チェックを有効にする"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
#, fuzzy
#| msgid "Check to activate this domain"
msgid "Check to enable DNS checks for this domain"
msgstr "このドメインをアクティブするために確認してください"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "不正な行"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No information available for this domain."
msgid "{}: no authorized MX record found for domain"
msgstr "このドメインに関する情報がありません。"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '%s'"
msgid "{}: invalid quota value for domain"
msgstr "不正なドメイン %s のクォータ値"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid quota value for domain '%s'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "不正なドメイン %s のクォータ値"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Invalid quota value for domain '%s'"
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "不正なドメイン %s のクォータ値"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "エイリアス名"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "ターゲット"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "ドメインこのエイリアスポイントへ"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "不明なドメイン %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "メールボックスアドレス (@domain.tld 部分なし)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "メールボックスの場所の取得に失敗しました (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "クォータは必須です"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain created"
msgid "{}: domain quota exceeded"
@@ -1037,8 +1117,9 @@ msgstr "ドメインが作成されました"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "閉じる"
@@ -1093,9 +1174,9 @@ msgstr "数量"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "ドメインエイリアス"
@@ -1132,7 +1213,7 @@ msgstr ""
msgid "Last login"
msgstr "最終ログイン"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "2つめの電子メール"
@@ -1141,7 +1222,7 @@ msgstr "2つめの電子メール"
msgid "Not defined"
msgstr ""
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "電話番号"
@@ -1219,7 +1300,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "日付"
@@ -1245,9 +1326,9 @@ msgstr "作成日時"
msgid "Last modification date"
msgstr "最終修正日時"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "メールボックスエイリアス"
@@ -1305,11 +1386,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "いいえ"
@@ -1317,7 +1399,7 @@ msgstr "いいえ"
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "はい"
@@ -1330,7 +1412,7 @@ msgid "Administrators"
msgstr "管理者"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "このパーミッションを削除"
@@ -1369,13 +1451,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
-msgstr ""
+msgstr "から"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr ""
@@ -1408,9 +1490,10 @@ msgstr "無効化"
msgid "Automatically forward emails to another address"
msgstr "電子メールをほかのアドレスへ自動的に転送します"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "更新"
@@ -1437,7 +1520,14 @@ msgstr "フルネーム / 受信者"
#| "
\n"
#| "
The first element of each line is mandatory and must be equal to one of the previous values.
\n"
#| "
You can use a different character as separator.
\n"
-msgid "Provide a CSV file where lines respect one of the following formats:
\n"
@@ -1508,12 +1604,18 @@ msgstr "このドメインに関する情報がありません。"
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr "Modoboa は、ドメイン %(domain)s が、以下の DNSBL プロバイダーに載っていることを検出しました:"
#: 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 "ドメインのレピュテーションが影響を受けることになりますし、それから来るメールはスパムと見なされる可能性があります。あなたは、これらのプロバイダーに連絡して、検出されたIPアドレスを登録解除してもらう必要があります。"
+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 ""
+"ドメインのレピュテーションが影響を受けることになりますし、それから来るメールはスパムと見なされる可能性があります。あなたは、これらのプロバイダーに連絡して、検出されたIPアドレスを登録解除してもらう必要があります。"
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -1524,93 +1626,99 @@ msgstr ""
msgid "Search"
msgstr "検索"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "enabled_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "enabled_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "ドメイン一覧を表示"
-#: 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 "クォータ一覧を表示"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "インポート"
-#: 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 "エクスポート"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "ID 一覧を表示"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "ドメインの ID を表示"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "ドメインエイリアス"
-#: 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 "{} を編集"
-#: 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 を削除しますか?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, fuzzy, python-format
#| msgid "No information available for this domain."
msgid "No MX record for %s"
msgstr "このドメインに関する情報がありません。"
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, fuzzy, python-format
+#| msgid "No information available for this domain."
+msgid "No AAAA record for %s"
+msgstr "このドメインに関する情報がありません。"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "このエイリアス名がすでに存在しています"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "作成"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "新しいエイリアス"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "エイリアスが作成されました"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "エイリアスは修正されました"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] ""
@@ -1619,34 +1727,34 @@ msgstr[0] ""
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "{} のDNSBL 要約"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "ドメインを削除しました"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "ID をエクスポート"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "ドメインをエクスポート"
-#: 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 "不正なリクエスト"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "アカウントを削除しました"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "ドメインをインポート"
@@ -1654,89 +1762,76 @@ msgstr "ドメインをインポート"
msgid "Import identities"
msgstr "ID をインポート"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "転送先が更新されました"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid PIN code"
msgstr "不正な行"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
+msgstr ""
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#, fuzzy
+#| msgid "Old password"
+msgid "Invalid password"
+msgstr "現在のパスワード"
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr ""
-#: 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 "ローカル"
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr "md5crypt (弱い)"
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr "sha256 (弱い)"
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr "md5 (弱い)"
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr "crypt (弱い)"
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr "plain (弱い)"
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
#, fuzzy
#| msgid "Profile"
msgid "User profile"
msgstr "プロフィール"
#: 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:165
msgid "Invalid syntax"
msgstr "不正な構文"
-#: 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 "不正なラウンド数"
-#: 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 ""
-#: core/api/v2/serializers.py:274
-#, fuzzy
-#| msgid "Old password"
-msgid "Invalid password"
-msgstr "現在のパスワード"
-
-#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "ユーザー \"%s\" がログインに成功しました"
-#: 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 ""
@@ -1746,485 +1841,515 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "認証"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "認証の種類"
-#: 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 "認証に使用されるバックエンド"
-#: 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 "デフォルトのパスワードハッシュ"
-#: 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 "ハッシュは、メールボックスパスワードを暗号化するのに使われます"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "ラウンド"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+#: 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 ""
"ラウンド数は(sha256crypt と sha512crypt だけで)使用しています。\n"
"1000 から 999999999 の間でなければなりません。"
-#: core/app_settings.py:67 core/app_settings.py:749
+#: core/app_settings.py:71 core/app_settings.py:752
#, fuzzy
#| msgid "Default password scheme"
msgid "Update password scheme at login"
msgstr "デフォルトのパスワードハッシュ"
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
#, fuzzy
#| msgid "Default password scheme"
msgid "Default password"
msgstr "デフォルトのパスワードハッシュ"
-#: 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 ""
-#: core/app_settings.py:82 core/app_settings.py:761
+#: core/app_settings.py:85 core/app_settings.py:772
#, fuzzy
#| msgid "Bind password"
msgid "Random password length"
msgstr "Bind パスワード"
-#: 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 ""
-#: core/app_settings.py:90 core/app_settings.py:766
+#: core/app_settings.py:92 core/app_settings.py:781
#, fuzzy
#| msgid "Default password scheme"
msgid "Update password service URL"
msgstr "デフォルトのパスワードハッシュ"
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "LDAP 設定"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "サーバーアドレス"
-#: 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 "LDAP サーバーの IP アドレス、または DNS 名"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "サーバーポート"
-#: 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 "LDAP サーバーの TCP ポート番号"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: core/app_settings.py:156 core/app_settings.py:819
+#: core/app_settings.py:153 core/app_settings.py:866
#, fuzzy
#| msgid "Server address"
msgid "Secondary server address"
msgstr "サーバーアドレス"
-#: core/app_settings.py:159 core/app_settings.py:822
+#: core/app_settings.py:156 core/app_settings.py:869
#, fuzzy
#| msgid "The IP address or the DNS name of the LDAP server"
msgid "The IP address or the DNS name of the seondary LDAP server"
msgstr "LDAP サーバーの IP アドレス、または DNS 名"
-#: core/app_settings.py:163 core/app_settings.py:826
+#: core/app_settings.py:161 core/app_settings.py:876
#, fuzzy
#| msgid "Server port"
msgid "Secondary server port"
msgstr "サーバーポート"
-#: core/app_settings.py:166 core/app_settings.py:829
+#: core/app_settings.py:163 core/app_settings.py:879
#, fuzzy
#| msgid "The TCP port number used by the LDAP server"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "LDAP サーバーの TCP ポート番号"
-#: 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 "セキュアな接続を使う"
-#: core/app_settings.py:174 core/app_settings.py:835
+#: core/app_settings.py:171 core/app_settings.py:888
#, fuzzy
#| msgid "Use an SSL/TLS connection to access the LDAP server"
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
msgstr "LDAP サーバーへの接続に SSL/TLS 接続を使う"
-#: 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 "LDAP サーバーが Active Directory かどうか"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "管理者グループ"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
+#: 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 ""
"これらの LDAP の Posix グループのメンバーは、ドメイン管理者として作成されます。\n"
"\";\" 文字を使って、複数グループを書けます。"
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "グループ種類"
-#: 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 "ディレクトリで使用されている LDAP グループの種類"
-#: 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 "グループの検索ベース"
-#: 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 "グループを見つけるために使用される検索ベースの識別名(DN)"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "パスワード属性"
-#: 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 "ユーザーパスワードを格納するための属性"
-#: core/app_settings.py:220 core/app_settings.py:869
+#: core/app_settings.py:214 core/app_settings.py:943
#, fuzzy
#| msgid "Authentication method"
msgid "LDAP authentication settings"
msgstr "認証方法"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "認証方法"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "検索と Bind"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "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 "使用する認証方式を選択します"
-#: 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
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
+#: 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 ""
"LDAPサーバにバインドするときの識別名に使用します。\n"
"匿名バインドのときは空のままにします。"
-#: 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 パスワード"
-#: 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 "(\"Bind DN\" を使って) LDAPサーバにバインドするときに使用するパスワード"
-#: 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 "ユーザーの検索ベース"
-#: 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 "ユーザーを見つけるために使用される検索ベースの識別名(DN)"
-#: 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 "検索フィルター"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
+#: 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 ""
"オプションのフィルタ文字列 (例えば \"(objectClass=person)\") \n"
"有効であるためには、括弧で囲まなければなりません。"
-#: 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 "ユーザー 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)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr "ユーザーDNを作るために使用されるテンプレート。1つのプレースホルダ (%(user)s)が含まれている必要があります。"
-#: core/app_settings.py:282 core/app_settings.py:921
+#: core/app_settings.py:276 core/app_settings.py:1017
#, fuzzy
#| msgid "LDAP settings"
msgid "LDAP synchronization settings"
msgstr "LDAP 設定"
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: core/app_settings.py:325 core/app_settings.py:956
+#: core/app_settings.py:317 core/app_settings.py:1068
#, fuzzy
#| msgid "User DN template"
msgid "Account DN template"
msgstr "ユーザー DN テンプレート"
-#: core/app_settings.py:328 core/app_settings.py:958
+#: core/app_settings.py:320 core/app_settings.py:1070
#, fuzzy, python-format
-#| msgid "The template used to construct a user's DN. It should contain one placeholder (ie. %(user)s)"
-msgid "The template used to construct an account's DN. It should contain one placeholder (ie. %(user)s)"
+#| msgid ""
+#| "The template used to construct a user's DN. It should contain one "
+#| "placeholder (ie. %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr "ユーザーDNを作るために使用されるテンプレート。1つのプレースホルダ (%(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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
#, fuzzy
#| msgid "Password attribute"
msgid "Username attribute"
msgstr "パスワード属性"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "通知"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "送信者アドレス"
-#: 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 "通知の送信に使われる電子メールアドレス"
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr ""
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: 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 "新しいバージョンをチェックする"
-#: 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 "新しいバージョンが利用可能かどうか、自動的にチェックする"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "その他"
-#: 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 ""
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 ""
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 ""
-#: 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 "トップの通知をチェックする間隔"
-#: 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 "2つのトップの通知チェックの間隔 (秒)"
-#: 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 "最大ログ記録期間"
-#: 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 "ログを記録する日数の最大期間"
-#: 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 "ページあたりの件数"
-#: 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 "ページあたりに表示される項目の数"
-#: 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 "デフォルトのリダイレクト先"
-#: 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 "アプリケーションが指定されていないときのデフォルトのリダイレクト先に使用されます"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2256,33 +2381,33 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "現在のパスワード"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "新しいパスワード"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "現在のパスワードが一致しません"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "パスワード不一致"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "API アクセスを有効にします"
-#: core/forms.py:152
+#: core/forms.py:170
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "通知"
-#: core/forms.py:163
+#: core/forms.py:181
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2301,21 +2426,21 @@ msgstr "修正しました"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s by ユーザー %(user)s"
-#: core/handlers.py:63
+#: core/handlers.py:64
#, fuzzy, python-format
#| msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgid "%(object)s '%(name)s' %(action)s by "
msgstr "%(object)s '%(name)s' %(action)s by ユーザー %(user)s"
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "削除しました"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2323,139 +2448,139 @@ msgstr ""
msgid "You can't delete your own account"
msgstr "あなた自身のアカウントは削除できません"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "1つ以上のアップデートが利用できます"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
#, fuzzy
#| msgid "One or more updates are available"
msgid "[modoboa] Update(s) available"
msgstr "1つ以上のアップデートが利用できます"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "メールボックスのアクセスを許可する"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "ユーザーのメールボックスアクセスをこの管理者に許可する"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "パスワード"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr ""
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "ページの表示に優先言語を使う"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "別の電子メールアドレスは、回復の必要のために使用することができます。"
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "パスワードの更新に失敗しました : LDAP モジュールがインストールされていません。"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "アカウント"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr ""
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "あなた以上のロールを持ったアカウントはインポートできません"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "ユーザー \"%s\" は、正しい電子メールアドレスを持っていなければいけません"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "\"%s\" のユーザー名と電子メールフィールドが同一である必要があります。"
-#: 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] ""
-#: 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] ""
-#: 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] ""
-#: 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] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:37 core/sms_backends/ovh.py:107
+#: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109
#, fuzzy
#| msgid "Applications"
msgid "Application key"
msgstr "アプリケーション"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
#, fuzzy
#| msgid "Applications"
msgid "Application secret"
msgstr "アプリケーション"
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Applications"
msgid "Appication secret"
@@ -2482,7 +2607,9 @@ msgid "Latest news"
msgstr ""
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
+msgid ""
+"Visit the official "
+"weblog for more information."
msgstr ""
#: core/templates/core/api_access.html:3
@@ -2495,7 +2622,9 @@ msgstr "Modoboa API へのアクセスを制御"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2507,7 +2636,7 @@ msgstr "API アクセストークン"
msgid "Hello %(user)s."
msgstr ""
-#: 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 "情報"
@@ -2539,7 +2668,7 @@ msgstr "最新のバージョン"
msgid "Active users"
msgstr "アクティブユーザー"
-#: 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 "ログ"
@@ -2566,7 +2695,7 @@ msgid_plural ""
" The following updates are available:\n"
msgstr[0] "1つ以上のアップデートが利用できます"
-#: 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 "パラメータ"
@@ -2583,12 +2712,12 @@ msgstr "保存"
msgid "Modoboa settings"
msgstr "Modoboa 設定"
-#: 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 "設定"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "プリファレンス"
@@ -2610,7 +2739,7 @@ msgstr "個人情報を更新します"
msgid "Click here to update your password"
msgstr "パスワードの更新に失敗しました: {}"
-#: 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
#, fuzzy
#| msgid "Security options"
msgid "Security"
@@ -2623,7 +2752,9 @@ msgid "Two-Factor authentication"
msgstr "認証に使用されるバックエンド"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2637,30 +2768,45 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgid "disabled"
msgid "Disable 2FA"
msgstr "無効化"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2679,71 +2825,77 @@ msgstr "このドメインに関する情報がありません。"
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "パスワード暗号化"
+
#: 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 "ログアウト"
-#: 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 "Modoboaのコア部分"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "パラメータが保存されました"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "ユーザー名とパスワードが一致しません。やり直してください。"
-#: core/views/auth.py:135
+#: core/views/auth.py:144
#, fuzzy
#| msgid "User '%s' successfully logged in"
msgid "User '{}' successfully logged out"
msgstr "ユーザー \"%s\" がログインに成功しました"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "プロフィールが更新されました"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "プリファレンスが保存されました"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "アクセスが更新されました"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "DMARC ツール"
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr "{} の DMARC レポートを表示"
-#: 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 ""
@@ -2779,11 +2931,11 @@ msgstr "Temporary error"
msgid "Permanent error"
msgstr "Permanent error"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Policy"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Soft failure"
@@ -2859,95 +3011,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Unknown sources / Threats"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2976,7 +3128,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2992,7 +3146,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -3000,150 +3154,158 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "アクセスが更新されました"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "IMAP マイグレーション"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "IMAP マイグレーション"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP"
msgstr "オフライン IMAP 設定"
-#: 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 "同期ジョブの並列度"
-#: 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 "同期ジョブを同時に行う最大数"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "オフライン IMAP 設定"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "オフライン IMAP 設定"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "オフライン IMAP 設定"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
msgid "IMAP Migration"
msgstr "IMAP マイグレーション"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "IMAP サーバーへの接続に失敗しました: %s"
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "IMAP マイグレーション"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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 ""
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "データベース %s への接続が構成されていません"
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "アクセス拒否: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "アクセス拒否"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "正しいドメイン名を入力してください"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "正しいメールアドレスを入力してください"
@@ -3153,133 +3315,153 @@ msgstr "正しいメールアドレスを入力してください"
msgid "Submit"
msgstr "送信"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "パスワードの更新に失敗しました: {}"
-#: 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 "件名"
-#: 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 "デフォルトの管理者あたりの制限"
-#: 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 "管理者あたりの制限を有効にする"
-#: 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 "管理者あたりの制限を有効もしくは無効にする"
-#: 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 "ドメイン管理者"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しい管理者に許可されたドメイン管理者の最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しい管理者に許可されたドメインの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しい管理者に許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しい管理者に許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しい管理者に許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 "デフォルトのドメインあたりの制限"
-#: 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 "ドメインあたりの制限を有効にする"
-#: 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 "ドメインあたりの制限を有効もしくは無効にする"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しいドメインに許可されたドメイン管理者の最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しいドメインに許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しいドメインに許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 "新しいドメインに許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "制限"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "このユーザーが作成できるドメインの最大数"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "このユーザーが作成できるドメインエイリアスの最大数"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "このユーザーが作成できるメールボックスの最大数"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr "このユーザーが作成できるメールボックスエイリアスの最大数"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr "このユーザーが作成できるドメイン管理者の最大数"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "このドメインに許可されたドメインエイリアスの最大数"
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "このドメインに許可されたメールボックスの最大数"
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "このドメインに許可されたメールボックスエイリアスの最大数"
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr "このドメインに許可されたドメイン管理者の最大数"
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "不正な制限"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "リソース"
@@ -3292,11 +3474,11 @@ msgstr "%s: 制限に達しました"
msgid "Not enough resources"
msgstr "リソースが足りません"
-#: 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 "無制限な値に設定するのは許可されていません"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "無制限"
@@ -3305,99 +3487,99 @@ msgstr "無制限"
msgid "Resources usage"
msgstr "リソース使用量"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "ログファイルへのパス"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "統計情報を収集するために使用されたログファイルへのパス"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "RRD ファイルを保管するためのディレクトリ"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "RRD ファイルが保管されたディレクトリへのパス"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
#, fuzzy
#| msgid "rejected messages"
msgid "Show greylisted messages"
msgstr "拒否メッセージ"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "統計情報"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "平均トラフィック (通/分)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "送信メッセージ"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "受信メッセージ"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "バウンスメッセージ"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "拒否メッセージ"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "送信メッセージ"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "送信メッセージ"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "拒否メッセージ"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "平均トラフィックサイズ (バイト/分)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "受信サイズ"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "送信サイズ"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "メールトラフィック"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3425,185 +3607,191 @@ msgstr "適用"
msgid "No statistics available"
msgstr "統計情報がありません"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "日"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "週"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "月"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "年"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "カスタム"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "不明なグラフィックセット"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "不明なグラフィックセット"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "カスタム期間が不正です"
-#: 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 "個人アカウント情報"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Domain not found."
msgid "Directory is not writable"
msgstr "ドメインが見つかりません"
-#: 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 "このユーザーにはドキュメンがありません"
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "PDF 認証情報"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "アカウントを作成するときだけドキュメントを生成する"
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "ドキュメントストレージ"
-#: 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 "ドキュメントを保存するためのディレクトリ"
-#: 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 "PDF ドキュメントを保存するためのディレクトリのパス"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "セキュリティオプション"
-#: 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 "最初のダウンロードの後にドキュメントを削除する"
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr "このインターフェースから最初にダウンロードされたあとにドキュメントを自動的に削除する"
-#: 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 "アカウントを作成するときだけドキュメントを生成する"
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
"アカウントの作成されたときだけ、新しいドキュメントを生成します。\n"
"もし「いいえ」設定すれば、新しい文書は、パスワードが更新されるたびに作成されます。"
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
@@ -3611,17 +3799,17 @@ msgstr ""
msgid "PDF credentials"
msgstr "PDF 認証情報"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
msgid "PDF Credentials"
msgstr "PDF 認証情報"
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr "Powered by Modoboa - メールホスティングをシンプルに"
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3635,42 +3823,49 @@ msgstr ""
"このドキュメントには、Modoboa へ接続するための必要な認証情報が書かれています。\n"
"内容を理解したら、すみやかに廃棄してください。\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr ""
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 "PDF ドキュメントとしてユーザー認証情報を取得します"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "PDF 認証情報"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "PDFドキュメントを格納するディレクトリの作成に失敗しました (%s)"
@@ -3679,33 +3874,185 @@ msgstr "PDFドキュメントを格納するディレクトリの作成に失敗
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr "PDFドキュメントを格納するディレクトリの作成に失敗しました (%s)"
-#: 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: 制限に達しました"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: 制限に達しました"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "この日付は過ぎています"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr "開始日時より大きくなければいけません"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "自動応答"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"この日時から自動応答を有効にします。\n"
+"書式 : YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "まで"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"この日時まで自動応答を有効にします。\n"
+"書式 : YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr "自動応答間隔"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "同じ受信者へ自動応答する間隔 (秒)"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "デフォルトの件名"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "不在"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "自動応答メッセージが自動的に作成されたときにデフォルトの件名を使用しました。"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "デフォルトの本文"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"ただいま不在にしています。\n"
+"戻り次第、お返事いたします。\n"
+"\n"
+"よろしくお願いします。\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"自動応答メッセージが作成されたときにデフォルトのコンテンツを使用しました。\n"
+"\"%(name)s\" のマクロは、ユーザーのフルネームに置き換えられます。"
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr "自動応答メッセージ"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "自動応答"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "件名"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "送信された電子メールに表示される件名"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "本文"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "送信された電子メールに表示されるコンテンツ"
+
+#: postfix_autoreply/models.py:24
+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 ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
#, fuzzy
#| msgid "Relay settings"
msgid "Transport settings"
msgstr "リレー設定"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
#| msgid "target host"
msgid "target host address"
msgstr "ターゲットホスト"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
#, fuzzy
#| msgid "target host"
msgid "target host port"
msgstr "ターゲットホスト"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "受信者を確認"
@@ -3777,7 +4124,9 @@ msgstr "パスワード"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3787,7 +4136,9 @@ msgid "Change password"
msgstr "新しいパスワード"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3799,18 +4150,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3832,22 +4191,36 @@ msgstr ""
msgid "Invalid value"
msgstr "不正な行"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: 制限に達しました"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "このエイリアス名がすでに存在しています"
+
+#~ msgid "md5crypt (weak)"
+#~ msgstr "md5crypt (弱い)"
+
+#~ msgid "sha256 (weak)"
+#~ msgstr "sha256 (弱い)"
+
+#~ msgid "md5 (weak)"
+#~ msgstr "md5 (弱い)"
+
+#~ msgid "crypt (weak)"
+#~ msgstr "crypt (弱い)"
+
+#~ msgid "plain (weak)"
+#~ msgstr "plain (弱い)"
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "DMARC 統合のためのツールセット"
@@ -3856,7 +4229,6 @@ msgstr ""
#~ msgstr "ユーザーの認証情報を書かれた PDF ドキュメントを生成"
#, fuzzy
-#~| msgid "IMAP migration"
#~ msgid "IMAP migrations"
#~ msgstr "IMAP マイグレーション"
@@ -3876,12 +4248,10 @@ msgstr ""
#~ msgstr "キーは、16, 24, 32 バイトのいずれかの長さでなければいけません"
#, fuzzy
-#~| msgid "Group name"
#~ msgid "First name"
#~ msgstr "グループ名"
#, fuzzy
-#~| msgid "Last login"
#~ msgid "Last name"
#~ msgstr "最終ログイン"
@@ -3889,7 +4259,6 @@ msgstr ""
#~ msgstr "最終ログイン"
#, fuzzy
-#~| msgid "User '%s' logged out"
#~ msgid "User {} logged out"
#~ msgstr "ユーザー \"%s\" がログアウトしました"
@@ -3912,12 +4281,10 @@ msgstr ""
#~ msgstr "サービス名"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote address (hostname or IP) of this domain"
#~ msgstr "このドメインのリモート接続先"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote port of this domain"
#~ msgstr "このドメインのリモート接続先"
@@ -3951,7 +4318,6 @@ msgstr ""
#~ msgstr "ドメイン %s は、存在しません"
#, fuzzy
-#~| msgid "Invalid format"
#~ msgid "Raw format"
#~ msgstr "不正なフォーマット"
@@ -3959,43 +4325,41 @@ msgstr ""
#~ msgstr "ファイル名"
#, fuzzy
-#~| msgid "No information available for this domain."
#~ msgid "No {type} record found for MX {mx}"
#~ msgstr "このドメインに関する情報がありません。"
#, fuzzy
-#~| msgid "No information available for this domain."
#~ msgid "No A record found for MX %(domain)s"
#~ msgstr "このドメインに関する情報がありません。"
#, fuzzy
-#~| msgid "No information available for this domain."
#~ msgid "No AAAA record found for MX %(domain)s"
#~ msgstr "このドメインに関する情報がありません。"
#, fuzzy
-#~| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
#~ msgid "Quota in MB shared between mailboxes. A value of 0 means no quota."
#~ msgstr ""
#~ "デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
#~ "値が0の場合は、クォータ制限はありません。"
#, fuzzy
-#~| msgid "No information available for this domain."
#~ msgid "No DNS records found without MX for %s"
#~ msgstr "このドメインに関する情報がありません。"
#, fuzzy
-#~| msgid "No information available for this domain."
#~ msgid "No DNS records found without MX for %(domain)s"
#~ msgstr "このドメインに関する情報がありません。"
-#~ msgid "Default quota in MB applied to mailboxes. Leave empty to use the default value."
+#~ msgid ""
+#~ "Default quota in MB applied to mailboxes. Leave empty to use the default "
+#~ "value."
#~ msgstr ""
#~ "デフォルトクォータ (MB) は、メールボックスに適用されます。\n"
#~ "デフォルト値を使用する場合は空白のままにします。"
-#~ msgid "You can't define a forward to a local destination. Please ask your administrator to create an alias instead."
+#~ msgid ""
+#~ "You can't define a forward to a local destination. Please ask your "
+#~ "administrator to create an alias instead."
#~ msgstr ""
#~ "ローカルの宛先に転送先を定義することはできません。\n"
#~ "代わりにエイリアスを作成するには、管理者に依頼してください。"
diff --git a/modoboa/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/locale/nl_NL/LC_MESSAGES/django.po
index 8c09e5ea3..a13610982 100644
--- a/modoboa/locale/nl_NL/LC_MESSAGES/django.po
+++ b/modoboa/locale/nl_NL/LC_MESSAGES/django.po
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2020-10-03 09:44+0000\n"
"Last-Translator: J Rosier \n"
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/language/nl_NL/)\n"
@@ -29,484 +29,584 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Quota gedeeld tussen mailboxen. Kan uitgedrukt worden in kB, MB (standaard) of GB. Een waarde van 0 betekent geen quota."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Quota gedeeld tussen mailboxen. Kan uitgedrukt worden in kB, MB (standaard) "
+"of GB. Een waarde van 0 betekent geen quota."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
msgstr "Standaard quotum in MB per mailbox. 0 betekent geen quotum."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Geen geauthoriseerd MX record gevonden voor dit domein"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Kan niet groter zijn dan domeinquotum"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Toegang geweigerd."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Dit veld is verplicht"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr "Lijst van beheerde domeinen (alleen resellers en domeinbeheerders)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Niet toegestaan voor deze rol."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Moet gelijk zijn aan de mailbox full_address"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Dit veld is verplicht."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Lokaal domein {} bestaat niet"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Lijst ontvangers."
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Gebruiker '%s' bestaat al"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Je hebt geen toegang tot dit domein."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Je hebt geen toegang tot deze mailbox."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr "Hier is je nieuwe Modoboa wachtwoord:{}"
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Gebruiker '%s' bestaat al"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Dit moet een positief geheel getal zijn."
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Map niet gevonden."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Map niet gevonden."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "Openssl kan niet gevonden worden. Controleer of dit geïnstalleerd is."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Dit veld laat alleen geldige IP-adressen (of netwerken) toe"
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definieer ten minste 1 geautoriseerd netwerk / adres"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
msgid "A mailbox is required to create aliases."
msgstr "Er is een mailbox vereist om een alias te creëren"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
msgstr "Onbekende tag {}"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Je hebt geen toegang tot dit domein"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Je kunt je eigen domein niet verwijderen"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domeinen"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "MX Controles inschakelen"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Controleer of ieder domein een geldig MX-record heeft"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "Geldige MX'en"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Een lijst van IP-adressen waaraan alle MX-records moeten voldoen. Er zal een waarschuwing getoond worden voor records die niet overeenkomen."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Een lijst van IP-adressen waaraan alle MX-records moeten voldoen. Er zal een"
+" waarschuwing getoond worden voor records die niet overeenkomen."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Nieuwe domeinen moeten geauthoriseerde MX-record(s) gebruiken."
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr "Een domein niet aanmaken als het MX-record het adres niet gebruikt."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable SPF checks"
+msgid "Enable IPV6 checks"
+msgstr "Activeer SPF controle"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr "Activeer SPF controle"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr "Controleer of ieder domein een geldig SPF-record heeft"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr "Activeer DKIM-controle"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "Controleer of ieder domein met geactiveerde DKIM een geldig DNS record heeft"
+msgstr ""
+"Controleer of ieder domein met geactiveerde DKIM een geldig DNS record heeft"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr "Activeer DMARC-controle"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr "Controleer of ieder domein een geldig DMARC-record heeft"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr "Activeer controle van automatische configuratie"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
-msgstr "Controleer of ieder domein geldige records voor automatische configuratie heeft."
+msgstr ""
+"Controleer of ieder domein geldige records voor automatische configuratie "
+"heeft."
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "DNSBL Controles inschakelen"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Controleer ieder domein tegen de bekende DNSBL providers"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Eigen DNS server"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Gebruik een eigen DNS server in plaats van lokale server configuratie"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "DKIM Key opslagdirectory"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Absolute pad van de directory waar DKIM private keys worden opgeslagen. Let erop dat deze directory van de root-gebruiker is en niet leesbaar is voor andere gebruikers."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Absolute pad van de directory waar DKIM private keys worden opgeslagen. Let "
+"erop dat deze directory van de root-gebruiker is en niet leesbaar is voor "
+"andere gebruikers."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Standaard DKIM key lengte"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Standaard lengte in bits voor nieuw gegenereerde DKIM keys."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Standaard domeinquotum"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Standaard quotum (in MB) om op nieuw aangemaakte domeinen zonder waarde toe te passen. Een waarde van 0 betekent geen quotum."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Standaard quotum (in MB) om op nieuw aangemaakte domeinen zonder waarde toe "
+"te passen. Een waarde van 0 betekent geen quotum."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr "Standaard verzendlimiet per domein"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
-msgstr "Aantal mails dat nieuwe domeinen per dag mogen verzenden. Laat leeg voor geen limiet."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+"Aantal mails dat nieuwe domeinen per dag mogen verzenden. Laat leeg voor "
+"geen limiet."
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Mailboxen"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Pas mailboxen op het bestandssysteem aan"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Hernoem of verwijder mailboxen op het bestandssysteem wanner ze hernoemd of verwijderd worden in Modoboa."
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Hernoem of verwijder mailboxen op het bestandssysteem wanner ze hernoemd of "
+"verwijderd worden in Modoboa."
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Standaard mailbox quota"
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Standaard mailboxquotum (in MB), toegepast op nieuwe mailboxen zonder gespecificeerde waarde. De waarde '0' betekent geen quotum."
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Standaard mailboxquotum (in MB), toegepast op nieuwe mailboxen zonder "
+"gespecificeerde waarde. De waarde '0' betekent geen quotum."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr "Standaard verzendlimiet voor mailboxen"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
-msgstr "Aantal mails dat nieuwe mailboxen per dag mogen verzenden. Laat leeg voor geen limiet."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+"Aantal mails dat nieuwe mailboxen per dag mogen verzenden. Laat leeg voor "
+"geen limiet."
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Automatish een account verwijderen"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Als een mailbox wordt verwijderd, verwijder dan ook het bijbehorende account"
+msgstr ""
+"Als een mailbox wordt verwijderd, verwijder dan ook het bijbehorende account"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Domein en mailbox automatisch aanmaken"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Maak een domein en mailbox aan wanneer een account automatisch is aangemaakt."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"Maak een domein en mailbox aan wanneer een account automatisch is "
+"aangemaakt."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Maak een alias aan als een mailbox hernoemd wordt."
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Maak een alias aan voor het oude adres als een mailbox hernoemd wordt."
+msgstr ""
+"Maak een alias aan voor het oude adres als een mailbox hernoemd wordt."
-#: admin/app_settings.py:407
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Standaard mailboxquota (in MB) die worden toegepast op nieuwe domeinen zonder gespecificeerde waarde. Een 0 betekent geen quota."
+#: admin/app_settings.py:458
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Standaard mailboxquota (in MB) die worden toegepast op nieuwe domeinen "
+"zonder gespecificeerde waarde. Een 0 betekent geen quota."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Beheer"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domein"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Doorstuurdomein"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr "Geopend"
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr "Gesloten"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Gebruikersnaam"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "De naam van de gebruiker. Moet een geldig e-mailadres zijn voor gebruikers of administrators met een mailbox."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"De naam van de gebruiker. Moet een geldig e-mailadres zijn voor gebruikers "
+"of administrators met een mailbox."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rol"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Kies"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Welk niveau van rechten deze gebruiker zal hebben"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Willekeurig wachtwoord"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Genereer een willekeurig wachtwoord. Als je dit account bijwerkt en deze optie aanvinkt wordt er een nieuw wachtwoord gegenereerd."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Genereer een willekeurig wachtwoord. Als je dit account bijwerkt en deze "
+"optie aanvinkt wordt er een nieuw wachtwoord gegenereerd."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Wachtwoord"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Bevestiging"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Herhaal wachtwoord (voor verificatie)"
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Actief"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Alleen hoofdbeheerders hebben toegang tot deze modus"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "De wachtwoorden komen niet overeen."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Je kunt je eigen account niet uitschakelen"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Maak een alias aan met het oude adres"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Quotum voor deze mailbox; kan uitgedrukt worden in kB, MB (standaard) of GB. Geef een aangepaste waarde of gebruik de standaard voor dit domein. Laat dit leeg voor een ongelimiteerde waarde (niet toegestaan voor domeinadministrators)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Quotum voor deze mailbox; kan uitgedrukt worden in kB, MB (standaard) of GB."
+" Geef een aangepaste waarde of gebruik de standaard voor dit domein. Laat "
+"dit leeg voor een ongelimiteerde waarde (niet toegestaan voor "
+"domeinadministrators)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Verzendlimiet e-mails"
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr "Aantal e-mails dat deze mailbox per dag mag verzenden"
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(sen)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(en) van deze mailbox. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen. Om een 'catch-all'-adres te maken voer je alleen het domein in (bijvoorbeeld: @domein.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(en) van deze mailbox. Geef slechts een adres per regel op, en toets "
+"ENTER om een nieuwe regel te krijgen. Om een 'catch-all'-adres te maken voer"
+" je alleen het domein in (bijvoorbeeld: @domein.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Afzenderadressen"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Extra afzenderadres(sen) voor dit account. De gebruiker wordt toegestaan om dit adres als verzender te gebruiken voor uitgaande berichten, ook al bestaat dit adres niet lokaal. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Extra afzenderadres(sen) voor dit account. De gebruiker wordt toegestaan om "
+"dit adres als verzender te gebruiken voor uitgaande berichten, ook al "
+"bestaat dit adres niet lokaal. Geef slechts een adres per regel op, en toets"
+" ENTER om een nieuwe regel te krijgen."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Domein bestaat niet"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Domein bestaat niet lokaal"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domein(en)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domein(en) die gebruiker mag beheren"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Algemeen"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profiel"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "E-mail"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Rechten"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Account aangepast"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nieuw account"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Account aangemaakt"
@@ -519,69 +619,85 @@ msgid "Email address"
msgstr "mailadres"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Het alias-adres. Om een 'catch-all'-adres te maken voer je alleen het domein in (bijvoorbeeld: @domein.nl)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Het alias-adres. Om een 'catch-all'-adres te maken voer je alleen het domein"
+" in (bijvoorbeeld: @domein.nl)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Ontvangers"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Adressen waarnaar deze alias zal verwijzen. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Adressen waarnaar deze alias zal verwijzen. Geef slechts een adres per regel"
+" op, en toets ENTER om een nieuwe regel te krijgen."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Geen ontvanger opgegeven"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Type"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(sen) van dit domein. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias(sen) van dit domein. Geef slechts een adres per regel op, en toets "
+"ENTER om een nieuwe regel te krijgen."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Key selector"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Standaard quotum toegepast op alle mailboxen. Kan uitgedrukt worden in kB, MB (standaard) of GB. Een waarde van 0 betekent geen quotum."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Standaard quotum toegepast op alle mailboxen. Kan uitgedrukt worden in kB, "
+"MB (standaard) of GB. Een waarde van 0 betekent geen quotum."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "domeinalias"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Een %s met deze naam bestaat al"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "DKIM Key opslagdirectory niet geconfigureerd"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Je kunt geen onbeperkt quotum definiëren."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domein"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Maak een domeinbeheerder aan"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Automatisch een beheerder aanmaken voor dit domein"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -590,51 +706,53 @@ msgstr "Automatisch een beheerder aanmaken voor dit domein"
msgid "Name"
msgstr "Naam"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
msgstr "De naam van de beheerder. De domeinnaam word automatisch toegevoegd."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Genereer een willekeurig wachtwoord voor de beheerder."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Met een mailbox"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Maak een postbus voor de beheerder."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Aliassen aanmaken"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Automatisch een standaard alias voor dit domein aanmaken"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Verkeerd format"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domein gewijzigd"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Opties"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Nieuw domein"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domein aangemaakt"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Scheidingsteken"
@@ -642,23 +760,23 @@ msgstr "Scheidingsteken"
msgid "Recipient(s)"
msgstr "Ontvanger(s)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Geef een of meer ontvangers op, gescheiden door een komma"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Lokale kopie behouden"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Stuur berichten door en sla een kopie op in je mailbox"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Bestand selecteren"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Doorgaan als er een fout optreedt"
@@ -666,101 +784,104 @@ msgstr "Doorgaan als er een fout optreedt"
msgid "Don't treat duplicated objects as error"
msgstr "Zie duplicaten niet als fout"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Versleutel wachtwoorden"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Vink deze optie aan als wachtwoorden in je bestand niet versleuteld zijn"
+msgstr ""
+"Vink deze optie aan als wachtwoorden in je bestand niet versleuteld zijn"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Accounts importeren mislukt (%s): domein bestaat niet"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Mailbox {} bestaat al"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Account import is mislukt (%s): verkeerde quotumwaarde"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identiteiten"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Doorsturen"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Er is een mailbox nodig"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Je mag geen domeinen importeren"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Je hebt geen rechten om domeinaliassen te importeren."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Geen DNS record gevonden voor %s "
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Geen %(type)s record voor %(name)s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Geen werkende nameservers gevonden"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS timeout, het was niet mogelijk om %s op te zoeken"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr "DNS naam is te lang: %s"
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Ongeldig IP-adres format voor {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Object bestaat al: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objecten succesvol geïmporteerd"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
-msgstr "CSV bestand is niet gecodeerd in UTF-8, aan het proberen om de codering te raden"
+msgstr ""
+"CSV bestand is niet gecodeerd in UTF-8, aan het proberen om de codering te "
+"raden"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "CSV bestand aan het lezen met %(encoding)scodering"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Kan CSV bestand niet decoderen met %(encoding)scodering"
@@ -769,23 +890,23 @@ msgstr "Kan CSV bestand niet decoderen met %(encoding)scodering"
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} getoond door DNSBL provider {}"
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr "Domein heeft geen MX record"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Domein {} heeft geen MX-record"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr "Ongeldig MX record: {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "MX-record voor domein {0} is ongeldig: {1}"
@@ -794,148 +915,147 @@ msgstr "MX-record voor domein {0} is ongeldig: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX problemen voor domein {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL problemen voor domein {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Domein niet gevonden."
-#: admin/models/alias.py:37
-msgid "An alias with this name already exists."
-msgstr "Een alias met deze naam bestaat al."
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "adres"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Het alias adres"
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "actief"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Selecteer om deze alias te activeren"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Beschrijving"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Verloop op"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Ongeldig adres"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Lokale ontvanger {}@{} niet gevonden"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
msgid "Invalid line: {}"
msgstr "Ongeldige regel: {}"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "naam"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "De domeinnaam"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr "Aantal mails dat dit domein per dag mag verzenden"
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Selecteer om dit domein te activeren"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Schakel DNS checks in."
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Schakel in om DNS controles voor dit domein uit te voeren. "
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Zet DKIM ondertekening aan"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Als je deze functie aanzet, zal er een DKIM key gegenereerd worden voor dit domein."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Als je deze functie aanzet, zal er een DKIM key gegenereerd worden voor dit "
+"domein."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Sleutellengte"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Onjuiste regel"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
msgid "{}: no authorized MX record found for domain"
msgstr "{}: geen goedgekeurd MX record gevonden voor dit domein"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
msgid "{}: invalid quota value for domain"
msgstr "{}: ongeldige quotumwaarde voor dit domein"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
msgid "{}: invalid default mailbox quota value for domain"
msgstr "{}: ongeldige standaard quotumwaarde voor dit domein"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "{}: standaard mailboxquotum kan niet groter zijn dan domeinquotum"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "De aliasnaam"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "doel"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "De domeinalias verwijst naar"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Onbekend domein %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Mailbox adres (zonder het @domein.naam deel)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Mislukt om de mailbox locatie te verkijgen (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Een quotum is vereist"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
msgid "{}: domain quota exceeded"
msgstr "{}: domeinquotum overschreden"
@@ -943,8 +1063,9 @@ msgstr "{}: domeinquotum overschreden"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Sluiten"
@@ -991,9 +1112,9 @@ msgstr "Hoeveelheid"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Domeinaliassen"
@@ -1028,7 +1149,7 @@ msgstr "Aangemaakt"
msgid "Last login"
msgstr "Laatste login"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Tweede e-mailadres"
@@ -1037,7 +1158,7 @@ msgstr "Tweede e-mailadres"
msgid "Not defined"
msgstr "Niet opgegeven"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Telefoonnummer"
@@ -1115,7 +1236,7 @@ msgstr "Geopende alarmen voor"
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Datum"
@@ -1139,9 +1260,9 @@ msgstr "Aanmaakdatum"
msgid "Last modification date"
msgstr "Laatst gewijzigd"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Mailbox aliassen"
@@ -1197,11 +1318,12 @@ msgid "Warning"
msgstr "Waarschuwing"
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr "DKIM sleutels bestaan al voor dit domein. Wil je ze overschrijven?"
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Nee"
@@ -1209,7 +1331,7 @@ msgstr "Nee"
msgid "Generate new key"
msgstr "Nieuwe sleutel genereren"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Ja"
@@ -1222,7 +1344,7 @@ msgid "Administrators"
msgstr "Beheerders"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Deze bevoegdheid verwijderen"
@@ -1259,13 +1381,13 @@ msgstr "Queue ID"
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Van"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Aan"
@@ -1296,9 +1418,10 @@ msgstr "uitgeschakeld"
msgid "Automatically forward emails to another address"
msgstr "Mail automatisch doorsturen naar een ander adres"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Toepassen"
@@ -1315,11 +1438,31 @@ msgid "Fullname/Recipient"
msgstr "Volledige naam/Ontvanger"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
msgstr ""
"Lever een CSV bestand en zorg ervoor dat de regels voldoen aan een van de volgende formaten:\n"
"
\n"
@@ -1357,7 +1500,9 @@ msgstr "Bijgewerkt"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Dit IP-adres komt niet overeen met een van de valide MX'en zoals gedefinieerd in de instellingen"
+msgstr ""
+"Dit IP-adres komt niet overeen met een van de valide MX'en zoals "
+"gedefinieerd in de instellingen"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1365,106 +1510,124 @@ msgstr "Geen geldig MX-record voor dit domein gevonden."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa heeft vastgesteld dat het domein %(domain)s op de volgende DNSBL lijsten staat:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa heeft vastgesteld dat het domein %(domain)s op de volgende DNSBL "
+"lijsten staat:"
#: 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 "De reputatie van dit domein wordt hierdoor aangetast er bestaat een kans dat e-mail van dit domein als spam wordt gezien. Je zou contact moeten opnemen met deze providers en hun vragen om deze IP adressen van de lijst te halen."
+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 ""
+"De reputatie van dit domein wordt hierdoor aangetast er bestaat een kans dat"
+" e-mail van dit domein als spam wordt gezien. Je zou contact moeten opnemen "
+"met deze providers en hun vragen om deze IP adressen van de lijst te halen."
#: 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 heeft vastgesteld dat het domein %(domain)s geen geldig MX-record heeft:"
+msgstr ""
+"Modoboa heeft vastgesteld dat het domein %(domain)s geen geldig MX-record "
+"heeft:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Zoeken"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "geactiveerd_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "geactiveerd_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Toon domeinen"
-#: 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 "Toon quota"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr "Berichtenlogboek"
-#: 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 "Importeren"
-#: 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 "Exporteren"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Toon identiteiten"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Toon de identiteiten van dit domein"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr "Toon domeinalarmen"
-#: 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 "Bewerk {}"
-#: 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 "Verwijder %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Geen MX record voor %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 "Onjuist IP adres voor %(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 "Geen MX record voor %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Een alias met deze naam bestaat al"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Aanmaken"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Nieuwe alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias aangemaakt"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias aangepast"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias verwijderd"
@@ -1474,36 +1637,36 @@ msgstr[1] "Aliassen verwijderd"
msgid "MX records of {}"
msgstr "MX-records van {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "DNSBL overzicht voor {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domeinen verwijderd"
msgstr[1] "Domeinen verwijderd"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Identiteiten exporteren"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Exporteer domeinen"
-#: 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 "Ongeldig verzoek"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Account verwijderd"
msgstr[1] "Accounts verwijderd"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importeer domeinen"
@@ -1511,87 +1674,74 @@ msgstr "Importeer domeinen"
msgid "Import identities"
msgstr "Importeer identiteiten"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Doorstuuradres aangepast"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "Invalid code"
msgid "Invalid PIN code"
msgstr "Ongeldige code"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Lokaal"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Gebruikersprofiel"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Ongeldige zinsbouw"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Ongeldig nummer van rondes"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr ""
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Oud wachtwoord"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr ""
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Lokaal"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Gebruikersprofiel"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Ongeldige zinsbouw"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Ongeldig nummer van rondes"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr ""
+
+#: 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 "Gebruik de volgende code om het Modoboa wachtwoord te herstellen: {}"
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Gebruiker '%s' successvol aangemeld"
-#: 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 "Wachtwoord schema matcht niet. Updating %s wachtwoord"
@@ -1601,452 +1751,517 @@ msgstr "Wachtwoord schema matcht niet. Updating %s wachtwoord"
msgid "Password hash parameter missmatch. Updating %s password"
msgstr "Hashparameter van het wachtwoord klopt niet. Wachtwoord %s wijzigen"
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Authenticatie"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Authenticatie type"
-#: 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 "De backend gebruikt voor authenticatie"
-#: 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 "Standaard wachtwoord encryptiemethode"
-#: 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 "Schema dat gebruikt wordt om mailboxwachtwoorden te versleutelen"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Rondes"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Nummer van te gebruiken randomizeringsrondes (alleen bij sha256crypt en sha512crypt). Moet tussen de 1000 en 999999999 liggen."
+#: 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 ""
+"Nummer van te gebruiken randomizeringsrondes (alleen bij sha256crypt en "
+"sha512crypt). Moet tussen de 1000 en 999999999 liggen."
-#: 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 "Update wachtwoordschema bij inloggen"
-#: 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 "Update gebruikerswachtwoord bij het inloggen om het standaard wachtwoord schema te gebruiken. "
+msgstr ""
+"Update gebruikerswachtwoord bij het inloggen om het standaard wachtwoord "
+"schema te gebruiken. "
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Standaard wachtwoord"
-#: 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 "Standaard wachtwoord voor automatisch gecreëerde 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 "Lengte van willekeurig wachtwoord"
-#: 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 "Lengte van willekeurig gegenereerde wachtwoorden"
-#: 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 "Service-url voor wachtwoorden updaten"
-#: core/app_settings.py:94 core/app_settings.py:768
-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 "De URL van een externe pagina waar gebruikers hun wachtwoord kunnen bijwerken. Alleen van toepassing op niet-lokale gebruikers die automatisch worden aangemaakt na een succesvolle externe authenticatie (LDAP, SMTP)."
+#: 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 ""
+"De URL van een externe pagina waar gebruikers hun wachtwoord kunnen "
+"bijwerken. Alleen van toepassing op niet-lokale gebruikers die automatisch "
+"worden aangemaakt na een succesvolle externe authenticatie (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 "Melding wachtwoordherstel"
-#: 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 "Een tijdelijke melding die wordt getoond op de wachtwoordresetpagina."
-#: 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 "Wachtwoordherstel via SMS activeren"
-#: 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 "Wachtwoordherstel via SMS activeren voor gebruikers die een telefoonnummer hebben ingevuld."
+msgstr ""
+"Wachtwoordherstel via SMS activeren voor gebruikers die een telefoonnummer "
+"hebben ingevuld."
-#: 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 provider"
-#: 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 "Kies een provider voor het sturen van een SMS voor wachtwoordherstel."
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "LDAP instellingen"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Serveradres"
-#: 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 "Het IP-adres of de hostname van LDAP-server"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Serverpoort"
-#: 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 "Het TCP poortnummer van de LDAP-server"
-#: 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 "Secundaire server activeren (fallback)"
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
-msgstr "Activeer secundaire LDAP server, te gebruiken als de primaire server wegvalt"
+#: 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 ""
+"Activeer secundaire LDAP server, te gebruiken als de primaire server wegvalt"
-#: 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 "Adres van secundaire server"
-#: 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 "Het IP adres of DNS naam van de secundaire LDAP server"
-#: 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 "secundaire-serverpoort"
-#: 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 "TCP poortnummer van de secundaire LDAP server"
-#: 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 "Gebruik een beveiligde verbinding"
-#: 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 "Gebruik een SSL/TLS verbinding met de LDAP-server"
-#: 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 "De LDAP-server is een Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Beheerdergroepen"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Leden van deze LDAP POSIX-groepen zullen aangemaakt worden als domeinbeheerders. Gebruik ';' karakters om groepen te scheiden."
+#: 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 ""
+"Leden van deze LDAP POSIX-groepen zullen aangemaakt worden als "
+"domeinbeheerders. Gebruik ';' karakters om groepen te scheiden."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Groeptype"
-#: 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 "De LDAP groeptype dat wordt gebruikt voor uw LDAP-directory."
-#: 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 "Groepen zoekbasis"
-#: 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 "De gedistingeerde naam van de zoekbasis om groepen te vinden"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Wachtwoord attribuut"
-#: 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 "Het attribuut dat gebruikt wordt om wachtwoorden op te slaan"
-#: 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 authenticatie-instellingen"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Authenticatiemethode"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Zoeken en koppelen"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Directe koppeling"
-#: 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 "Kies de te gebruiken authenticatiemethode"
-#: 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 "Koppeling DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "De gedistingeerde naam om te gebruiken bij het koppelen met de LDAP-server. Laat leeg voor een anonieme koppeling."
+#: 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 ""
+"De gedistingeerde naam om te gebruiken bij het koppelen met de LDAP-server. "
+"Laat leeg voor een anonieme koppeling."
-#: 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 "Koppel wachtwoord"
-#: 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 "Het wachtwoord om te gebruiken tijdens het koppelen met de LDAP-server (met 'koppel DN')"
+msgstr ""
+"Het wachtwoord om te gebruiken tijdens het koppelen met de LDAP-server (met "
+"'koppel DN')"
-#: 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 "Gebruikers zoekbasis"
-#: 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 "De gedistingeerde naam van de zoekbasis om gebruikers te vinden"
-#: 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 "Zoekfilter"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Een optionele filter string (zoals '(objectClass=person)'). Om geldig te kunnen zijn, moet het tussen haakjes staan."
+#: 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 ""
+"Een optionele filter string (zoals '(objectClass=person)'). Om geldig te "
+"kunnen zijn, moet het tussen haakjes staan."
-#: 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 "Gebruiker DN template"
-#: 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 "Het template dat gebruikt wordt om een gebruiker zijn/haar DN op te bouwen. Het moet een placeholder bevatten (bijvoorbeeld. %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Het template dat gebruikt wordt om een gebruiker zijn/haar DN op te bouwen. "
+"Het moet een placeholder bevatten (bijvoorbeeld. %(user)s)"
-#: 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 synchronisatie-instellingen"
-#: 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 "Activeer export naar LDAP"
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
-msgstr "Activeer automatische synchronisatie tussen lokale database en LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
+msgstr ""
+"Activeer automatische synchronisatie tussen lokale database en LDAP "
+"directory"
-#: 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 "Verwijder extern LDAP account als het lokale account wordt verwijderd"
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
-msgstr "Verwijder extern LDAP account als het lokale account wordt verwijderd. Zo niet, dan wordt het gedeactiveerd."
+#: 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 ""
+"Verwijder extern LDAP account als het lokale account wordt verwijderd. Zo "
+"niet, dan wordt het gedeactiveerd."
-#: 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 "Account DN sjabloon"
-#: 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 "Het sjabloon voor het opbouwen van het DN (distinguishedname). Het moet een tijdelijke aanduiding (placeholder) bevatten (bijvoorbeeld %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Het sjabloon voor het opbouwen van het DN (distinguishedname). Het moet een "
+"tijdelijke aanduiding (placeholder) bevatten (bijvoorbeeld %(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 "Activeer import van LDAP"
-#: 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 "Activeer accountsynchronisatie van LDAP directory naar lokale database"
+msgstr ""
+"Activeer accountsynchronisatie van LDAP directory naar lokale database"
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr "Gebruikersnaamattribuut"
-#: 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 "De naam van het LDAP-attribuut waar de gebruikersnaam staat."
-#: 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 "Activeer Dovecot LDAP synchronisatie"
-#: 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 authenticatie-instellingen worden toegepast op Dovecot-configuratie."
+msgstr ""
+"LDAP authenticatie-instellingen worden toegepast op Dovecot-configuratie."
-#: 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 configuratiebestand"
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr "Locatie van het configuratiebestand met Dovecot LDAP-instellingen."
-#: 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 "Bedieningspaneel"
-#: 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 "Aangepaste 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 "Toon aangepaste RSS feed aan resellers en domein beheerders. "
-#: 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 "Verberg opties widget"
-#: 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 "Verberg features widget voor resellers en domein administrators. "
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Notificaties"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Afzenderadres"
-#: 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-mailadres dat gebruikt wordt om notificaties te versturen"
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "Publieke 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 "Communicatie toestaan"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Communicatie met publieke Modoboa API toestaan"
-#: 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 "Controleer of er een nieuwe versie beschikbaar is"
-#: 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 "Controleert automatisch of een nieuwere versie beschikbaar is"
-#: 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 "Stuur een e-mail als er nieuwe versies worden gevonden"
-#: 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 "Stuur een e-mail naar administrators over nieuwe versies"
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr "Ontvanger"
-#: 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 "Ontvanger van notificatiemails over nieuwe versies"
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Verstuur statistieken"
-#: 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 "Verstuur statistieken naar de publieke Modoboa API (statistieken en gebruikte extenties)"
+msgstr ""
+"Verstuur statistieken naar de publieke Modoboa API (statistieken en "
+"gebruikte extenties)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Diversen"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Drempelwaarde inactieve gebruikers"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Drempelwaarde inactieve gebruikers"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Een gebruiker die langer dan dit aantal dagen niet ingelogd is, wordt op inactief gezet."
+#: 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 ""
+"Een gebruiker die langer dan dit aantal dagen niet ingelogd is, wordt op "
+"inactief gezet."
-#: 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 "Top notificaties controle interval"
-#: 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 "Interval tussen twee notificatiecontroles (in seconden)"
-#: 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 "Maximum bewaartijd van logs"
-#: 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 "De maximum bewaartijd in dagen van een log record"
-#: 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 "Items per pagina"
-#: 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 "Aantal getoonde items per pagina"
-#: 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 "Standaard top omleiding"
-#: 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 "De standaard omleiding die gebruikt wordt als er geen andere applicatie is opgegeven"
+msgstr ""
+"De standaard omleiding die gebruikt wordt als er geen andere applicatie is "
+"opgegeven"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "USE_TZ staat op 'False', dit kan voor problemen zorgen tijdens de transitie tussen zomer- en wintertijd (bijv. dezelfde locale tijd komt twee keer voor door de tijdsverandering)"
+#: 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 ""
+"USE_TZ staat op 'False', dit kan voor problemen zorgen tijdens de transitie "
+"tussen zomer- en wintertijd (bijv. dezelfde locale tijd komt twee keer voor "
+"door de tijdsverandering)"
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Zet 'USE_TZ = TRUE' in settings.py"
@@ -2078,31 +2293,31 @@ msgstr "Dummy"
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Oud wachtwoord"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nieuw wachtwoord"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Oud wachtwoord komt niet overeen"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Wachtwoorden komen niet overeen"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Activeer API-toegang"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr "Verificatiecode"
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr "Ongeldige code"
@@ -2119,20 +2334,20 @@ msgstr "veranderd"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s door gebruiker %(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 door "
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "verwijderd"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "gebruiker {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "beheeropdracht"
@@ -2140,137 +2355,139 @@ msgstr "beheeropdracht"
msgid "You can't delete your own account"
msgstr "U kunt uw eigen account niet verwijderen"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Er zijn een of meer updates beschikbaar"
-#: 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) beschikbaar"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Sta mailboxtoegang toe"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Sta deze beheerder toe om mailboxen van gebruikers te benaderen"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "wachtwoord"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "taal"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Voorkeurstaal om pagina's weer te geven"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
-msgstr "Een alternatief e-mailadres, dit kan gebruikt worden voor herstel mogelijkheden."
+msgstr ""
+"Een alternatief e-mailadres, dit kan gebruikt worden voor herstel "
+"mogelijkheden."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Mislukt om wachtwoord aan te passen: LDAP-module niet geinstalleerd"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "account"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Onbekend"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "U kunt geen accounts importeren met hogere rechten dan die van uzelf"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "De gebruiker '%s' moet een geldig e-mailadres hebben"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "gebruikersnaam en e-mail -velden moeten niet verschillen van '%s'"
-#: 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] "Wachtwoord moet minstens {} nummer bevatten."
msgstr[1] "Wachtwoord moet minstens {} nummers bevatten. "
-#: 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] "Wachtwoord moet minstens {} kleine letter bevatten. "
msgstr[1] "Wachtwoord moet minstens {} kleine letters bevatten."
-#: 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] "Wachtwoord moet minstens {} hoofdletter bevatten"
msgstr[1] "Wachtwoord moet minstens {} hoofdletters bevatten"
-#: 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] "Wachtwoord moet minstens {} speciaal teken bevatten."
msgstr[1] "Wachtwoord moet minstens {} speciale tekens bevatten."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr "Uw wachtwoord moet verschillende tekens bevatten."
-#: 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 eindpunt"
-#: 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 Verenigde Staten"
-#: 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 Noord-Amerika"
-#: 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 Noord-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 Noord-Amerika"
-#: 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 "Applicatiesleutel"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr "Applicatiegeheim"
-#: 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 "Consumentensleutel"
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Application secret"
msgid "Appication secret"
@@ -2297,8 +2514,12 @@ msgid "Latest news"
msgstr "Laatste nieuws"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Bezoek de officiële weblog voor meer informatie."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Bezoek de officiële "
+"weblog voor meer informatie."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2310,8 +2531,12 @@ msgstr "Beheer uw toegang tot de Modoboa API"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "API documentatie is beschikbaar hier."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"API documentatie is beschikbaar hier."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2322,7 +2547,7 @@ msgstr "API toegangstoken"
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 "Informatie"
@@ -2336,7 +2561,9 @@ msgstr "Eén of meer updates zijn beschikbaar!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Bekijk de volgende lijst om de componenten te vinden die bijgewerkt kunnen worden"
+msgstr ""
+"Bekijk de volgende lijst om de componenten te vinden die bijgewerkt kunnen "
+"worden"
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2354,7 +2581,7 @@ msgstr "Laatste versie"
msgid "Active users"
msgstr "Actieve gebruikers"
-#: 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"
@@ -2384,7 +2611,7 @@ msgstr[1] ""
"\n"
"De volgende updates zijn beschikbaar:\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 "Parameters"
@@ -2401,12 +2628,12 @@ msgstr "Opslaan"
msgid "Modoboa settings"
msgstr "Modoboa instellingen"
-#: 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 "Instellingen"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Voorkeuren"
@@ -2426,7 +2653,7 @@ msgstr "Persoonlijke informatie aanpassen"
msgid "Click here to update your password"
msgstr "Klik hier om je wachtwoord te wijzigen"
-#: 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
#, fuzzy
#| msgid "Security options"
msgid "Security"
@@ -2439,7 +2666,9 @@ msgid "Two-Factor authentication"
msgstr "De backend gebruikt voor authenticatie"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2453,18 +2682,27 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgctxt "checks"
@@ -2472,12 +2710,18 @@ msgstr ""
msgid "Disable 2FA"
msgstr "Uitgeschakeld"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2496,69 +2740,77 @@ msgstr "Geen record gevonden"
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Versleutel wachtwoorden"
+
#: 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 "Uitloggen"
-#: 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 "Het hoofdonderdeel van Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parameters opgeslagen"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
-msgstr "Uw gebruikersnaam en wachtwoord komen niet overeen. Probeer het alstublieft opnieuw."
+msgstr ""
+"Uw gebruikersnaam en wachtwoord komen niet overeen. Probeer het alstublieft "
+"opnieuw."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Gebruiker '{}' is uitgelogd."
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profiel aangepast"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Voorkeuren opgeslagen"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Toegang bijgewerkt"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "DMARC gereedschappen"
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr "Toon DMARC rapportage voor {}"
-#: 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 ""
@@ -2594,11 +2846,11 @@ msgstr "Tijdelijke fout"
msgid "Permanent error"
msgstr "Permanente fout"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Beleid"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Toegestane fout"
@@ -2674,95 +2926,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Onbekende bronnen / bedreigingen"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr "Verkeerde syntax IPv4-mechanisme"
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr "Verkeerde format IPv4 adres"
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr "Verkeerde syntax IPv6-mechanisme"
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr "Verkeerde format IPv6 adres"
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr "Verkeerde syntax voor {} mechanisme"
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr "Ongeldig masker gevonden {}"
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr "Geen SPF record"
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr "Onbekend mechanisme {}"
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr "Onbekende modifier {}"
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr "Dubble modifier {} gevonden"
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr "Geen mechanisme gevonden"
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr "Ongeldig DKIM record"
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr "Ongeldige tag {}"
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr "Geen sleutel gevonden in record"
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr "Ongeldige waarde {} voor tag {}"
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr "Ongeldige waarde {} voor tag {}"
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr "Geen geheel getal"
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr " minder dan {}"
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr " groter dan {}"
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr "Geen geldig DMARC record"
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr "Onbekende tag {}"
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr "Mist benodigde p tag"
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr "Publieke sleutel mismatch"
@@ -2791,8 +3043,12 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr "Er is een DNS-record gevonden maar de syntax is ongeldig:"
#: 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 is een voorbeeld van een DNS-configuratie (bind format). Vervang de waarden tussen [ ] door geschikte waarden."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
+msgstr ""
+"Hier is een voorbeeld van een DNS-configuratie (bind format). Vervang de "
+"waarden tussen [ ] door geschikte waarden."
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
msgid "IP address of your Modoboa server"
@@ -2807,7 +3063,7 @@ msgstr "Automatische configuratie"
msgid "hostname of your automx server"
msgstr "hostnaam van je automx server"
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr "{} record van {}"
@@ -2815,151 +3071,159 @@ msgstr "{} record van {}"
msgid "Auto configuration records for {}"
msgstr "Auto-configuratierecords voor {}"
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr "DNS-configuratie voor {}"
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Toegang bijgewerkt"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "IMAP migratie"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "IMAP migratie"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP"
msgstr "OfflineIMAP instellingen"
-#: 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 "Gelijktijdige synchronisatietaken"
-#: 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 "Het maximale aantal gelijktijdige synchronisatietaken"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "OfflineIMAP instellingen"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "OfflineIMAP instellingen"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "OfflineIMAP instellingen"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
msgid "IMAP Migration"
msgstr "IMAP migratie"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Verbinding met de IMAP server mislukt: %s"
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "IMAP migratie"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Aanmaken LDAP account mislukt: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Wijzigen LDAP account mislukt: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Verwijderen LDAP account mislukt: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Uitschakelen LDAP account mislukt: {}"
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Communicatie met publieke Modoboa API toestaan"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Verbinding naar database %s niet geconfigureerd"
-#: 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 "Kan de encoding van de string niet bepalen. "
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Toegang geweigerd: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Toegang geweigerd"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Vul een geldige domeinnaam in"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Vul een geldig e-mailadres in."
@@ -2969,163 +3233,191 @@ msgstr "Vul een geldig e-mailadres in."
msgid "Submit"
msgstr "Versturen"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Aanpassen van wachtwoord mislukt: {}"
-#: 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 "Onderwerp"
-#: limits/app_settings.py:17 limits/app_settings.py:154
+#: limits/app_settings.py:17 limits/app_settings.py:147
#, fuzzy
#| msgid "Default limits"
msgid "Default per-admin limits"
msgstr "Standaard limieten"
-#: 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 ""
-#: 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 ""
-#: 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 "Domein administrators"
-#: limits/app_settings.py:29 limits/app_settings.py:164
+#: limits/app_settings.py:29 limits/app_settings.py:163
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maximum aantal toegestane domein administrators voor een nieuwe administrator"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new administrator. (0 "
+"to deny any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Maximum aantal toegestane domein administrators voor een nieuwe "
+"administrator"
-#: limits/app_settings.py:40 limits/app_settings.py:173
+#: limits/app_settings.py:39 limits/app_settings.py:175
#, fuzzy
#| msgid "Maximum number of allowed domains for a new administrator"
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed domains for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximum aantal toegestane domeinen voor een nieuwe administrator"
-#: limits/app_settings.py:50 limits/app_settings.py:181
+#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
msgstr "Maximum aantal domein aliassen voor een nieuwe administrator"
-#: limits/app_settings.py:61 limits/app_settings.py:190
+#: limits/app_settings.py:58 limits/app_settings.py:198
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximum aantal toegestane mailboxen voor een nieuwe administrator"
-#: limits/app_settings.py:71 limits/app_settings.py:199
+#: limits/app_settings.py:67 limits/app_settings.py:210
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximum aantal aliassen voor een nieuwe administrator"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: limits/app_settings.py:88 limits/app_settings.py:213
+#: limits/app_settings.py:82 limits/app_settings.py:232
#, fuzzy
#| msgid "Default limits"
msgid "Default per-domain limits"
msgstr "Standaard per-domein limieten"
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
+#: limits/app_settings.py:94 limits/app_settings.py:248
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maximum aantal toegestane domein administrators voor een nieuwe administrator"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new domain. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Maximum aantal toegestane domein administrators voor een nieuwe "
+"administrator"
-#: limits/app_settings.py:111 limits/app_settings.py:232
+#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximum aantal domein aliassen voor een nieuwe administrator"
-#: limits/app_settings.py:122 limits/app_settings.py:241
+#: limits/app_settings.py:114 limits/app_settings.py:272
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Maximum aantal toegestane mailboxen voor een nieuwe administrator"
-#: limits/app_settings.py:132 limits/app_settings.py:249
+#: limits/app_settings.py:123 limits/app_settings.py:283
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
+" -1 to allow unlimited creations)"
msgstr "Maximum aantal aliassen voor een nieuwe administrator"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Limieten"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Maximum aantal domeinen die deze gebruiker aan kan maken"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Maximum aantal domein-aliassen die deze gebruiker kan aanmaken"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Maximum aantal mailboxen die deze gebruiker kan aanmaken"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr "Maximum mailbox aliassen die deze gebruiker kan aanmken"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr "Maximum aantal domein administrators die deze gebruiker aan kan maken"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
#, fuzzy
#| msgid "Maximum number of domain aliases this user can create"
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Maximum aantal domein-aliassen die deze gebruiker kan aanmaken"
-#: limits/constants.py:46
+#: limits/constants.py:85
#, fuzzy
#| msgid "Maximum number of mailboxes this user can create"
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Maximum aantal mailboxen die deze gebruiker kan aanmaken"
-#: limits/constants.py:50
+#: limits/constants.py:93
#, fuzzy
#| msgid "Maximum number of mailbox aliases this user can create"
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Maximum mailbox aliassen die deze gebruiker kan aanmken"
-#: limits/constants.py:55
+#: limits/constants.py:102
#, fuzzy
#| msgid "Maximum number of domain administrators this user can create"
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Maximum aantal domein administrators die deze gebruiker aan kan maken"
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Ongeldige limiet"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Capaciteiten"
@@ -3138,11 +3430,11 @@ msgstr "%s: limiet bereikt"
msgid "Not enough resources"
msgstr "Niet genoeg capaciteit"
-#: 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 "U mag geen ongelimiteerde waardes opgeven"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "ongelimiteerd"
@@ -3151,99 +3443,99 @@ msgstr "ongelimiteerd"
msgid "Resources usage"
msgstr "Capaciteit gebruik"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Locatie van logbestand"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Locatie van logbestand gebruik om statistieken te maken"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Map om RRD bestanden op te slaan"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Locatie van map waar RRD bestanden staan"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
#, fuzzy
#| msgid "rejected messages"
msgid "Show greylisted messages"
msgstr "geweigerde berichten"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Statistieken"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Gemiddeld verkeer per minuut (berichten)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "verstuurde berichten"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "ontvangen berichten"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "geweigerde berichten"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "geweigerde berichten"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "verstuurde berichten"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "verstuurde berichten"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "geweigerde berichten"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Gemiddelde bandbreette per minuut (bytes)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "ontvangen grootte"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "verstuurde grootte"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Mailverkeer"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3271,183 +3563,195 @@ msgstr "Toepassen"
msgid "No statistics available"
msgstr "Geen statistieken beschikbaar"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Dag"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Week"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Maand"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Jaar"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Aangepast"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Onbekende grafische set"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Onbekende grafische set"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Ongeldige aangepaste periode"
-#: 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 "Persoonlijke account informatie"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Map niet gevonden."
-#: 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 "Geen document beschikbaar voor deze gebruiker"
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "PDF gegevens"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "Genereer een document enkel bij het aanmaken van een account"
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Document opslag"
-#: 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 "Map voor het opslaan van de documenten"
-#: 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 "Pad naar de map waar de PDF documenten worden opgeslagen"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Beveiligings-opties"
-#: 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 "Documenten verwijderen na eerste download"
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
-msgstr "Verwijder een document automatisch nadat het eenmalig is gedownload van paneel"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
+msgstr ""
+"Verwijder een document automatisch nadat het eenmalig is gedownload van "
+"paneel"
-#: 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 "Genereer een document enkel bij het aanmaken van een account"
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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 "Genereer een document enkel wanneer een account is nieuw aangemaakt. Indien 'nee' is geselecteerd zal bij iedere wachtwoord wijziging een nieuw document worden gemaakt. "
+#: 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 ""
+"Genereer een document enkel wanneer een account is nieuw aangemaakt. Indien "
+"'nee' is geselecteerd zal bij iedere wachtwoord wijziging een nieuw document"
+" worden gemaakt. "
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Personaliseringsopties"
-#: 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 van het document"
-#: 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 "Webpaneel URL"
-#: 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 van het Modoboa webpaneel"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Aangepast bericht"
-#: 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 "Een aangepast bericht dat aan het einde van de documenten komt te staan"
+msgstr ""
+"Een aangepast bericht dat aan het einde van de documenten komt te staan"
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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 serveradres"
-#: 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 ""
-#: 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 poort"
-#: 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 ""
-#: 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 verbinding beveiliging"
-#: 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 ""
-#: 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 serveradres"
-#: 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 ""
-#: 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 poort"
-#: 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 ""
-#: 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 verbinding beveiliging"
@@ -3455,17 +3759,17 @@ msgstr "IMAP verbinding beveiliging"
msgid "PDF credentials"
msgstr "PDF gegevens"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
msgid "PDF Credentials"
msgstr "PDF gegevens"
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr "Aangeboden door Modoboa - Mail hosting made simple"
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3478,11 +3782,11 @@ msgstr ""
"heeft voor het gebruiken van Modoboa. Onthoud deze gegevens\n"
"en verwijder dit document zo snel mogelijk.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Webpaneel:"
-#: pdfcredentials/documents.py:91
+#: pdfcredentials/documents.py:116
msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
@@ -3491,31 +3795,38 @@ msgstr ""
"\n"
"Hier kunt u uw e-mails online bekijken, filters aanmaken, of contactpersonen beheren.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Wijzig uw wachtwoord aub!"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "PC/Tablet/Smartphone configuratie:"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr "Gebruik deze instellingen voor uw computer, tablet of telefoon."
-#: 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 "Vraag de gebruikers gegevens op als een PDF document"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "PDF gegevens"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Het aanmaken van de map voor de PDF documenten is mislukt (%s)"
@@ -3524,33 +3835,193 @@ msgstr "Het aanmaken van de map voor de PDF documenten is mislukt (%s)"
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr "Het aanmaken van de map voor de PDF documenten is mislukt (%s)"
-#: 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: limiet bereikt"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: limiet bereikt"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Deze datum is over"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Moet na de startdatum liggen"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Automatische antwoorden"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Activeer uw automatische antwoord vanaf deze datum. Formaat: JJJJ-MM-DD "
+"UU:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Tot"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Activeer uw automatische antwoord tot deze datum. Formaat: JJJJ-MM-DD "
+"UU:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr "Automatisch antwoorden timeout"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Minimale tijd in seconden tussen twee auto-antwoorden naar dezelfde afzender"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Standaard onderwerp"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Ik ben nu niet aanwezig"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Standaard onderwerp gebruikt wanneer een automatisch antwoord automatisch is"
+" aangemaakt"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Standaard inhoud"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Momenteel ben ik niet aanwezig. Ik zal antwoorden zodra ik terug kom.\n"
+"\n"
+"Met vriendelijke groet,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Standaard inhoud gebruikt wanneer een automatisch antwoord bericht "
+"automatisch is aangemaakt. De '%(name)s' macro zal vervangen worden door de "
+"naam van de gebruiker."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Auto-antwoord bericht"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Automatisch antwoord"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "onderwerp"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "Het onderwerp dat zal verschijnen in verstuurde mails"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "inhoud"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "De inhoud die zal verschijnen in versuurde mails"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Activeer/Deactiveer uw auto-antwoord"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr ""
+"Maak een bericht dat automatisch verstuurd word wanneer u niet aanwezig bent"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Auto antwoord bericht successvol aangepast."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
#, fuzzy
#| msgid "Relay domains"
msgid "Transport settings"
msgstr "Doorstuur domeinen"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
#| msgid "target host"
msgid "target host address"
msgstr "doel host"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
#, fuzzy
#| msgid "target host"
msgid "target host port"
msgstr "doel host"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "controleer ontvangers"
@@ -3620,7 +4091,9 @@ msgstr "Wachtwoord vergeten?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr "Je wachtwoord is ingesteld. Je kunt nu inloggen"
#: templates/registration/password_reset_confirm.html:7
@@ -3628,8 +4101,12 @@ msgid "Change password"
msgstr "Wachtwoord wijzigen"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Deze wachtwoord herstel link is ongeldig, misschien is hij al gebruikt. Vraag een nieuwe wachtwoord herstel link aan."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Deze wachtwoord herstel link is ongeldig, misschien is hij al gebruikt. "
+"Vraag een nieuwe wachtwoord herstel link aan."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3640,7 +4117,11 @@ msgid "Resend code"
msgstr "Stuur de code opnieuw"
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
"
We hebben je instructies gemailt om je wachtwoord in te stellen. Als het door jou ingevulde email adres bestaat, zal je hem binnenkort ontvangen
\n"
"
Als je geen email ontvangt, controleer dan of je het juiste email adres hebt ingevuld, en controleer je spam folder.
"
@@ -3648,13 +4129,21 @@ msgstr ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Klik op de volgende link om een wachtwoord in te stellen voor het Modoboa account %(username)s "
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Klik op de volgende link om een wachtwoord in te stellen voor het Modoboa "
+"account %(username)s "
#: 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 "Als u niet op bovenstaande link kunt klikken kopieer dan de URL in uw browser,"
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Als u niet op bovenstaande link kunt klikken kopieer dan de URL in uw "
+"browser,"
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3675,22 +4164,20 @@ msgstr "Modoboa wachtwoord resetten."
msgid "Invalid value"
msgstr "Verkeerde regel"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
-#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: limiet bereikt"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Een alias met deze naam bestaat al."
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "Een aantal eenvoudige programmas DMARC"
@@ -3699,7 +4186,6 @@ msgstr ""
#~ msgstr "Genereer PDF document met de gegevens voor de gebruiker"
#, fuzzy
-#~| msgid "IMAP migration"
#~ msgid "IMAP migrations"
#~ msgstr "IMAP migratie"
@@ -3725,12 +4211,10 @@ msgstr ""
#~ msgstr "De servicenaam"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote address (hostname or IP) of this domain"
#~ msgstr "Externe bestemming van dit domein"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote port of this domain"
#~ msgstr "Externe bestemming van dit domein"
@@ -3744,15 +4228,10 @@ msgstr ""
#~ msgstr "Scan"
#, fuzzy
-#~| msgid "The domain name"
#~ msgid "The relay domain name"
#~ msgstr "De domeinnaam"
#, fuzzy
-#~| msgid ""
-#~| "\n"
-#~| "
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1344,11 +1418,16 @@ msgstr ""
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr ""
#: 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)."
+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 ""
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1360,90 +1439,95 @@ msgstr ""
msgid "Search"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr ""
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, python-format
+msgid "No AAAA record for %s"
+msgstr ""
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr ""
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr ""
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr ""
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] ""
@@ -1453,36 +1537,36 @@ msgstr[1] ""
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] ""
msgstr[1] ""
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr ""
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr ""
-#: 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 ""
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] ""
msgstr[1] ""
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr ""
@@ -1490,83 +1574,69 @@ msgstr ""
msgid "Import identities"
msgstr ""
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr ""
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr ""
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
+msgstr ""
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr ""
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr ""
-#: 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 ""
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: 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 ""
#: 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:165
msgid "Invalid syntax"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/api/v2/serializers.py:274
-msgid "Invalid password"
-msgstr ""
-
-#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -1576,450 +1646,477 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr ""
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr ""
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:178 core/app_settings.py:838
+#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr ""
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
+#: 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 ""
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr ""
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr ""
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr ""
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr ""
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 ""
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2051,31 +2148,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr ""
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr ""
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr ""
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2092,20 +2189,20 @@ msgstr ""
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr ""
-#: core/handlers.py:63
+#: core/handlers.py:64
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr ""
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr ""
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2113,139 +2210,139 @@ msgstr ""
msgid "You can't delete your own account"
msgstr ""
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr ""
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr ""
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr ""
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr ""
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr ""
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr ""
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:126
+#: core/models.py:131
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "Kunne ikke oppdatere LDAP-konto: {}"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr ""
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
msgid "Appication secret"
msgstr ""
@@ -2270,7 +2367,9 @@ msgid "Latest news"
msgstr ""
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
+msgid ""
+"Visit the official "
+"weblog for more information."
msgstr ""
#: core/templates/core/api_access.html:3
@@ -2283,7 +2382,9 @@ msgstr ""
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2295,7 +2396,7 @@ msgstr ""
msgid "Hello %(user)s."
msgstr ""
-#: 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 ""
@@ -2327,7 +2428,7 @@ msgstr ""
msgid "Active users"
msgstr ""
-#: 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 ""
@@ -2353,7 +2454,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: 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 ""
@@ -2370,12 +2471,12 @@ msgstr ""
msgid "Modoboa settings"
msgstr ""
-#: 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 ""
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr ""
@@ -2395,7 +2496,7 @@ msgstr ""
msgid "Click here to update your password"
msgstr ""
-#: 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 ""
@@ -2404,7 +2505,9 @@ msgid "Two-Factor authentication"
msgstr ""
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2416,28 +2519,43 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: 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 ""
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2452,67 +2570,71 @@ msgstr ""
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+msgid "Confirm your password"
+msgstr ""
+
#: core/templatetags/core_tags.py:34
msgid "Modoboa"
msgstr ""
-#: core/templatetags/core_tags.py:102
+#: core/templatetags/core_tags.py:110
msgid "Logout"
msgstr ""
-#: core/templatetags/core_tags.py:131
+#: core/templatetags/core_tags.py:154
msgid "API"
msgstr ""
-#: core/utils.py:32
+#: core/utils.py:33
msgid "The core part of Modoboa"
msgstr ""
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr ""
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr ""
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr ""
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr ""
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr ""
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr ""
-#: 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 ""
@@ -2548,11 +2670,11 @@ msgstr ""
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2624,95 +2746,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2741,7 +2863,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2757,7 +2881,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2765,136 +2889,144 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
msgid "Access denied"
msgstr ""
-#: 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/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/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr ""
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr ""
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Kunne ikke opprette LDAP-konto: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Kunne ikke oppdatere LDAP-konto: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Kunne ikke slette LDAP-konto: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Kunne ikke deaktivere LDAP-konto: {}"
-#: 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 ""
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr ""
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr ""
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr ""
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr ""
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr ""
@@ -2904,135 +3036,155 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: {}"
msgstr "Kunne ikke oppdatere LDAP-konto: {}"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr ""
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr ""
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr ""
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr ""
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr ""
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr ""
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr ""
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr ""
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr ""
@@ -3045,11 +3197,11 @@ msgstr ""
msgid "Not enough resources"
msgstr ""
-#: 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 ""
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr ""
@@ -3058,91 +3210,91 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr ""
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr ""
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr ""
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr ""
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr ""
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr ""
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3170,175 +3322,181 @@ msgstr ""
msgid "No statistics available"
msgstr ""
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr ""
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr ""
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr ""
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr ""
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr ""
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr ""
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr ""
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr ""
-#: 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 ""
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
msgid "Directory is not writable"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
@@ -3346,15 +3504,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3363,38 +3521,44 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr ""
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3403,27 +3567,156 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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
+msgid "Daily sending limit reached"
+msgstr ""
+
+#: 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:28 postfix_autoreply/forms.py:98
+msgid "This date is over"
+msgstr ""
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr ""
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+msgid "Automatic replies"
+msgstr ""
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+msgid "Default content"
+msgstr ""
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr ""
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+msgid "subject"
+msgstr ""
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr ""
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr ""
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr ""
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr ""
@@ -3491,7 +3784,9 @@ msgstr ""
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3499,7 +3794,9 @@ msgid "Change password"
msgstr ""
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3511,18 +3808,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3542,14 +3847,14 @@ msgstr ""
msgid "Invalid value"
msgstr ""
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
diff --git a/modoboa/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/locale/pl_PL/LC_MESSAGES/django.po
index 8a41edaaf..352281160 100644
--- a/modoboa/locale/pl_PL/LC_MESSAGES/django.po
+++ b/modoboa/locale/pl_PL/LC_MESSAGES/django.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2021-07-09 07:40+0000\n"
"Last-Translator: KrystianPlichta \n"
"Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/language/pl_PL/)\n"
@@ -25,488 +25,589 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Miejsce dzielone między skrzynki. Może być wyrażone w KB, MB (domyślnie) lub GB. Wartość 0 oznacza brak limitu."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Miejsce dzielone między skrzynki. Może być wyrażone w KB, MB (domyślnie) lub"
+" GB. Wartość 0 oznacza brak limitu."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Domyślne ograniczenie (w MB) dla nowych skrzynek. Wartość 0 oznacza brak ograniczenia."
+msgstr ""
+"Domyślne ograniczenie (w MB) dla nowych skrzynek. Wartość 0 oznacza brak "
+"ograniczenia."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Nie znaleziono autoryzowanych dla tej domeny rekordów MX "
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Nie może być wyższa niż limit domeny"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Odmowa dostępu"
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "To pole jest obowiązkowe"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Lista administratorów domen (tylko resellerów i administratorów domen)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista administratorów domen (tylko resellerów i administratorów domen)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Niedozwolone dla tej roli."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Musi być równe z full_address skrzynki."
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "To pole jest wymagane"
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Lokalna domena {} nie istnieje"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Lista odbiorców"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Użytkownik '%s' już istnieje"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Nie masz dostępu do tej domeny."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Nie masz dostępu do tej skrzynki."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr "Twoje nowe hasło do Modoboa to: {}"
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Użytkownik '%s' już istnieje"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Musi być liczbą całkowitą dodatnią"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Katalog nie znaleziony."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Katalog nie znaleziony."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "Brak openssl , upewnij się że jest zainstalowany."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Zdefiniuj przynajmniej jedną autoryzowaną sieć / adres"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Skrzynka jest obowiązkowa"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Nieznany"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Nie masz uprawnień dla tej domeny"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Nie możesz usunąć swoje własnej domeny"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domeny"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Włącz sprawdzanie rekordów MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Sprawdź czy dla domeny zdefiniowano poprawny rekord MX"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "Poprawne MXy"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Lista adresów IP lub sieci dla każdego pasującego rekordu MX. Monit zostanie wysłany w przypadku błędu."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Lista adresów IP lub sieci dla każdego pasującego rekordu MX. Monit zostanie"
+" wysłany w przypadku błędu."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Nowe domeny muszą używać autoryzowanych MX'ów"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Zapobiegaj tworzeniu nowych domen jeśli ich MXy nie są jednym ze zdefiniowanych adresów."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Zapobiegaj tworzeniu nowych domen jeśli ich MXy nie są jednym ze "
+"zdefiniowanych adresów."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable SPF checks"
+msgid "Enable IPV6 checks"
+msgstr "Włącz sprawdzanie rekordów SPF"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr "Włącz sprawdzanie rekordów SPF"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr "Sprawdź czy każda domena posiada aktualny SPF rekord"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr "Włącz sprawdzanie rekordów DKIM"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Sprawdź czy każda domena posiada aktualny DKIM rekord w strefie DNS"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr "Włącz sprawdzanie DMARC"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr "Sprawdź czy każda domena posiada aktualny DMARC rekord"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr "Włącz sprawdzanie poprawności autokonfiguracji"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
-msgstr "Sprawdza, czy każda domena ma prawidłowe rekordy pozwalające na autokonfigurację"
+msgstr ""
+"Sprawdza, czy każda domena ma prawidłowe rekordy pozwalające na "
+"autokonfigurację"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Włącz sprawdzanie DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Sprawdź każdą domenę po kątem głównych providerów DNSBL"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Własny serwer DNS"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Użyj własnego serwera DNS zamiast konfiguracji lokalnego serwera"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Katalog przechowywania kluczy DKIM"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Ścieżka bezwzględna do katalogu w którym będą trzymane klucze prywatne DKIM. Upewnij się że właścicielem katalogu jest \"użytkownik root\" i że katalog nie jest publicznie dostępny do odczytu."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Ścieżka bezwzględna do katalogu w którym będą trzymane klucze prywatne DKIM."
+" Upewnij się że właścicielem katalogu jest \"użytkownik root\" i że katalog "
+"nie jest publicznie dostępny do odczytu."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Domyślna długość klucza DKIM"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Domyślna długość w bitach dla nowo wygenerowanych kluczy DKIM."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Domyślne ograniczenie dla domeny"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Domyślne ograniczenie (w MB) dla nowych domen, gdy nie zostało podane. (0 - brak ograniczenia)"
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Domyślne ograniczenie (w MB) dla nowych domen, gdy nie zostało podane. (0 - "
+"brak ograniczenia)"
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr "Domyślny limit wysyłania dla domey"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
-msgstr "Liczba wiadomości, które świeżo utworzone domeny będą mogły wysłać dziennie. Pozostaw puste dla braku limitu."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+"Liczba wiadomości, które świeżo utworzone domeny będą mogły wysłać dziennie."
+" Pozostaw puste dla braku limitu."
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Skrzynki pocztowe"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Przechowuj skrzynka na filesystemie"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub usuniętę przez Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub"
+" usuniętę przez Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Domyślna przestrzeń dla konta pocztowego"
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Domyślny limit skrzynki (w MB) stosowany dla świeżo utworzonych skrzynek, dla których nie podano wartości. Wartość 0 oznacza brak limitu."
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Domyślny limit skrzynki (w MB) stosowany dla świeżo utworzonych skrzynek, "
+"dla których nie podano wartości. Wartość 0 oznacza brak limitu."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr "Domyślny limit wysyłania skrzynki"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
-msgstr "Liczba wiadomości, które będą mogły wysyłać świeżo utworzone skrzynki na dzień. Pozostaw puste dla braku limitu."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+"Liczba wiadomości, które będą mogły wysyłać świeżo utworzone skrzynki na "
+"dzień. Pozostaw puste dla braku limitu."
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Automatyczne usuwanie konta"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Gdy usuwana jest skrzynka usuń powizane z nią konto"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Automatyczne tworzenie domeny/skrzynki"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
msgstr "Utwórz domenę i skrzynkę gdy tworzone jest konto"
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Utwórz alias podczas zmiany nazwy skrzynki"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr "Utwórz alias używając starego adresu podczas zmiany nazwy skrzynki."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Domyślny limit skrzynki (w MB) stosowany dla świeżo utworzonych skrzynek, dla których nie podano wartości. Wartość 0 oznacza brak limitu."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Domyślny limit skrzynki (w MB) stosowany dla świeżo utworzonych skrzynek, "
+"dla których nie podano wartości. Wartość 0 oznacza brak limitu."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Administracja"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domena"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Domena przekazująca"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr "Otwarty"
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr "Zamknięty"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nazwa użytkownika"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "Username musi być poprawnym adresem e-mail dla zwykłych użytkowników i administratorów posiadających skrzynkę."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"Username musi być poprawnym adresem e-mail dla zwykłych użytkowników i "
+"administratorów posiadających skrzynkę."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rola"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Wybierz"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Jaki zakres uprawnień będzie miał użytkownik"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Losowe hasło"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Wygeneruj losowe hasło. Jeśli aktualizujesz to konto i zaznaczysz te pole, to zostanie wygenerowane nowe hasło."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Wygeneruj losowe hasło. Jeśli aktualizujesz to konto i zaznaczysz te pole, "
+"to zostanie wygenerowane nowe hasło."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Hasło"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Potwierdzenie"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Wprowadź hasło ponownie"
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Włączone"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Tylko super administratorzy mogą korzystać z tej opcji"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Hasła nie są zgodne"
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Nie możesz wyłączyć swojego konta"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Utwórz alias używając starego adresu"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Limit"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Limit miejsca dla tej skrzynki. Może być wyrażony w KB, MB(domyślnie) lub GB. Podaj własną wartość lub użyj domyślnej wartości domeny. Brak limitu jeśli pozostawisz niewypełnione (opcja niedozwolona dla administratorów domen)"
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Limit miejsca dla tej skrzynki. Może być wyrażony w KB, MB(domyślnie) lub "
+"GB. Podaj własną wartość lub użyj domyślnej wartości domeny. Brak limitu "
+"jeśli pozostawisz niewypełnione (opcja niedozwolona dla administratorów "
+"domen)"
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Limit wysyłania wiadomości"
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr "Liczba wiadomości, które ta skrzynka może wysłać w ciągu jednego dnia"
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(y)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(y) dla tej skrzynki. Podaj jeden adres w polu. Naciśnij ENTER aby dodać kolejne pole. Aby stworzyć alias \"catchall\" po prostu podaj nazwę domeny (@domena.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(y) dla tej skrzynki. Podaj jeden adres w polu. Naciśnij ENTER aby "
+"dodać kolejne pole. Aby stworzyć alias \"catchall\" po prostu podaj nazwę "
+"domeny (@domena.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Adres nadawcy"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Dodatkowe adresy nadawcy dla tego konta. Użytkownik będzie mógł tych adresów podczas wysyłania wiadomości, nawet jeśli taki nie istnieje lokalnie. Podaj jeden adres w polu. Naciśnij ENTER aby dodać nowe pole."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Dodatkowe adresy nadawcy dla tego konta. Użytkownik będzie mógł tych adresów"
+" podczas wysyłania wiadomości, nawet jeśli taki nie istnieje lokalnie. Podaj"
+" jeden adres w polu. Naciśnij ENTER aby dodać nowe pole."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Domena nie istnieje"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Domena lokalna nie istnieje"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domena(y)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domena(y), którmi zarządza użytkownik"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Ogólne"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Mail"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Uprawnienia"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Konto zaktualizowane"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nowe konto"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Konto utworzone"
@@ -519,69 +620,84 @@ msgid "Email address"
msgstr "Adres e-mail"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Adres aliasu. W celu utworzenia aliasu typu catchall wprowadź jedynie nazwę domeny (np. @domena.pl)"
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Adres aliasu. W celu utworzenia aliasu typu catchall wprowadź jedynie nazwę "
+"domeny (np. @domena.pl)"
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Odbiorcy"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Adres na który wskazuje alias. Wprowadź pojedynczo. Wciśnij ENTER aby dodać kolejny."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Adres na który wskazuje alias. Wprowadź pojedynczo. Wciśnij ENTER aby dodać "
+"kolejny."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Nie zdefiniowano odbiorców"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(y) tej domeny. Wprowadź pojedynczo. Wciśnij ENTER aby dodać kolejny."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias(y) tej domeny. Wprowadź pojedynczo. Wciśnij ENTER aby dodać kolejny."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Wybór klucza"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Domyślne ograniczenie miejsca dla skrzynek. Może być wyrażone w KB, MB (domyślnie) lub GB. Wartość 0 oznacza brak ograniczenia."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Domyślne ograniczenie miejsca dla skrzynek. Może być wyrażone w KB, MB "
+"(domyślnie) lub GB. Wartość 0 oznacza brak ograniczenia."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "alias domeny"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Nazwa %s już istnieje"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Katalog przechowywania kluczy DKIM nie został skonfigurowany"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Nie możesz przypisać nielimitowanej przestrzeni"
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domena"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Utwórz administratora domeny"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Automatycznie utwórz administratora dla tej domeny"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -590,51 +706,55 @@ msgstr "Automatycznie utwórz administratora dla tej domeny"
msgid "Name"
msgstr "Nazwa"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Nazwa administratora. Nie dodawaj tutaj nazwy domeny, zostanie dodana automatycznie"
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Nazwa administratora. Nie dodawaj tutaj nazwy domeny, zostanie dodana "
+"automatycznie"
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Wygeneruj losowe hasło dla administratora."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Ze skrzynką"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Utwórz skrzynkę dla administratora."
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Utwórz aliasy"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Automatycznie utwórz standardowe aliasy dla tej domeny"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Niepoprawny format"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domena zmodyfikowana"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Opcje"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Nowa domena"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domena utworzona"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Separator"
@@ -642,23 +762,23 @@ msgstr "Separator"
msgid "Recipient(s)"
msgstr "Odbiorca(y)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Wprowadź jednego lub wielu odbiorców używając przecinka"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Zachowuj lokalne kopie"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Przekazuj wiadomości i przechowuj kopie w twojej skrzynce"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Wybierz plik"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Kontynuuj przy błędzie"
@@ -666,7 +786,7 @@ msgstr "Kontynuuj przy błędzie"
msgid "Don't treat duplicated objects as error"
msgstr "Nie traktuj zdublowanych obiektów jako błąd"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Szyfruj hasła"
@@ -674,93 +794,95 @@ msgstr "Szyfruj hasła"
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "Zaznacz opcję jeśli hasła w twoim pliku nie są zaszyfrowane"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Błąd importu (%s): domena nie istnieje"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Skrzynka {} już istnieje"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Błąd importu (%s): błędna wartość limitu"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Tożsamości"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Przekaż"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Skrzynka jest obowiązkowa"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Nie masz uprawnień do importowania domen"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Nie masz uprawnień do importowania aliasów."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Nie znaleziono rekordu DNS dla %s"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Brak %(type)s zapisów dla %(name)s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Znaleziono nie działające serwery nazw"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
-msgstr "Upłynąć czas na rozwiązanie nazwy w DNS, w tym momencie nie potrafię odpytać %s"
+msgstr ""
+"Upłynąć czas na rozwiązanie nazwy w DNS, w tym momencie nie potrafię odpytać"
+" %s"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Nieprawidłowy format adresu IP dla {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Obiekt %s już istnieje"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "Zaimportowano %d obiektów z sukcesem"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr "Plik CSV nie jest w formacie UTF-8, próbuję rozpoznać kodowanie"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Wczytywanie pliku CSV używając kodowania %(encoding)s"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Nie potrafię zdekodować pliku CSV używając kodowania %(encoding)s"
@@ -769,23 +891,23 @@ msgstr "Nie potrafię zdekodować pliku CSV używając kodowania %(encoding)s"
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} wymienione przez dostawcę DNSBL {}"
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr "Nieprawidłowy rekord MX: {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "Rekord MX dla domeny {0} jest niepoprawny: {1}"
@@ -794,160 +916,158 @@ msgstr "Rekord MX dla domeny {0} jest niepoprawny: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] Wykryto problem(y) z MX dla domeny {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL problem(y) dla domeny {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Domena nie znaleziona."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Alias z taką nazwą już istnieje"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "adres"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Adres aliasu."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "włączone"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Zaznacz aby aktywować ten alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Opis"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Wygasa"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Niepoprawny adres"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Lokalny odbiorca {}@{} nie został odnaleziony"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Niepoprawna linia: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "nazwa"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Nazwa domeny"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr "Liczba wiadomości, które ta domena może wysłać w ciągu jednego dnia"
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Zaznacz, aby aktywować tą domenę"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Aktywuj sprawdzanie rekordów DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Zaznacz aby aktywować sprawdzanie DNS dla tej domeny"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Włącz podpisywanie DKIM"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Jeśli włączysz tą funkcjonalność, dla tej domeny zostanie wygenerowany klucz DKIM"
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Jeśli włączysz tą funkcjonalność, dla tej domeny zostanie wygenerowany klucz"
+" DKIM"
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Długość klucza"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Niepoprawna linia"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Nie znaleziono autoryzowanego rekordu MX dla domeny {}"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Niepoprawna wartość przydziału (quoty) dla domeny {}"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Niepoprawna wartość domyślna przydziału (quoty) dla domeny '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "Domyślna wartość przydziału (quota) nie może być wyższa niż przydział domeny"
+msgstr ""
+"Domyślna wartość przydziału (quota) nie może być wyższa niż przydział domeny"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Nazwa aliasu"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "cel"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Alias domeny wskazuje na"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Nieznana domena %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Adres skrzynki (bez części @domena.pl)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Błąd - nie udało się odczytać lokalizacji skrzynki (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Limit jest wymagany"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -957,8 +1077,9 @@ msgstr "Przekroczono limit przydziału"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Zamknij"
@@ -1007,9 +1128,9 @@ msgstr "Ilość"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Aliasy domen"
@@ -1044,7 +1165,7 @@ msgstr "Utworzono"
msgid "Last login"
msgstr "Ostatnio zalogowany"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Zapasowy email"
@@ -1053,7 +1174,7 @@ msgstr "Zapasowy email"
msgid "Not defined"
msgstr "Nie zdefiniowano"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Numer telefonu"
@@ -1131,7 +1252,7 @@ msgstr "Alarm otwarty dla"
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Data"
@@ -1155,9 +1276,9 @@ msgstr "Data utworzenia"
msgid "Last modification date"
msgstr "Data ostatniej modyfikacji"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Aliasy skrzynki"
@@ -1213,11 +1334,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Nie"
@@ -1225,7 +1347,7 @@ msgstr "Nie"
msgid "Generate new key"
msgstr "Wygeneruj nowy klucz"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "tak"
@@ -1238,7 +1360,7 @@ msgid "Administrators"
msgstr "Administratorzy"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Usuń to uprawnienie"
@@ -1275,13 +1397,13 @@ msgstr "ID kolejki"
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Od"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Do"
@@ -1312,11 +1434,12 @@ msgstr "wyłączone"
msgid "Automatically forward emails to another address"
msgstr "Automatycznie przekazuj wiadomości do do innych odbiorców"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
-msgstr "Aktualizuj"
+msgstr "Zaktualizuj"
#: admin/templates/admin/identities.html:32
msgid "Account"
@@ -1331,7 +1454,14 @@ msgid "Fullname/Recipient"
msgstr "Pełna nazwa/Odbiorca"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
msgstr ""
"Przygotuj plik CSV gdzie linie są następującego formatu:\n"
"
\n"
@@ -1378,7 +1514,8 @@ msgstr "Zaktualizowane"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Ten IP nie pasuje do żadnego poprawnego MX'a określonego w parametrach"
+msgstr ""
+"Ten IP nie pasuje do żadnego poprawnego MX'a określonego w parametrach"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1386,106 +1523,123 @@ msgstr "Nie znaleziono rekordu MX dla tej domeny"
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa znalazło tą domenę %(domain)s na liście DNSBL poniższych providerów:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa znalazło tą domenę %(domain)s na liście DNSBL poniższych providerów:"
#: 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 "Reputacja domeny zostanie naruszona i istnieje szansa, że wiadomości z niej pochodzące zostaną zakwalifikowane jako spam. Powinieneś skontaktować się z tymi dostawcami i poprosić o usunięcie wykrytych adresów (IP)."
+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 ""
+"Reputacja domeny zostanie naruszona i istnieje szansa, że wiadomości z niej "
+"pochodzące zostaną zakwalifikowane jako spam. Powinieneś skontaktować się z "
+"tymi dostawcami i poprosić o usunięcie wykrytych adresów (IP)."
#: 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 sygnalizuje że ta domena %(domain)s nie posiada poprawnego rekordu MX:"
+msgstr ""
+"Modoboa sygnalizuje że ta domena %(domain)s nie posiada poprawnego rekordu "
+"MX:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Szukaj"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "aktywowany_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "aktywowany_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Lista domen"
-#: 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 "Lista limitów"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr "Logi wiadomości"
-#: 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 "Importuj"
-#: 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 "Exportuj"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Lista tożsamości"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Pokaż tożsamości domeny"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr "Wyświetl alarmy domeny"
-#: 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 "Edytuj {}"
-#: 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 "Usunąć %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Brak wpisów MX dla %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 "Nieprawidłowy format adresu IP dla %(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 "Brak wpisów MX dla %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Alias z taką nazwą już istnieje"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Utwórz"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Nowy alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias utworzony"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias zmodyfikowany"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias skasowano"
@@ -1497,11 +1651,11 @@ msgstr[3] "Aliasy skasowano"
msgid "MX records of {}"
msgstr "Rekordy MX dla {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "DNSBL podsumowanie dla {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domena usunięta"
@@ -1509,20 +1663,20 @@ msgstr[1] "Domeny usunięte"
msgstr[2] "Domeny usunięte"
msgstr[3] "Domeny usunięte"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Eksportuj tożsamości"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Eksportuj domeny"
-#: 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 "Nieprawidłowe żądanie"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Konto usunięte"
@@ -1530,7 +1684,7 @@ msgstr[1] "Konta usunięte"
msgstr[2] "Konta usunięte"
msgstr[3] "Konta usunięte"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importuj domeny"
@@ -1538,85 +1692,72 @@ msgstr "Importuj domeny"
msgid "Import identities"
msgstr "Importuj tożsamości"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Reguła przekazywania zmodyfikowana"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr "Nieprawidłowy kod PIN"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr "2FA jest już włączone"
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
-msgstr "2FA nie jest włączone"
-
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Lokalnie"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Profil użytkownika"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Nieprawidłowa składnia"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Nieprawidłowa liczba rund"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr "Ten kod jest nieprawidłowy"
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Stare hasło"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr "2FA nie jest włączone"
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Lokalnie"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Profil użytkownika"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Nieprawidłowa składnia"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Nieprawidłowa liczba rund"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr "Ten kod jest nieprawidłowy"
+
+#: 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 "Proszę użyć następującego kodu, aby odzyskać hasło Modoboa: {}"
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Użytkownik '%s' pomyślnie zalogowany"
-#: 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 "Niezgodny schemat hasła. Aktualizuję hasło %s"
@@ -1626,452 +1767,515 @@ msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
msgid "Password hash parameter missmatch. Updating %s password"
msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Uwierzytelnianie"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Typ uwierzytelniania"
-#: 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 używany do uwierzytelniania"
-#: 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 "Domyślny schemat hasła"
-#: 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 "Schemat używany do szyfrowania haseł do skrzynek"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Rund"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Liczba rund (tylko dla sha256crypt i sha512crypt). Musi się zawierać pomiędzy 1000 a 999999999 włącznie."
+#: 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 ""
+"Liczba rund (tylko dla sha256crypt i sha512crypt). Musi się zawierać "
+"pomiędzy 1000 a 999999999 włącznie."
-#: 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 "Aktualizuj schemat haseł przy logowaniu"
-#: 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 "Zaktualizuj hasło użytkownika przy logowaniu, tak aby używało domyślnego schematu haseł"
+msgstr ""
+"Zaktualizuj hasło użytkownika przy logowaniu, tak aby używało domyślnego "
+"schematu haseł"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Domyślne hasło"
-#: 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 "Domyślne hasło dla automatycznie dodawanych kont."
-#: 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 "Długość losowego hasła"
-#: 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 "Długość losowo wygenerowanego hasła"
-#: 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 "Zaktualizuj URL usługi hasła"
-#: core/app_settings.py:94 core/app_settings.py:768
-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 "Adres URL zewnętrznej strony, gdzie użytkownicy będą mogli zmieniać swoje hasła. Ustawienie dotyczy tylko użytkowników innych niż lokalni, np. utworzonych automatycznie po prawidłowym zalogowaniu do zewnętrznych usług (LDAP, SMTP)."
+#: 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 ""
+"Adres URL zewnętrznej strony, gdzie użytkownicy będą mogli zmieniać swoje "
+"hasła. Ustawienie dotyczy tylko użytkowników innych niż lokalni, np. "
+"utworzonych automatycznie po prawidłowym zalogowaniu do zewnętrznych usług "
+"(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 "Komunikat o odzyskiwaniu hasła"
-#: 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 "Tymczasowa wiadomość, która będzie wyświetlana na stronie resetowania hasła."
+msgstr ""
+"Tymczasowa wiadomość, która będzie wyświetlana na stronie resetowania hasła."
-#: 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 "Włącz odzyskiwania hasła przez 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 "Włącz odzyskiwanie hasła przez SMS dla użytkowników, którzy podali numer telefonu."
+msgstr ""
+"Włącz odzyskiwanie hasła przez SMS dla użytkowników, którzy podali numer "
+"telefonu."
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr "Dostawca SMS"
-#: 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 "Wybierz dostawcę, aby wysłać SMS odzyskiwania hasła Dostawca SMS"
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Ustawienia LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Adres serwera"
-#: 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 lub nazwa DNS serwera LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "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 "Port TCP używany przez LDAP"
-#: 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 "Włącz dodatkowy serwer (awaryjny)"
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
-msgstr "Włącz dodatkowy serwer LDAP, który będzie użyty, gdy pierwszorzędny nie będzie dostępny"
+#: 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 ""
+"Włącz dodatkowy serwer LDAP, który będzie użyty, gdy pierwszorzędny nie "
+"będzie dostępny"
-#: 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 "Adres serwera dodatkowego"
-#: 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 "Adres IP lub nazwa DNS dodatkowego serwera LDAP"
-#: 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 "Port na serwerze dodatkowym"
-#: 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 "Numer portu TCP używanego przez dodatkowy serwer LDAP"
-#: 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 "Użyj połączenia bezpiecznego"
-#: 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 "Użyj SSL/STARTTLS dla połączenia z serwerem LDAP"
-#: 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 "Czy LDAP jest Active Directory "
-#: 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 grup"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny. Użyj znaku ';' jako separatora grup."
+#: 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 ""
+"Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny."
+" Użyj znaku ';' jako separatora grup."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Typ grupy"
-#: 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 "Typ grupy LDAP do wykorzystania z Twoim katalogiem."
-#: 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 "Wyszukiwarka grup"
-#: 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 "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Atrybut hasła"
-#: 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 "Atrybut używany do przechowywania haseł użytkowników"
-#: 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 "Ustawienia uwierzytelniania LDAP"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Metoda autentykacji"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Wyszukaj i powiąż"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Bezpośrednie powiązanie"
-#: 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 "Wybierz metode autentykacji"
-#: 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 "Przypnij do DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "DN do użycia przy połączeniu do LDAP'a. Zostaw puste dla anonimowego podłączenia"
+#: 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 ""
+"DN do użycia przy połączeniu do LDAP'a. Zostaw puste dla anonimowego "
+"podłączenia"
-#: 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 "Hasło"
-#: 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 "Hasło używane do połdłączenia do LDAP'a (z wskazanym DN)"
-#: 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 "Wyszukiwania użytkowników"
-#: 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 "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy"
-#: 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 "Filtr wyszukiwania"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
+#: 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 "Użyj szablonu DN"
-#: 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 "Użyj szablonu 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 "Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden symbol zastępczy (np. %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden "
+"symbol zastępczy (np. %(user)s)"
-#: 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 "Ustawienia synchronizacji z LDAP"
-#: 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 "Włącz export do LDAP"
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
-msgstr "Włącz automatyczną synchronizację lokalnej bazy danych i katalogu LDAP"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
+msgstr ""
+"Włącz automatyczną synchronizację lokalnej bazy danych i katalogu LDAP"
-#: 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 "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne"
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
-msgstr "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne, w innym przypadku zostanie ono wyłączone."
+#: 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 ""
+"Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne, w innym"
+" przypadku zostanie ono wyłączone."
-#: 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 "Szablon konta 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 "Szablon używany do budowy DN konta. Powinien zawierać jeden placeholder (ie. %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Szablon używany do budowy DN konta. Powinien zawierać jeden placeholder (ie."
+" %(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 "Włącz import z LDAP"
-#: 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 "Włącz synchronizację konta ze katalogu LDAP z lokalną bazą danych"
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr "Atrybut nazwa użytkownika"
-#: 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 "Nazwa atrybutu LDAP, w którym można znaleźć nazwę użytkownika."
-#: 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 "Włącz synchronizację Dovecot LDAP"
-#: 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 "Ustawienia uwierzytelniania LDAP zostaną zastosowane do konfiguracji Dovecot."
+msgstr ""
+"Ustawienia uwierzytelniania LDAP zostaną zastosowane do konfiguracji "
+"Dovecot."
-#: 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 "Plik konfiguracyjny Dovecot LDAP"
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
-msgstr "Lokalizacja pliku konfiguracyjnego, który zawiera ustawienia Dovecot LDAP."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
+msgstr ""
+"Lokalizacja pliku konfiguracyjnego, który zawiera ustawienia Dovecot LDAP."
-#: 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 "Panel główny"
-#: 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 "Spersonalizowany kanał RSS"
-#: 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 "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
+msgstr ""
+"Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
-#: 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 "Ukryj kontrolki opcji"
-#: 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 "Ukryj kontrolki opcji dla administratorów domeny i resellerów"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Powiadomienia"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Adres nadawcy"
-#: 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 "Adres e-mail używany do wysyłania powiadomień"
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "Publiczne 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 "Włącz komunikację"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Włącz komunikację z publicznym API Modoboa"
-#: 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 "Sprawdź nowe wersje"
-#: 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 "Automatycznie sprawdzaj czy nowa wersja jest dostępna"
-#: 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 "Wyślij email, jeżeli została znaleziona nowa wersja"
-#: 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 "Wyślij email, by powiadomić aministratorów o nowej wersji"
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr "Odbiorca"
-#: 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 "Odbiorca emaili z powiadomieniem o nowej wersji"
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Wyślij statystyki"
-#: 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 "Prześlij statystyki do publicznego API Modoboa (licznik i użyte rozszerzenia)"
+msgstr ""
+"Prześlij statystyki do publicznego API Modoboa (licznik i użyte "
+"rozszerzenia)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Różne"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Próg nieaktywności konta"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Próg nieaktywności konta"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Konto z datą ostatniego logowania większą niż podany próg (w dniach) zostanie uznane za nieaktywne. "
+#: 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 ""
+"Konto z datą ostatniego logowania większą niż podany próg (w dniach) "
+"zostanie uznane za nieaktywne. "
-#: 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 "Odstęp pomiędzy powiadomieniami "
-#: 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 "Odstęp pomiędzy dwoma powiadomieniami (w sek.)"
-#: 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 "Max wiek wpisu w logu"
-#: 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 "Max wiek w dniach dla wpisu w logu"
-#: 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 "Elementów na stronie"
-#: 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 "Liczba wyświetlanych elementów na stronie"
-#: 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 "Domyślne górne przekierowanie"
-#: 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 "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "Masz ustawione USE_TZ na False, co może powodować problemy przy zmianach czasu pomiędzy letnim a zimowym (ten sam czas będzie występował dwa razy z powodu zmiany godziny)."
+#: 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 ""
+"Masz ustawione USE_TZ na False, co może powodować problemy przy zmianach "
+"czasu pomiędzy letnim a zimowym (ten sam czas będzie występował dwa razy z "
+"powodu zmiany godziny)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Ustaw `USE_TZ = True` w settings.py"
@@ -2103,31 +2307,31 @@ msgstr "Atrapa"
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Stare hasło"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nowe hasło"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Niezgodność ze starym gasłem"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Niezgodność haseł"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Włądze dostęp API"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr "Kod weryfikacyjny"
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr "Nieprawidłowy kod"
@@ -2144,20 +2348,20 @@ msgstr "zmodyfikowano"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s przez użytkownika %(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 przez"
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "usunięto"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "użytkownik {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "polecenie zarządzania"
@@ -2165,65 +2369,65 @@ msgstr "polecenie zarządzania"
msgid "You can't delete your own account"
msgstr "Nie możesz usunąć własnego konta"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Jedna lub więcej aktualizacji jest dostępnych"
-#: 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] Aktualizacja(y) dostępna(e)"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Zezwól na dostęp do skrzynek"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Zezwól temu administratorowi na dostęp do skrzynek użytkowników"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "hasło"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "Język"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Preferowany język"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Alternatywny email, może zostać użyty do odzyskania hasła"
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Nieudana zmiana hasła: moduł LDAP nie został zainstalowany"
-#: 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 "Nieznany"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Nie możesz zaimportować konta z rolą wyższą od własnej"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Prosty uzytkownik '%s' musi posiadać prawidłowy adres email"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "pola nazwa użytkownika i email nie mogą się różnić dla '%s'"
-#: 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] "Hasło musi zawierać przynajmniej {} cyfrę."
@@ -2231,7 +2435,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} cyfry."
msgstr[2] "Hasło musi zawierać przynajmniej {} cyfr."
msgstr[3] "Hasło musi zawierać przynajmniej {} cyfr."
-#: 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] "Hasło musi zawierać przynajmniej {} małą literę."
@@ -2239,7 +2443,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} małe litery."
msgstr[2] "Hasło musi zawierać przynajmniej {} małych liter."
msgstr[3] "Hasło musi zawierać przynajmniej {} małych liter."
-#: 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] "Hasło musi zawierać przynajmniej {} duża literę."
@@ -2247,7 +2451,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} duże litery."
msgstr[2] "Hasło musi zawierać przynajmniej {} dużych liter."
msgstr[3] "Hasło musi zawierać przynajmniej {} dużych liter."
-#: 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] "Hasło musi zawierać przynajmniej {} znak specjalny."
@@ -2255,55 +2459,55 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} znaki specjalne."
msgstr[2] "Hasło musi zawierać przynajmniej {} znaków specjalnych."
msgstr[3] "Hasło musi zawierać przynajmniej {} znaków specjalnych."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr "Hasło musi zawierać kombinację różnych typów znaków."
-#: 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 "Punkt końcowy API"
-#: 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 USA"
-#: 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 North-America"
-#: 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 "Zaczynasz Europe"
-#: 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 "Zaczynasz Amerykę Północną"
-#: 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 North America"
-#: 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 "Klucz aplikacji"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr "Hasło aplikacji"
-#: 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 "Klucz konsumenta"
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Application secret"
msgid "Appication secret"
@@ -2330,8 +2534,12 @@ msgid "Latest news"
msgstr "Ostatnie wiadomości"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Odwiedź oficjalny blog aby uzyskać więcej informacji."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Odwiedź oficjalny "
+"blog aby uzyskać więcej informacji."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2343,8 +2551,12 @@ msgstr "Kontroluj dostęp do Modoboa API"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Dokumentacja API jest dostępna tutaj."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Dokumentacja API jest dostępna tutaj."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2355,7 +2567,7 @@ msgstr "Token dostępowy do API"
msgid "Hello %(user)s."
msgstr "Cześć %(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 "Informacja"
@@ -2369,7 +2581,9 @@ msgstr "Aktualizacje są dostępne!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Sprawdź poniższą listę, aby znaleźć komponenty, które mogą być aktualizowane."
+msgstr ""
+"Sprawdź poniższą listę, aby znaleźć komponenty, które mogą być "
+"aktualizowane."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2387,7 +2601,7 @@ msgstr "Ostatnia wersja"
msgid "Active users"
msgstr "Aktywni użytkownicy"
-#: 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 "Logi"
@@ -2423,7 +2637,7 @@ msgstr[3] ""
"\n"
"Dostępne są następujące aktualizacje:\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 "Parametry"
@@ -2440,12 +2654,12 @@ msgstr "Zapisz"
msgid "Modoboa settings"
msgstr "Ustawienia Modoboa"
-#: 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 "Ustawienia"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Preferencja"
@@ -2465,7 +2679,7 @@ msgstr "Aktualizuj swoje dane osobowe"
msgid "Click here to update your password"
msgstr "Kliknij tutaj, by ustawić swoje hasło."
-#: 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 "Bezpieczeństwo"
@@ -2474,8 +2688,13 @@ msgid "Two-Factor authentication"
msgstr "Uwierzytelnianie dwuskładnikowe"
#: 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 "Zainstaluj aplikację uwierzytelniającą soft token, taką jak FreeOTP lub Google Authenticator z repozytorium aplikacji i użyj jej do zeskanowania tego kodu QR."
+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 ""
+"Zainstaluj aplikację uwierzytelniającą soft token, taką jak FreeOTP lub "
+"Google Authenticator z repozytorium aplikacji i użyj jej do zeskanowania "
+"tego kodu QR."
#: core/templates/core/user_security.html:25
msgid "Pin code"
@@ -2486,29 +2705,53 @@ msgid "Register"
msgstr "Zarejestruj się"
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
-msgstr "Gratulacje! Uwierzytelnianie dwuskładnikowe jest teraz włączone dla Twojego konta."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
+msgstr ""
+"Gratulacje! Uwierzytelnianie dwuskładnikowe jest teraz włączone dla Twojego "
+"konta."
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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 "Poniższe kody odzyskiwania można użyć jednorazowo, aby odzyskać dostęp do swojego konta, na przykład w przypadku utraty telefonu. Upewnij się, że zapisałeś je w bezpiecznym miejscu, w przeciwnym razie nie będziesz miał już dostępu do swojego konta."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
+"Poniższe kody odzyskiwania można użyć jednorazowo, aby odzyskać dostęp do "
+"swojego konta, na przykład w przypadku utraty telefonu. Upewnij się, że "
+"zapisałeś je w bezpiecznym miejscu, w przeciwnym razie nie będziesz miał już"
+" dostępu do swojego konta."
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr "Uwierzytelnianie dwuskładnikowe jest włączone dla Twojego konta."
+#: 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 "Wyłącz 2FA"
+#: 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 "Resetowanie kodów odzyskiwania"
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
-msgstr "Uwierzytelnianie dwuskładnikowe (Two-Factor Authentication, 2FA) nie jest jeszcze aktywne dla Twojego konta. Włączenie tej funkcji zwiększy bezpieczeństwo Twojego konta."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
+msgstr ""
+"Uwierzytelnianie dwuskładnikowe (Two-Factor Authentication, 2FA) nie jest "
+"jeszcze aktywne dla Twojego konta. Włączenie tej funkcji zwiększy "
+"bezpieczeństwo Twojego konta."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2522,71 +2765,77 @@ msgstr "Nowe kody odzyskiwania"
msgid "Here are your new recovery codes. "
msgstr "Oto twoje nowe kody odzyskiwania. "
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Szyfruj hasła"
+
#: 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 "Wyloguj"
-#: 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 "Zasadnicza część Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parametry zapisano"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "Twoja nazwa użytkownika i hasło są niepoprawne. Spróbuj ponownie"
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Użytkownik '{}' wylogowany pomyślnie"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profil zaktualizowano"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Preferencje zapisano"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Dostęp zaktualizowany"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
#, fuzzy
#| msgid "LDAP settings"
msgid "DNS settings"
msgstr "Ustawienia LDAP"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
#, fuzzy
#| msgid "No MX record for %s"
msgid "Show DMARC report for {}"
msgstr "Brak wpisów MX dla %s"
-#: 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
#, fuzzy
#| msgid "Not defined"
msgid "Not resolved"
@@ -2632,11 +2881,11 @@ msgstr "Port na serwerze dodatkowym"
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2716,95 +2965,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2833,7 +3082,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2849,7 +3100,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2857,95 +3108,103 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Dostęp zaktualizowany"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration"
msgstr "Włącz podpisywanie DKIM"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration."
msgstr "Włącz podpisywanie DKIM"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83
+#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
#, fuzzy
#| msgid "Create aliases"
msgid "Create Folders"
msgstr "Utwórz aliasy"
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
#, fuzzy
#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
msgstr "Ustawienia LDAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
@@ -2954,52 +3213,52 @@ msgstr ""
msgid "IMAP migration"
msgstr "Administracja"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Niepowodzenie w trakcie dodawania konta LDAP"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Niepowodzenie w trakcie aktualizacji konta LDAP"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Niepowodzenie w trakcie usuwania konta LDAP"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Niepowodzenie w trakcie wyłaczania konta LDAP"
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Włącz komunikację z publicznym API Modoboa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Połączenie do bazy danych %s nie zostało skonfigurowane"
-#: 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 "nie potrafi rozpoznać kodowania tekstu"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Odmowa dostepu: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Dostęp zabroniony"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Wprowadź prawidłową nazwę domeny"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Wprowadź prawidłowy adres email"
@@ -3009,133 +3268,174 @@ msgstr "Wprowadź prawidłowy adres email"
msgid "Submit"
msgstr "Temat"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Nieudana zmiana hasła: {}"
-#: 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 "Temat"
-#: 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 "Domyślne limity na admina"
-#: 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 "Włącz limity na admina"
-#: 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 "Włącz lub wyłącz limity na admina"
-#: 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 "Administratorzy domeny"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maksymalna dozwolona liczba administratorów domen dla nowego administratora. (0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Maksymalna dozwolona liczba administratorów domen dla nowego administratora."
+" (0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie"
+" niedozwolone, -1 nielimitowana ilość)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maksymalna dozwolona ilość aliasów domen dla nowego administratora. (0 dla tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Maksymalna dozwolona ilość aliasów domen dla nowego administratora. (0 dla "
+"tworzenie niedozwolone, -1 nielimitowana ilość)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maksymalna dozwolona liczba skrzynek dla nowego administratora. (0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Maksymalna dozwolona liczba skrzynek dla nowego administratora. (0 - "
+"tworzenie niedozwolone, -1 nielimitowana ilość)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Maksymalna dozwolona liczba aliasów dla nowego administratora. (0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Maksymalna dozwolona liczba aliasów dla nowego administratora. (0 - "
+"tworzenie niedozwolone, -1 nielimitowana ilość)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
-msgstr "Pojemność jaką reseller może dzielić między domenami które utworzy. (0 oznacza brak limitu)"
+#: 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 ""
+"Pojemność jaką reseller może dzielić między domenami które utworzy. (0 "
+"oznacza brak limitu)"
-#: 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 "Domyślne limity na domenę"
-#: 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 "Włącz limity na domenę"
-#: 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 "Włącz lub wyłącz limity na domenę"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Max liczba administratrów nowej domeny. (0 tworzenie niedozwolone, -1 dla braku limitu)"
+#: 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 ""
+"Max liczba administratrów nowej domeny. (0 tworzenie niedozwolone, -1 dla "
+"braku limitu)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Max liczba aliasów domen nowej domeny. (0 tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Max liczba aliasów domen nowej domeny. (0 tworzenie niedozwolone, -1 "
+"nielimitowana ilość)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Max liczba skrzynek dla nowej domeny. (0 tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Max liczba skrzynek dla nowej domeny. (0 tworzenie niedozwolone, -1 "
+"nielimitowana ilość)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Max liczba aliasów dla nowej domeny. (0 tworzenie niedozwolone, -1 nielimitowana ilość)"
+#: 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 ""
+"Max liczba aliasów dla nowej domeny. (0 tworzenie niedozwolone, -1 "
+"nielimitowana ilość)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Limity"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Maksymalna liczba domen, które może stworzyć użytkownik"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Maksymalna liczba aliasów domen, które może stworzyć użytkownik"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Maksymalna liczba skrzynek, które może stworzyć użytkownik"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr "Maksymalna liczba aliasów skrzynek, które może stworzyć użytkownik"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Maksymalna liczba kont aministratorów domen, które może stworzyć użytkownik"
+msgstr ""
+"Maksymalna liczba kont aministratorów domen, które może stworzyć użytkownik"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Pojemność współdzielona między domenami tego resellera"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Max liczba aliasów domen dla tej domeny."
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Max liczba skrzynek dla tej domeny."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Max liczba aliasów dla tej domeny."
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Max liczba administratorów domeny."
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Nieprawidłowy limit"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Zasoby"
@@ -3148,11 +3448,11 @@ msgstr "Osiągnięto limit: %s"
msgid "Not enough resources"
msgstr "Brak wystarczających zasobów"
-#: 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 "Nie jesteś uprawniony do wprowadzenia nielimitowanej wartości"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "nielimitowane"
@@ -3161,91 +3461,91 @@ msgstr "nielimitowane"
msgid "Resources usage"
msgstr "Wykorzystanie zasobów"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Ścieżka do pliku z logiem"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Sćieżka do pliku z logiem dla colect "
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Katalog do przechowywania plików RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Katalog gdzie przechowywane są pliki RRD"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr "Pokaż greylistowane wiadomości"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr "Rozróżniaj twarde i miękkie odrzuty (greylisting)"
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Statystyki"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr "Nie znaleziono binarki rrdtool."
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Średni ruch (wiadomości/minutę)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "Wysłane wiadomości"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "Odebrane wiadomości"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "Odbite wiadomości"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "Odrzucone wiadomości"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr "wiadomości zawirusowane"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr "wiadomości spam"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr "wiadomości opóźnione (greylisting)"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Średnia normalna wielkość ruchu (bajtów/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "Ilość odebranych danych"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "Ilość wysłanych danych"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Ruch e-mail"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr "Średnia ilość tworzonych kont (konto/godzina)"
@@ -3273,183 +3573,194 @@ msgstr "Zastosuj"
msgid "No statistics available"
msgstr "Brak dostępnych statysty"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Dzień"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Tydzień"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Miesiąc"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Rok"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Własne"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Unknown graphic set"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Unknown graphic set"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Nieprawudłowy przedział czasowy"
-#: 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 "Informacje o koncie osobistym"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Katalog nie znaleziony."
-#: 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 "Brak dokumentu dla tego użytkownika"
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "Poświadczenia PDF"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "Generuj dokumenty tylko podczas zakładania konta"
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Magazyn dokumentów"
-#: 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 "Lokalizacja gdzie zapisywać dokumenty"
-#: 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 "Ścieżka do lokalizacji, gdzie będą zapisywane PDF'y"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Opcje bezpieczeństwa"
-#: 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 "Usuwaj dokumenty po ich pierwszym pobraniu"
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
-msgstr "Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten interfejs"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
+msgstr ""
+"Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten "
+"interfejs"
-#: 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 "Generuj dokumenty tylko podczas zakładania konta"
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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 "Generuj nowy dokument tylko wtedy, kiedy nowe konto jest zakładane. Jeśli ustawione na nie, to nowy dokument będzie tworzony przy każdej zmianie hasła."
+#: 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 ""
+"Generuj nowy dokument tylko wtedy, kiedy nowe konto jest zakładane. Jeśli "
+"ustawione na nie, to nowy dokument będzie tworzony przy każdej zmianie "
+"hasła."
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Opcje dostosowania"
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr "Tytuł"
-#: 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 "Tytuł dokumentu"
-#: 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 panelu Web"
-#: 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 panelu Modoboa"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Własna wiadomość"
-#: 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 "Dodatkowa wiadomość która pojawi się na końcu dokumentu."
-#: 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 "Załącz ustawienia połączenia dla programu pocztowego klienta"
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 "Załącz wymagane do konfiguracji, informacje o połączeniu SMTP i IMAP "
-#: 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 "Adres serwera SMTP"
-#: 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 "Adres serwera SMTP (nazwa hosta lub 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 "Port serwera SMTP"
-#: 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 nasłuchujący serwera SMTP"
-#: 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 "Zabezpieczenia połączenia SMTP"
-#: 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 "Mechanizm zabezpieczenia połączenia"
-#: 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 "Adres serwera IMAP"
-#: 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 "Adres serwera IMAP (nazwa hosta lub 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 "Port serwera IMAP"
-#: 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 nasłuchujący serwera IMAP"
-#: 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 "Zabezpieczenie połączenia IMAP"
@@ -3457,17 +3768,17 @@ msgstr "Zabezpieczenie połączenia IMAP"
msgid "PDF credentials"
msgstr "Poświadczenia PDF"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
msgid "PDF Credentials"
msgstr "Poświadczenia PDF"
-#: 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"
@@ -3478,11 +3789,11 @@ msgstr ""
"\n"
"Drogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które będzeisz potrzebował to połączenia się. Zapoznaj się z nim i usuń go najszybciej jak to możliwe.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Panel web:"
-#: pdfcredentials/documents.py:91
+#: pdfcredentials/documents.py:116
msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
@@ -3492,31 +3803,38 @@ msgstr ""
"Pod tym adresem możesz online przeczytać swoje wiadomości, stworzyć filtry lub zarządzać\n"
" listą kontaktów.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Proszę zmienić swoje hasło!"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "konfiguracją PC/Tabletu/Smartfonu:"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr "Użyj tych ustawień w swoim komputerze, tablecie lub telefonie."
-#: 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 "Pobieranie danych uwierzytelniających użytkownika w formacie PDF"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "Poświadczenia PDF"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Nie można utworzyć katalogu do przechowywania PDF'ów (%s)"
@@ -3525,29 +3843,184 @@ msgstr "Nie można utworzyć katalogu do przechowywania PDF'ów (%s)"
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr "Nie można utworzyć katalogu do przechowywania PDF'ów (%s)"
-#: 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 "Osiągnięto limit: %s"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "Osiągnięto limit: %s"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This code is invalid"
+msgid "This date is over"
+msgstr "Data z przeszłości"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Musi być większa niż data początkowa"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Autoamtyczne odpowiedzi"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Włącz auto-odpowiedzi od tej daty. Format : RRRR-MM-DD GG:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Do"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Włącz auto-odpowiedzi do tej daty Format : RRRR-MM-DD GG:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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 ""
+"Zawartość Twojej odpowiedzi. Możesz używać następujących zmiennych, które "
+"zostaną automatycznie zastąpione odpowiednią wartością: %(name)s, "
+"%(fromdate)s, %(untildate)s"
+
+#: postfix_autoreply/forms.py:121
+msgid "Automatic reply timeout"
+msgstr "Automatyczny limit czasu odpowiedzi"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Limit w sek. pomiędzie dwiema auto-odpowiedziami dla tego samego odbiorcy"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Domyślny temat"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Jestem niedostępny"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Domyślny temat używany dla automatycznych autoodpowiedzi"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Domyślna zawartość"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Aktualnie jestem niedostępny. Odpowiem po powrocie.\n"
+"\n"
+"Pozdrawiam,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Domyślna zawartość dla automatycznych auto-odpowiedzi. Macro '%(name)s' "
+"zostanie zastąpione przez pełną nazwę użytkownika."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Wadomość auto-odpowiedź"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Automatyczna odpowidź"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "temat"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "Temat, który się pojawi w wysłanych wiadomościach"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "zawartość"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "Zawartość, która pojawi się w wysłanych wiadomościach"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Włącz/Wyłącz auto-odpowiedzi"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr "Zdefiniuj wiadmość wysyłaną kiedy jesteś niedostępny"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Auto reply message updated successfully."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
#, fuzzy
#| msgid "Relay settings"
msgid "Transport settings"
msgstr "Ustawienia przekazywania"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr "adres hosta docelowego"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "docelowy port hosta"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "sprawdź odbiorców"
@@ -3617,16 +4090,24 @@ msgstr "Zapomniane hasło?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "Twoje hasło zostało zapisane. Teraz możesz się zalogować."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"Twoje hasło zostało zapisane. Teraz możesz się zalogować."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Zmień hasło"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Link resetowania hasła jest niepoprawny, być może został już użyty. Wykonaj nowy reset hasła. "
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Link resetowania hasła jest niepoprawny, być może został już użyty. Wykonaj "
+"nowy reset hasła. "
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3637,19 +4118,35 @@ msgid "Resend code"
msgstr "Ponowne wysłanie kodu"
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "
Wysłaliśmy do Ciebie instrukcje n/t ustawienia hasła, na adres który podałeś. Wkrótce powinieneś je odebrać.
Jeżeli nie otrzymałeś wiadomości, upewnij się że wprowadziłeś właściwy adres email, oraz sprawdź folder spamu.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"
Wysłaliśmy do Ciebie instrukcje n/t ustawienia hasła, na adres który "
+"podałeś. Wkrótce powinieneś je odebrać.
Jeżeli nie otrzymałeś "
+"wiadomości, upewnij się że wprowadziłeś właściwy adres email, oraz sprawdź "
+"folder spamu.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Aby rozpocząć proces nadania nowego hasła dla konta %(username)s kliknij link poniżej:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Aby rozpocząć proces nadania nowego hasła dla konta %(username)s kliknij "
+"link poniżej:"
#: 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 "Jeżeli kliknięcie w powyższy link nie działa, proszę skopiować i wkleić adres w nowym oknie przeglądarki."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Jeżeli kliknięcie w powyższy link nie działa, proszę skopiować i wkleić "
+"adres w nowym oknie przeglądarki."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3668,22 +4165,21 @@ msgstr "Resetowanie hasła Modoboa"
msgid "Invalid value"
msgstr "Zła wartość"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr "wzorzec"
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr "usługa"
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr "następny krok"
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "Osiągnięto limit: %s"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Alias z taką nazwą już istnieje"
#~ msgid "Generate PDF documents containing users' credentials"
#~ msgstr "Generuj dokumenty PDF zawierające dane uwierzytelniające użytkowników"
diff --git a/modoboa/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
index 21d0e0af3..bbb005884 100644
--- a/modoboa/locale/pt_BR/LC_MESSAGES/django.po
+++ b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/language/pt_BR/)\n"
@@ -31,516 +31,623 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
#, fuzzy
-#| msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem cota."
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
+"cota."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem cota."
+msgstr ""
+"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
+"cota."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Não pode ser maior do que a cota de domínio"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permissão negada."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Este campo é obrigatório"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Lista dos domínios administrados (somente revendedores e administradores de domínio)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista dos domínios administrados (somente revendedores e administradores de "
+"domínio)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Não permitido para este perfil."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Deve ser igual ao endereço completo da conta"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Este campo é obrigatório."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Domínio local {} não existe"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "O usuário '%s' já existe"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "O usuário '%s' já existe"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Deve ser um inteiro positivo"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Diretório não encontrado."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Diretório não encontrado."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl não encontrado, por favor, verifique se ele está instalado."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Defina pelo menos uma rede ou endereço autorizado"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Um caixa de mensagens é obrigatória"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Desconhecido"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Você não tem acesso a esse domínio"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Você não pode deletar seu próprio domínio"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domínios"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "MXs válidos"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "Uma lista de IP ou endereços de rede devem ser compatíveis com todas as entradas MX. Um a será enviado caso alguma entrada não respeitar isso."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr ""
+"Uma lista de IP ou endereços de rede devem ser compatíveis com todas as "
+"entradas MX. Um a será enviado caso alguma entrada não respeitar isso."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Novos domínios devem usar MX (s) autorizados"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Impedir a criação de um novo domínio se o registro MX não usar um dos endereços definidos."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Impedir a criação de um novo domínio se o registro MX não usar um dos "
+"endereços definidos."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable DNS checks"
+msgid "Enable IPV6 checks"
+msgstr "Habilitar verificação DNS"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Habilitar verificação DNS"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Habilitar checagens DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Checar cada domínio em relação aos principais provedores DNSBL."
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Diretório de armazenamento de chaves DKIM"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Caminho absoluto do diretório onde as chaves privadas DKIM serão armazenadas. Certifique-se de que este diretório pertença ao usuário root e não seja legível pelo mundo externo."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Caminho absoluto do diretório onde as chaves privadas DKIM serão "
+"armazenadas. Certifique-se de que este diretório pertença ao usuário root e "
+"não seja legível pelo mundo externo."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Comprimento padrão da chave DKIM"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Comprimento padrão em bits para chaves DKIM recém-geradas."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Cota padrão do domínio"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Cota padrão (em MB) aplicada para novos domínios sem nenhum valor especificado. Um valor de 0 indica que não existe cota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Cota padrão (em MB) aplicada para novos domínios sem nenhum valor "
+"especificado. Um valor de 0 indica que não existe cota."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Cota padrão do domínio"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Caixas de correios"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Tratar caixas de mensagens no sistema de arquivos."
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Renomeia ou remove caixas de mensagens do sistema de arquivos quando elas são renomeadas ou removidas dentro do Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renomeia ou remove caixas de mensagens do sistema de arquivos quando elas "
+"são renomeadas ou removidas dentro do Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Cota padrão da caixa de correio"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Cota padrão para caixas de correio (em MB) aplicadas a domínios recém criados sem nenhum valor especificado. Um valor de 0 significa sem cota."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Cota padrão para caixas de correio (em MB) aplicadas a domínios recém "
+"criados sem nenhum valor especificado. Um valor de 0 significa sem cota."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default mailbox quota"
msgid "Default mailbox sending limit"
msgstr "Cota padrão da caixa de correio"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Remoção automática da conta"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Quando uma caixa de correio é removida, também remove a conta associada"
+msgstr ""
+"Quando uma caixa de correio é removida, também remove a conta associada"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Criação automática de domínio/caixa de correio"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Criar um domínio e uma caixa de correio quando uma conta é automaticamente criada."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"Criar um domínio e uma caixa de correio quando uma conta é automaticamente "
+"criada."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Criar um alias quando uma caixa de correio é renomeada"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Crie um alias usando o endereço antigo quando uma caixa de correio for renomeada."
+msgstr ""
+"Crie um alias usando o endereço antigo quando uma caixa de correio for "
+"renomeada."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Cota padrão para caixas de correio (em MB) aplicadas a domínios recém criados sem nenhum valor especificado. Um valor de 0 significa sem cota."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Cota padrão para caixas de correio (em MB) aplicadas a domínios recém "
+"criados sem nenhum valor especificado. Um valor de 0 significa sem cota."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Administração"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domínio"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Domínio de relay"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Fechar"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nome de usuário"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "O nome de usuário. Deve ser um endereço de e-mail válido para usuários simples ou administradores com uma caixa de mensagens."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"O nome de usuário. Deve ser um endereço de e-mail válido para usuários "
+"simples ou administradores com uma caixa de mensagens."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Função"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Escolher"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Qual nível de permissão terá esse usuário"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Senha aleatória"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Gerar uma senha aleatória. Se você estiver atualizando esta conta e marcar essa opção, uma nova senha será gerada."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Gerar uma senha aleatória. Se você estiver atualizando esta conta e marcar "
+"essa opção, uma nova senha será gerada."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Senha"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Confirmação"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Para verificação, digite a mesma senha que a anterior."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Ativado"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Apenas super administradores estão liberados para este modo"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Os dois campos de senha não coincidiram."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Você não pode desabilitar seu própria conta"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Criar um alias usando o endereço antigo"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Cota"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
#, fuzzy
-#| msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Cota em MB para esta caixa de mensagens. Defina um valor customizado ou use o padrão do domínio. Deixe em branco para definir um valor ilimitado (não permitido para administradores de domínios)."
+#| msgid ""
+#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
+#| "one. Leave empty to define an unlimited value (not allowed for domain "
+#| "administrators)."
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Cota em MB para esta caixa de mensagens. Defina um valor customizado ou use "
+"o padrão do domínio. Deixe em branco para definir um valor ilimitado (não "
+"permitido para administradores de domínios)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(es)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(es) desta caixa de e-mail. Indique apenas um endereço por entrada, pressione ENTER para adicionar uma nova entrada. Para criar um catchall alias, apenas insira o nome do domínio (@domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(es) desta caixa de e-mail. Indique apenas um endereço por entrada, "
+"pressione ENTER para adicionar uma nova entrada. Para criar um catchall "
+"alias, apenas insira o nome do domínio (@domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Endereços do remetente"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Endereço(s) do remetente adicional(is) para esta conta. O usuário poderá enviar e-mails usando este(s) endereço(s), mesmo que ele(s) não exista(m) localmente. Indique um endereço por entrada. Pressione ENTER para adicionar uma nova entrada."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Endereço(s) do remetente adicional(is) para esta conta. O usuário poderá "
+"enviar e-mails usando este(s) endereço(s), mesmo que ele(s) não exista(m) "
+"localmente. Indique um endereço por entrada. Pressione ENTER para adicionar "
+"uma nova entrada."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Domínio não existe"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Domínio local não existe"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domínio(s)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domínio(s) que o usuário administra"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Geral"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Perfil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Correio"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Permissões"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Conta atualizada"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nova conta"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Conta criada"
@@ -553,71 +660,88 @@ msgid "Email address"
msgstr "Endereço de e-mail"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "O endereço alias. Para criar um alias de captura, basta digitar o nome de domínio (@domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"O endereço alias. Para criar um alias de captura, basta digitar o nome de "
+"domínio (@domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatários"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Endereços que este alias vai apontar. Indique apenas um endereço por entrada, pressione ENTER para adicionar uma nova entrada."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Endereços que este alias vai apontar. Indique apenas um endereço por "
+"entrada, pressione ENTER para adicionar uma nova entrada."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Nenhum destinatário definido"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(es) para esse domínio. Indique apenas um nome por entrada, pressione ENTER para adicionar uma nova entrada."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias(es) para esse domínio. Indique apenas um nome por entrada, pressione "
+"ENTER para adicionar uma nova entrada."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
+#: admin/forms/domain.py:57
#, fuzzy
-#| msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem cota."
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
+"cota."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "alias de domínio"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Já existe um %s com este nome"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Você não pode definir cota ilimitada."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domínio"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Criar automaticamente um administrador para este domínio"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -626,51 +750,55 @@ msgstr "Criar automaticamente um administrador para este domínio"
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "O nome de administrador. Não inclua aqui o nome de domínio. Ele será automaticamente adicionado."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"O nome de administrador. Não inclua aqui o nome de domínio. Ele será "
+"automaticamente adicionado."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr ""
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr ""
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Criar alias"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Criar automaticamente aliases padrão para este domínio"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domínio alterado"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Opções"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Novo domínio"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domínio criado"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Separador"
@@ -678,23 +806,23 @@ msgstr "Separador"
msgid "Recipient(s)"
msgstr "Destinatário(s)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indique um ou mais destinatários separados por uma ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Manter cópias locais"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Encaminhar mensagens e armazenar cópias em sua caixa de correio local"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Selecione um arquivo"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Continuar em caso de erro"
@@ -702,104 +830,105 @@ msgstr "Continuar em caso de erro"
msgid "Don't treat duplicated objects as error"
msgstr "Não tratar como erro objetos duplicados"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Criptografar senhas"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Marcar essa opção se as senhas contidas no seu arquivo estão criptografadas"
+msgstr ""
+"Marcar essa opção se as senhas contidas no seu arquivo estão criptografadas"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Falha ao importar a conta (%s): domínio não existe"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Caixa de e-mail {} já existente"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Falha na importação de conta (%s): valor de cota errado"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identidades"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Encaminhar"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "Um caixa de mensagens é obrigatória"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Você não tem permissão para importar domínios"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Você não tem permissão para importar aliases de domínio."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No DNS record found for %s"
msgstr "Nenhum registro MX foi encontrado para este domínio."
-#: admin/lib.py:202
+#: admin/lib.py:204
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No %(type)s record for %(name)s"
msgstr "Nenhum registro MX foi encontrado para este domínio."
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '{}'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Valor de cota inválida para o domínio '{}'"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "O objeto já existe: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objetos importados com sucesso"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -808,27 +937,27 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain {} has no MX record"
msgid "Domain has no MX record"
msgstr "O domínio {} não possui registro MX"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "O domínio {} não possui registro MX"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid MX record: {}"
msgstr "Registro MX para {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "O registro MX para o domínio {0} é inválido: {1}"
@@ -837,160 +966,157 @@ msgstr "O registro MX para o domínio {0} é inválido: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] Problema(s) de MX para o domínio {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Domínio não encontrado."
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Um alias para esse nome já existe"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "endereço"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "O endereço alias."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "ativado"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Verificar para ativar o alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Descrição"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Expira em"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Endereço inválido"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Destinatário local {}@{} não encontrado"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Linha inválida: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "nome"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Nome do domínio"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Marque para ativar esse domínio"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Habilitar verificação DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Marque para habilitar verificações DNS para este domínio"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linha inválida"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No MX record found for this domain."
msgid "{}: no authorized MX record found for domain"
msgstr "Nenhum registro MX foi encontrado para este domínio."
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Valor de cota inválida para o domínio '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Valor padrão de cota inválido para caixas de correio do domínio '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "Valor padrão de cota para caixas de correio não pode ser maior que a cota do domínio"
+msgstr ""
+"Valor padrão de cota para caixas de correio não pode ser maior que a cota do"
+" domínio"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Nome de alias"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "alvo"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Esse alias aponta para o domínio"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Domínio desconhecido %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Endereço da caixa de correio (sem a parte @meu.dominio)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Falha ao recuperar a localização da caixa de mensagens (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Uma cota é requerida"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -1000,8 +1126,9 @@ msgstr "Cota do domínio excedida"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Fechar"
@@ -1050,9 +1177,9 @@ msgstr "Quantidade"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Alias de domínios"
@@ -1087,7 +1214,7 @@ msgstr "Criado"
msgid "Last login"
msgstr "Último login"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "E-mail secundário"
@@ -1096,7 +1223,7 @@ msgstr "E-mail secundário"
msgid "Not defined"
msgstr "Não definido"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Número de telefone"
@@ -1174,7 +1301,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Data"
@@ -1200,9 +1327,9 @@ msgstr "Data de criação"
msgid "Last modification date"
msgstr "Data da última modificação"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Alias de caixas de correio"
@@ -1261,11 +1388,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Não"
@@ -1273,7 +1401,7 @@ msgstr "Não"
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Sim"
@@ -1286,7 +1414,7 @@ msgid "Administrators"
msgstr "Administradores"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Remover essa persmissão"
@@ -1323,13 +1451,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "De"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Para"
@@ -1360,9 +1488,10 @@ msgstr "desabilitado"
msgid "Automatically forward emails to another address"
msgstr "Encaminhar e-mails automaticamente para outro endereço"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Atualizar"
@@ -1379,12 +1508,38 @@ msgid "Fullname/Recipient"
msgstr "Nome completo/Destinatário"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
O primeiro elemento de"
+" cada linha é obrigatório e deve ser igual a um dos valores anteriores.
"
+"
Você pode usar um carácter diferente como separador.
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1412,7 +1567,8 @@ msgstr "Atualizado"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Este IP não corresponde a nenhum dos MXs válidos definidos nos parâmetros"
+msgstr ""
+"Este IP não corresponde a nenhum dos MXs válidos definidos nos parâmetros"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1420,108 +1576,125 @@ msgstr "Nenhum registro MX foi encontrado para este domínio."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "O Modoboa detectou que o domínio %(domain)s está listado pelos seguintes provedores DNSBL:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"O Modoboa detectou que o domínio %(domain)s está listado pelos seguintes "
+"provedores DNSBL:"
#: 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 "A reputação do domínio será afetada e há uma chance que os e-mails vindos dele sejam considerados spam. Você deve contatar aqueles provedores e pedir a eles a retirada do(s) endereço(s) IP(s) detectado(s) da lista."
+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 ""
+"A reputação do domínio será afetada e há uma chance que os e-mails vindos "
+"dele sejam considerados spam. Você deve contatar aqueles provedores e pedir "
+"a eles a retirada do(s) endereço(s) IP(s) detectado(s) da lista."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
-msgstr "O Modoboa detectou que o domínio %(domain)s não possui registro MX válido."
+msgstr ""
+"O Modoboa detectou que o domínio %(domain)s não possui registro MX válido."
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Busca"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "Ativado"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "Ativada"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Listardomínios"
-#: 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 "Listar quotas"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "Importar"
-#: 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 "Exportar"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Listar identidades"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Ver as identidades de domínios"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "alias de domínio"
-#: 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 "Editar {}"
-#: 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 "Remover %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, fuzzy, python-format
+#| msgid "No MX record found for this domain."
+msgid "No AAAA record for %s"
+msgstr "Nenhum registro MX foi encontrado para este domínio."
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Um alias para esse nome já existe"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Criar"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Novo alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias criado"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias modificado"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Aliases apagados"
@@ -1531,36 +1704,36 @@ msgstr[1] "Aliases apagados"
msgid "MX records of {}"
msgstr "Registro MX para {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "Sumário DNSBL para {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domínio deletado"
msgstr[1] "Domínios deletados"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Exportar identidades"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Exportar domínios"
-#: 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 "Solicitação inválida"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Conta deletada"
msgstr[1] "Contas deletadas"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importar domínios"
@@ -1568,87 +1741,74 @@ msgstr "Importar domínios"
msgid "Import identities"
msgstr "Importar identidades"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Encaminhamento atualizado"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "MX records of {}"
msgid "Invalid PIN code"
msgstr "Registro MX para {}"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Local"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Perfil do usuário"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Sintaxe inválida"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Número de ciclos inválido"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr ""
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Senha antiga"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr ""
+
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Local"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Perfil do usuário"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Sintaxe inválida"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Número de ciclos inválido"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr ""
+
+#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Usuário '%s' autenticado com sucesso"
-#: 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 ""
@@ -1658,452 +1818,502 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Autenticação"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Tipo de autenticação"
-#: 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 "O backend usado para autenticação"
-#: 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 "Esquema padrão de senha"
-#: 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 "Esquema usado para criptografar as senhas das caixas de correio"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Ciclos"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Número de ciclos a ser usado (utilizado apenas por sha256crypt e sha512crypt). Deve estar entre 1000 e 999999999, inclusive."
+#: 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 ""
+"Número de ciclos a ser usado (utilizado apenas por sha256crypt e "
+"sha512crypt). Deve estar entre 1000 e 999999999, inclusive."
-#: 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 ""
-#: 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 "Atualização da senha do usuário no login para usar o esquema de senha padrão"
+msgstr ""
+"Atualização da senha do usuário no login para usar o esquema de senha padrão"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Senha padrão"
-#: 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 "Senha padrão para contas criadas automaticamente."
-#: 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 "Tamanho de senha aleatório"
-#: 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 "Tamanho das senhas geradas aleatoriamente."
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Configurações do LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Endereço do servidor"
-#: 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 "O endereço IP do nome DNS do servidor LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Porta do servidor"
-#: 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 "O número da porta TCP usada pelo servidor LDAP"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 "Usar conexão segura"
-#: 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 "Usar uma conexão SSL/STARTTLS para acessar o servidor LDAP"
-#: 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 "Informe se o servidor LDAP é um Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Grupos de administradores"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Membros dos grupos do LDAP Posix serão criados como administradores de domínio. Use o caractere ';' para separar grupos."
+#: 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 ""
+"Membros dos grupos do LDAP Posix serão criados como administradores de "
+"domínio. Use o caractere ';' para separar grupos."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Tipo de grupo"
-#: 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 "O tipo de grupo LDAP para ser usado em seu diretório."
-#: 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 "Base de pesquisa de grupos"
-#: 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 "O nome distinto da base de pesquisa usada para encontrar grupos"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Atributo de senha"
-#: 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 "O atributo usado para armazenar senhas de usuários"
-#: 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 ""
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Método de autenticação"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Pesquisar e vincular"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Vinculação direta"
-#: 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 "Escolha o método de autenticação para usar"
-#: 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 "Vincular DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para vincular anonimamente"
+#: 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 ""
+"O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para"
+" vincular anonimamente"
-#: 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 "Vincular senha"
-#: 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 "A senha usada quando vincular ao servidor LDAP (com 'Vincular DN')"
-#: 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 "Base de pesquisa de usuários"
-#: 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 "O nome distinto da base de pesquisa usada para encontrar usuários"
-#: 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 "Filtro de pesquisa"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Uma string opcional de filtro (por ex: '(objectClass=person)'). Para ser válida, deve estar entre parênteses."
+#: 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 ""
+"Uma string opcional de filtro (por ex: '(objectClass=person)'). Para ser "
+"válida, deve estar entre parênteses."
-#: 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 "Usar template 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 "A template usada para construir um DN de usuário. Deve conter um placeholder (por ex: %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"A template usada para construir um DN de usuário. Deve conter um placeholder"
+" (por ex: %(user)s)"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 "Painel"
-#: 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 "Feed RSS personalizado"
-#: 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 "Mostrar um feed RSS personalizado para revendedores e administradores de domínio"
+msgstr ""
+"Mostrar um feed RSS personalizado para revendedores e administradores de "
+"domínio"
-#: 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 "Ocultar widget de apresentação"
-#: 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 "Ocultar recursos widget para revendedores e administradores de domínio"
+msgstr ""
+"Ocultar recursos widget para revendedores e administradores de domínio"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Notificações"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Endereço do remente"
-#: 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 "Endereço de e-mail usado para enviar notificações."
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "API Pública"
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr "Habilitar comunicação"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Habilitar comunicação com API pública do Modoboa"
-#: 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 "Verificar novas versões"
-#: 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 "Verificar automaticamente se uma nova versão está disponível"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Enviar estatísticas"
-#: 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 "Enviar estatísticas à API pública do Modoboa (contadores e extensões utilizadas)"
+msgstr ""
+"Enviar estatísticas à API pública do Modoboa (contadores e extensões "
+"utilizadas)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Diversos"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Limite de conta inativa"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Limite de conta inativa"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Uma conta com uma data de login maior que este limite (em dias) será considerado como inativo"
+#: 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 ""
+"Uma conta com uma data de login maior que este limite (em dias) será "
+"considerado como inativo"
-#: 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 "Intervalo de verificação de verificações de topo"
-#: 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 "Intervalo entre checagem de notificações (em segundos)"
-#: 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 "Idade máxima do registro de log"
-#: 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 "A idade máxima em dias de um registro de log"
-#: 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 "Itens por página"
-#: 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 "Número de itens exibidos por página"
-#: 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 "Redirecionamento de topo padrão"
-#: 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 "O redirecionamento padrão usado quando nenhuma aplicação é especificada"
+msgstr ""
+"O redirecionamento padrão usado quando nenhuma aplicação é especificada"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "Você tem USE_TZ definido como falso, isso pode resultar em problemas durante as transições entre horário de verão / inverno (ou seja, o mesmo local de tempo que ocorre duas vezes devido a alteração do relógio)."
+#: 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 ""
+"Você tem USE_TZ definido como falso, isso pode resultar em problemas durante"
+" as transições entre horário de verão / inverno (ou seja, o mesmo local de "
+"tempo que ocorre duas vezes devido a alteração do relógio)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Definir `USE_TZ = TRUE em settings.py"
@@ -2135,31 +2345,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Senha antiga"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nova senha"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Senha antiga não confere"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Senhas não conferem"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Ativar acesso à API"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2176,20 +2386,20 @@ msgstr "modificado"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s pelo(s) usuário(s) %(user)s"
-#: core/handlers.py:63
+#: core/handlers.py:64
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr ""
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "removido"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "usuário {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "comando de gerenciamento"
@@ -2197,137 +2407,139 @@ msgstr "comando de gerenciamento"
msgid "You can't delete your own account"
msgstr "Você não pode remover sua própria conta"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Uma ou mais atualizações disponíveis"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Permitir acesso a caixa de correio"
-#: core/models.py:54
-msgid "Allow this administrator to access user mailboxes"
-msgstr "Permitir que este administrador acesse as caixas de correio de usuários"
-
#: core/models.py:57
+msgid "Allow this administrator to access user mailboxes"
+msgstr ""
+"Permitir que este administrador acesse as caixas de correio de usuários"
+
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "senha"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "idioma"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Linguagem padrão para visualizar mensagens"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
-msgstr "Endereço de e-mail alternativo, use-o para recuperar a conta caso precise"
+msgstr ""
+"Endereço de e-mail alternativo, use-o para recuperar a conta caso precise"
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Falha ao atualizar senha: módulo LDAP não instalado"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "conta"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Desconhecido"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Você não pode importar uma conta com um papel maior que o seu"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "O usuário simples '%s' deve ter um endereço de e-mail válido"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "os campos nome de usuário e e-mail não diferem de '%s'"
-#: 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] "Senha deve conter ao menos {} dígitos."
msgstr[1] "Senha deve conter ao menos {} dígitos."
-#: 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] "Senha deve conter ao menos {} letras minúsculas."
msgstr[1] "Senha deve conter ao menos {} letras minúsculas."
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Applications"
msgid "Appication secret"
@@ -2354,8 +2566,12 @@ msgid "Latest news"
msgstr "Últimas notícias"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Visite o weblog oficial para mais informação."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Visite o weblog "
+"oficial para mais informação."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2367,8 +2583,12 @@ msgstr "Controle seu acesso a API Modoboa"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Uma documentação da API está disponível aqui."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Uma documentação da API está disponível aqui."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2379,7 +2599,7 @@ msgstr "Token de acesso a API"
msgid "Hello %(user)s."
msgstr "Olá %(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 "Informação"
@@ -2393,7 +2613,8 @@ msgstr "Uma ou mais atualizações disponíveis"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Checar a seguinte lista a procura de componente(s) que pode ser atualizado"
+msgstr ""
+"Checar a seguinte lista a procura de componente(s) que pode ser atualizado"
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2411,7 +2632,7 @@ msgstr "Última versão"
msgid "Active users"
msgstr "Usuários ativos"
-#: 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"
@@ -2437,7 +2658,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: 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 "Parâmetros"
@@ -2454,12 +2675,12 @@ msgstr "Salvar"
msgid "Modoboa settings"
msgstr "Configurações do Modoboa"
-#: 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 "Configurações"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Preferências"
@@ -2479,7 +2700,7 @@ msgstr "Atualizar sua informação pessoal"
msgid "Click here to update your password"
msgstr ""
-#: 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
#, fuzzy
#| msgid "Security options"
msgid "Security"
@@ -2492,7 +2713,9 @@ msgid "Two-Factor authentication"
msgstr "O backend usado para autenticação"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2504,18 +2727,27 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgctxt "checks"
@@ -2523,12 +2755,18 @@ msgstr ""
msgid "Disable 2FA"
msgstr "Desabilitado"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2547,69 +2785,75 @@ msgstr "Diretório não encontrado."
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Criptografar senhas"
+
#: 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 "Sair"
-#: 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 "Core do Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parêmetros salvos"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "Seu usuário e senha não conferem. Por favor tente novamente."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Usuário '{}' saiu com sucesso"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Perfil atualizado"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Preferências salvas"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Acesso atualizado"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
#, fuzzy
#| msgid "DMARC tools"
msgid "DMARC"
msgstr "Ferramentas DMARC"
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr "Mostrar relatório DMARC para {}"
-#: 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 ""
@@ -2645,11 +2889,11 @@ msgstr "Erro temporário"
msgid "Permanent error"
msgstr "Erro permanente"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Política"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Falha leve"
@@ -2725,95 +2969,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr "Fontes desconhecidas / Ameaças"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2842,7 +3086,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2858,7 +3104,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2866,151 +3112,159 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Acesso atualizado"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "Migração IMAP"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "Migração IMAP"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP"
msgstr "Configurações 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 "Tarefas de sincronismo concorrentes"
-#: 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 "O número máximo de tarefas de sincronismo concorrentes"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "Configurações OfflineIMAP"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "Configurações OfflineIMAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "Configurações OfflineIMAP"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
msgid "IMAP Migration"
msgstr "Migração IMAP"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Falha ao conectar no servidor IMAP: %s"
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "Migração IMAP"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Habilitar comunicação com API pública do Modoboa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "A conexão com o banco de dados %s não está configurada"
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Permissão negada: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Permissão negada"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Digite um nome de domínio válido"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Digite um endereço de e-mail válido"
@@ -3020,133 +3274,174 @@ msgstr "Digite um endereço de e-mail válido"
msgid "Submit"
msgstr "Enviar"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Falha ao atualizar a senha: {}"
-#: 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 "Assunto"
-#: 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 "Limite padrão por administrador"
-#: 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 "Habilitar limites por administrador"
-#: 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 "Habilitar ou desabilitar limites por administrador"
-#: 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 "Administradores de domínio"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de administradores de domínio permitido para um novo administrador. (0 a negar qualquer criação, -1 para permitir criações ilimitadas)"
+#: 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 ""
+"Número máximo de administradores de domínio permitido para um novo "
+"administrador. (0 a negar qualquer criação, -1 para permitir criações "
+"ilimitadas)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de domínios permitidos para um novo administrador. (0 a negar qualquer criação, -1 para permitir criações ilimitadas)"
+#: 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 ""
+"Número máximo de domínios permitidos para um novo administrador. (0 a negar "
+"qualquer criação, -1 para permitir criações ilimitadas)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "O número máximo de alias de domínio permitidos para um novo administrador. (0 a negar qualquer criação, -1 para permitir criações ilimitadas)"
+#: 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 ""
+"O número máximo de alias de domínio permitidos para um novo administrador. "
+"(0 a negar qualquer criação, -1 para permitir criações ilimitadas)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de caixas de correio permitido para um novo administrador. (0 a negar qualquer criação, -1 para permitir criações ilimitadas)"
+#: 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 ""
+"Número máximo de caixas de correio permitido para um novo administrador. (0 "
+"a negar qualquer criação, -1 para permitir criações ilimitadas)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de alias permitidos para um novo administrador. (0 a negar qualquer criação, -1 para permitir criações ilimitadas)"
+#: 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 ""
+"Número máximo de alias permitidos para um novo administrador. (0 a negar "
+"qualquer criação, -1 para permitir criações ilimitadas)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 "Limite padrão por domínio"
-#: 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 "Habilitar limites por domínio"
-#: 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 "Habilitar ou desabilitar limites por domínio"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de administradores permitido para um novo domínio (0 para negar qualquer adição, -1 para permitir adições ilimitadas)."
+#: 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 ""
+"Número máximo de administradores permitido para um novo domínio (0 para "
+"negar qualquer adição, -1 para permitir adições ilimitadas)."
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de apelidos (aliases) permitido para um novo domínio (0 para negar qualquer adição, -1 para permitir adições ilimitadas)."
+#: 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 ""
+"Número máximo de apelidos (aliases) permitido para um novo domínio (0 para "
+"negar qualquer adição, -1 para permitir adições ilimitadas)."
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de contas permitido para um novo domínio (0 para negar qualquer adição, -1 para permitir adições ilimitadas)."
+#: 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 ""
+"Número máximo de contas permitido para um novo domínio (0 para negar "
+"qualquer adição, -1 para permitir adições ilimitadas)."
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo de apelidos (aliases) permitido para um novo domínio (0 para negar qualquer adição, -1 para permitir adições ilimitadas)."
+#: 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 ""
+"Número máximo de apelidos (aliases) permitido para um novo domínio (0 para "
+"negar qualquer adição, -1 para permitir adições ilimitadas)."
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Limites"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Número máximo de domínio que esse usuário pode criar"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Número máximo de aliases de domínio que esse usuário pode criar"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Número máximo de caixas de correios que esse usuário pode criar"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Número máximo de aliases de caixas de correio que esse usuário pode criar"
+msgstr ""
+"Número máximo de aliases de caixas de correio que esse usuário pode criar"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Número máximo de administradores de domínios que esse usuário pode criar"
+msgstr ""
+"Número máximo de administradores de domínios que esse usuário pode criar"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Quantidade máxima permitida de apelidos (aliases) para este domínio"
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Número "
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Quantidade máxima de apelidos (aliases) permitido para este domínio"
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Quantidade máxima de administradores permitido para este domínio"
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Limite inválido"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Recursos"
@@ -3159,11 +3454,11 @@ msgstr "%s: limite alcançado"
msgid "Not enough resources"
msgstr "Sem recursos suficientes"
-#: 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 "Você não tem permissão para definir valores ilimitados"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "ilimitado"
@@ -3172,99 +3467,99 @@ msgstr "ilimitado"
msgid "Resources usage"
msgstr "Uso de recursos"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Caminho para o arquivo de log"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Caminho para o arquivo de log usado para coletar estatísticas"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Diretório para armazenar arquivos RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Caminho para o diretório onde os arquivos RRD são armazenados"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
#, fuzzy
#| msgid "rejected messages"
msgid "Show greylisted messages"
msgstr "mensagens rejeitadas"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Estatísticas"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Tráfego médio (msgs/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "mensagens recebidas"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "mensagens devolvidas"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "mensagens rejeitadas"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "mensagens rejeitadas"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Tamanho médio de tráfego (bytes/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "tamanho recebido"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "tamanho enviado"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Tráfego de e-mail"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3292,183 +3587,195 @@ msgstr "Aplicar"
msgid "No statistics available"
msgstr "Não há estatísticas disponíveis"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Dia"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Semana"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Mês"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Ano"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Customizado"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Conjunto gráfico desconhecido"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Conjunto gráfico desconhecido"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Período customizado inválido"
-#: 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 "Informações da conta pessoal"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Diretório não encontrado."
-#: 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 "Nenhum documento disponível para esse usuário"
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "PDF credentials"
msgid "Enable PDF credentials"
msgstr "Credenciais PDF"
-#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
+#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
#, fuzzy
#| msgid "Generate documents only at account creation"
msgid "Enabled PDF credentials document generation on account creation."
msgstr "Apenas gerar documentos na criação da conta"
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Armazenamento de documentos"
-#: 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 "Diretório para salvar documentos"
-#: 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 "Caminho para o diretório onde os arquivos PDF serão salvos"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Opções de segurança"
-#: 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 "Deletar documentos após o primeiro download"
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
-msgstr "Excluir automaticamente um documento logo após a sua primeira transferência a partir desta interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
+msgstr ""
+"Excluir automaticamente um documento logo após a sua primeira transferência "
+"a partir desta interface"
-#: 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 "Apenas gerar documentos na criação da conta"
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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 "Gerar um novo documento apenas quando uma nova conta é criada. Se definido como não, um novo documento será criado cada vez que uma senha é atualizada."
+#: 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 ""
+"Gerar um novo documento apenas quando uma nova conta é criada. Se definido "
+"como não, um novo documento será criado cada vez que uma senha é atualizada."
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Opções de customização"
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr "Título"
-#: 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 "Título do documento"
-#: 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 do painel web"
-#: 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 do painel web do Modoboa"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Mensagem personalizada"
-#: 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 "Uma mensagem personalizada irá aparecer no fim do documento"
-#: 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 "Incluir configurações de conexão do cliente de email"
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
-msgstr "Incluir informações de conexão SMTP e IMAP necessárias para configurar um cliente de e-mail, um tablet ou um telefone"
+#: 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 ""
+"Incluir informações de conexão SMTP e IMAP necessárias para configurar um "
+"cliente de e-mail, um tablet ou um telefone"
-#: 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 "Endereço do servidor SMTP"
-#: 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 "Endereço do servidor SMTP (hostname ou 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 "Porta do servidor SMTP"
-#: 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 ""
-#: 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 "Conexão segura SMTP"
-#: 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 "Mecanismo de conexão segura"
-#: 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 "Endereço do servidor IMAP"
-#: 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 ""
-#: 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 "Porta do servidor IMAP"
-#: 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 ""
-#: 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 "Conexão segura IMAP"
@@ -3476,17 +3783,17 @@ msgstr "Conexão segura IMAP"
msgid "PDF credentials"
msgstr "Credenciais PDF"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
#, fuzzy
#| msgid "PDF credentials"
msgid "PDF Credentials"
msgstr "Credenciais PDF"
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr "Desenvolvido por Modoboa - Hospedagem de email de forma simples"
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3499,11 +3806,11 @@ msgstr ""
"para conectar ao Modoboa. Verifique o conteúdo e destrua\n"
"este documento assim que possível.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Painel web:"
-#: pdfcredentials/documents.py:91
+#: pdfcredentials/documents.py:116
msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
@@ -3513,31 +3820,38 @@ msgstr ""
"Aqui você poderá ver seus emails a qualquer momento online, crie filtros ou gerencie \n"
"seus contatos.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Por favor mude sua senha!"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Configuração para PC/Tablet/Smartphone:"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr "Use essas configurações para seu computador, tablet ou telefone."
-#: 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 "Recuperar credenciais do usuário como um documento PDF"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
#, fuzzy
#| msgid "PDF credentials"
msgid "Download PDF credentials"
msgstr "Credenciais PDF"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid ""
+#| "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Falha ao criar o diretório que conterá documentos PDF (%s)"
@@ -3546,27 +3860,188 @@ msgstr "Falha ao criar o diretório que conterá documentos PDF (%s)"
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr "Falha ao criar o diretório que conterá documentos PDF (%s)"
-#: 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: limite alcançado"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: limite alcançado"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Esta data já passou"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Deve ser maior que a data de início"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Respostas automáticas"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Ativar auto resposta a partir dessa data. Formato: YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Até"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Ativar auto resposta até essa data. Formato: YYYY-MM-DD HH:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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 ""
+"O conteúdo da sua resposta. Você pode usar as seguintes variáveis, que serão"
+" automaticamente substituídas pelo valor apropriado: %(name)s, %(fromdate)s,"
+" %(untildate)s"
+
+#: postfix_autoreply/forms.py:121
+msgid "Automatic reply timeout"
+msgstr "Tempo de resposta automática"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Timeout em segundos entre duas respostas automáticas para o mesmo "
+"destinatário"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Assunto padrão"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Ausente"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Assunto padrão usado quando uma mensagem de auto-resposta é criada "
+"automaticamente"
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Conteúdo padrão"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Eu estou atualmente fora e responderei assim que retornar.\n"
+"\n"
+"Saudações,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Conteúdo padrão usado quando uma mensagem de auto-resposta é criada "
+"automaticamente. A macro '%(name)s' será trocada pelo nome completo do "
+"usuário."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Mensagem de auto resposta"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Auto resposta"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "assunto"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "O assunto que aparecerá nos e-mails enviados"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "conteúdo"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "O conteúdo que parecerá nos e-mails enviados"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Ativar/Desativar sua resposta automática"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr ""
+"Defina uma mensagem para enviar automaticamente quando você estiver ausente"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Resposta automática atualizada com sucesso."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr "Serviço não suportado"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr "Configurações de transporte"
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr "Transporte"
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
msgid "target host address"
msgstr "Endereço do host alvo"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "Porta do host alvo"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "verificar destinatários"
@@ -3636,7 +4111,9 @@ msgstr "Esqueceu a senha?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3644,7 +4121,9 @@ msgid "Change password"
msgstr "Alterar senha"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3656,18 +4135,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3687,22 +4174,21 @@ msgstr "Redefinição de senha do Modoboa"
msgid "Invalid value"
msgstr "Valor inválido"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr "modelo"
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr "serviço"
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr "próximo salto"
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: limite alcançado"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Um alias para esse nome já existe"
#~ msgid "A set of tools to ease DMARC integration"
#~ msgstr "Um conjunto de ferramentas para fácil integração do DMARC"
@@ -3711,7 +4197,6 @@ msgstr "próximo salto"
#~ msgstr "Gerar documentos em PDF contendo as credenciais dos usuários"
#, fuzzy
-#~| msgid "IMAP migration"
#~ msgid "IMAP migrations"
#~ msgstr "Migração IMAP"
@@ -3744,20 +4229,19 @@ msgstr "próximo salto"
#~ msgstr "Nome do arquivo"
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No {type} record found for MX {mx}"
#~ msgstr "Nenhum registro MX foi encontrado para este domínio."
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No AAAA record found for MX %(domain)s"
#~ msgstr "Nenhum registro MX foi encontrado para este domínio."
#~ msgid "Quota in MB shared between mailboxes. A value of 0 means no quota."
-#~ msgstr "Cota em MB compartilhada entre caixas de correio. Um valor de 0 significa sem cota."
+#~ msgstr ""
+#~ "Cota em MB compartilhada entre caixas de correio. Um valor de 0 significa "
+#~ "sem cota."
#, fuzzy
-#~| msgid "No MX record found for this domain."
#~ msgid "No DNS records found without MX for %(domain)s"
#~ msgstr "Nenhum registro MX foi encontrado para este domínio."
diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
index 0249466d9..232dbcb31 100644
--- a/modoboa/locale/pt_PT/LC_MESSAGES/django.po
+++ b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2014-12-29 12:51+0000\n"
"Last-Translator: Mike C. \n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/modoboa/language/pt_PT/)\n"
@@ -23,526 +23,622 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Quota (em MB) a aplicar a domínios recentemente criados sem valor especificado. Um valor de 0 implica sem quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Quota (em MB) a aplicar a domínios recentemente criados sem valor especificado. Um valor de 0 implica sem quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
msgstr "Permissões"
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Este campo é obrigatório"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
#, fuzzy
#| msgid "A mailbox is required"
msgid "This field is required."
msgstr "É necessária uma caixa de correio"
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "O domínio não existe"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "O utilizador '%s' já existe"
+
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "Não tem acesso a este domínio"
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
msgstr "Não tem acesso a este domínio"
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "O utilizador '%s' já existe"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Tem de ser um inteiro, positivo"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
#, fuzzy
#| msgid "Domain modified"
msgid "Directory not found."
msgstr "Domínio alterado"
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Domain modified"
msgid "Directory non-writable"
msgstr "Domínio alterado"
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "É necessária uma caixa de correio"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown domain %s"
msgid "Unknown status"
msgstr "Domínio desconhecido: %s"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Não tem acesso a este domínio"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Não é possível eliminar o seu próprio domínio"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domínios"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr ""
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr ""
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr ""
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
msgstr ""
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr ""
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+msgid "Enable IPV6 checks"
+msgstr ""
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr ""
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr ""
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr ""
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr ""
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr ""
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr ""
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr ""
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr ""
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
msgstr ""
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Quota pré-definida para o domínio"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Quota (em MB) a aplicar a domínios recentemente criados sem valor especificado. Um valor de 0 implica sem quota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
#| msgid "Default domain quota"
msgid "Default domain sending limit"
msgstr "Quota pré-definida para o domínio"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Caixas de Correio"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Lidar com caixas de correio no sistema de ficheiros"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Renomear ou remover as caixas de correio no sistema de ficheiros quando estas são renomeadas no Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renomear ou remover as caixas de correio no sistema de ficheiros quando "
+"estas são renomeadas no Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox quota"
msgstr "Quota pré-definida para o domínio"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Quota (em MB) a aplicar a domínios recentemente criados sem valor especificado. Um valor de 0 implica sem quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox sending limit"
msgstr "Quota pré-definida para o domínio"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Remoção automática de conta"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Ao remover uma caixa de correio estará também a remover a conta associada"
+msgstr ""
+"Ao remover uma caixa de correio estará também a remover a conta associada"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Criação automatica de domino/caixa de correio"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Criar um dominio e uma caixa de correio quando uma conta é criada automátiamente."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"Criar um dominio e uma caixa de correio quando uma conta é criada "
+"automátiamente."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Quota (em MB) a aplicar a domínios recentemente criados sem valor especificado. Um valor de 0 implica sem quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Administração"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domínio"
-#: admin/constants.py:29
+#: admin/constants.py:24
#, fuzzy
#| msgid "domain"
msgid "Relay domain"
msgstr "domínio"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr ""
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nome de Utilizador"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
msgstr ""
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Papel"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Escolher"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Que nível de permissões terá o utilizador"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
#, fuzzy
#| msgid "Invalid request"
msgid "Random password"
msgstr "Pedido inválido"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Password"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Confirmação"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Repita a password acima, para verificação."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Ativo"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Os dois campos de password não são idênticos."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Não pode desativar a sua própria conta"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
#, fuzzy
-#| msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Quota em MB para esta caixa de correio. Definir uma valor personalizado ou usar o valor predefinido pelo domínio. Deixar em branco para definir uma valor ilimitado (não permitido para administradores do domínio)."
+#| msgid ""
+#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
+#| "one. Leave empty to define an unlimited value (not allowed for domain "
+#| "administrators)."
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Quota em MB para esta caixa de correio. Definir uma valor personalizado ou "
+"usar o valor predefinido pelo domínio. Deixar em branco para definir uma "
+"valor ilimitado (não permitido para administradores do domínio)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(es)"
-#: admin/forms/account.py:256
+#: admin/forms/account.py:269
#, fuzzy
-#| msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. Use the '*' character to create a 'catchall' alias (ex: *@domain.tld)."
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(es) desta caixa de correio. Indique apenas um endereço por entrada, clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias 'catchall' (ex: *@domain.tld)."
+#| msgid ""
+#| "Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+#| "to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+#| "*@domain.tld)."
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(es) desta caixa de correio. Indique apenas um endereço por entrada, "
+"clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias "
+"'catchall' (ex: *@domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Pedido inválido"
-#: admin/forms/account.py:265
+#: admin/forms/account.py:278
#, fuzzy
-#| msgid "Mailbox(es) this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
+#| msgid ""
+#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
+#| "press ENTER to add a new input."
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um "
+"endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "O domínio não existe"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "O domínio não existe"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domínio(s)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domínio(s) administrado pelo utilizador"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Geral"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Perfil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Correio"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Permissões"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Conta actualizada"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nova conta"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Conta criada"
@@ -558,74 +654,96 @@ msgstr "Endereço de e-mail"
#: admin/forms/alias.py:25
#, fuzzy
-#| msgid "The alias address (without the domain part). For a 'catch-all' address, just enter an * character."
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "O endereço do alias (sem a parte do domínio). Para um endereço 'cath-all', digite apenas o caractere *"
+#| msgid ""
+#| "The alias address (without the domain part). For a 'catch-all' address, just"
+#| " enter an * character."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"O endereço do alias (sem a parte do domínio). Para um endereço 'cath-all', "
+"digite apenas o caractere *"
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatários"
-#: admin/forms/alias.py:33
+#: admin/forms/alias.py:34
#, fuzzy
-#| msgid "Mailbox(es) this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
+#| msgid ""
+#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
+#| "press ENTER to add a new input."
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um "
+"endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Sem destinatário definido"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar ENTER para acrescentar uma nova entrada."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar "
+"ENTER para acrescentar uma nova entrada."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
+#: admin/forms/domain.py:57
#, fuzzy
-#| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Quota (em MB) a aplicar a domínios recentemente criados sem valor especificado. Um valor de 0 implica sem quota."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "'Alias' de domínio"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Já existe um(a) %s com este nome. "
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domínio"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Criar automaticamente um administrador para este domínio"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -634,55 +752,59 @@ msgstr "Criar automaticamente um administrador para este domínio"
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "O nome do administrador. Não inclua o nome do domínio já que este será automaticamente anexado."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"O nome do administrador. Não inclua o nome do domínio já que este será "
+"automaticamente anexado."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Generate a random password for the administrator."
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr " Criar aliases"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Criar automaticamente aliases para este domínio"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domínio alterado"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Opções"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Novo domínio"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domínio criado"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Separador"
@@ -690,23 +812,24 @@ msgstr "Separador"
msgid "Recipient(s)"
msgstr "Destinatário(s)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indicar um ou mais destinatários separados por ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Conservar cópias locais"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr "Reencaminhar mensagens e armazenar cópias na sua caixa de correio local"
+msgstr ""
+"Reencaminhar mensagens e armazenar cópias na sua caixa de correio local"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Escolha um ficheiro"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Continua com erro"
@@ -714,106 +837,107 @@ msgstr "Continua com erro"
msgid "Don't treat duplicated objects as error"
msgstr "Não tratar objetos duplicados como erro"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Passwords encriptadas"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Marque esta opção se as senhas contidas no arquivo não são encriptadas"
+msgstr ""
+"Marque esta opção se as senhas contidas no arquivo não são encriptadas"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Importação da conta falhou (%s): domínio não existe"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
msgstr "Caixa de correio %s já existe"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importação da conta falhou (%s): valor para quota inválido"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identidades"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Reencaminhar"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "É necessária uma caixa de correio"
-#: admin/lib.py:138
+#: admin/lib.py:141
#, fuzzy
#| msgid "You can't delete your own domain"
msgid "You are not allowed to import domains"
msgstr "Não é possível eliminar o seu próprio domínio"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '%s'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Valor de quota inválido para o dominio '%s'"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Este objeto já existe: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objetos importados com sucesso"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -822,25 +946,25 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain modified"
msgid "Domain has no MX record"
msgstr "Domínio alterado"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr ""
@@ -849,168 +973,163 @@ msgstr ""
msgid "[modoboa] MX issue(s) for domain {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
msgstr "Domínio alterado"
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Já existe um 'alias' com este nome"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "endereços"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
#, fuzzy
#| msgid "The alias name"
msgid "The alias address."
msgstr "O nome do 'alias'"
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "ativo"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Marcar para ativar este alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Descrição"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr ""
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
#, fuzzy
#| msgid "Invalid request"
msgid "Invalid address"
msgstr "Pedido inválido"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
#, fuzzy
#| msgid "Local recipient %s not found"
msgid "Local recipient {}@{} not found"
msgstr "O destinatário local %s não foi encontrado"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Linha inválida: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "nome"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "O nome do domínio"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Marcar para ativar este domínio"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
#, fuzzy
#| msgid "Check to activate this domain"
msgid "Check to enable DNS checks for this domain"
msgstr "Marcar para ativar este domínio"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linha inválida"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '%s'"
msgid "{}: invalid quota value for domain"
msgstr "Valor de quota inválido para o dominio '%s'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid quota value for domain '%s'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Valor de quota inválido para o dominio '%s'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Invalid quota value for domain '%s'"
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "Valor de quota inválido para o dominio '%s'"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "O nome do 'alias'"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "alvo"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "O domínio para o qual este alias irá apontar"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Domínio desconhecido: %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Endereços das caixas de correio (sem a parte @domain.tld)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Falha ao recuperar a localização da caixa de correio (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "É necessário uma quota"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain created"
msgid "{}: domain quota exceeded"
@@ -1020,8 +1139,9 @@ msgstr "Domínio criado"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Fechar"
@@ -1076,9 +1196,9 @@ msgstr "Quantidade"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Aliases de domínio"
@@ -1121,7 +1241,7 @@ msgstr "Criar"
msgid "Last login"
msgstr "Último login"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr ""
@@ -1132,7 +1252,7 @@ msgstr ""
msgid "Not defined"
msgstr "Sem destinatário definido"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr ""
@@ -1224,7 +1344,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Data"
@@ -1250,9 +1370,9 @@ msgstr "Data de criação"
msgid "Last modification date"
msgstr "Data da última modificação"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Aliases para caixas de correio"
@@ -1310,11 +1430,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Não"
@@ -1322,7 +1443,7 @@ msgstr "Não"
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Sim"
@@ -1337,7 +1458,7 @@ msgid "Administrators"
msgstr "Administradores"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Remover esta permissão"
@@ -1380,13 +1501,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
-msgstr ""
+msgstr "De"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr ""
@@ -1419,9 +1540,10 @@ msgstr "inativo"
msgid "Automatically forward emails to another address"
msgstr "Reenviar automaticamente e-mails para outro endereço"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Actualizar"
@@ -1440,11 +1562,24 @@ msgid "Fullname/Recipient"
msgstr "Nome Completo / Destinatário"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1483,11 +1618,16 @@ msgstr ""
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr ""
#: 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)."
+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 ""
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1499,92 +1639,98 @@ msgstr ""
msgid "Search"
msgstr "Procurar"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "enabled_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "enabled_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Listar domínios"
-#: 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 "Listar as quotas"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 "Importar"
-#: 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 "Exportar"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Listar identidades"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Visualizar as identidades do domínio"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
#, fuzzy
#| msgid "domain alias"
msgid "View domain's alarms"
msgstr "'Alias' de domínio"
-#: 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 ""
-#: 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 "Eliminar %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, fuzzy, python-format
+#| msgid "Domain modified"
+msgid "No AAAA record for %s"
+msgstr "Domínio alterado"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Já existe um 'alias' com este nome"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Criar"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Novo 'alias'"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias criado"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "'Alias' modificado"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
#, fuzzy
#| msgid "Alias created"
msgid "Alias deleted"
@@ -1596,36 +1742,36 @@ msgstr[1] "Alias criado"
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domínio criado"
msgstr[1] "Domínios eliminados"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Exportar identidades"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Exportar domínios"
-#: 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 "Pedido inválido"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Conta eliminada"
msgstr[1] "Contas eliminadas"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importar domínios"
@@ -1633,89 +1779,76 @@ msgstr "Importar domínios"
msgid "Import identities"
msgstr "Importar identidades"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Reencaminhamento atualizado"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid PIN code"
msgstr "Linha inválida"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
+msgstr ""
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#, fuzzy
+#| msgid "Old password"
+msgid "Invalid password"
+msgstr "Password antiga"
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr ""
-#: 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 "Local"
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr "md5crypt (fraco)"
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr "sha256 (fraco)"
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr "md5 (fraco)"
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr "crypt (fraco)"
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr "plain (fraco)"
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
#, fuzzy
#| msgid "Profile"
msgid "User profile"
msgstr "Perfil"
#: 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:165
msgid "Invalid syntax"
msgstr "Sintax inválida"
-#: 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 "Número de linhas inválido"
-#: 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 ""
-#: core/api/v2/serializers.py:274
-#, fuzzy
-#| msgid "Old password"
-msgid "Invalid password"
-msgstr "Password antiga"
-
-#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "O utilizador '%s' fez login com sucesso"
-#: 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 ""
@@ -1725,485 +1858,527 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Autenticação"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Tipo de autenticação"
-#: 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 usado para autenticação"
-#: 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 "Esquema pré-definido para passwords"
-#: 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 "Esquema usado para encriptar as passwords das caixas de correio"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr ""
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+#: 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 ""
-#: core/app_settings.py:67 core/app_settings.py:749
+#: core/app_settings.py:71 core/app_settings.py:752
#, fuzzy
#| msgid "Default password scheme"
msgid "Update password scheme at login"
msgstr "Esquema pré-definido para passwords"
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
#, fuzzy
#| msgid "Default password scheme"
msgid "Default password"
msgstr "Esquema pré-definido para passwords"
-#: 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 ""
-#: core/app_settings.py:82 core/app_settings.py:761
+#: core/app_settings.py:85 core/app_settings.py:772
#, fuzzy
#| msgid "Bind password"
msgid "Random password length"
msgstr "Password para bind"
-#: 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 ""
-#: core/app_settings.py:90 core/app_settings.py:766
+#: core/app_settings.py:92 core/app_settings.py:781
#, fuzzy
#| msgid "Default password scheme"
msgid "Update password service URL"
msgstr "Esquema pré-definido para passwords"
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Definições do serviço de directório"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Endereço do Servidor"
-#: 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 "O endereço IP do servidor de DNS do servidor LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Porta do Servidor"
-#: 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 " A porta TCP usada pelo servidor LDAP"
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: core/app_settings.py:156 core/app_settings.py:819
+#: core/app_settings.py:153 core/app_settings.py:866
#, fuzzy
#| msgid "Server address"
msgid "Secondary server address"
msgstr "Endereço do Servidor"
-#: core/app_settings.py:159 core/app_settings.py:822
+#: core/app_settings.py:156 core/app_settings.py:869
#, fuzzy
#| msgid "The IP address or the DNS name of the LDAP server"
msgid "The IP address or the DNS name of the seondary LDAP server"
msgstr "O endereço IP do servidor de DNS do servidor LDAP"
-#: core/app_settings.py:163 core/app_settings.py:826
+#: core/app_settings.py:161 core/app_settings.py:876
#, fuzzy
#| msgid "Server port"
msgid "Secondary server port"
msgstr "Porta do Servidor"
-#: core/app_settings.py:166 core/app_settings.py:829
+#: core/app_settings.py:163 core/app_settings.py:879
#, fuzzy
#| msgid "The TCP port number used by the LDAP server"
msgid "The TCP port number used by the LDAP secondary server"
msgstr " A porta TCP usada pelo servidor LDAP"
-#: 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 "Utilizar uma ligação segura"
-#: core/app_settings.py:174 core/app_settings.py:835
+#: core/app_settings.py:171 core/app_settings.py:888
#, fuzzy
#| msgid "Use an SSL/TLS connection to access the LDAP server"
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
msgstr "Usar SSL/TLS na ligaçao de acesso ao servidor LDAP"
-#: 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 "Especificar se o servidor LDAP e um Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Grupos de Administrador"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Os membros destes grupos \"LDAP Posix\" serão criados como administradores de domínio. Use ';' para separar os grupos."
+#: 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 ""
+"Os membros destes grupos \"LDAP Posix\" serão criados como administradores "
+"de domínio. Use ';' para separar os grupos."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
#, fuzzy
#| msgid "Group name"
msgid "Group type"
msgstr "Nome do grupo"
-#: 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 ""
-#: 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 "Base para pesquisa de Grupos"
-#: 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 "O nome único para a base de pesquisa, usado para encontrar grupos"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Atributo de palavra-passe"
-#: 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 "O atributo utilizado para armazenar palavras-passe"
-#: core/app_settings.py:220 core/app_settings.py:869
+#: core/app_settings.py:214 core/app_settings.py:943
#, fuzzy
#| msgid "Authentication method"
msgid "LDAP authentication settings"
msgstr "Método de autenticação"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Método de autenticação"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Procurar e vincular (bind)"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "\"Direct 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 "Escolher o método de autenticação"
-#: 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
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario para \"bind\" anónimo"
+#: 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 ""
+"O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario "
+"para \"bind\" anónimo"
-#: 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 "Password para bind"
-#: 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 "A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')"
-#: 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 "Base para pesquisa de utilizadores"
-#: 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 "O nome único a usar para pesquisa de utilizadores"
-#: 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 "Filtro de pesquisa"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre parênteses para ser válido"
+#: 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 ""
+"Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre "
+"parênteses para ser válido"
-#: 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 "Template DN de utilizador"
-#: 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 "O template usado para construir o DN (nome único). Deve apenas conter um 'placeholder' (ex: %(user)s) "
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"O template usado para construir o DN (nome único). Deve apenas conter um "
+"'placeholder' (ex: %(user)s) "
-#: core/app_settings.py:282 core/app_settings.py:921
+#: core/app_settings.py:276 core/app_settings.py:1017
#, fuzzy
#| msgid "LDAP settings"
msgid "LDAP synchronization settings"
msgstr "Definições do serviço de directório"
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: core/app_settings.py:325 core/app_settings.py:956
+#: core/app_settings.py:317 core/app_settings.py:1068
#, fuzzy
#| msgid "User DN template"
msgid "Account DN template"
msgstr "Template DN de utilizador"
-#: core/app_settings.py:328 core/app_settings.py:958
+#: core/app_settings.py:320 core/app_settings.py:1070
#, fuzzy, python-format
-#| msgid "The template used to construct a user's DN. It should contain one placeholder (ie. %(user)s)"
-msgid "The template used to construct an account's DN. It should contain one placeholder (ie. %(user)s)"
-msgstr "O template usado para construir o DN (nome único). Deve apenas conter um 'placeholder' (ex: %(user)s) "
+#| msgid ""
+#| "The template used to construct a user's DN. It should contain one "
+#| "placeholder (ie. %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"O template usado para construir o DN (nome único). Deve apenas conter um "
+"'placeholder' (ex: %(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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
#, fuzzy
#| msgid "Password attribute"
msgid "Username attribute"
msgstr "Atributo de palavra-passe"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
#, fuzzy
#| msgid "Authentication"
msgid "Notifications"
msgstr "Autenticação"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Endereço do Servidor"
-#: 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 ""
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr ""
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: 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 "Procurar novas versões"
-#: 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 "Verifica automaticamente se existem novas versões"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Vários"
-#: 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 ""
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 ""
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 ""
-#: 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 "Intervalo de tempo para verificar notificações (no topo)"
-#: core/app_settings.py:479 core/app_settings.py:1101
+#: core/app_settings.py:462 core/app_settings.py:1292
#, fuzzy
#| msgid "Interval between two top notification checks"
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervalo de tempo de verificação entre duas notificações (no topo)"
-#: 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 "Idade máxima do registo no log"
-#: 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 "A idade maxima do registo de um log, em dias, e de"
-#: 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 "Itens por página"
-#: 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 "Número de itens apresentados por página"
-#: 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 "Redirecionamento pré-definido"
-#: 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 "O redirecionamento padrão usado quando nenhuma aplicação se encontra especificada"
+msgstr ""
+"O redirecionamento padrão usado quando nenhuma aplicação se encontra "
+"especificada"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2237,33 +2412,33 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Password antiga"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nova password"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Incompatibilidade da password antiga"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Passwords não coincidem"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr ""
-#: core/forms.py:152
+#: core/forms.py:170
#, fuzzy
#| msgid "Authentication"
msgid "Verification code"
msgstr "Autenticação"
-#: core/forms.py:163
+#: core/forms.py:181
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2282,21 +2457,21 @@ msgstr "modificado"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s"
-#: core/handlers.py:63
+#: core/handlers.py:64
#, fuzzy, python-format
#| msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgid "%(object)s '%(name)s' %(action)s by "
msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s"
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "apagado"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2304,149 +2479,151 @@ msgstr ""
msgid "You can't delete your own account"
msgstr "Não pode apagar a sua própria conta"
-#: core/handlers.py:131
+#: core/handlers.py:128
#, fuzzy
#| msgid "An update is available!"
msgid "One or more updates are available"
msgstr "Uma nova versão está disponível!"
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
#, fuzzy
#| msgid "An update is available!"
msgid "[modoboa] Update(s) available"
msgstr "Uma nova versão está disponível!"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr ""
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr ""
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "password"
-#: core/models.py:60
+#: core/models.py:62
#, fuzzy
#| msgid "Prefered language"
msgid "language"
msgstr "Idioma preferido"
-#: core/models.py:63
+#: core/models.py:66
#, fuzzy
#| msgid "Prefered language to display pages"
msgid "Prefered language to display pages."
msgstr "Idioma preferido para exibir páginas"
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Falha ao actualizar password: Modulo LDAP não instalado"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "conta"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr ""
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Não é possível importa uma conta com permissões superiores"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "O simple utilizador '%s' deve ter endereço de e-mail válido"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
-msgstr "Os campos nome de utilizador e endereço de email não deve ser diferente para '%s'"
+msgstr ""
+"Os campos nome de utilizador e endereço de email não deve ser diferente para"
+" '%s'"
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: 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] ""
msgstr[1] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:37 core/sms_backends/ovh.py:107
+#: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109
#, fuzzy
#| msgid "Authentication"
msgid "Application key"
msgstr "Autenticação"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
#, fuzzy
#| msgid "Authentication"
msgid "Application secret"
msgstr "Autenticação"
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Authentication"
msgid "Appication secret"
@@ -2473,7 +2650,9 @@ msgid "Latest news"
msgstr ""
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
+msgid ""
+"Visit the official "
+"weblog for more information."
msgstr ""
#: core/templates/core/api_access.html:3
@@ -2486,7 +2665,9 @@ msgstr ""
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2498,7 +2679,7 @@ msgstr ""
msgid "Hello %(user)s."
msgstr ""
-#: 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 "Informação"
@@ -2536,7 +2717,7 @@ msgstr "Último login"
msgid "Active users"
msgstr "Utilizadores ativos"
-#: 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"
@@ -2564,7 +2745,7 @@ msgid_plural ""
msgstr[0] "Uma nova versão está disponível!"
msgstr[1] "Uma nova versão está disponível!"
-#: 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 "Parâmetros"
@@ -2581,12 +2762,12 @@ msgstr "Guardar"
msgid "Modoboa settings"
msgstr "Definições do Modoboa"
-#: 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 "Definições"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Preferências"
@@ -2610,7 +2791,7 @@ msgstr "Atualizar o sua informação pessoal"
msgid "Click here to update your password"
msgstr "Falha ao actualizar a password: %s"
-#: 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 ""
@@ -2621,7 +2802,9 @@ msgid "Two-Factor authentication"
msgstr "Backend usado para autenticação"
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2635,30 +2818,45 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: core/templates/core/user_security.html:57
+msgid "This will invalidate your registered application."
+msgstr ""
+
#: core/templates/core/user_security.html:58
#, fuzzy
#| msgid "disabled"
msgid "Disable 2FA"
msgstr "inativo"
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2677,75 +2875,81 @@ msgstr "Domínio alterado"
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Passwords encriptadas"
+
#: 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 "Sair"
-#: core/templatetags/core_tags.py:131
+#: core/templatetags/core_tags.py:154
msgid "API"
msgstr ""
-#: core/utils.py:32
+#: core/utils.py:33
#, fuzzy
#| msgid "Welcome to Modoboa"
msgid "The core part of Modoboa"
msgstr "Benvindo ao Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parâmetros salvos"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "O seu nome de utilizador"
-#: core/views/auth.py:135
+#: core/views/auth.py:144
#, fuzzy
#| msgid "User '%s' successfully logged in"
msgid "User '{}' successfully logged out"
msgstr "O utilizador '%s' fez login com sucesso"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Perfil atualizado"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Preferências salvas"
-#: core/views/user.py:110
+#: core/views/user.py:118
#, fuzzy
#| msgid "Profile updated"
msgid "Access updated"
msgstr "Perfil atualizado"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
#, fuzzy
#| msgid "LDAP settings"
msgid "DNS settings"
msgstr "Definições do serviço de directório"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr ""
-#: 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
#, fuzzy
#| msgid "No recipient defined"
msgid "Not resolved"
@@ -2791,11 +2995,11 @@ msgstr "Porta do Servidor"
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2877,95 +3081,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2994,7 +3198,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between"
+" [ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3010,7 +3216,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -3018,91 +3224,99 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Profile updated"
msgid "Access denied"
msgstr "Perfil atualizado"
-#: 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/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/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83
+#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
#, fuzzy
#| msgid "Create aliases"
msgid "Create Folders"
msgstr " Criar aliases"
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
#, fuzzy
#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
msgstr "Definições do serviço de directório"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
@@ -3111,51 +3325,51 @@ msgstr ""
msgid "IMAP migration"
msgstr "Administração"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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 ""
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "A ligação à base de dados %s não está devidamente configurada"
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Acesso negado: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Acesso negado"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Introduzir um nome de domínio válido "
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
#, fuzzy
#| msgid "Enter a valid domain name"
msgid "Enter a valid email address."
@@ -3167,165 +3381,201 @@ msgstr "Introduzir um nome de domínio válido "
msgid "Submit"
msgstr "Enviar"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
#, fuzzy
#| msgid "Failed to update password: %s"
msgid "Failed to update password: {}"
msgstr "Falha ao actualizar a password: %s"
-#: 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 "Assunto"
-#: limits/app_settings.py:17 limits/app_settings.py:154
+#: limits/app_settings.py:17 limits/app_settings.py:147
#, fuzzy
#| msgid "Default limits"
msgid "Default per-admin limits"
msgstr "Limites predefinidos"
-#: 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 ""
-#: 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 ""
-#: 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 "Administradores de domínio"
-#: limits/app_settings.py:29 limits/app_settings.py:164
+#: limits/app_settings.py:29 limits/app_settings.py:163
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo permitido de administradores de domínio para um novo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new administrator. (0 "
+"to deny any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo permitido de administradores de domínio para um novo "
+"administrador"
-#: limits/app_settings.py:40 limits/app_settings.py:173
+#: limits/app_settings.py:39 limits/app_settings.py:175
#, fuzzy
#| msgid "Maximum number of allowed domains for a new administrator"
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed domains for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máximo permitido de domínios para novo administrador"
-#: limits/app_settings.py:50 limits/app_settings.py:181
+#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo permitido de aliases de domínio para um novo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo permitido de aliases de domínio para um novo administrador"
-#: limits/app_settings.py:61 limits/app_settings.py:190
+#: limits/app_settings.py:58 limits/app_settings.py:198
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máximo permitido de caixas de correio para novo administrador"
-#: limits/app_settings.py:71 limits/app_settings.py:199
+#: limits/app_settings.py:67 limits/app_settings.py:210
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new administrator. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máximo de aliases permitidas para um novo administrador"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: limits/app_settings.py:88 limits/app_settings.py:213
+#: limits/app_settings.py:82 limits/app_settings.py:232
#, fuzzy
#| msgid "Default limits"
msgid "Default per-domain limits"
msgstr "Limites predefinidos"
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
+#: limits/app_settings.py:94 limits/app_settings.py:248
#, fuzzy
-#| msgid "Maximum number of allowed domain administrators for a new administrator"
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo permitido de administradores de domínio para um novo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain administrators for a new administrator"
+msgid ""
+"Maximum number of allowed domain administrators for a new domain. (0 to deny"
+" any creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo permitido de administradores de domínio para um novo "
+"administrador"
-#: limits/app_settings.py:111 limits/app_settings.py:232
+#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid "Maximum number of allowed domain aliases for a new administrator"
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Número máximo permitido de aliases de domínio para um novo administrador"
+#| msgid ""
+#| "Maximum number of allowed domain aliases for a new administrator"
+msgid ""
+"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
+msgstr ""
+"Número máximo permitido de aliases de domínio para um novo administrador"
-#: limits/app_settings.py:122 limits/app_settings.py:241
+#: limits/app_settings.py:114 limits/app_settings.py:272
#, fuzzy
#| msgid "Maximum number of allowed mailboxes for a new administrator"
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
+"creation, -1 to allow unlimited creations)"
msgstr "Número máximo permitido de caixas de correio para novo administrador"
-#: limits/app_settings.py:132 limits/app_settings.py:249
+#: limits/app_settings.py:123 limits/app_settings.py:283
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+msgid ""
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
+" -1 to allow unlimited creations)"
msgstr "Número máximo de aliases permitidas para um novo administrador"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Limites"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Número máximo de domínios que este utilizador pode criar"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Número máximo de aliases de domínio que este utilizador pode criar"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Número máximo de caixas de correio que este utilizador por criar"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Número máximo de aliases para caixas de correio que este utilizador por criar"
+msgstr ""
+"Número máximo de aliases para caixas de correio que este utilizador por "
+"criar"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Número máximo de administradores de domínio que este utilizador pode criar"
+msgstr ""
+"Número máximo de administradores de domínio que este utilizador pode criar"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
#, fuzzy
#| msgid "Maximum number of domain aliases this user can create"
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Número máximo de aliases de domínio que este utilizador pode criar"
-#: limits/constants.py:46
+#: limits/constants.py:85
#, fuzzy
#| msgid "Maximum number of mailboxes this user can create"
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Número máximo de caixas de correio que este utilizador por criar"
-#: limits/constants.py:50
+#: limits/constants.py:93
#, fuzzy
#| msgid "Maximum number of mailbox aliases this user can create"
msgid "Maximum number of mailbox aliases allowed for this domain."
-msgstr "Número máximo de aliases para caixas de correio que este utilizador por criar"
+msgstr ""
+"Número máximo de aliases para caixas de correio que este utilizador por "
+"criar"
-#: limits/constants.py:55
+#: limits/constants.py:102
#, fuzzy
#| msgid "Maximum number of domain administrators this user can create"
msgid "Maximum number of domain admins allowed for this domain."
-msgstr "Número máximo de administradores de domínio que este utilizador pode criar"
+msgstr ""
+"Número máximo de administradores de domínio que este utilizador pode criar"
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Limite inválido"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Recursos"
@@ -3338,11 +3588,11 @@ msgstr "%s: limite atingido"
msgid "Not enough resources"
msgstr "Recursos insuficientes"
-#: 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 "Não está autorizado a definir valores ilimitados"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "ilimitado"
@@ -3351,99 +3601,99 @@ msgstr "ilimitado"
msgid "Resources usage"
msgstr "Utilização de recursos"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Caminho para o ficheiro log"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Caminho para o ficheiro de log usado para recolher as estatísticas"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Diretório para armazenar os ficheiros RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Caminho para o diretório onde os ficheiros RRD são guardados"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
#, fuzzy
#| msgid "rejected messages"
msgid "Show greylisted messages"
msgstr "mensagens rejeitadas"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Estatísticas"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Trafego em média (msgs/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "mensagens recebidas"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "mensagens devolvidas"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "mensagens rejeitadas"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "mensagens rejeitadas"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Tráfego em média normal por tamanho (bytes/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "tamanho recebido"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "tamanho enviado"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Tráfego de correio"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3471,179 +3721,185 @@ msgstr "Aplicar"
msgid "No statistics available"
msgstr "Não há estatísticas disponíveis"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Dia"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Semana"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Mês"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "Ano"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Personalizado"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Conjunto de gráficos desconhecido"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknown graphic set"
msgid "Unknown domain"
msgstr "Conjunto de gráficos desconhecido"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Período personalizado inválido"
-#: 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 ""
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Domain modified"
msgid "Directory is not writable"
msgstr "Domínio alterado"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
@@ -3651,15 +3907,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3668,38 +3924,44 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr ""
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3708,31 +3970,179 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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: limite atingido"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: limite atingido"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This field is required"
+msgid "This date is over"
+msgstr "Esta data ultrapassa"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr "Tem de ser posterior à data de inicio."
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Respostas automáticas"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Ative a resposta automática a partir desta data"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Até"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Ativar o seu aviso de ausência até esta data"
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr "Tempo limite de resposta automática"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Tempo limite em segundos entre duas respostas automáticas para o mesmo "
+"destinatário"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Assunto pré-definido"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Estou indisponível"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Assunto pré-definido, usado nas respostas automáticas."
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Contéudo pré-definido"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Estou indisponível de momento. Responderei logo que possível.\n"
+"\n"
+"Melhores cumprimentos,\n"
+"%(name)s\n"
+"\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr "Mensagem de resposta automática"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Respostas automáticas"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "assunto"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "O assunto que irá constar nos e-mails enviados"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "conteúdo"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "O conteúdo que irá constar nos e-mails enviados"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Ativar/desativar repostas automáticas"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr "Enviar a mensagem automaticamente quando estiver ausente"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Mensagem de resposta automática actualizada com sucesso"
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr ""
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
#| msgid "target host"
msgid "target host address"
msgstr "endereço de destino"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
#, fuzzy
#| msgid "target host"
msgid "target host port"
msgstr "endereço de destino"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "verificar destinatários"
@@ -3804,7 +4214,9 @@ msgstr "password"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3814,7 +4226,9 @@ msgid "Change password"
msgstr "Nova password"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3826,18 +4240,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3859,22 +4281,36 @@ msgstr ""
msgid "Invalid value"
msgstr "Linha inválida"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: limite atingido"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Já existe um 'alias' com este nome"
+
+#~ msgid "md5crypt (weak)"
+#~ msgstr "md5crypt (fraco)"
+
+#~ msgid "sha256 (weak)"
+#~ msgstr "sha256 (fraco)"
+
+#~ msgid "md5 (weak)"
+#~ msgstr "md5 (fraco)"
+
+#~ msgid "crypt (weak)"
+#~ msgstr "crypt (fraco)"
+
+#~ msgid "plain (weak)"
+#~ msgstr "plain (fraco)"
#~ msgid "Secret key"
#~ msgstr "Chave secreta"
@@ -3886,12 +4322,10 @@ msgstr ""
#~ msgstr "A chave deve ter tamanho de 16, 24, ou 32 bytes"
#, fuzzy
-#~| msgid "Group name"
#~ msgid "First name"
#~ msgstr "Nome do grupo"
#, fuzzy
-#~| msgid "Last login"
#~ msgid "Last name"
#~ msgstr "Último login"
@@ -3899,7 +4333,6 @@ msgstr ""
#~ msgstr "último login"
#, fuzzy
-#~| msgid "User '%s' logged out"
#~ msgid "User {} logged out"
#~ msgstr "O utilizador '%s' fez logout"
@@ -3919,12 +4352,10 @@ msgstr ""
#~ msgstr "O nome do serviço"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote address (hostname or IP) of this domain"
#~ msgstr "Endereço de destino remoto deste domínio"
#, fuzzy
-#~| msgid "Remote destination of this domain"
#~ msgid "Remote port of this domain"
#~ msgstr "Endereço de destino remoto deste domínio"
@@ -3935,7 +4366,6 @@ msgstr ""
#~ msgstr "Analisar"
#, fuzzy
-#~| msgid "The domain name"
#~ msgid "The relay domain name"
#~ msgstr "O nome do domínio"
@@ -3950,7 +4380,6 @@ msgstr ""
#~ msgstr "O domínio '%s' não existe"
#, fuzzy
-#~| msgid "Invalid format"
#~ msgid "Raw format"
#~ msgstr "Formato inválido"
@@ -3958,15 +4387,24 @@ msgstr ""
#~ msgstr "Nome do ficheiro"
#, fuzzy
-#~| msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
#~ msgid "Quota in MB shared between mailboxes. A value of 0 means no quota."
-#~ msgstr "Quota (em MB) a aplicar a domínios recentemente criados sem valor especificado. Um valor de 0 implica sem quota."
+#~ msgstr ""
+#~ "Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+#~ "especificado. Um valor de 0 implica sem quota."
-#~ msgid "Default quota in MB applied to mailboxes. Leave empty to use the default value."
-#~ msgstr "Quota (em MB) aplicada às caixas de correio. Deixe em branco para manter o valor pré-definido."
+#~ msgid ""
+#~ "Default quota in MB applied to mailboxes. Leave empty to use the default "
+#~ "value."
+#~ msgstr ""
+#~ "Quota (em MB) aplicada às caixas de correio. Deixe em branco para manter o "
+#~ "valor pré-definido."
-#~ msgid "You can't define a forward to a local destination. Please ask your administrator to create an alias instead."
-#~ msgstr "Não é possível definir um reencaminhamento para um destino local. Por favor informe-se junto de um administrador para criar um alias."
+#~ msgid ""
+#~ "You can't define a forward to a local destination. Please ask your "
+#~ "administrator to create an alias instead."
+#~ msgstr ""
+#~ "Não é possível definir um reencaminhamento para um destino local. Por favor "
+#~ "informe-se junto de um administrador para criar um alias."
#~ msgid "Quota is greater than the allowed domain's limit (%dM)"
#~ msgstr "A quota excede o limite permitido pelo domínio (%dM)"
diff --git a/modoboa/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/locale/ro_RO/LC_MESSAGES/django.po
index ed1dd63e0..315ecaf1c 100644
--- a/modoboa/locale/ro_RO/LC_MESSAGES/django.po
+++ b/modoboa/locale/ro_RO/LC_MESSAGES/django.po
@@ -10,498 +10,610 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2021-10-04 13:27+0000\n"
"Last-Translator: Simona Iacob \n"
-"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/language/ro_RO/)\n"
+"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/"
+"language/ro_RO/)\n"
"Language: ro_RO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Limită distribuită intre căsuțele postale. Poate fi exprimată in KB, MB (implicit) sau GB. Valoarea 0 reprezintă nelimitat."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Limită distribuită intre căsuțele postale. Poate fi exprimată in KB, MB "
+"(implicit) sau GB. Valoarea 0 reprezintă nelimitat."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 înseamnă fără cotă."
+msgstr ""
+"Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 "
+"înseamnă fără cotă."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Nu poate fi mai mare decat cota domeniului"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permisiune refuzată."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Acest câmp este necesar"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
-msgstr "Lista domenilor administrate (doar reselleri și administratori de domeniu)"
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista domenilor administrate (doar reselleri și administratori de domeniu)"
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Ne permis pentru acest rol."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Trebuie să fie egal cu mailbox full_address"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Acest câmp este necesar."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Domeniu local {} nu există"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "O listă de destinatari"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Utilizatorul '%s' exista deja"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Nu ai acces la acest domeniu."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Nu ai acces la această cutie postală"
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr "Aici este noua ta parolă Modoboa: {}"
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Utilizatorul '%s' exista deja"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Trebuie să fie un număr întreg pozitiv"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Directorul nu a fost găsit."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Directory not found."
msgid "Directory non-writable"
msgstr "Directorul nu a fost găsit."
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl nu a fost găsit, asigurați-vă că este instalat."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definiți cel puțin o adresă de rețea autorizată"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "O căsuță poștală este necesară"
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Necunoscut"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Nu aveți acces la acest domeniu"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Nu poți să îți ștergi propriul domeniu"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domenii"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Activează verificările MX"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Verifică ca fiecare domeniu are asociat un MX valid"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "MX-uri valide"
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
-msgstr "O listă de IP-uri sau de adrese de rețea care pentru fiecare înregistrare MX ar trebui să se potrivească. O avertizare va fi trimisă dacă o înregistrare nu respectă această conformitate."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
+msgstr ""
+"O listă de IP-uri sau de adrese de rețea care pentru fiecare înregistrare MX "
+"ar trebui să se potrivească. O avertizare va fi trimisă dacă o înregistrare "
+"nu respectă această conformitate."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Domeniile noi trebuie să utilizeze MX(-uri) autorizate"
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
-msgstr "Împiedică crearea unui nou domeniu dacă înregistrarea MX nu utilizează una dintre adresele definite."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
+msgstr ""
+"Împiedică crearea unui nou domeniu dacă înregistrarea MX nu utilizează una "
+"dintre adresele definite."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable SPF checks"
+msgid "Enable IPV6 checks"
+msgstr "Activează verificările SPF"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr "Activează verificările SPF"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr "Verificați dacă fiecare domeniu are o înregistrare SPF validă"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr "Activați verificările DKIM"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "Verificați dacă fiecare domeniu cu autentificarea DKIM activată are o înregistrare DNS validă."
+msgstr ""
+"Verificați dacă fiecare domeniu cu autentificarea DKIM activată are o "
+"înregistrare DNS validă."
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr "Activați verificările DMARC"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr "Verificați dacă fiecare domeniu are o înregistrare DMARC validă"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr "Activați verificările de autoconfigurare"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
-msgstr "Verificați dacă fiecare domeniu are o înregistrare validă pentru autoconfigurare"
+msgstr ""
+"Verificați dacă fiecare domeniu are o înregistrare validă pentru "
+"autoconfigurare"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Activează verificările DNSBL"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Verificați fiecare domeniu folosind furnizorii DNSBL majori"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Servere DNS personalizate"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Utilizează un server DNS personalizat in locul celui local"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "Folderul de stocare pentru cheile DKIM"
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
-msgstr "Calea absolută a directorului în care vor fi stocate cheile private DKIM. Asigurați-vă că acest director aparține utilizatorului root și nu poate fi citit de orice user."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
+msgstr ""
+"Calea absolută a directorului în care vor fi stocate cheile private DKIM. "
+"Asigurați-vă că acest director aparține utilizatorului root și nu poate fi "
+"citit de orice user."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Mărimea implicită în caractere a chei DKIM"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Mărimea implicită în biți pentru o cheie DKIM nou generată"
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Cota-parte implicită a domeniului"
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Cota implicită (în MB) aplicată domeniilor nou create, care nu au nicio valoare specificată. O valoare de 0 înseamnă că nu există o cotă."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Cota implicită (în MB) aplicată domeniilor nou create, care nu au nicio "
+"valoare specificată. O valoare de 0 înseamnă că nu există o cotă."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr "Limita implicită de trimitere a domeniului"
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
-msgstr "Numărul de mesaje pe care domeniile nou create vor putea să le trimită pe zi. Lăsați gol pentru nicio limită."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+"Numărul de mesaje pe care domeniile nou create vor putea să le trimită pe "
+"zi. Lăsați gol pentru nicio limită."
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Cutii poștale"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Gestionați cutiile poștale în sistemul de fișiere"
-#: admin/app_settings.py:147 admin/app_settings.py:400
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Redenumește sau eliminează căsuțele poștale din sistemul de fișiere atunci când se redenumesc sau se elimină în Modoboa"
+#: admin/app_settings.py:142 admin/app_settings.py:448
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Redenumește sau eliminează căsuțele poștale din sistemul de fișiere atunci "
+"când se redenumesc sau se elimină în Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Cota implicită pentru cutia poștală"
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgstr "Cota implicită a căsuței poștale (în MB) aplicată căsuțelor poștale nou create fără a fi specificată nicio valoare. O valoare de 0 înseamnă că nu există cotă."
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Cota implicită a căsuței poștale (în MB) aplicată căsuțelor poștale nou "
+"create fără a fi specificată nicio valoare. O valoare de 0 înseamnă că nu "
+"există cotă."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr "Limita implicită de trimitere a căsuței poștale"
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
-msgstr "Numărul de mesaje pe care cutiile poștale nou create vor putea să le trimită pe zi. Lăsați gol pentru nicio limită."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+"Numărul de mesaje pe care cutiile poștale nou create vor putea să le trimită "
+"pe zi. Lăsați gol pentru nicio limită."
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Ștergere automată a contului"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Când se șterge o cutie poștală, șterge, de asemenea și contul asociat"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Crearea automată a domeniului / cutiei poștale"
-#: admin/app_settings.py:181 admin/app_settings.py:428
+#: admin/app_settings.py:177 admin/app_settings.py:491
msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr "Creați un domeniu și o căsuță poștală atunci când un cont este creat automat."
+msgstr ""
+"Creați un domeniu și o căsuță poștală atunci când un cont este creat automat."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Creați un alias când o cutie poștală este redenumită"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "Creați un alias utilizând vechea adresă atunci când o cutie poștală este redenumită."
+msgstr ""
+"Creați un alias utilizând vechea adresă atunci când o cutie poștală este "
+"redenumită."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
#, fuzzy
-#| msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
-msgstr "Cota implicită a căsuței poștale (în MB) aplicată căsuțelor poștale nou create fără a fi specificată nicio valoare. O valoare de 0 înseamnă că nu există cotă."
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created mailboxes with "
+#| "no value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Cota implicită a căsuței poștale (în MB) aplicată căsuțelor poștale nou "
+"create fără a fi specificată nicio valoare. O valoare de 0 înseamnă că nu "
+"există cotă."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Administrare"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domeniu"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Domeniu de relay"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr "Deschis"
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr "Închis"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Utilizator"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
-msgstr "Numele de utilizator. Trebuie sa fie o adresa de e-mail valida pentru tilizatori simpli sau pentru administratori care au casuță poștală."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
+msgstr ""
+"Numele de utilizator. Trebuie sa fie o adresa de e-mail valida pentru "
+"tilizatori simpli sau pentru administratori care au casuță poștală."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rol"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Alege"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Ce nivel de permisiune va avea acest utilizator"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Parolă aleatorie"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
-msgstr "Generați o parolă aleatorie. Dacă actualizați acest cont și bifați această casetă, va fi generată o nouă parolă."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr ""
+"Generați o parolă aleatorie. Dacă actualizați acest cont și bifați această "
+"casetă, va fi generată o nouă parolă."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Parolă"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Confirmare"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Introduce aceiași parolă ca deasupra, pentru verificare."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Activat"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Numai superadministratorii sunt permiși la acest mod"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Cele două câmpuri de parolă nu s-au potrivit."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Nu poți să îți ștergi propriul cont"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Crează un alias folosind vechea adresă"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Cotă-parte"
-#: admin/forms/account.py:236
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Limita pentru această căsuță poștală, poate fi exprimată in KB, MB (implicit) sau GB. Defineste o valoare particularizată sau folosește valoarea implicită a domeniului. Lăsati necompletat pentru a defini o valoare nelimitată (nu este permis pentru administratorii de domeniu)."
+#: admin/forms/account.py:244
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
+msgstr ""
+"Limita pentru această căsuță poștală, poate fi exprimată in KB, MB "
+"(implicit) sau GB. Defineste o valoare particularizată sau folosește "
+"valoarea implicită a domeniului. Lăsati necompletat pentru a defini o "
+"valoare nelimitată (nu este permis pentru administratorii de domeniu)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Limita de trimitere a mesajelor"
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
-msgstr "Numărul de mesaje pe care această căsuță poștală le poate trimite pe zi"
+msgstr ""
+"Numărul de mesaje pe care această căsuță poștală le poate trimite pe zi"
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(uri)"
-#: admin/forms/account.py:256
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Alias(uri) la această căsuță poștală. Indicați numai o singură adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă. Pentru a crea un alias de captură care sa prindă toate emailurile, trebuie doar să introduceți numele domeniului (@ domain.tld)."
+#: admin/forms/account.py:269
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Alias(uri) la această căsuță poștală. Indicați numai o singură adresă pentru "
+"fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă. Pentru a crea "
+"un alias de captură care sa prindă toate emailurile, trebuie doar să "
+"introduceți numele domeniului (@ domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Adresa expeditorului"
-#: admin/forms/account.py:265
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Adresa(e) suplimentare a expeditorului pentru acest cont. Utilizatorului i se va permite să trimită e-mailuri utilizând această adresă, chiar dacă nu există pe plan local. Indicați o adresă pentru fiecare intrare. Apăsați ENTER pentru a adăuga o intrare nouă."
+#: admin/forms/account.py:278
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Adresa(e) suplimentare a expeditorului pentru acest cont. Utilizatorului i "
+"se va permite să trimită e-mailuri utilizând această adresă, chiar dacă nu "
+"există pe plan local. Indicați o adresă pentru fiecare intrare. Apăsați "
+"ENTER pentru a adăuga o intrare nouă."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Domeniul nu există"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Domeniul local nu există"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domeniu(ii)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domeniu(ii) pe care utilizatorul le administrează"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "General"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Mail"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Permisiuni"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Cont actualizat"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Cont nou"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Cont creat"
@@ -514,69 +626,85 @@ msgid "Email address"
msgstr "Adresă email"
#: admin/forms/alias.py:25
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Adresa aliasului. Pentru a crea un alias care caputrează tot, trebuie doar să introduceți numele domeniului (@ domain.tld)."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Adresa aliasului. Pentru a crea un alias care caputrează tot, trebuie doar "
+"să introduceți numele domeniului (@ domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatarii"
-#: admin/forms/alias.py:33
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Adresele pe care sunt asociate cu acest alias. Indicați numai o singură adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă."
+#: admin/forms/alias.py:34
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Adresele pe care sunt asociate cu acest alias. Indicați numai o singură "
+"adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Nu fost definit niciun destinatar"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tip"
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias (uri) la acest domeniu. Indicați un singur nume pe fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Alias (uri) la acest domeniu. Indicați un singur nume pe fiecare intrare, "
+"apăsați ENTER pentru a adăuga o intrare nouă."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Selector cheie"
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
-msgstr "Limita implicită aplicată căsuțelor postale. Poate fi exprimată in KB, MB (implicit) sau GB. Valoarea 0 reprezintă nelimitat."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
+msgstr ""
+"Limita implicită aplicată căsuțelor postale. Poate fi exprimată in KB, MB "
+"(implicit) sau GB. Valoarea 0 reprezintă nelimitat."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "alias domeniu"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "Itemul%s cu acest nume există"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Folderul de stocare a cheilor DKIM nu este configurat"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Nu poți sa definești o cotă nelimitată"
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domeniu"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Creați un administrator de domeniu"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Creează automat un administrator pentru acest domeniu"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -585,51 +713,55 @@ msgstr "Creează automat un administrator pentru acest domeniu"
msgid "Name"
msgstr "Nume"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Numele administratorului. Nu include aici si numele domeniului, el va fi automat alipit. "
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Numele administratorului. Nu include aici si numele domeniului, el va fi "
+"automat alipit. "
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Generează o parolă aleatorie pentru administrator."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Cu casuță postală"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Creează o căsuță postală pentru administrator. "
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Crează aliasuri "
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Creează automat aliasuri standard pentru acest domeniu"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Format invalid"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domeniu modficat"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Opțiuni"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Domeniu nou"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domeniu creat"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Sepatator"
@@ -637,23 +769,24 @@ msgstr "Sepatator"
msgid "Recipient(s)"
msgstr "Destinatar(i)"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indica unul sau mai mulți destinatari separați prin ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Ține o copii locale"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr "Redirecționează mesajele și stochează copiile în căsuța postală locală "
+msgstr ""
+"Redirecționează mesajele și stochează copiile în căsuța postală locală "
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Selectează un fișier"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Continuă și dacă apar erori"
@@ -661,101 +794,106 @@ msgstr "Continuă și dacă apar erori"
msgid "Don't treat duplicated objects as error"
msgstr "Nu trata obiecte dublicat ca eroare"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Encriptează parola"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Bifeaza această opțune dacă parolele conținute în fșierul tău nu sunt encriptate"
+msgstr ""
+"Bifeaza această opțune dacă parolele conținute în fșierul tău nu sunt "
+"encriptate"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Importul de cont a esuat (%s): domeniul nu există"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Căsuța poștală {} deja există"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importul de cont a esuat (%s): valuare de cotă incorectă"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identități"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Redirecționează"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "O căsuță poștală este necesară"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Nu ești autorizat să imporți domenii"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Nu ești autorizat să imporți aliasuri de domenii"
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr " Nu s-a găsit nicio înregistrare DNS pentru %s"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Nu %(type)sînregistrati pentru %(name)s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Nu s-au găsit NS-uri funcționale"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
-msgstr "Timeout întâmpinat la rezolvarea cererii DNS, imposibilă de interogat %s în acest moment"
+msgstr ""
+"Timeout întâmpinat la rezolvarea cererii DNS, imposibilă de interogat %s în "
+"acest moment"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Adresă IP invalidă pentru {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Obiectul deja există: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d obiecte importate cu succes"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
-msgstr "Fișierul CSV nu este codat UTF-8, incercăm să determinăm codarea automat"
+msgstr ""
+"Fișierul CSV nu este codat UTF-8, incercăm să determinăm codarea automat"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Citim fișierul CSV folosind codarea %(encoding)s"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Imposibil de decodat fișierul CSV folosind codarea %(encoding)s"
@@ -764,23 +902,23 @@ msgstr "Imposibil de decodat fișierul CSV folosind codarea %(encoding)s"
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} listat de furnizorul DNSBL {}"
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr "Domeniul nu are înregistrare MX"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Domeniul {} nu are înregistrări MX"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr "Înregistrare MX invalidă: {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "Înregistrarea MX pentru domeniul {0} este invalidă: {1}"
@@ -789,160 +927,159 @@ msgstr "Înregistrarea MX pentru domeniul {0} este invalidă: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] Problemă(e) MX pentru domeniul {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problemă(e) DNSBL pentru domeniul {} "
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Domeniu negăsit"
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Un alias cu acelasi nume deja există"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "adresă"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Adresă alias."
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "activat"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Bifează pentru a activa acest alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Descriere"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Expiră la"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Adresă invalidă"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Destinatar local {}@{} nu poate fi găsit"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Linie invalidă: %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "nume"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Numele domeniului"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr "Numărul de mesaje pe care acest domeniu le poate trimite pe zi"
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Bifează pentru a activa domeniul"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Activează verificările DNS"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Bifează pentru a activa verificările DNS pentru acest domeniu"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Activează semnarea DKIM"
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Dacă activezi această facilitate, o chieie DKIM se va genera pt acest domeniu."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+"Dacă activezi această facilitate, o chieie DKIM se va genera pt acest "
+"domeniu."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Mărime cheie"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linie invalidă"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu {}"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Valuare de cotă invalidă pentru domeniul '{}'"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Valuare implicită de cotă invalidă pentru domeniul '{}'"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "Valuarea de cotă implicită a unei cutii poștale nu poate fi mai mare decât cota de domeniu"
+msgstr ""
+"Valuarea de cotă implicită a unei cutii poștale nu poate fi mai mare decât "
+"cota de domeniu"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Numele aliasului"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "Țintă"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Domeniul către care indică acest alias"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Domeniu necunoscut %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Adresa de email (fără partea @domeniu)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Nu s-a reușit preluarea locației pentru cutia poștală (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "O cotă este necesară"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain quota exceeded"
msgid "{}: domain quota exceeded"
@@ -1002,9 +1139,9 @@ msgstr "Cantitate"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Aliasuri de domeniu"
@@ -1039,7 +1176,7 @@ msgstr "Creat"
msgid "Last login"
msgstr "Ultima autentificare"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Email secundar"
@@ -1048,7 +1185,7 @@ msgstr "Email secundar"
msgid "Not defined"
msgstr "Nedefinit"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Numar de telefon"
@@ -1126,7 +1263,7 @@ msgstr "Alarme deschise pentru"
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Dată"
@@ -1150,9 +1287,9 @@ msgstr "Dată de creare"
msgid "Last modification date"
msgstr "Data ultimei modficări"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Alias-uri cutii poștale"
@@ -1212,7 +1349,7 @@ msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Nu"
@@ -1220,7 +1357,7 @@ msgstr "Nu"
msgid "Generate new key"
msgstr "Generează o cheie nouă"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Da"
@@ -1233,7 +1370,7 @@ msgid "Administrators"
msgstr "Administratori"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Elimină această permisie"
@@ -1270,13 +1407,13 @@ msgstr "Queue ID"
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "De la"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Către"
@@ -1307,9 +1444,10 @@ msgstr "dezactivat"
msgid "Automatically forward emails to another address"
msgstr "Redirecționează automat emailuri la altă adresă"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Actualizare"
@@ -1326,12 +1464,39 @@ msgid "Fullname/Recipient"
msgstr "Nume Complet/Destinatar"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
Primul element al fiecărei linii este obligatoriu și trebuie să fie egal cu una dintre valorile anterioare. Puteți utiliza un caracter diferit ca separator."
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:
Primul element al fiecărei linii este "
+"obligatoriu și trebuie să fie egal cu una dintre valorile anterioare. Puteți "
+"utiliza un caracter diferit ca separator."
#: admin/templates/admin/import_identities_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...]
Primul element "
+"al fiecărei linii este obligatoriu și trebuie să fie egal cu una dintre "
+"valorile anterioare.
Puteți utiliza un caracter diferit ca separator."
+"
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1359,7 +1524,8 @@ msgstr "Actualizat"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Acest IP nu se potrivește cu nicio înregistrare MX definită în parametrii"
+msgstr ""
+"Acest IP nu se potrivește cu nicio înregistrare MX definită în parametrii"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1367,106 +1533,123 @@ msgstr "Nu există înregistrări MX pentru acest domeniu."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
-msgstr "Modoboa a detectat ca domeniul %(domain)s este listat sub DNSBL la urmatorii furnizori DNSBL:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
+msgstr ""
+"Modoboa a detectat ca domeniul %(domain)s este listat sub DNSBL la urmatorii "
+"furnizori DNSBL:"
#: 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 "Reputația domeniului va fi afectată și există șansa ca e-mailurile provenite de la acestă adresă să fie considerate spam. Ar trebui să contactați acești furnizori și să îi solicitați să elimine adresele(sau adresa) IP detectate."
+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 ""
+"Reputația domeniului va fi afectată și există șansa ca e-mailurile provenite "
+"de la acestă adresă să fie considerate spam. Ar trebui să contactați acești "
+"furnizori și să îi solicitați să elimine adresele(sau adresa) IP detectate."
#: 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 a detectat ca domeniul %(domain)s nu are înregistrări MX valide: "
+msgstr ""
+"Modoboa a detectat ca domeniul %(domain)s nu are înregistrări MX valide: "
#: admin/templates/admin/searchform.html:6
msgid "Search"
msgstr "Caută"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "activat_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "activat_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Listă domenii"
-#: 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 "Listă cote"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr "Jurnalele de mesaje"
-#: 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 "Listare identități"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Afișare identități domeniului"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr "Vezi alarmele domeniului"
-#: 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 "Editează {}"
-#: 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 "Șterge %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Nu există înregistrări MX pentru %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 "Format invalid de IP pentru %(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 "Nu există înregistrări MX pentru %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Un alias cu acelasi nume deja există"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Creează"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Alias nou"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias creat"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias modificat"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias șters"
@@ -1477,38 +1660,38 @@ msgstr[2] "Aliasuri șterse"
msgid "MX records of {}"
msgstr "Înregistrări MX ale {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "Sumar DNSBL pentru {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domeniu șters"
msgstr[1] "Domenii șterse"
msgstr[2] "Domenii șterse"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Exportă identități"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Exportă domenii"
-#: 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 "Cerere invalidă"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Cont șters"
msgstr[1] "Conturi șterse"
msgstr[2] "Conturi șterse"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importă domenii"
@@ -1516,85 +1699,72 @@ msgstr "Importă domenii"
msgid "Import identities"
msgstr "Importă identități"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Redirecționare actualizată"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr "Cod PIN invalid"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr "2FA este deja activat"
-#: core/api/v1/viewsets.py:61
-msgid "2FA is not enabled"
-msgstr "2FA nu este activat"
-
-#: core/api/v2/serializers.py:60 core/app_settings.py:43
-msgid "Local"
-msgstr "Local"
-
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:168 core/app_settings.py:26
-msgid "User profile"
-msgstr "Profil utilizator"
-
-#: 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
-msgid "Invalid syntax"
-msgstr "Sintaxă invalidă"
-
-#: core/api/v2/serializers.py:202 core/app_settings.py:583
-msgid "Invalid rounds number"
-msgstr "Număr invalid de iterații"
-
-#: core/api/v2/serializers.py:262 core/forms.py:176
-msgid "This code is invalid"
-msgstr "Acest cod nu este valabil"
-
-#: core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Vechea parolă"
-#: core/api/v2/serializers.py:328 core/views/auth.py:180 core/views/auth.py:235
-msgid "Please use the following code to recover your Modoboa password: {}"
-msgstr "Vă rugăm să folosiți următorul cod pentru a vă recupera parola Modoboa: {}"
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+msgid "2FA is not enabled"
+msgstr "2FA nu este activat"
-#: core/api/v2/views.py:54
+#: core/api/v2/serializers.py:68 core/app_settings.py:48
+msgid "Local"
+msgstr "Local"
+
+#: core/api/v2/serializers.py:164 core/app_settings.py:24
+msgid "User profile"
+msgstr "Profil utilizator"
+
+#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
+#: 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:165
+msgid "Invalid syntax"
+msgstr "Sintaxă invalidă"
+
+#: core/api/v2/serializers.py:202 core/app_settings.py:557
+msgid "Invalid rounds number"
+msgstr "Număr invalid de iterații"
+
+#: core/api/v2/serializers.py:262 core/forms.py:194
+msgid "This code is invalid"
+msgstr "Acest cod nu este valabil"
+
+#: 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 ""
+"Vă rugăm să folosiți următorul cod pentru a vă recupera parola Modoboa: {}"
+
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 "Utilizatorul '%s' conectat cu succes"
-#: 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 "Schema parola diferită. Reinoim %s parole"
@@ -1604,452 +1774,523 @@ msgstr "Schema parola diferită. Reinoim %s parole"
msgid "Password hash parameter missmatch. Updating %s password"
msgstr "Paragraful hash al parolei nu corespunde. Actualizarea %s a parolei"
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Autentificare"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Tip autentificare"
-#: 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 "Tehnologia backend folosită pentru autentificare "
-#: 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 "Schema pentru parola implicită"
-#: 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 "Schema de criptare pentru parole"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Iterații"
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
-msgstr "Număr de iterații folosite (setare folosită doar de sha256crypt și sha512crypt) Trebuie să fie un număr cuprins între 1000 și 999999999 inclusiv."
+#: 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 ""
+"Număr de iterații folosite (setare folosită doar de sha256crypt și "
+"sha512crypt) Trebuie să fie un număr cuprins între 1000 și 999999999 "
+"inclusiv."
-#: 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 "Actualizarea schemei de parole la autentificare"
-#: 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 "Modifică parola utilizatorului la autentificare pentru a utiliza noua schemă de parolă"
+msgstr ""
+"Modifică parola utilizatorului la autentificare pentru a utiliza noua schemă "
+"de parolă"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Parola implicită"
-#: 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 "Parola implicită setată pentru conturile create automat."
-#: 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 "Mărime parolă aleatorie"
-#: 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 "Mărimea parolelor generate aleator."
-#: 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 "Actualizarea URL-ului serviciului de parolă"
-#: core/app_settings.py:94 core/app_settings.py:768
-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 "URL-ul unei pagini externe unde utilizatorii își vor putea actualiza parola. Se aplică numai utilizatorilor care nu sunt locali, adică cei creați automat după o autentificare externă reușită (LDAP, SMTP)."
+#: 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 ""
+"URL-ul unei pagini externe unde utilizatorii își vor putea actualiza parola. "
+"Se aplică numai utilizatorilor care nu sunt locali, adică cei creați automat "
+"după o autentificare externă reușită (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 "Anunț de recuperare a parolei"
-#: 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 "Un mesaj temporar care va fi afișat pe pagina de resetare a parolei."
-#: 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 "Activați recuperarea parolei prin 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 "Activați recuperarea parolei prin SMS pentru utilizatorii care au completat un număr de telefon."
+msgstr ""
+"Activați recuperarea parolei prin SMS pentru utilizatorii care au completat "
+"un număr de telefon."
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr "Furnizor de SMS"
-#: 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 "Alegeți un furnizor pentru a trimite SMS de recuperare a parolei"
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "Setări LDAP"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Adresă server"
-#: 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 "Adresa IP sau numele DNS al serverului LDAP"
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Port server"
-#: 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 "Numărul de port TCP folosit de serverul LDAP"
-#: 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 "Activați serverul secundar (fallback)"
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
-msgstr "Activați un server LDAP secundar care va fi utilizat în cazul în care serverul principal eșuează"
+#: 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 ""
+"Activați un server LDAP secundar care va fi utilizat în cazul în care "
+"serverul principal eșuează"
-#: 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 "Adresa serverului secundar"
-#: 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 "Adresa IP sau numele DNS al serverului LDAP secundar"
-#: 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 "Portul serverului secundar"
-#: 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 "Numărul portului TCP utilizat de serverul secundar LDAP"
-#: 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 "Folosește o conexiune securizată"
-#: 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 "Folosește o conexiune de tip SSL/STARTTLS pentru a accesa serverul LDAP"
+msgstr ""
+"Folosește o conexiune de tip SSL/STARTTLS pentru a accesa serverul LDAP"
-#: 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 "Specifică daca serverul LDAP este unul de tip Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Grupuri administrator"
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
-msgstr "Membrii acelor grupuri LDAP Posix vor fi create ca administratori de domeniu. Folosește caracterul ';' pentru a separa grupurile."
+#: 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 ""
+"Membrii acelor grupuri LDAP Posix vor fi create ca administratori de "
+"domeniu. Folosește caracterul ';' pentru a separa grupurile."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Tipul de grup"
-#: 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 "Tipul grupului LDAP pe care îl utilizați cu directorul selectat."
-#: 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 "Baza pentru căutare grupuri"
-#: 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 "Numele ales al bazei de căutare utilizat pentru a găsi grupuri"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Atributul parolă"
-#: 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 "Atributul folosit pentru a stoca parola utilizatorului"
-#: 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 "Setări de autentificare LDAP"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Metoda de autentificare"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Căutare și atribuire"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Atribuire directă"
-#: 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 "Alege metodă folosită pentru autentificare"
-#: 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 "Atribuie DN"
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
-msgstr "Numele ales folosit la atribuirea cu servarul LDAP. Câpul necompletat se foloseste în cazul atribuirii anonime"
+#: 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 ""
+"Numele ales folosit la atribuirea cu servarul LDAP. Câpul necompletat se "
+"foloseste în cazul atribuirii anonime"
-#: 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 "Parola de atribuire"
-#: 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 "Parola folosită la momentul atribuiri cu servarul LDAP (vezi 'Atribuie DB')"
+msgstr ""
+"Parola folosită la momentul atribuiri cu servarul LDAP (vezi 'Atribuie DB')"
-#: 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 "Căutare bază de utilizatori"
-#: 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 "Numele ales al bazei de căutare utilizat pentru a găsi utilizatori"
-#: 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 "Filtru de căutare"
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
-msgstr "Un filtru opțional (de ex. '(ObjectClass = persoană)'). Pentru a fi valid, trebuie să fie închis în paranteze."
+#: 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 ""
+"Un filtru opțional (de ex. '(ObjectClass = persoană)'). Pentru a fi valid, "
+"trebuie să fie închis în paranteze."
-#: 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 "Templateul DN pt utilizator"
-#: 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 "Templateul folosit pentru a construi un utilizator DN. Ar trebui să conțină un substituent (de ex. %(user)s)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+"Templateul folosit pentru a construi un utilizator DN. Ar trebui să conțină "
+"un substituent (de ex. %(user)s)"
-#: 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 "Setări de sincronizare LDAP"
-#: 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 "Activați exportul către LDAP"
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
-msgstr "Activați sincronizarea automată între baza de date locală și directorul LDAP"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
+msgstr ""
+"Activați sincronizarea automată între baza de date locală și directorul LDAP"
-#: 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 "Ștergerea contului LDAP la distanță atunci când contul local este șters"
+msgstr ""
+"Ștergerea contului LDAP la distanță atunci când contul local este șters"
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
-msgstr "Ștergeți contul LDAP la distanță atunci când contul local este șters, altfel acesta va fi dezactivat."
+#: 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 ""
+"Ștergeți contul LDAP la distanță atunci când contul local este șters, altfel "
+"acesta va fi dezactivat."
-#: 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 "Șablon de cont 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 " Șablonul utilizat pentru a construi DN-ul unui cont. Acesta trebuie să conțină un spațiu rezervat (ie. %(user)s)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr ""
+" Șablonul utilizat pentru a construi DN-ul unui cont. Acesta trebuie să "
+"conțină un spațiu rezervat (ie. %(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 "Activați importul din LDAP"
-#: 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 "Activați sincronizarea conturilor din directorul LDAP în baza de date locală"
+msgstr ""
+"Activați sincronizarea conturilor din directorul LDAP în baza de date locală"
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr "Atributul nume de utilizator"
-#: 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 "Numele atributului LDAP în care poate fi găsit numele de utilizator."
-#: 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 "Activați sincronizarea Dovecot LDAP"
-#: 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 "Setările de autentificare LDAP vor fi aplicate la configurația Dovecot."
+msgstr ""
+"Setările de autentificare LDAP vor fi aplicate la configurația Dovecot."
-#: 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 "Fișier de configurare Dovecot LDAP"
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr "Locația fișierului de configurare care conține setările Dovecot LDAP."
-#: 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 "Bord"
-#: 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 "Feedul RSS personalizat"
-#: 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 "Afișează feedul RSS personalizat la reselleri și administratori de domeniu"
+msgstr ""
+"Afișează feedul RSS personalizat la reselleri și administratori de domeniu"
-#: 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 "Ascunde widgetul de caracteristici "
-#: 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 "Ascunde widgetul de caracteristici pentru reselleri și administratori de domeniu"
+msgstr ""
+"Ascunde widgetul de caracteristici pentru reselleri și administratori de "
+"domeniu"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Notificări"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Adresa expeditorului"
-#: 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 "Adresa de email folosită pentru trimiterea notificărilor."
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "API public"
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr "Activați comunicarea"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Activați comunicarea cu API-ul public Modoboa"
-#: 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 "Verifică dacă există noi versiuni"
-#: 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 "Verifică automat dacă este disponibilă o versiune mai nouă"
-#: 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 "Trimiteți un e-mail atunci când sunt găsite versiuni noi"
-#: 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 "Trimiteți un e-mail pentru a notifica administratorii despre noile versiuni"
+msgstr ""
+"Trimiteți un e-mail pentru a notifica administratorii despre noile versiuni"
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr "Beneficiar"
-#: 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 "Destinatarul e-mailurilor de notificare a noilor versiuni."
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Trimite statistici"
-#: 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 "Trimiteți statistici către API-ul public Modoboa (contoare și extensii utilizate)"
+msgstr ""
+"Trimiteți statistici către API-ul public Modoboa (contoare și extensii "
+"utilizate)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Diverse"
-#: core/app_settings.py:459 core/app_settings.py:1083
+#: core/app_settings.py:441 core/app_settings.py:1265
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
msgstr "Pragul pentru cont invalid"
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 "Pragul pentru cont invalid"
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
-msgstr "Un cont cu o ultima data de conectare mai mare decat acest prag (in zile) va fi considerat inactiv"
+#: 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 ""
+"Un cont cu o ultima data de conectare mai mare decat acest prag (in zile) va "
+"fi considerat inactiv"
-#: 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 "Intervalul de verificare a notificărilor"
-#: 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 "Intervalul dintre două verificări de notificare principală (în secunde)"
+msgstr ""
+"Intervalul dintre două verificări de notificare principală (în secunde)"
-#: 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 "Vechimea maximă a înregistrărilor log"
-#: 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 "Vechimea maximă în zilele de înregistrare a intrărilor în jurnal"
-#: 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 "Număr de itemi per pagină"
-#: 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 "Numărul de itemi afișați pe o pagină"
-#: 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 "Redirecționarea principală implicită"
-#: 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 "Redirecționarea implicită utilizată atunci când nu este specificată nici o aplicație"
+msgstr ""
+"Redirecționarea implicită utilizată atunci când nu este specificată nici o "
+"aplicație"
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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 "Aveți USE_TZ setat la False, acest lucru poate duce la probleme în timpul tranzițiilor între timul de vara / iarna (adică același timp local care apare de două ori ca urmare a modificării ceasului)."
+#: 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 ""
+"Aveți USE_TZ setat la False, acest lucru poate duce la probleme în timpul "
+"tranzițiilor între timul de vara / iarna (adică același timp local care "
+"apare de două ori ca urmare a modificării ceasului)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Setează `USE_TZ = True` în settings.py"
@@ -2081,31 +2322,31 @@ msgstr "Manechin"
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Vechea parolă"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Noua parolă"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Parola veche nu se potivește"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Parolele nu se potrivesc"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Activează accesul API"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr "Cod de verificare"
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr "Cod invalid"
@@ -2122,20 +2363,20 @@ msgstr "modificat"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s de utilizatorul %(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 de"
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "sterș"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "utilizator {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "comandă de management"
@@ -2143,141 +2384,144 @@ msgstr "comandă de management"
msgid "You can't delete your own account"
msgstr "Nu poți să îți ștergi propriul cont"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "Sunt disponibile una sau mai multe actualizări"
-#: 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] Actualizare(i) disponibilă"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Permiteți accesul la cutiile poștale"
-#: core/models.py:54
-msgid "Allow this administrator to access user mailboxes"
-msgstr "Permiteți acestui administrator să acceseze cutiile poștale ale utilizatorilor"
-
#: core/models.py:57
+msgid "Allow this administrator to access user mailboxes"
+msgstr ""
+"Permiteți acestui administrator să acceseze cutiile poștale ale "
+"utilizatorilor"
+
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "parolă"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "limbă"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Limba preferată pentru afișarea paginilor."
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "O adresă de e-mail alternativă poate fi utilizată pentru recuperare."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Eroare la actualizarea parolei: modulul LDAP nu este instalat"
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr "cont"
-#: core/models.py:286
+#: core/models.py:294
msgid "Unknown"
msgstr "Necunoscut"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Nu puteți importa un cont cu un rol mai mare decât al dvs."
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Utilizatorul simplu '%s' trebuie să aibă o adresă de e-mail validă"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "câmpului de utilizator și e-mail nu trebuie să difere pentru '%s'"
-#: 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] "Parola trebuie să conțină cel puțin {} cifră."
msgstr[1] "Parola trebuie să conțină cel puțin {} cifre."
msgstr[2] "Parola trebuie să conțină cel puțin {} cifre."
-#: 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] "Parola trebuie să conțină cel puțin {} literă mică."
msgstr[1] "Parola trebuie să conțină cel puțin {} litere mici."
msgstr[2] "Parola trebuie să conțină cel puțin {} litere mici."
-#: 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] "Parola trebuie să conțină cel puțin {} majusculă."
msgstr[1] "Parola trebuie să conțină cel puțin {} majuscule."
msgstr[2] "Parola trebuie să conțină cel puțin {} majuscule."
-#: 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] "Parola trebuie să conțină cel puțin {} caracter special."
msgstr[1] "Parola trebuie să conțină cel puțin {} caractere speciale."
msgstr[2] "Parola trebuie să conțină cel puțin {} caractere speciale."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "Parola dvs. trebuie să conțină o combinație de tipuri diferite de caractere."
+msgstr ""
+"Parola dvs. trebuie să conțină o combinație de tipuri diferite de caractere."
-#: 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 "Punct final API"
-#: 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 Europe"
-#: 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 North-America"
-#: 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 "Deci, începeți 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 "Deci, ai început America de Nord"
-#: 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 Europe"
-#: 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 North America"
-#: 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 "Cheie de aplicație"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr "Secretul aplicației"
-#: 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 "Cheia de consum"
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
#, fuzzy
#| msgid "Application secret"
msgid "Appication secret"
@@ -2304,8 +2548,12 @@ msgid "Latest news"
msgstr "Ultimele știri"
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
-msgstr "Vizitează blogul oficial pentru mai multe informații."
+msgid ""
+"Visit the official "
+"weblog for more information."
+msgstr ""
+"Vizitează blogul "
+"oficial pentru mai multe informații."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2317,8 +2565,12 @@ msgstr "Controlați-vă accesul la API-ul Modoboa"
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
-msgstr "Documentația API-ului este disponibilă aici."
+msgid ""
+"A documentation of the API is available here."
+msgstr ""
+"Documentația API-ului este disponibilă aici."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2329,7 +2581,7 @@ msgstr "Token de accesare API"
msgid "Hello %(user)s."
msgstr "Bună ziua %(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 "Informatie"
@@ -2343,7 +2595,9 @@ msgstr "Sunt disponibile una sau mai multe actualizări!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Verificați lista următoare pentru a găsi componentele(ul) care pot fi actualizate."
+msgstr ""
+"Verificați lista următoare pentru a găsi componentele(ul) care pot fi "
+"actualizate."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2361,7 +2615,7 @@ msgstr "Ultima versiune"
msgid "Active users"
msgstr "Utilizatori activi"
-#: 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 "Loguri"
@@ -2394,7 +2648,7 @@ msgstr[2] ""
"\n"
" Sunt disponibile următoarele actualizări:\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 "Parametrii"
@@ -2411,12 +2665,12 @@ msgstr "Salvează"
msgid "Modoboa settings"
msgstr "Setări Modoboa "
-#: 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 "Setări"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Preferințe"
@@ -2436,7 +2690,7 @@ msgstr "Actualizați-vă informațiile personale"
msgid "Click here to update your password"
msgstr "Faceți clic aici pentru a vă actualiza parola"
-#: 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 "Securitate"
@@ -2445,8 +2699,13 @@ msgid "Two-Factor authentication"
msgstr "Autentificare cu doi factori"
#: 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 "Instalați un autentificator soft token, cum ar fi FreeOTP sau Google Authenticator, din depozitul de aplicații și utilizați aplicația respectivă pentru a scana acest cod QR."
+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 ""
+"Instalați un autentificator soft token, cum ar fi FreeOTP sau Google "
+"Authenticator, din depozitul de aplicații și utilizați aplicația respectivă "
+"pentru a scana acest cod QR."
#: core/templates/core/user_security.html:25
msgid "Pin code"
@@ -2457,29 +2716,53 @@ msgid "Register"
msgstr "Înregistrare"
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
-msgstr "Felicitări! Autentificarea în doi factori este acum activată pentru contul dvs."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
+msgstr ""
+"Felicitări! Autentificarea în doi factori este acum activată pentru contul "
+"dvs."
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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 "Următoarele coduri de recuperare pot fi folosite o singură dată pentru a vă permite să vă recâștigați accesul la cont, de exemplu, în cazul în care vă pierdeți telefonul. Asigură-te că le salvezi într-un loc sigur, altfel nu vei mai putea accesa contul tău."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
+"Următoarele coduri de recuperare pot fi folosite o singură dată pentru a vă "
+"permite să vă recâștigați accesul la cont, de exemplu, în cazul în care vă "
+"pierdeți telefonul. Asigură-te că le salvezi într-un loc sigur, altfel nu "
+"vei mai putea accesa contul tău."
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
-msgstr "Autentificarea în doi factori este activată pentru contul dumneavoastră."
+msgstr ""
+"Autentificarea în doi factori este activată pentru contul dumneavoastră."
+
+#: 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 "Dezactivați 2FA"
+#: 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 "Resetarea codurilor de recuperare"
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
-msgstr "Autentificarea în doi factori (2FA) nu este încă activată pentru contul dvs. Activarea acestei funcții va spori securitatea contului dvs."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
+msgstr ""
+"Autentificarea în doi factori (2FA) nu este încă activată pentru contul dvs. "
+"Activarea acestei funcții va spori securitatea contului dvs."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2493,71 +2776,79 @@ msgstr "Noi coduri de recuperare"
msgid "Here are your new recovery codes. "
msgstr "Aici sunt noile coduri de recuperare. "
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Encriptează parola"
+
#: 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 "Deconectare"
-#: 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 "Partea de nucleu a Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parametrii au fost salvați"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
-msgstr "Numele de utilizator și parola nu s-au potrivit. Vă rugăm să încercați din nou."
+msgstr ""
+"Numele de utilizator și parola nu s-au potrivit. Vă rugăm să încercați din "
+"nou."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Utilizatorul '{}' sa deconectat cu succes"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profil actualizat"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Preferințele au fost salvate"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Accesul a fost actualizat"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
#, fuzzy
#| msgid "LDAP settings"
msgid "DNS settings"
msgstr "Setări LDAP"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
#, fuzzy
#| msgid "No MX record for %s"
msgid "Show DMARC report for {}"
msgstr "Nu există înregistrări MX pentru %s"
-#: 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
#, fuzzy
#| msgid "Not defined"
msgid "Not resolved"
@@ -2603,11 +2894,11 @@ msgstr "Portul serverului secundar"
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2687,95 +2978,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2804,7 +3095,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2820,7 +3113,7 @@ msgstr ""
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2828,95 +3121,103 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
#, fuzzy
#| msgid "Access updated"
msgid "Access denied"
msgstr "Accesul a fost actualizat"
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration"
msgstr "Activează semnarea DKIM"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "Enable DKIM signing"
msgid "Enable IMAP Migration."
msgstr "Activează semnarea DKIM"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
msgstr ""
-#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83
+#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
#, fuzzy
#| msgid "Create aliases"
msgid "Create Folders"
msgstr "Crează aliasuri "
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
#, fuzzy
#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
msgstr "Setări LDAP"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr ""
-#: 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/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
@@ -2925,52 +3226,52 @@ msgstr ""
msgid "IMAP migration"
msgstr "Administrare"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Nu s-a reușit crearea unui cont LDAP: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Nu s-a reușit actualizarea contului LDAP: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Nu s-a reușit ștergerea contului LDAP: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Nu s-a reușit dezactivarea contului LDAP: {}"
-#: 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
#, fuzzy, python-format
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to communicate with public API: %s"
msgstr "Activați comunicarea cu API-ul public Modoboa"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Conexiunea la baza de date %s nu a fost configurată"
-#: 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 "imposibil de determinat codarea textului"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Permisiune refuzată: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Permisiune refuzată"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Introduceți un nume de domeniu valid"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Introduceți o adresă de email validă."
@@ -2980,133 +3281,181 @@ msgstr "Introduceți o adresă de email validă."
msgid "Submit"
msgstr "Trimite"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Eroare la actualizarea parolei: {}"
-#: 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 "Subiect"
-#: 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 "Limitele standard per-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 "Activați limitele per-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 "Activați sau dezactivați limitele per-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 "Administratori de domeniu"
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de administratori de domeniu permiși pentru un nou administrator. (0 pentru a dezactiva crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de administratori de domeniu permiși pentru un nou "
+"administrator. (0 pentru a dezactiva crearea, -1 pentru a permite creări "
+"nelimitate)"
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de domenii permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de domenii permise pentru un nou administrator. (0 nu permite "
+"crearea, -1 pentru a permite creări nelimitate)"
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de aliasuri de domenii permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de aliasuri de domenii permise pentru un nou administrator. (0 "
+"nu permite crearea, -1 pentru a permite creări nelimitate)"
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de căsuțe poștale permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de căsuțe poștale permise pentru un nou administrator. (0 nu "
+"permite crearea, -1 pentru a permite creări nelimitate)"
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de aliasuri permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de aliasuri permise pentru un nou administrator. (0 nu permite "
+"crearea, -1 pentru a permite creări nelimitate)"
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
-msgstr "Cota pe care un reseller le va putea să împartă între domeniile pe care le creează. (0 nu înseamnă fără cotă)"
+#: 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 ""
+"Cota pe care un reseller le va putea să împartă între domeniile pe care le "
+"creează. (0 nu înseamnă fără cotă)"
-#: 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 "Limitele per-domeniu implicite"
-#: 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 "Activați limitele per-domeniu"
-#: 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 "Activați sau dezactivați limitele pe domenii"
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de administratori de domeniu permiși pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de administratori de domeniu permiși pentru un domeniu nou. (0 "
+"nu permite crearea, -1 pentru a permite creări nelimitate)"
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de aliasuri de domenii permise pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de aliasuri de domenii permise pentru un domeniu nou. (0 nu "
+"permite crearea, -1 pentru a permite creări nelimitate)"
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de căsuțe poștale autorizate pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de căsuțe poștale autorizate pentru un domeniu nou. (0 nu "
+"permite crearea, -1 pentru a permite creări nelimitate)"
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
-msgstr "Numărul maxim de aliasuri permise pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)"
+#: 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 ""
+"Numărul maxim de aliasuri permise pentru un domeniu nou. (0 nu permite "
+"crearea, -1 pentru a permite creări nelimitate)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Limite"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Numărul maxim de domenii pe care acest utilizator le poate crea"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
-msgstr "Numărul maxim de aliasuri de domeniu pe care acest utilizator le poate crea"
+msgstr ""
+"Numărul maxim de aliasuri de domeniu pe care acest utilizator le poate crea"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Numărul maxim de cutii poștale pe care acest utilizator le poate crea"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Numărul maxim de aliasuri de cutie poștală pe care acest utilizator le poate crea"
+msgstr ""
+"Numărul maxim de aliasuri de cutie poștală pe care acest utilizator le poate "
+"crea"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr "Numărul maxim de administratori de domeniu pe care acest utilizator îl poate crea"
+msgstr ""
+"Numărul maxim de administratori de domeniu pe care acest utilizator îl poate "
+"crea"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Cotă-parte distribuită între domeniile acestui distribuitor"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Numărul maxim de aliasuri de domeniu permis pentru acest domeniu."
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Numărul maxim de cutii poștale permis pentru acest domeniu."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
-msgstr "Numărul maxim de aliasuri pentru cutia poștală permis pentru acest domeniu."
+msgstr ""
+"Numărul maxim de aliasuri pentru cutia poștală permis pentru acest domeniu."
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
-msgstr "Numărul maxim de administratori de domeniu permis pentru acest domeniu."
+msgstr ""
+"Numărul maxim de administratori de domeniu permis pentru acest domeniu."
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Limită invalidă"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Resurse"
@@ -3119,11 +3468,11 @@ msgstr "%s: s-a atins limita"
msgid "Not enough resources"
msgstr "Resurse insuficiente"
-#: 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 "Nu vi se permite să definiți valori nelimitate"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "nelimitat"
@@ -3132,91 +3481,91 @@ msgstr "nelimitat"
msgid "Resources usage"
msgstr "Utilizarea resurselor"
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Calea către fișierul de log"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Calea către fișierul de log în care se colectează statistici"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Directorul în care se stochează fisierele RRD"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Calea către directorul în care se stochează fisierele RRD"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr "Arată mesajele suspecte"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr "Diferențiază între mesjale rejectate hard și soft (suspecte)"
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Statistici"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr "Nu s-a gasit binarul rrdtool"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Media traficului (mesaje/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "mesaje trimise"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "mesaje primite "
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "mesaje returnate"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "mesaje rejectate"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr "mesaje cu virus"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr "mesaje spam"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr "mesaje suspecte"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Media de trafic (octecți/minut)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "mărime pentru primite"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "mărime pentru trimise"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "Trafic Email"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr "Media creări de conturi (cont/oră)"
@@ -3244,199 +3593,205 @@ msgstr "Aplică"
msgid "No statistics available"
msgstr "Nu sunt disponibile statistici"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Zi"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "Săptămană"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Lună"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "An"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Personalizat"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Set grafic necunoscut"
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr "Domeniu necunoscut"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Perioada personalizată invalidă"
-#: 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
#, fuzzy
#| msgid "Update your personal information"
msgid "Personal account information"
msgstr "Actualizați-vă informațiile personale"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
#, fuzzy
#| msgid "Directory not found."
msgid "Directory is not writable"
msgstr "Directorul nu a fost găsit."
-#: pdfcredentials/api/v2/serializers.py:76 pdfcredentials/views.py:28
+#: pdfcredentials/api/v2/serializers.py:82 pdfcredentials/views.py:26
#, fuzzy
#| msgid "No information available for this domain."
msgid "No document available for this user"
msgstr "Nu există informații valabile pentru acest domeniu."
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
+#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
#, fuzzy
#| msgid "Enable SPF checks"
msgid "Enable PDF credentials"
msgstr "Activează verificările SPF"
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: pdfcredentials/app_settings.py:33 pdfcredentials/app_settings.py:134
+#: pdfcredentials/app_settings.py:48 pdfcredentials/app_settings.py:206
#, fuzzy
#| msgid "Directory to store RRD files"
msgid "Directory to save documents into"
msgstr "Directorul în care se stochează fisierele RRD"
-#: pdfcredentials/app_settings.py:35 pdfcredentials/app_settings.py:136
+#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:208
#, fuzzy
#| msgid "Path to directory where RRD files are stored"
msgid "Path to a directory where PDF documents will be saved"
msgstr "Calea către directorul în care se stochează fisierele RRD"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
#, fuzzy
#| msgid "Security"
msgid "Security options"
msgstr "Securitate"
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
#, fuzzy
#| msgid "spam messages"
msgid "Custom message"
msgstr "mesaje spam"
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "SMTP server address"
msgstr "Adresă server"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "SMTP server port"
msgstr "Port server"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "IMAP server address"
msgstr "Adresă server"
-#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "IMAP server port"
msgstr "Port server"
-#: 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 ""
-#: 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 ""
@@ -3444,15 +3799,15 @@ msgstr ""
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3461,40 +3816,46 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
#, fuzzy
#| msgid "Change password"
msgid "Please change your password!"
msgstr "Schimbă parola"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3503,27 +3864,172 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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: s-a atins limita"
+
+#: policyd/core.py:125
+#, fuzzy
+#| msgid "%s: limit reached"
+msgid "[modoboa] Sending limit reached"
+msgstr "%s: s-a atins limita"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This code is invalid"
+msgid "This date is over"
+msgstr "Acest cod nu este valabil"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Nu poate fi mai mare decat cota domeniului"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Ștergere automată a contului"
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Cota-parte implicită a domeniului"
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "spam messages"
+msgid "Auto-reply message"
+msgstr "mesaje spam"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "Subiect"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 "Serviciu neacceptat"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr "Setări de transport"
-#: 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 "adresă de host"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "portul de host"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "verificați destinatarii"
@@ -3593,16 +4099,24 @@ msgstr "Ai uitat parola?"
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
-msgstr "Parola dvs. a fost setată. Puteți acum să va autentificați din nou."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
+msgstr ""
+"Parola dvs. a fost setată. Puteți acum să va autentificați din nou."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
msgstr "Schimbă parola"
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr "Linkul de resetare a parolei este invalid, posibil din cauza faptului că a fost deja utilizat. Te rugăm solicită o nouă resetare a parolei. "
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Linkul de resetare a parolei este invalid, posibil din cauza faptului că a "
+"fost deja utilizat. Te rugăm solicită o nouă resetare a parolei. "
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3613,19 +4127,35 @@ msgid "Resend code"
msgstr "Reîntoarceți codul"
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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 "
V-am trimis prin e-mail instrucțiuni pentru setarea parolei, dacă există un cont cu adresa pe care ați introdus-o. Ar trebui să le primiți în scurt timp.
Dacă nu primiți un e-mail, asigurați-vă că ați introdus adresa dvs. principală și că verificați dosarul dvs. de spam.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
+"
V-am trimis prin e-mail instrucțiuni pentru setarea parolei, dacă există "
+"un cont cu adresa pe care ați introdus-o. Ar trebui să le primiți în scurt "
+"timp.
Dacă nu primiți un e-mail, asigurați-vă că ați introdus adresa "
+"dvs. principală și că verificați dosarul dvs. de spam.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
-msgstr "Pentru a iniția procesul de resetare a parolei pentru contul dvs. %(username)s Modoboa, faceți clic pe linkul de mai jos:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
+msgstr ""
+"Pentru a iniția procesul de resetare a parolei pentru contul dvs. "
+"%(username)s Modoboa, faceți clic pe linkul de mai jos:"
#: 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 "Dacă făcând click pe linkul de mai sus nu funcționează, copiați și lipiți adresa URL într-o fereastră nouă a browserului."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
+msgstr ""
+"Dacă făcând click pe linkul de mai sus nu funcționează, copiați și lipiți "
+"adresa URL într-o fereastră nouă a browserului."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3644,28 +4174,29 @@ msgstr "Resetare parola Modoboa"
msgid "Invalid value"
msgstr "Valuare invalidă"
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr "tipar"
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr "serviciu"
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr "următorul hop"
#, fuzzy
-#~| msgid "%s: limit reached"
-#~ msgid "Daily sending limit reached"
-#~ msgstr "%s: s-a atins limita"
+#~| msgid "Alias with this name already exists"
+#~ msgid "An alias with this name already exists."
+#~ msgstr "Un alias cu acelasi nume deja există"
#~ msgid "Mailboxes owner"
#~ msgstr "Propietarul cutiilor postale"
#~ msgid "The UNIX account who owns mailboxes on the filesystem"
-#~ msgstr "Contul UNIX care are in propietate casuțele poștale în sistemul de fișiere"
+#~ msgstr ""
+#~ "Contul UNIX care are in propietate casuțele poștale în sistemul de fișiere"
#, python-format
#~ msgid "Domain '%s' does not exist"
diff --git a/modoboa/locale/ru/LC_MESSAGES/django.po b/modoboa/locale/ru/LC_MESSAGES/django.po
index e7a1ec78e..3e4ff3e9d 100644
--- a/modoboa/locale/ru/LC_MESSAGES/django.po
+++ b/modoboa/locale/ru/LC_MESSAGES/django.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/ru/)\n"
@@ -24,512 +24,587 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
-msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
msgstr ""
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
msgstr ""
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
msgstr "Права"
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Это поле обязательно для заполнеия"
-#: admin/api/v1/serializers.py:186
-msgid "List of administered domains (resellers and domain administrators only)."
+#: admin/api/v1/serializers.py:235
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97 core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
#, fuzzy
#| msgid "A quota is required"
msgid "This field is required."
msgstr "Требуется квота"
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "Домен не существует"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Пользователь '%s' уже существует"
+
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "Вы не имеете права доступа к этому домену"
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
msgstr "Вы не имеете права доступа к этому домену"
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Пользователь '%s' уже существует"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
#, fuzzy
#| msgid "Domain modified"
msgid "Directory not found."
msgstr "Домен изменен"
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
#, fuzzy
#| msgid "Domain modified"
msgid "Directory non-writable"
msgstr "Домен изменен"
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
msgstr "Неизвестное"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Вы не имеете права доступа к этому домену"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Вы не можете удалить собственный домен"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr ""
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr ""
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Домены"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr ""
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr ""
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr ""
-#: admin/app_settings.py:37 admin/app_settings.py:312
-msgid "A list of IP or network address every MX record should match. A warning will be sent if a record does not respect it."
+#: admin/app_settings.py:35 admin/app_settings.py:307
+msgid ""
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
msgstr ""
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:48 admin/app_settings.py:321
-msgid "Prevent the creation of a new domain if its MX record does not use one of the defined addresses."
+#: admin/app_settings.py:46 admin/app_settings.py:321
+msgid ""
+"Prevent the creation of a new domain if its MX record does not use one of "
+"the defined addresses."
msgstr ""
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+msgid "Enable IPV6 checks"
+msgstr ""
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr ""
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr ""
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr ""
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr ""
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr ""
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr ""
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr ""
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr ""
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:107 admin/app_settings.py:367
-msgid "Absolute path of the directory where DKIM private keys will be stored. Make sure this directory belongs to root user and is not readable by the outside world."
+#: admin/app_settings.py:104 admin/app_settings.py:398
+msgid ""
+"Absolute path of the directory where DKIM private keys will be stored. Make "
+"sure this directory belongs to root user and is not readable by the outside "
+"world."
msgstr ""
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr ""
-#: admin/app_settings.py:127 admin/app_settings.py:381
-msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:122 admin/app_settings.py:418
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr ""
-#: admin/app_settings.py:136 admin/app_settings.py:388
-msgid "Number of messages freshly created domains will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:131 admin/app_settings.py:428
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Почтовые ящики"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Обрабатывать почтовые ящики на диске"
-#: admin/app_settings.py:147 admin/app_settings.py:400
+#: admin/app_settings.py:142 admin/app_settings.py:448
#, fuzzy
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Удалять или переименовывать почтовые ящики на диске, если они удалены или переименованы в Modoboa"
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Удалять или переименовывать почтовые ящики на диске, если они удалены или "
+"переименованы в Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr ""
-#: admin/app_settings.py:156
-msgid "Default mailbox quota (in MB) applied to freshly created mailboxes with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:151
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
+"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr ""
-#: admin/app_settings.py:165 admin/app_settings.py:415
-msgid "Number of messages freshly created mailboxes will be allowed to send per day. Leave empty for no limit."
+#: admin/app_settings.py:160 admin/app_settings.py:469
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
msgstr ""
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Автоматическое удаление аккаунта"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "При удалении почтового ящика, так же удалять и аккаунт владельца"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
#, fuzzy
msgid "Automatic domain/mailbox creation"
msgstr "Домен создан"
-#: admin/app_settings.py:181 admin/app_settings.py:428
-msgid "Create a domain and a mailbox when an account is automatically created."
+#: admin/app_settings.py:177 admin/app_settings.py:491
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
msgstr ""
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:407
-msgid "Default mailbox quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+#: admin/app_settings.py:458
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr ""
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:29
+#: admin/constants.py:24
#, fuzzy
#| msgid "New domain"
msgid "Relay domain"
msgstr "Новый домен"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr ""
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr ""
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Логин пользователя"
-#: admin/forms/account.py:34
-msgid "The user's name. Must be a valid e-mail address for simple users or administrators with a mailbox."
+#: admin/forms/account.py:31
+msgid ""
+"The user's name. Must be a valid e-mail address for simple users or "
+"administrators with a mailbox."
msgstr ""
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Роль"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Выбрать"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Разрешения для этого пользователя"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
#, fuzzy
#| msgid "Invalid request"
msgid "Random password"
msgstr "Ошибочный запрос"
-#: admin/forms/account.py:46
-msgid "Generate a random password. If you're updating this account and check this box, a new password will be generated."
+#: admin/forms/account.py:43
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Пароль"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Подтверждение"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Введите такой же пароль как выше. Для проверки."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Разрешено"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "Пароли не совпадают"
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Вы не можете запретить собственный аккаунт"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "Е-майл"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Квота"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
#, fuzzy
-#| msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgid "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Квота в мегабайтах для этого почтового ящика. Определите собственное значение или используйте значение по умолчанию для родительского домена. Оставьте пустым для неограниченного значения. (Не разрешено администраторам домена)"
+#| msgid ""
+#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
+#| "one. Leave empty to define an unlimited value (not allowed for domain "
+#| "administrators)."
+msgid ""
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr ""
+"Квота в мегабайтах для этого почтового ящика. Определите собственное "
+"значение или используйте значение по умолчанию для родительского домена. "
+"Оставьте пустым для неограниченного значения. (Не разрешено администраторам"
+" домена)"
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr ""
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr ""
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Синоним(ы)"
-#: admin/forms/account.py:256
+#: admin/forms/account.py:269
#, fuzzy
-#| msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. Use the '*' character to create a 'catchall' alias (ex: *@domain.tld)."
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
+#| msgid ""
+#| "Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+#| "to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+#| "*@domain.tld)."
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для"
+" добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Ошибочный запрос"
-#: admin/forms/account.py:265
+#: admin/forms/account.py:278
#, fuzzy
-#| msgid "Mailbox(es) this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgid "Additional sender address(es) for this account. The user will be allowed to send emails using this address, even if it does not exist locally. Indicate one address per input. Press ENTER to add a new input."
-msgstr "Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для добавления."
+#| msgid ""
+#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
+#| "press ENTER to add a new input."
+msgid ""
+"Additional sender address(es) for this account. The user will be allowed to "
+"send emails using this address, even if it does not exist locally. Indicate "
+"one address per input. Press ENTER to add a new input."
+msgstr ""
+"Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
+"добавления."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Домен не существует"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "Домен не существует"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Домен(ы)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Домен(ы) администрируемые пользователем"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
msgstr "Основные"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Профиль"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "Почта"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Права"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "аккаунт изменен"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Новый аккаунт"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Аккаунт создан"
@@ -545,72 +620,90 @@ msgstr "Е-майл адрес"
#: admin/forms/alias.py:25
#, fuzzy
-#| msgid "The alias address (without the domain part). For a 'catch-all' address, just enter an * character."
-msgid "The alias address. To create a catchall alias, just enter the domain name (@domain.tld)."
-msgstr "Адреса синонимов (без доменной части). Для указания адреса 'для всех' введите символ *"
+#| msgid ""
+#| "The alias address (without the domain part). For a 'catch-all' address, just"
+#| " enter an * character."
+msgid ""
+"The alias address. To create a catchall alias, just enter the domain name "
+"(@domain.tld)."
+msgstr ""
+"Адреса синонимов (без доменной части). Для указания адреса 'для всех' "
+"введите символ *"
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Получатели"
-#: admin/forms/alias.py:33
+#: admin/forms/alias.py:34
#, fuzzy
-#| msgid "Mailbox(es) this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgid "Addresses this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для добавления."
+#| msgid ""
+#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
+#| "press ENTER to add a new input."
+msgid ""
+"Addresses this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
+"добавления."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Получатель не определен"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr ""
-#: admin/forms/domain.py:34
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Синоним(ы) этого домена. Вводите одно имя за раз. Нажмите ENTER для добавления."
+#: admin/forms/domain.py:38
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+msgstr ""
+"Синоним(ы) этого домена. Вводите одно имя за раз. Нажмите ENTER для "
+"добавления."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:52
-msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."
+#: admin/forms/domain.py:57
+msgid ""
+"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
+"GB. A value of 0 means no quota."
msgstr ""
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr ""
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr ""
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr ""
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Автоматически создаст администратора для этого домена"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -619,55 +712,59 @@ msgstr "Автоматически создаст администратора
msgid "Name"
msgstr "Логин"
-#: admin/forms/domain.py:241
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Имя администратора. Не включайте имя домена оно будет добавлено автоматически."
+#: admin/forms/domain.py:255
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Имя администратора. Не включайте имя домена оно будет добавлено "
+"автоматически."
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Generate a random password for the administrator."
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Создание синонимов"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Автоматически создает стандартные синонимы для этого домена"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Неверный формат"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Домен изменен"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Опции"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Новый домен"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Домен создан"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Разделитель"
@@ -675,23 +772,25 @@ msgstr "Разделитель"
msgid "Recipient(s)"
msgstr "Получатели"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Укажите одного или нескольких получателей, разделенных запятой ','"
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Сохранить локальную копию"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr "Перенаправление сообщения, и сохранение копии в вашем локальном почтовом ящике"
+msgstr ""
+"Перенаправление сообщения, и сохранение копии в вашем локальном почтовом "
+"ящике"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Выберите файл"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Продолжать при ошибке"
@@ -699,7 +798,7 @@ msgstr "Продолжать при ошибке"
msgid "Don't treat duplicated objects as error"
msgstr "Не исправлять дублирующийся объект при ошибке"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Шифровать пароль"
@@ -707,97 +806,97 @@ msgstr "Шифровать пароль"
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "Выберите эту опцию если пароль в вашем файле не зашифрован "
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
msgstr "Почтовый ящик %s существует"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, fuzzy, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Пользователи"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Перенаправленые"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr ""
-#: admin/lib.py:138
+#: admin/lib.py:141
#, fuzzy
#| msgid "You can't delete your own domain"
msgid "You are not allowed to import domains"
msgstr "Вы не можете удалить собственный домен"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Объект уже существует: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d объектов импортировано"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
@@ -806,25 +905,25 @@ msgstr ""
msgid "DKIM path non-writable"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
#, fuzzy
#| msgid "Domain modified"
msgid "Domain has no MX record"
msgstr "Домен изменен"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr ""
@@ -833,162 +932,157 @@ msgstr ""
msgid "[modoboa] MX issue(s) for domain {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
msgstr "Домен изменен"
-#: admin/models/alias.py:37
-#, fuzzy
-#| msgid "Alias with this name already exists"
-msgid "An alias with this name already exists."
-msgstr "Синоним с таким именем уже есть"
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "адрес"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
#, fuzzy
#| msgid "The alias name"
msgid "The alias address."
msgstr "Имя синонима"
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "Разрешен"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Отметить для активации синонима"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Описание"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr ""
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "Синоним"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
#, fuzzy
#| msgid "Invalid request"
msgid "Invalid address"
msgstr "Ошибочный запрос"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
#, fuzzy
#| msgid "Local recipient %s not found"
msgid "Local recipient {}@{} not found"
msgstr "Локальный получатель %s не найден"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
#, fuzzy
#| msgid "Invalid line: %s"
msgid "Invalid line: {}"
msgstr "Неверная строка %s"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "имя"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Имя домена"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Отметить для активации этого домена"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
#, fuzzy
#| msgid "Check to activate this domain"
msgid "Check to enable DNS checks for this domain"
msgstr "Отметить для активации этого домена"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:59
-msgid "If you activate this feature, a DKIM key will be generated for this domain."
+#: admin/models/domain.py:63
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ошибочная строка"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Имя синонима"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "адресат"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Домен этого синонима указывает на"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Неизвестный домен %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Адрес почтового ящика (без @domain.tld)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Ошибка получения места находжения почтового ящика (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "Требуется квота"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
#, fuzzy
#| msgid "Domain created"
msgid "{}: domain quota exceeded"
@@ -998,8 +1092,9 @@ msgstr "Домен создан"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Закрыть"
@@ -1054,9 +1149,9 @@ msgstr "Карантин"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Синонимы доменов"
@@ -1096,7 +1191,7 @@ msgstr "Создать"
msgid "Last login"
msgstr "Последний вход"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Вспомогательный email"
@@ -1107,7 +1202,7 @@ msgstr "Вспомогательный email"
msgid "Not defined"
msgstr "Получатель не определен"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Номер телефона"
@@ -1199,7 +1294,7 @@ msgstr ""
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Дата"
@@ -1225,9 +1320,9 @@ msgstr "Дата создания"
msgid "Last modification date"
msgstr "Дата последней модификации"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Синонимы почтового ящика"
@@ -1285,11 +1380,12 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Нет"
@@ -1297,7 +1393,7 @@ msgstr "Нет"
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Да"
@@ -1312,7 +1408,7 @@ msgid "Administrators"
msgstr "Администраторы"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Удалить это разрешение"
@@ -1355,13 +1451,13 @@ msgstr ""
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
-msgstr "От"
+msgstr "От кого"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Кому"
@@ -1395,9 +1491,10 @@ msgstr "Разрешен"
msgid "Automatically forward emails to another address"
msgstr "Автоматически перенаправлять письма на другой адрес"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Обновление"
@@ -1416,11 +1513,24 @@ msgid "Fullname/Recipient"
msgstr "Полное имя/получатель"
#: admin/templates/admin/import_domains_form.html:6
-msgid "Provide a CSV file where lines respect one of the following formats:
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.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1352,11 +1428,16 @@ msgstr ""
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
-msgid "Modoboa detected that domain %(domain)s is listed by the following DNSBL providers:"
+msgid ""
+"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
+"providers:"
msgstr ""
#: 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)."
+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 ""
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1368,90 +1449,95 @@ msgstr ""
msgid "Search"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr ""
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr ""
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr ""
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: 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 ""
+#: admin/tests/test_mx.py:200
+#, python-format
+msgid "No AAAA record for %s"
+msgstr ""
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr ""
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr ""
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr ""
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] ""
@@ -1463,11 +1549,11 @@ msgstr[3] ""
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] ""
@@ -1475,20 +1561,20 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr ""
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr ""
-#: 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 ""
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] ""
@@ -1496,7 +1582,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr ""
@@ -1504,83 +1590,69 @@ msgstr ""
msgid "Import identities"
msgstr ""
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr ""
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr ""
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr ""
-#: core/api/v1/viewsets.py:61
+#: core/api/v1/serializers.py:40
+#, python-format
+msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
+msgstr ""
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr ""
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr ""
-#: 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 ""
-#: core/api/v2/serializers.py:68
-msgid "md5crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr ""
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr ""
-
-#: 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 ""
#: 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:165
msgid "Invalid syntax"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/api/v2/serializers.py:274
-msgid "Invalid password"
-msgstr ""
-
-#: 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 ""
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -1590,464 +1662,491 @@ msgstr ""
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr ""
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr ""
-#: core/app_settings.py:61 core/app_settings.py:743
-msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:94 core/app_settings.py:768
-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)."
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:122 core/app_settings.py:789
+#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:131
+#: core/app_settings.py:129
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "LDAP settings"
msgstr "IMAP nastavitve brez povezave"
-#: core/app_settings.py:134 core/app_settings.py:802
+#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
msgstr "Naslov strežnika"
-#: 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 ""
-#: core/app_settings.py:141 core/app_settings.py:807
+#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
msgstr "Vrata strežnika"
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:150 core/app_settings.py:814
-msgid "Enable a secondary LDAP server which will be used if the primary one fails"
+#: 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 ""
-#: core/app_settings.py:156 core/app_settings.py:819
+#: core/app_settings.py:153 core/app_settings.py:866
#, fuzzy
#| msgid "Server address"
msgid "Secondary server address"
msgstr "Naslov strežnika"
-#: 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 ""
-#: core/app_settings.py:163 core/app_settings.py:826
+#: core/app_settings.py:161 core/app_settings.py:876
#, fuzzy
#| msgid "Server port"
msgid "Secondary server port"
msgstr "Vrata strežnika"
-#: 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 ""
-#: 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 "Uporabi zavarovano povezavo"
-#: core/app_settings.py:174 core/app_settings.py:835
+#: core/app_settings.py:171 core/app_settings.py:888
#, fuzzy
#| msgid "Use a secured connection to access IMAP server"
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
msgstr "Za dostop do IMAP strežnika, uporabite zavarovano povezavo"
-#: core/app_settings.py:178 core/app_settings.py:838
+#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr ""
-#: core/app_settings.py:188 core/app_settings.py:845
-msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
+#: 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 ""
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:220 core/app_settings.py:869
+#: core/app_settings.py:214 core/app_settings.py:943
#, fuzzy
#| msgid "Connection settings"
msgid "LDAP authentication settings"
msgstr "Nastavitve povezave"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr ""
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr ""
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
-#: core/app_settings.py:927
-msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
-#: core/app_settings.py:981
-msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: core/app_settings.py:282 core/app_settings.py:921
+#: core/app_settings.py:276 core/app_settings.py:1017
#, fuzzy
#| msgid "Connection settings"
msgid "LDAP synchronization settings"
msgstr "Nastavitve povezave"
-#: 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 ""
-#: core/app_settings.py:309 core/app_settings.py:942
-msgid "Enable automatic synchronization between local database and LDAP directory"
+#: core/app_settings.py:302 core/app_settings.py:1047
+msgid ""
+"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:319 core/app_settings.py:950
-msgid "Delete remote LDAP account when local account is deleted, otherwise it will be disabled."
+#: 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 ""
-#: 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 ""
-#: 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)"
+msgid ""
+"The template used to construct an account's DN. It should contain one "
+"placeholder (ie. %(user)s)"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:384 core/app_settings.py:1004
-msgid "Location of the configuration file which contains Dovecot LDAP settings."
+#: core/app_settings.py:374 core/app_settings.py:1134
+msgid ""
+"Location of the configuration file which contains Dovecot LDAP settings."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr ""
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Naslov strežnika"
-#: 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 ""
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr ""
-#: core/app_settings.py:420 core/app_settings.py:1045
+#: core/app_settings.py:408 core/app_settings.py:1202
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr ""
-#: 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 ""
-#: core/app_settings.py:461 core/app_settings.py:1085
-msgid "Allow the administrator to set a threshold (in days) beyond which an account is considered inactive if the user hasn't logged in"
+#: 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 ""
-#: 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 ""
-#: core/app_settings.py:470 core/app_settings.py:1094
-msgid "An account with a last login date greater than this threshold (in days) will be considered as inactive"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/app_settings.py:799
+#: core/app_settings.py:830
msgid "LDAP"
msgstr ""
-#: core/checks/settings_checks.py:6
-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)."
+#: 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 ""
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr ""
@@ -2079,31 +2178,31 @@ msgstr ""
msgid "Missing 2FA verification."
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr ""
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr ""
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr ""
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr ""
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr ""
@@ -2120,20 +2219,20 @@ msgstr ""
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr ""
-#: core/handlers.py:63
+#: core/handlers.py:64
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr ""
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr ""
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr ""
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr ""
@@ -2141,67 +2240,67 @@ msgstr ""
msgid "You can't delete your own account"
msgstr ""
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr ""
-#: core/management/commands/communicate_with_public_api.py:44
+#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
msgstr ""
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr ""
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr ""
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr ""
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr ""
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr ""
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: core/models.py:159
+#: core/models.py:166 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:286
+#: core/models.py:294
#, fuzzy
#| msgid "Unknow migration"
msgid "Unknown"
msgstr "Neznana selitev"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
-#: 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] ""
@@ -2209,7 +2308,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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] ""
@@ -2217,7 +2316,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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] ""
@@ -2225,7 +2324,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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] ""
@@ -2233,55 +2332,55 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr ""
-#: 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 ""
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
msgid "Appication secret"
msgstr ""
@@ -2306,7 +2405,9 @@ msgid "Latest news"
msgstr ""
#: core/templates/core/_latest_news_widget.html:19
-msgid "Visit the official weblog for more information."
+msgid ""
+"Visit the official "
+"weblog for more information."
msgstr ""
#: core/templates/core/api_access.html:3
@@ -2319,7 +2420,9 @@ msgstr ""
#: core/templates/core/api_access.html:7
#, python-format
-msgid "A documentation of the API is available here."
+msgid ""
+"A documentation of the API is available here."
msgstr ""
#: core/templates/core/api_access.html:14
@@ -2331,7 +2434,7 @@ msgstr ""
msgid "Hello %(user)s."
msgstr ""
-#: 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 ""
@@ -2363,7 +2466,7 @@ msgstr ""
msgid "Active users"
msgstr ""
-#: 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 ""
@@ -2391,7 +2494,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: 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 ""
@@ -2410,12 +2513,12 @@ msgstr ""
msgid "Modoboa settings"
msgstr "Nastavitve povezave"
-#: 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 ""
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr ""
@@ -2435,7 +2538,7 @@ msgstr ""
msgid "Click here to update your password"
msgstr ""
-#: 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 ""
@@ -2444,7 +2547,9 @@ msgid "Two-Factor authentication"
msgstr ""
#: 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."
+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 ""
#: core/templates/core/user_security.html:25
@@ -2456,28 +2561,43 @@ msgid "Register"
msgstr ""
#: core/templates/core/user_security.html:33
-msgid "Congratulations! Two-Factor Authentication is now enabled for your account."
+msgid ""
+"Congratulations! Two-Factor Authentication is now enabled for your account."
msgstr ""
#: core/templates/core/user_security.html:38
#: core/templates/core/user_security.html:89
-msgid "The following recovery codes can be used one time each to let you regain 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."
+msgid ""
+"The following recovery codes can be used one time each to let you regain "
+"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 ""
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr ""
+#: 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 ""
+#: 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 ""
#: core/templates/core/user_security.html:65
-msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security."
+msgid ""
+"Two-Factor Authentication (2FA) is not yet activated for your account. "
+"Enabling this feature will increase your account's security."
msgstr ""
#: core/templates/core/user_security.html:73
@@ -2492,67 +2612,71 @@ msgstr ""
msgid "Here are your new recovery codes. "
msgstr ""
+#: core/templates/core/user_security.html:118
+msgid "Confirm your password"
+msgstr ""
+
#: core/templatetags/core_tags.py:34
msgid "Modoboa"
msgstr ""
-#: core/templatetags/core_tags.py:102
+#: core/templatetags/core_tags.py:110
msgid "Logout"
msgstr ""
-#: core/templatetags/core_tags.py:131
+#: core/templatetags/core_tags.py:154
msgid "API"
msgstr ""
-#: core/utils.py:32
+#: core/utils.py:33
msgid "The core part of Modoboa"
msgstr ""
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr ""
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr ""
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr ""
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr ""
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr ""
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr ""
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr ""
-#: 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 ""
-#: dmarc/forms.py:69 dmarc/forms.py:71
+#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
msgstr ""
-#: dmarc/handlers.py:20
+#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
msgstr ""
-#: 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 ""
@@ -2588,11 +2712,11 @@ msgstr ""
msgid "Permanent error"
msgstr ""
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr ""
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr ""
@@ -2664,95 +2788,95 @@ msgstr ""
msgid "Unknown sources / Threats"
msgstr ""
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr ""
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr ""
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr ""
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr ""
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr ""
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr ""
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr ""
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr ""
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr ""
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr ""
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr ""
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr ""
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr ""
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr ""
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr ""
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr ""
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr ""
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr ""
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr ""
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr ""
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr ""
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr ""
@@ -2781,7 +2905,9 @@ msgid "A DNS record has been found but its syntax is not valid:"
msgstr ""
#: 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."
+msgid ""
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2801,7 +2927,7 @@ msgstr "Selitev IMAP"
msgid "hostname of your automx server"
msgstr ""
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr ""
@@ -2809,148 +2935,156 @@ msgstr ""
msgid "Auto configuration records for {}"
msgstr ""
-#: dnstools/views.py:84
+#: dnstools/views.py:80
msgid "DNS configuration for {}"
msgstr ""
-#: imap_migration/api/v2/serializers.py:52
+#: imap_migration/api/v2/serializers.py:117
msgid "Access denied"
msgstr ""
-#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
+#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration"
msgstr "Selitev IMAP"
-#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
+#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
#, fuzzy
#| msgid "IMAP migration"
msgid "Enable IMAP Migration."
msgstr "Selitev IMAP"
-#: imap_migration/app_settings.py:24
+#: imap_migration/app_settings.py:34
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP"
msgstr "IMAP nastavitve brez povezave"
-#: 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 "Concurrent sync jobs"
-#: 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 "The maximum number of concurrent synchronization jobs"
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:53
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter"
msgstr "IMAP nastavitve brez povezave"
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
-msgid "Use a regular expression to explicitly include folders in sync. Example: ^Trash$|Del"
+#: 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 ""
-#: 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 ""
-#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
-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 "
+#: 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 ""
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "IMAP nastavitve brez povezave"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
#, fuzzy
#| msgid "OfflineIMAP settings"
msgid "OfflineIMAP Filter settings"
msgstr "IMAP nastavitve brez povezave"
-#: imap_migration/apps.py:18 imap_migration/apps.py:20
+#: imap_migration/apps.py:18 imap_migration/apps.py:23
#, fuzzy
#| msgid "IMAP migration"
msgid "IMAP Migration"
msgstr "Selitev IMAP"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Povezava z IMAP strežnikom ni uspela: %s"
-#: imap_migration/checks.py:11
-msgid "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+#: imap_migration/checks.py:12
+msgid ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
msgstr ""
-#: imap_migration/checks.py:13
-msgid "Go to the online parameters panel (admin tab) and activate this feature."
+#: imap_migration/checks.py:16
+msgid ""
+"Go to the online parameters panel (admin tab) and activate this feature."
msgstr ""
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "Selitev IMAP"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr ""
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr ""
-#: 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 ""
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr ""
-#: 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 ""
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr ""
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr ""
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr ""
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr ""
@@ -2960,133 +3094,153 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:29 limits/app_settings.py:164
-msgid "Maximum number of allowed domain administrators for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:40 limits/app_settings.py:173
-msgid "Maximum number of allowed domains for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:50 limits/app_settings.py:181
-msgid "Maximum number of allowed domain aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:61 limits/app_settings.py:190
-msgid "Maximum number of allowed mailboxes for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:71 limits/app_settings.py:199
-msgid "Maximum number of allowed aliases for a new administrator. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:81 limits/app_settings.py:206
-msgid "The quota a reseller will be allowed to share between the domains he creates. (0 means no quota)"
+#: 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 ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: limits/app_settings.py:100 limits/app_settings.py:223
-msgid "Maximum number of allowed domain administrators for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:111 limits/app_settings.py:232
-msgid "Maximum number of allowed domain aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:122 limits/app_settings.py:241
-msgid "Maximum number of allowed mailboxes for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/app_settings.py:132 limits/app_settings.py:249
-msgid "Maximum number of allowed aliases for a new domain. (0 to deny any creation, -1 to allow unlimited creations)"
+#: 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 ""
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr ""
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr ""
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr ""
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr ""
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr ""
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr ""
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr ""
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr ""
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr ""
@@ -3099,11 +3253,11 @@ msgstr ""
msgid "Not enough resources"
msgstr ""
-#: 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 ""
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr ""
@@ -3112,91 +3266,91 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: 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 ""
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr ""
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr ""
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr ""
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr ""
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr ""
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr ""
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr ""
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr ""
@@ -3224,203 +3378,209 @@ msgstr ""
msgid "No statistics available"
msgstr ""
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr ""
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr ""
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr ""
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr ""
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr ""
-#: maillog/views.py:64
+#: maillog/views.py:66
#, fuzzy
#| msgid "Unknow migration"
msgid "Unknown graphic set"
msgstr "Neznana selitev"
-#: maillog/views.py:69
+#: maillog/views.py:71
#, fuzzy
#| msgid "Unknow migration"
msgid "Unknown domain"
msgstr "Neznana selitev"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr ""
-#: 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
#, fuzzy
#| msgid "Cancel this account's migration"
msgid "Personal account information"
msgstr "Prekliči selitev računa"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
msgid "Directory is not writable"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
-msgid "Automatically delete a document just after its first download from this interface"
+#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+msgid ""
+"Automatically delete a document just after its first download from this "
+"interface"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
-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."
+#: 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 ""
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr ""
-#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
+#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr ""
-#: 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 ""
-#: pdfcredentials/app_settings.py:77 pdfcredentials/app_settings.py:181
+#: pdfcredentials/app_settings.py:123 pdfcredentials/app_settings.py:251
#, fuzzy
#| msgid "Connection settings"
msgid "Include mail client connection settings"
msgstr "Nastavitve povezave"
-#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
-msgid "Include required SMTP and IMAP connection information to configure a mail client, a tablet or a phone"
+#: 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 ""
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "SMTP server address"
msgstr "Naslov strežnika"
-#: pdfcredentials/app_settings.py:86 pdfcredentials/app_settings.py:191
+#: pdfcredentials/app_settings.py:136 pdfcredentials/app_settings.py:261
#, fuzzy
#| msgid "Address of your IMAP server"
msgid "Address of the SMTP server (hostname or IP)"
msgstr "Naslov vašega IMAP strežnika"
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "SMTP server port"
msgstr "Vrata strežnika"
-#: pdfcredentials/app_settings.py:91 pdfcredentials/app_settings.py:197
+#: pdfcredentials/app_settings.py:145 pdfcredentials/app_settings.py:267
#, fuzzy
#| msgid "Listening port of your IMAP server"
msgid "Listening port of the SMTP server"
msgstr "Vrata vašega IMAP strežnika"
-#: 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
#, fuzzy
#| msgid "Connection settings"
msgid "SMTP connection security"
msgstr "Nastavitve povezave"
-#: 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
#, fuzzy
#| msgid "Connection settings"
msgid "Connection security mechanism"
msgstr "Nastavitve povezave"
-#: 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
#, fuzzy
#| msgid "Server address"
msgid "IMAP server address"
msgstr "Naslov strežnika"
-#: pdfcredentials/app_settings.py:101 pdfcredentials/app_settings.py:209
+#: pdfcredentials/app_settings.py:162 pdfcredentials/app_settings.py:279
#, fuzzy
#| msgid "Address of your IMAP server"
msgid "Address of the IMAP server (hostname or IP)"
msgstr "Naslov vašega IMAP strežnika"
-#: 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
#, fuzzy
#| msgid "Server port"
msgid "IMAP server port"
msgstr "Vrata strežnika"
-#: pdfcredentials/app_settings.py:106 pdfcredentials/app_settings.py:215
+#: pdfcredentials/app_settings.py:171 pdfcredentials/app_settings.py:285
#, fuzzy
#| msgid "Listening port of your IMAP server"
msgid "Listening port of the IMAP server"
msgstr "Vrata vašega IMAP strežnika"
-#: 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
#, fuzzy
#| msgid "Connection settings"
msgid "IMAP connection security"
@@ -3430,15 +3590,15 @@ msgstr "Nastavitve povezave"
msgid "PDF credentials"
msgstr ""
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr ""
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr ""
-#: pdfcredentials/documents.py:71
+#: pdfcredentials/documents.py:84
#, python-format
msgid ""
"\n"
@@ -3447,38 +3607,44 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr ""
-#: 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 ""
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr ""
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr ""
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-#: 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 ""
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr ""
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
@@ -3487,29 +3653,158 @@ msgstr ""
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-#: 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
+msgid "Daily sending limit reached"
+msgstr ""
+
+#: 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:28 postfix_autoreply/forms.py:98
+msgid "This date is over"
+msgstr ""
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+msgid "Must be greater than start date"
+msgstr ""
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+msgid "Automatic replies"
+msgstr ""
+
+#: 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:31
+msgid "Until"
+msgstr ""
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+
+#: postfix_autoreply/forms.py:51
+#, 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:121
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr ""
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/forms.py:140
+msgid "Default content"
+msgstr ""
+
+#: postfix_autoreply/forms.py:142
+#, 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:148
+#, 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:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Auto-reply message"
+msgstr ""
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr ""
+
+#: postfix_autoreply/models.py:15
+msgid "subject"
+msgstr ""
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr ""
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr ""
+
+#: postfix_autoreply/models.py:24
+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 ""
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr ""
-#: relaydomains/handlers.py:85
+#: relaydomains/handlers.py:89
msgid "Transport"
msgstr ""
-#: relaydomains/transport.py:14
+#: relaydomains/transport.py:16
#, fuzzy
#| msgid "Server address"
msgid "target host address"
msgstr "Naslov strežnika"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr ""
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr ""
@@ -3579,7 +3874,9 @@ msgstr ""
#: templates/registration/password_reset_complete.html:8
#, python-format
-msgid "Your password has been set. You may go ahead and sign in now."
+msgid ""
+"Your password has been set. You may go ahead and sign "
+"in now."
msgstr ""
#: templates/registration/password_reset_confirm.html:7
@@ -3587,7 +3884,9 @@ msgid "Change password"
msgstr ""
#: templates/registration/password_reset_confirm.html:17
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
@@ -3599,18 +3898,26 @@ msgid "Resend code"
msgstr ""
#: templates/registration/password_reset_done.html:7
-msgid "
We've emailed you instructions for setting your password, if an account 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.
"
+msgid ""
+"
We've emailed you instructions for setting your password, if an account "
+"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 ""
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
#, python-format
-msgid "To initiate the password reset process for your %(username)s Modoboa account, click the link below:"
+msgid ""
+"To initiate the password reset process for your %(username)s Modoboa "
+"account, click the link below:"
msgstr ""
#: 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."
+msgid ""
+"If clicking the link above doesn't work, please copy and paste the URL in a "
+"new browser window instead."
msgstr ""
#: templates/registration/password_reset_email.html:14
@@ -3630,15 +3937,15 @@ msgstr ""
msgid "Invalid value"
msgstr ""
-#: transport/models.py:16
+#: transport/models.py:15
msgid "pattern"
msgstr ""
-#: transport/models.py:17
+#: transport/models.py:16
msgid "service"
msgstr ""
-#: transport/models.py:18
+#: transport/models.py:17
msgid "next hop"
msgstr ""
@@ -3651,7 +3958,8 @@ msgstr ""
#~ msgstr "IMAP selitev z uporabo IMAP brez povezave"
#~ msgid "Migrate existing mailboxes using IMAP and OfflineIMAP"
-#~ msgstr "Preseli obstoječe poštne predale z uporabo IMAP in IMAP brez povezave"
+#~ msgstr ""
+#~ "Preseli obstoječe poštne predale z uporabo IMAP in IMAP brez povezave"
#~ msgid "Cancel the migration for %s?"
#~ msgstr "Prekličem selitev za %s?"
diff --git a/modoboa/locale/sv/LC_MESSAGES/django.po b/modoboa/locale/sv/LC_MESSAGES/django.po
index 6e9c9af31..a96d14845 100644
--- a/modoboa/locale/sv/LC_MESSAGES/django.po
+++ b/modoboa/locale/sv/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:
# Martin Persson , 2014,2017
# Olle Gustafsson , 2013
@@ -10,528 +10,589 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-20 14:11+0200\n"
+"POT-Creation-Date: 2024-03-15 11:23+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Olle Gustafsson , 2013,2015-2018,2020,2022-2023\n"
"Language-Team: Swedish (http://app.transifex.com/tonio/modoboa/language/sv/)\n"
+"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
+#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
-msgstr "Kvot som delas mellan brevlådor. Kan uttryckas i KB, MB (standard) eller GB. Ett värde på 0 betyder ingen kvot."
+msgstr ""
+"Kvot som delas mellan brevlådor. Kan uttryckas i KB, MB (standard) eller GB."
+" Ett värde på 0 betyder ingen kvot."
-#: admin/api/v1/serializers.py:42
+#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Standardkvot i MB tillämpas på postlådor. Ett värde på 0 betyder ingen kvot."
+msgstr ""
+"Standardkvot i MB tillämpas på postlådor. Ett värde på 0 betyder ingen kvot."
-#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
+#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
msgid "No authorized MX record found for this domain"
msgstr "Ingen auktoriserad MX-post hittades för den här domänen"
-#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
+#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
msgid "Cannot be greater than domain quota"
msgstr "Kan inte vara större än domänkvoten"
-#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
-#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
+#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Åtkomst nekad."
-#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
-#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
-#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
+#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
+#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
#: transport/backends.py:40
msgid "This field is required"
msgstr "Detta fält är obligatoriskt"
-#: admin/api/v1/serializers.py:186
+#: admin/api/v1/serializers.py:235
msgid ""
"List of administered domains (resellers and domain administrators only)."
-msgstr "Lista över administrerade domäner (endast återförsäljare och domänadministratörer)."
+msgstr ""
+"Lista över administrerade domäner (endast återförsäljare och "
+"domänadministratörer)."
-#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
+#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
msgid "Not allowed for this role."
msgstr "Inte tillåtet för denna roll."
-#: admin/api/v1/serializers.py:310
+#: admin/api/v1/serializers.py:375
msgid "Must be equal to mailbox full_address"
msgstr "Måste vara lika med postlådans full_adress"
-#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97
-#: core/forms.py:99
+#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/forms/account.py:186 admin/forms/account.py:188
+#: admin/forms/domain.py:174 admin/forms/domain.py:302
+#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
+#: core/forms.py:106
msgid "This field is required."
msgstr "Detta fält är obligatoriskt."
-#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
+#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
msgid "Local domain {} does not exist"
msgstr "Lokal domän {} finns inte"
-#: admin/api/v1/serializers.py:445
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "En lista över mottagare"
-#: admin/api/v1/serializers.py:492
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
+#, fuzzy
+#| msgid "User '%s' already exists"
+msgid "This alias already exists"
+msgstr "Användare '%s' finns redan"
+
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Du har inte åtkomst till den här domänen."
-#: admin/api/v1/serializers.py:500
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Du har inte tillgång till den här brevlådan."
-#: admin/api/v1/viewsets.py:174
+#: admin/api/v1/viewsets.py:183
msgid "Here is your new Modoboa password: {}"
msgstr "Här är ditt nya Modoboa-lösenord: {}"
-#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
+#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
#, python-format
msgid "User '%s' already exists"
msgstr "Användare '%s' finns redan"
-#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
-#: admin/app_settings.py:237 admin/app_settings.py:245
-#: admin/forms/account.py:351
+#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
+#: admin/app_settings.py:230 admin/app_settings.py:236
+#: admin/forms/account.py:366
msgid "Must be a positive integer"
msgstr "Måste vara ett positivt heltal"
-#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
-#: pdfcredentials/api/v2/serializers.py:50
+#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
+#: pdfcredentials/api/v2/serializers.py:59
msgid "Directory not found."
msgstr "Katalog hittades ej."
-#: admin/api/v2/serializers.py:231
+#: admin/api/v2/serializers.py:234
msgid "Directory non-writable"
msgstr "Katalog är en skrivbar"
-#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
+#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl hittades ej, säkerställ att det är installerat."
-#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
+#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Detta fält tillåter bara giltiga IP-adresser (eller nätverk)"
-#: admin/api/v2/serializers.py:263
+#: admin/api/v2/serializers.py:265
msgid "Please disable imap migration before disabling this option."
msgstr "Inaktivera imap-migrering innan du inaktiverar det här alternativet."
-#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
+#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definiera minst ett auktoriserat nätverk/adress"
-#: admin/api/v2/serializers.py:508
+#: admin/api/v2/serializers.py:511
msgid "A mailbox is required to create aliases."
msgstr "En brevlåda krävs för att skapa alias."
-#: admin/api/v2/serializers.py:649
+#: admin/api/v2/serializers.py:674
msgid "Unknown status"
msgstr "Okänd status"
-#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
-#: admin/forms/account.py:373 admin/forms/alias.py:91
+#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
+#: admin/forms/account.py:386 admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Du saknar åtkomst till denna domän"
-#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
+#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
msgid "You can't delete your own domain"
msgstr "Du kan inre radera din egen domän"
-#: admin/api/v2/viewsets.py:384
+#: admin/api/v2/viewsets.py:392
msgid "No alarm ID provided"
msgstr "Inget larm-ID angett"
-#: admin/api/v2/viewsets.py:389
+#: admin/api/v2/viewsets.py:396
msgid "Received invalid alarm id(s)"
msgstr "Mottog ogiltiga larm-id(n)"
-#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
+#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
-#: limits/app_settings.py:170 limits/constants.py:9
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
+#: limits/app_settings.py:172 limits/constants.py:13
msgid "Domains"
msgstr "Domäner"
-#: admin/app_settings.py:26 admin/app_settings.py:303
+#: admin/app_settings.py:26 admin/app_settings.py:295
msgid "Enable MX checks"
msgstr "Aktivera MX kontroller"
-#: admin/app_settings.py:29 admin/app_settings.py:305
+#: admin/app_settings.py:28 admin/app_settings.py:297
msgid "Check that every domain has a valid MX record"
msgstr "Kontrollerar att varje domän har en giltig MX post"
-#: admin/app_settings.py:34 admin/app_settings.py:309
+#: admin/app_settings.py:32 admin/app_settings.py:304
msgid "Valid MXs"
msgstr "Giltiga MX"
-#: admin/app_settings.py:37 admin/app_settings.py:312
+#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
"A list of IP or network address every MX record should match. A warning will"
" be sent if a record does not respect it."
-msgstr "En lista med IP- eller nätverksadresser som varje MX-post ska matcha. En varning kommer att skickas om en post inte respekterar den."
+msgstr ""
+"En lista med IP- eller nätverksadresser som varje MX-post ska matcha. En "
+"varning kommer att skickas om en post inte respekterar den."
-#: admin/app_settings.py:45 admin/app_settings.py:318
+#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
msgstr "Nya domäner måste använda auktoriserade MX(er)"
-#: admin/app_settings.py:48 admin/app_settings.py:321
+#: admin/app_settings.py:46 admin/app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
-msgstr "Förhindra skapandet av en ny domän om dess MX-post inte använder någon av de definierade adresserna."
+msgstr ""
+"Förhindra skapandet av en ny domän om dess MX-post inte använder någon av de"
+" definierade adresserna."
-#: admin/app_settings.py:54 admin/app_settings.py:326
+#: admin/app_settings.py:52 admin/app_settings.py:329
+#, fuzzy
+#| msgid "Enable SPF checks"
+msgid "Enable IPV6 checks"
+msgstr "Aktivera SPF-kontroller"
+
+#: admin/app_settings.py:54 admin/app_settings.py:332
+msgid "Check if MX setup for ipv6 is valid"
+msgstr ""
+
+#: admin/app_settings.py:58 admin/app_settings.py:339
msgid "Enable SPF checks"
msgstr "Aktivera SPF-kontroller"
-#: admin/app_settings.py:57 admin/app_settings.py:328
+#: admin/app_settings.py:60 admin/app_settings.py:341
msgid "Check if every domain has a valid SPF record"
msgstr "Kontrollera om varje domän har en giltig SPF-post"
-#: admin/app_settings.py:62 admin/app_settings.py:332
+#: admin/app_settings.py:64 admin/app_settings.py:348
msgid "Enable DKIM checks"
msgstr "Aktivera DKIM-kontroller"
-#: admin/app_settings.py:65 admin/app_settings.py:334
+#: admin/app_settings.py:67 admin/app_settings.py:350
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "Kontrollera om alla domäner med DKIM-inloggning aktiverad har en giltig DNS-post"
+msgstr ""
+"Kontrollera om alla domäner med DKIM-inloggning aktiverad har en giltig DNS-"
+"post"
-#: admin/app_settings.py:71 admin/app_settings.py:339
+#: admin/app_settings.py:72 admin/app_settings.py:358
msgid "Enable DMARC checks"
msgstr "Aktivera DMARC-kontroller"
-#: admin/app_settings.py:74 admin/app_settings.py:341
+#: admin/app_settings.py:74 admin/app_settings.py:360
msgid "Check if every domain has a valid DMARC record"
msgstr "Kontrollera om varje domän har en giltig DMARC-post"
-#: admin/app_settings.py:79 admin/app_settings.py:345
+#: admin/app_settings.py:78 admin/app_settings.py:367
msgid "Enable autoconfig checks"
msgstr "Aktivera kontroller av autokonfiguration"
-#: admin/app_settings.py:82 admin/app_settings.py:347
+#: admin/app_settings.py:81 admin/app_settings.py:369
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Kontrollera om varje domän har giltiga poster för autokonfiguration"
-#: admin/app_settings.py:87 admin/app_settings.py:352
+#: admin/app_settings.py:86 admin/app_settings.py:377
msgid "Enable DNSBL checks"
msgstr "Aktivera DNSBL-kontroller"
-#: admin/app_settings.py:90 admin/app_settings.py:354
+#: admin/app_settings.py:88 admin/app_settings.py:379
msgid "Check every domain against major DNSBL providers"
msgstr "Kontrollera varje domän mot stora DNSBL-leverantörer"
-#: admin/app_settings.py:95 admin/app_settings.py:358
+#: admin/app_settings.py:92 admin/app_settings.py:386
msgid "Custom DNS server"
msgstr "Anpassad DNS-server"
-#: admin/app_settings.py:99 admin/app_settings.py:360
+#: admin/app_settings.py:96 admin/app_settings.py:388
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Använd en anpassad DNS-server istället för lokal serverkonfiguration"
-#: admin/app_settings.py:104 admin/app_settings.py:365
+#: admin/app_settings.py:101 admin/app_settings.py:396
msgid "DKIM keys storage directory"
msgstr "DKIM-nycklar lagringskatalog"
-#: admin/app_settings.py:107 admin/app_settings.py:367
+#: admin/app_settings.py:104 admin/app_settings.py:398
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
"world."
-msgstr "Absolut sökväg till katalogen där DKIMs privata nycklar kommer att lagras. Se till att den här katalogen tillhör root-användaren och inte kan läsas av omvärlden."
+msgstr ""
+"Absolut sökväg till katalogen där DKIMs privata nycklar kommer att lagras. "
+"Se till att den här katalogen tillhör root-användaren och inte kan läsas av "
+"omvärlden."
-#: admin/app_settings.py:115 admin/app_settings.py:373
+#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
msgstr "Standard DKIM-nyckellängd"
-#: admin/app_settings.py:119 admin/app_settings.py:375
+#: admin/app_settings.py:115 admin/app_settings.py:409
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Standardlängd i bitar för nyligen genererade DKIM-nycklar."
-#: admin/app_settings.py:124 admin/app_settings.py:379
+#: admin/app_settings.py:119 admin/app_settings.py:416
msgid "Default domain quota"
msgstr "Standard domänkvota"
-#: admin/app_settings.py:127 admin/app_settings.py:381
+#: admin/app_settings.py:122 admin/app_settings.py:418
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
-msgstr "Standardkvot (i MB) tillämpas på nyskapade domäner utan värde angivet. Ett värde på 0 betyder ingen kvot."
+msgstr ""
+"Standardkvot (i MB) tillämpas på nyskapade domäner utan värde angivet. Ett "
+"värde på 0 betyder ingen kvot."
-#: admin/app_settings.py:133 admin/app_settings.py:386
+#: admin/app_settings.py:128 admin/app_settings.py:426
msgid "Default domain sending limit"
msgstr "Standardgräns för domänsändning"
-#: admin/app_settings.py:136 admin/app_settings.py:388
+#: admin/app_settings.py:131 admin/app_settings.py:428
msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
-msgstr "Antal meddelanden som nyskapade domäner tillåts skicka per dag. Lämna tomt utan gräns."
+msgstr ""
+"Antal meddelanden som nyskapade domäner tillåts skicka per dag. Lämna tomt "
+"utan gräns."
-#: admin/app_settings.py:141 admin/app_settings.py:395
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
-#: limits/app_settings.py:119 limits/app_settings.py:187
-#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
+#: admin/app_settings.py:136 admin/app_settings.py:440
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
+#: limits/app_settings.py:111 limits/app_settings.py:195
+#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
msgid "Mailboxes"
msgstr "Brevlådor"
-#: admin/app_settings.py:144 admin/app_settings.py:398
+#: admin/app_settings.py:139 admin/app_settings.py:446
msgid "Handle mailboxes on filesystem"
msgstr "Hantera brevlådor på filsystemet"
-#: admin/app_settings.py:147 admin/app_settings.py:400
+#: admin/app_settings.py:142 admin/app_settings.py:448
msgid ""
"Rename or remove mailboxes on the filesystem when they get renamed or "
"removed within Modoboa"
-msgstr "Byt namn på eller ta bort postlådor i filsystemet när de byter namn eller tas bort inom Modoboa"
+msgstr ""
+"Byt namn på eller ta bort postlådor i filsystemet när de byter namn eller "
+"tas bort inom Modoboa"
-#: admin/app_settings.py:153 admin/app_settings.py:405
-#: admin/forms/domain.py:49 admin/models/domain.py:32
+#: admin/app_settings.py:148 admin/app_settings.py:456
+#: admin/forms/domain.py:54 admin/models/domain.py:36
#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Standard brevlådekvota"
-#: admin/app_settings.py:156
+#: admin/app_settings.py:151
msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
-msgstr "Standardpostlådekvot (i MB) tillämpas på nyskapade postlådor utan något värde angivet. Ett värde på 0 betyder ingen kvot."
+msgstr ""
+"Standardpostlådekvot (i MB) tillämpas på nyskapade postlådor utan något "
+"värde angivet. Ett värde på 0 betyder ingen kvot."
-#: admin/app_settings.py:162 admin/app_settings.py:413
+#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
msgstr "Standardgräns för postlådans sändning"
-#: admin/app_settings.py:165 admin/app_settings.py:415
+#: admin/app_settings.py:160 admin/app_settings.py:469
msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
-msgstr "Antal meddelanden som nyskapade brevlådor tillåts skicka per dag. Lämna tomt utan gräns."
+msgstr ""
+"Antal meddelanden som nyskapade brevlådor tillåts skicka per dag. Lämna tomt"
+" utan gräns."
-#: admin/app_settings.py:171 admin/app_settings.py:420
+#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
msgstr "Automatisk kontoradering"
-#: admin/app_settings.py:174 admin/app_settings.py:422
+#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr "När en brevlåda tas bort, ta också bort det associerade kontot"
-#: admin/app_settings.py:178 admin/app_settings.py:426
+#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Automatisk domän-/brevlådeskapande"
-#: admin/app_settings.py:181 admin/app_settings.py:428
+#: admin/app_settings.py:177 admin/app_settings.py:491
msgid ""
"Create a domain and a mailbox when an account is automatically created."
msgstr "Skapa en domän och en postlåda när ett konto skapas automatiskt."
-#: admin/app_settings.py:187 admin/app_settings.py:434
+#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
msgstr "Skapa ett alias när en postlåda döps om"
-#: admin/app_settings.py:190 admin/app_settings.py:436
+#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr "Skapa ett alias med den gamla adressen när en postlåda byts namn."
-#: admin/app_settings.py:407
+#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
-msgstr "Standardpostlådekvot (i MB) tillämpas på nyskapade domäner utan värde angivet. Ett värde på 0 betyder ingen kvot."
+msgstr ""
+"Standardpostlådekvot (i MB) tillämpas på nyskapade domäner utan värde "
+"angivet. Ett värde på 0 betyder ingen kvot."
-#: admin/app_settings.py:451 admin/app_settings.py:453
+#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Administration"
-#: admin/constants.py:28 admin/forms/alias.py:43
+#: admin/constants.py:23 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domän"
-#: admin/constants.py:29
+#: admin/constants.py:24
msgid "Relay domain"
msgstr "Relädomän"
-#: admin/constants.py:44
+#: admin/constants.py:39
msgid "Opened"
msgstr "Öppnad"
-#: admin/constants.py:45
+#: admin/constants.py:40
msgid "Closed"
msgstr "Stängd"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:23 pdfcredentials/documents.py:80
+#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:21 pdfcredentials/documents.py:98
msgid "Username"
msgstr "Användarnamn"
-#: admin/forms/account.py:34
+#: admin/forms/account.py:31
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
-msgstr "Användarens namn. Måste vara en giltig e-postadress för enkla användare eller administratörer med en brevlåda."
+msgstr ""
+"Användarens namn. Måste vara en giltig e-postadress för enkla användare "
+"eller administratörer med en brevlåda."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Roll"
-#: admin/forms/account.py:40
+#: admin/forms/account.py:37
msgid "Choose"
msgstr "Välj"
-#: admin/forms/account.py:41
+#: admin/forms/account.py:38
msgid "What level of permission this user will have"
msgstr "Vilken behörighetsnivå denna användare kommer att ha"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: admin/forms/account.py:41 admin/forms/domain.py:262
msgid "Random password"
msgstr "Slumpmässigt lösenord"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:43
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
-msgstr "Skapa ett slumpmässigt lösenord. Om du uppdaterar det här kontot och markerar den här rutan kommer ett nytt lösenord att skapas."
+msgstr ""
+"Skapa ett slumpmässigt lösenord. Om du uppdaterar det här kontot och "
+"markerar den här rutan kommer ett nytt lösenord att skapas."
-#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
+#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Lösenord"
-#: admin/forms/account.py:57 core/forms.py:48
+#: admin/forms/account.py:55 core/forms.py:45
msgid "Confirmation"
msgstr "Bekräftelse"
-#: admin/forms/account.py:60
+#: admin/forms/account.py:57
msgid "Enter the same password as above, for verification."
msgstr "Ange samma lösenord som ovan, för verifiering."
-#: admin/forms/account.py:72
+#: admin/forms/account.py:71
msgid "Enabled"
msgstr "Aktiverad"
-#: admin/forms/account.py:167
+#: admin/forms/account.py:175
msgid "Only super administrators are allowed for this mode"
msgstr "Endast superadministratörer är tillåtna för detta läge"
-#: admin/forms/account.py:186
+#: admin/forms/account.py:193
msgid "The two password fields didn't match."
msgstr "De två lösenordsfälten matchade inte."
-#: admin/forms/account.py:199
+#: admin/forms/account.py:206
msgid "You can't disable your own account"
msgstr "Du kan inte inaktivera ditt eget konto"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:234
msgid "E-mail"
msgstr "E-post"
-#: admin/forms/account.py:228
+#: admin/forms/account.py:236
msgid "Create an alias using the old address"
msgstr "Skapa ett alias med den gamla adressen"
-#: admin/forms/account.py:233 admin/forms/domain.py:41
+#: admin/forms/account.py:241 admin/forms/domain.py:46
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
-#: limits/app_settings.py:204 limits/constants.py:30
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
+#: limits/app_settings.py:218 limits/constants.py:59
msgid "Quota"
msgstr "Kvota"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:244
msgid ""
"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
" custom value or use domain's default one. Leave empty to define an "
"unlimited value (not allowed for domain administrators)."
-msgstr "Kvot för denna brevlåda, kan uttryckas i KB, MB (standard) eller GB. Definiera ett anpassat värde eller använd domänens standardvärde. Lämna tomt för att definiera ett obegränsat värde (inte tillåtet för domänadministratörer)."
+msgstr ""
+"Kvot för denna brevlåda, kan uttryckas i KB, MB (standard) eller GB. "
+"Definiera ett anpassat värde eller använd domänens standardvärde. Lämna tomt"
+" för att definiera ett obegränsat värde (inte tillåtet för "
+"domänadministratörer)."
-#: admin/forms/account.py:246 admin/models/domain.py:36
-#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:254 admin/models/domain.py:39
+#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Gräns för sändning av meddelanden"
-#: admin/forms/account.py:250 admin/models/mailbox.py:101
+#: admin/forms/account.py:257 admin/models/mailbox.py:95
msgid "Number of messages this mailbox can send per day"
msgstr "Antal meddelanden som denna brevlåda kan skicka per dag"
-#: admin/forms/account.py:253 admin/forms/domain.py:31
+#: admin/forms/account.py:262
+msgid "Block IMAP connection and incoming mails for this mailbox"
+msgstr ""
+
+#: admin/forms/account.py:266 admin/forms/domain.py:35
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:256
+#: admin/forms/account.py:269
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
-msgstr "Alias för denna brevlåda. Ange endast en adress per ingång, tryck ENTER för att lägga till en ny ingång. För att skapa ett catchall-alias anger du bara domännamnet (@domain.tld)."
+msgstr ""
+"Alias för denna brevlåda. Ange endast en adress per ingång, tryck ENTER för "
+"att lägga till en ny ingång. För att skapa ett catchall-alias anger du bara "
+"domännamnet (@domain.tld)."
-#: admin/forms/account.py:262
+#: admin/forms/account.py:275
msgid "Sender addresses"
msgstr "Avsändaradress(er)"
-#: admin/forms/account.py:265
+#: admin/forms/account.py:278
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
-msgstr "Ytterligare avsändaradresser för detta konto. Användaren kommer att tillåtas skicka e-post med denna adress, även om den inte finns lokalt. Ange en adress per fält. Tryck på ENTER för att lägga till ytterligare ett fält.."
+msgstr ""
+"Ytterligare avsändaradresser för detta konto. Användaren kommer att tillåtas"
+" skicka e-post med denna adress, även om den inte finns lokalt. Ange en "
+"adress per fält. Tryck på ENTER för att lägga till ytterligare ett fält.."
-#: admin/forms/account.py:325 admin/forms/alias.py:88
-#: admin/models/mailbox.py:313
+#: admin/forms/account.py:339 admin/forms/alias.py:95
+#: admin/models/mailbox.py:308
msgid "Domain does not exist"
msgstr "Domänen existerar inte"
-#: admin/forms/account.py:361
+#: admin/forms/account.py:376
msgid "Local domain does not exist"
msgstr "Lokal domän existerar inte"
-#: admin/forms/account.py:476
+#: admin/forms/account.py:503
msgid "Domain(s)"
msgstr "Domän(er)"
-#: admin/forms/account.py:478
+#: admin/forms/account.py:505
msgid "Domain(s) that user administrates"
msgstr "Domäner användaren administrerar"
-#: admin/forms/account.py:525 admin/forms/account.py:615
-#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
-#: core/apps.py:21 imap_migration/app_settings.py:14
-#: imap_migration/app_settings.py:64 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
+#: admin/forms/account.py:552 admin/forms/account.py:652
+#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
+#: core/apps.py:24 imap_migration/app_settings.py:17
+#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
+#: postfix_autoreply/forms.py:118
msgid "General"
-msgstr "Allmänt"
+msgstr "Generellt"
-#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:116
+#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:133
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:533 admin/forms/account.py:621
+#: admin/forms/account.py:566 admin/forms/account.py:659
msgid "Mail"
msgstr "E-post"
-#: admin/forms/account.py:536
+#: admin/forms/account.py:573
msgid "Permissions"
msgstr "Rättigheter"
-#: admin/forms/account.py:604
+#: admin/forms/account.py:642
msgid "Account updated"
msgstr "Konto uppdaterat"
-#: admin/forms/account.py:629
+#: admin/forms/account.py:668
msgid "New account"
msgstr "Nytt konto"
-#: admin/forms/account.py:639
+#: admin/forms/account.py:679
msgid "Account created"
msgstr "Konto skapat"
@@ -547,74 +608,82 @@ msgstr "E-postadress"
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
-msgstr "Aliasadressen. För att skapa ett catchall-alias anger du bara domännamnet (@domain.tld)."
+msgstr ""
+"Aliasadressen. För att skapa ett catchall-alias anger du bara domännamnet "
+"(@domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Mottagare"
-#: admin/forms/alias.py:33
+#: admin/forms/alias.py:34
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
-msgstr "Adresser som detta alias kommer att peka på. Ange endast en adress per ingång, tryck ENTER för att lägga till en ny ingång."
+msgstr ""
+"Adresser som detta alias kommer att peka på. Ange endast en adress per "
+"ingång, tryck ENTER för att lägga till en ny ingång."
-#: admin/forms/alias.py:114
+#: admin/forms/alias.py:119
msgid "No recipient defined"
msgstr "Ingen mottagare definierad"
-#: admin/forms/domain.py:28
+#: admin/forms/domain.py:32
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:34
+#: admin/forms/domain.py:38
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
-msgstr "Alias för denna domän. Ange endast ett namn per ingång, tryck på ENTER för att lägga till en ny ingång."
+msgstr ""
+"Alias för denna domän. Ange endast ett namn per ingång, tryck på ENTER för "
+"att lägga till en ny ingång."
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:43
msgid "Key selector"
msgstr "Nyckelväljare"
-#: admin/forms/domain.py:52
+#: admin/forms/domain.py:57
msgid ""
"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
"GB. A value of 0 means no quota."
-msgstr "Standardkvot tillämpas på postlådor. Kan uttryckas i KB, MB (standard) eller GB. Ett värde på 0 betyder ingen kvot."
+msgstr ""
+"Standardkvot tillämpas på postlådor. Kan uttryckas i KB, MB (standard) eller"
+" GB. Ett värde på 0 betyder ingen kvot."
-#: admin/forms/domain.py:97 admin/handlers.py:166
+#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
msgstr "domän alias"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: admin/forms/domain.py:109 admin/forms/domain.py:185
+#: admin/forms/domain.py:192
#, python-format
msgid "A %s with this name already exists"
msgstr "En %s med detta namn finns redan"
-#: admin/forms/domain.py:120
+#: admin/forms/domain.py:130
msgid "DKIM keys storage directory not configured"
msgstr "Lagringskatalogen för DKIM-nycklar är inte konfigurerad"
-#: admin/forms/domain.py:155
+#: admin/forms/domain.py:166
msgid "You can't define an unlimited quota."
msgstr "Du kan inte definiera en obegränsad kvot."
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
msgid "domain"
msgstr "domän"
-#: admin/forms/domain.py:230
+#: admin/forms/domain.py:246
msgid "Create a domain administrator"
msgstr "Skapa en domänadministratör"
-#: admin/forms/domain.py:233
+#: admin/forms/domain.py:248
msgid "Automatically create an administrator for this domain"
msgstr "Skapar automatiskt en administratör för den här domänen"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -623,53 +692,55 @@ msgstr "Skapar automatiskt en administratör för den här domänen"
msgid "Name"
msgstr "Namn"
-#: admin/forms/domain.py:241
+#: admin/forms/domain.py:255
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
-msgstr "Administratörens namn. Inkludera inte domänens namn här, det kommer att läggas till automatiskt. "
+msgstr ""
+"Administratörens namn. Inkludera inte domänens namn här, det kommer att "
+"läggas till automatiskt. "
-#: admin/forms/domain.py:251
+#: admin/forms/domain.py:264
msgid "Generate a random password for the administrator."
msgstr "Generera ett slumpmässigt lösenord för administratören."
-#: admin/forms/domain.py:257
+#: admin/forms/domain.py:269
msgid "With a mailbox"
msgstr "Med en brevlåda"
-#: admin/forms/domain.py:260
+#: admin/forms/domain.py:271
msgid "Create a mailbox for the administrator."
msgstr "Skapa en brevlåda för administratören"
-#: admin/forms/domain.py:266
+#: admin/forms/domain.py:276
msgid "Create aliases"
msgstr "Skapa alias"
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:278
msgid "Automatically create standard aliases for this domain"
msgstr "Skapa automatiskt standard alias för den här domänen"
-#: admin/forms/domain.py:285
+#: admin/forms/domain.py:294
msgid "Invalid format"
msgstr "Ogiltigt format"
-#: admin/forms/domain.py:426
+#: admin/forms/domain.py:433
msgid "Domain modified"
msgstr "Domän ändrad"
-#: admin/forms/domain.py:447
+#: admin/forms/domain.py:458
msgid "Options"
msgstr "Val"
-#: admin/forms/domain.py:455
+#: admin/forms/domain.py:467
msgid "New domain"
msgstr "Ny domän"
-#: admin/forms/domain.py:468
+#: admin/forms/domain.py:481
msgid "Domain created"
msgstr "Domän skapad"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: admin/forms/export.py:9 admin/forms/import_.py:12
msgid "Separator"
msgstr "Avgränsare"
@@ -677,23 +748,23 @@ msgstr "Avgränsare"
msgid "Recipient(s)"
msgstr "Mottagare"
-#: admin/forms/forward.py:16
+#: admin/forms/forward.py:15
msgid "Indicate one or more recipients separated by a ','"
msgstr "Ange en eller flera mottagare avgränsade med ett \",\""
-#: admin/forms/forward.py:19
+#: admin/forms/forward.py:18
msgid "Keep local copies"
msgstr "Spara lokala kopior"
-#: admin/forms/forward.py:22
+#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr "Vidarebefordra meddelanden och lagra kopior i din lokala brevlåda"
-#: admin/forms/import_.py:11
+#: admin/forms/import_.py:10
msgid "Select a file"
msgstr "Välj en fil"
-#: admin/forms/import_.py:19
+#: admin/forms/import_.py:18
msgid "Continue on error"
msgstr "Fortsätt vid fel"
@@ -701,101 +772,102 @@ msgstr "Fortsätt vid fel"
msgid "Don't treat duplicated objects as error"
msgstr "Behandla inte duplicerade objekt som fel"
-#: admin/forms/import_.py:38
+#: admin/forms/import_.py:37
msgid "Crypt passwords"
msgstr "Crypt lösenord"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Markera det här alternativet om lösenorden i din fil inte är krypterade"
+msgstr ""
+"Markera det här alternativet om lösenorden i din fil inte är krypterade"
-#: admin/handlers.py:215
+#: admin/handlers.py:233
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Kontoimport misslyckades (%s): domänen existerar inte"
-#: admin/handlers.py:228 admin/models/mailbox.py:342
+#: admin/handlers.py:248 admin/models/mailbox.py:340
msgid "Mailbox {} already exists"
msgstr "Brevlåda {} finns redan"
-#: admin/handlers.py:236
+#: admin/handlers.py:257
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Kontoimport misslyckades (%s): fel kvota värde"
-#: admin/handlers.py:276
+#: admin/handlers.py:298
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identiteter"
-#: admin/handlers.py:292 admin/templates/admin/forward.html:2
+#: admin/handlers.py:316 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Vidarebefordra"
-#: admin/lib.py:48
+#: admin/lib.py:47
msgid "A mailbox is required"
msgstr "En brevlåda krävs"
-#: admin/lib.py:138
+#: admin/lib.py:141
msgid "You are not allowed to import domains"
msgstr "Du får inte importera domäner"
-#: admin/lib.py:149
+#: admin/lib.py:150
msgid "You are not allowed to import domain aliases."
msgstr "Du får inte importera domänalias."
-#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Ingen DNS-post hittades för %s"
-#: admin/lib.py:202
+#: admin/lib.py:204
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Inga %(type)s poster för %(name)s"
-#: admin/lib.py:206 admin/tests/test_mx.py:156
+#: admin/lib.py:208 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Inga fungerande namnservrar hittades"
-#: admin/lib.py:209 admin/tests/test_mx.py:158
+#: admin/lib.py:211 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS uppslag timeout, det går inte att fråga %s för tillfället"
-#: admin/lib.py:212
+#: admin/lib.py:215
#, python-format
msgid "DNS name is too long: %s"
msgstr "DNS namn är för långt: %s"
-#: admin/lib.py:239
+#: admin/lib.py:246
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Ogiltigt IP-adressformat för {domain}; {addr}"
-#: admin/lib.py:309
+#: admin/lib.py:319
#, python-format
msgid "Object already exists: %s"
msgstr "Objekt finns redan: %s"
-#: admin/lib.py:313
+#: admin/lib.py:323
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objekt har importerats framgångsrikt"
-#: admin/management/commands/subcommands/_import.py:93
+#: admin/management/commands/subcommands/_import.py:99
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr "CSV-filen är inte kodad i UTF-8, försöker gissa kodning"
-#: admin/management/commands/subcommands/_import.py:105
+#: admin/management/commands/subcommands/_import.py:114
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Läser CSV fil med %(encoding)s kodning"
-#: admin/management/commands/subcommands/_import.py:116
+#: admin/management/commands/subcommands/_import.py:125
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Det gick inte att avkoda CSV-fil med %(encoding)s kodning"
@@ -804,23 +876,23 @@ msgstr "Det gick inte att avkoda CSV-fil med %(encoding)s kodning"
msgid "DKIM path non-writable"
msgstr "DKIM sökväg ej skrivbar"
-#: admin/management/commands/subcommands/_mx.py:121
+#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} listad av DNSBL-leverantör {}"
-#: admin/management/commands/subcommands/_mx.py:169
+#: admin/management/commands/subcommands/_mx.py:174
msgid "Domain has no MX record"
msgstr "Domänen har ingen MX-post"
-#: admin/management/commands/subcommands/_mx.py:173
+#: admin/management/commands/subcommands/_mx.py:177
msgid "Domain {} has no MX record"
msgstr "Domänen {} har ingen MX-post"
-#: admin/management/commands/subcommands/_mx.py:193
+#: admin/management/commands/subcommands/_mx.py:195
msgid "Invalid MX record: {}"
msgstr "Ogiltig MX-post: {}"
-#: admin/management/commands/subcommands/_mx.py:199
+#: admin/management/commands/subcommands/_mx.py:202
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "MX-posten för domänen {0} är ogiltig: {1}"
@@ -829,149 +901,147 @@ msgstr "MX-posten för domänen {0} är ogiltig: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX-problem för domän {}"
-#: admin/management/commands/subcommands/_mx.py:271
+#: admin/management/commands/subcommands/_mx.py:269
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL-problem för domänen {}"
-#: admin/models/alias.py:32
+#: admin/models/alias.py:36
msgid "Domain not found."
msgstr "Domän hittades ej."
-#: admin/models/alias.py:37
-msgid "An alias with this name already exists."
-msgstr "Ett alias med detta namn finns redan."
-
-#: admin/models/alias.py:71 admin/models/mailbox.py:92
+#: admin/models/alias.py:91 admin/models/mailbox.py:85
msgid "address"
msgstr "adress"
-#: admin/models/alias.py:73
+#: admin/models/alias.py:93
msgid "The alias address."
msgstr "Alias-adressen"
-#: admin/models/alias.py:78 admin/models/domain.py:43
-#: admin/models/domain_alias.py:41
+#: admin/models/alias.py:97 admin/models/domain.py:45
+#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
msgid "enabled"
msgstr "aktiverad"
-#: admin/models/alias.py:79 admin/models/domain_alias.py:42
+#: admin/models/alias.py:98 admin/models/domain_alias.py:46
msgid "Check to activate this alias"
msgstr "Markera för att aktivera detta alias"
-#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Beskrivning"
-#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Går ut"
-#: admin/models/alias.py:127
+#: admin/models/alias.py:144
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:159
+#: admin/models/alias.py:177
msgid "Invalid address"
msgstr "Ogiltig adress"
-#: admin/models/alias.py:180
+#: admin/models/alias.py:196
msgid "Local recipient {}@{} not found"
msgstr "Den lokala mottagaren {}@{} hittades inte"
-#: admin/models/alias.py:215
+#: admin/models/alias.py:245
msgid "Invalid line: {}"
msgstr "Ogiltig rad: {}"
-#: admin/models/domain.py:26 admin/models/domain_alias.py:33
+#: admin/models/domain.py:27 admin/models/domain_alias.py:33
msgid "name"
msgstr "namn"
-#: admin/models/domain.py:27
+#: admin/models/domain.py:30
msgid "The domain name"
msgstr "Domännamnet"
-#: admin/models/domain.py:39
+#: admin/models/domain.py:42
msgid "Number of messages this domain can send per day"
msgstr "Antal meddelanden som denna domän kan skicka per dag"
-#: admin/models/domain.py:44
+#: admin/models/domain.py:46
msgid "Check to activate this domain"
msgstr "Markera för att aktivera denna domän"
-#: admin/models/domain.py:49
+#: admin/models/domain.py:51
msgid "Enable DNS checks"
msgstr "Aktivera DNS-kontroller"
-#: admin/models/domain.py:50
+#: admin/models/domain.py:53
msgid "Check to enable DNS checks for this domain"
msgstr "Markera för att aktivera DNS-kontroller för den här domänen"
-#: admin/models/domain.py:57
+#: admin/models/domain.py:61
msgid "Enable DKIM signing"
msgstr "Aktivera DKIM-signering"
-#: admin/models/domain.py:59
+#: admin/models/domain.py:63
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
-msgstr "Om du aktiverar den här funktionen kommer en DKIM-nyckel att genereras för den här domänen."
+msgstr ""
+"Om du aktiverar den här funktionen kommer en DKIM-nyckel att genereras för "
+"den här domänen."
-#: admin/models/domain.py:65
+#: admin/models/domain.py:70
msgid "Key length"
msgstr "Nyckellängd"
-#: admin/models/domain.py:357 admin/models/domain_alias.py:66
-#: core/models.py:320 relaydomains/lib.py:13
+#: admin/models/domain.py:368 admin/models/domain_alias.py:70
+#: core/models.py:329 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ogiltig rad"
-#: admin/models/domain.py:367
+#: admin/models/domain.py:378
msgid "{}: no authorized MX record found for domain"
msgstr "{}: ingen auktoriserad MX-post hittades för domänen"
-#: admin/models/domain.py:374
+#: admin/models/domain.py:383
msgid "{}: invalid quota value for domain"
msgstr "{}: ogiltigt kvotvärde för domänen"
-#: admin/models/domain.py:381
+#: admin/models/domain.py:388
msgid "{}: invalid default mailbox quota value for domain"
msgstr "{}: ogiltigt standardvärde för postlådekvot för domänen"
-#: admin/models/domain.py:386
+#: admin/models/domain.py:395
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "{}: standardpostlådekvoten kan inte vara större än domänkvoten"
-#: admin/models/domain_alias.py:34
+#: admin/models/domain_alias.py:36
msgid "The alias name"
msgstr "Aliasnamn"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:40
msgid "target"
msgstr "mottagare"
-#: admin/models/domain_alias.py:37
+#: admin/models/domain_alias.py:41
msgid "The domain this alias points to"
msgstr "Domänen som detta alias pekar på"
-#: admin/models/domain_alias.py:75
+#: admin/models/domain_alias.py:79
#, python-format
msgid "Unknown domain %s"
msgstr "Okänd domän %s"
-#: admin/models/mailbox.py:94
+#: admin/models/mailbox.py:87
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Mailbox-adress (utan @domain.tld-delen)"
-#: admin/models/mailbox.py:156
+#: admin/models/mailbox.py:153
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Det gick inte att hämta postlådans plats (%s)"
-#: admin/models/mailbox.py:254
+#: admin/models/mailbox.py:249
msgid "A quota is required"
msgstr "En kvot krävs"
-#: admin/models/mailbox.py:261
+#: admin/models/mailbox.py:256
msgid "{}: domain quota exceeded"
msgstr "{}: domänkvoten har överskridits"
@@ -1028,9 +1098,9 @@ msgstr "Antal"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
-#: limits/app_settings.py:108 limits/app_settings.py:178
-#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
+#: limits/app_settings.py:101 limits/app_settings.py:183
+#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
msgid "Domain aliases"
msgstr "Domän alias"
@@ -1065,7 +1135,7 @@ msgstr "Skapad"
msgid "Last login"
msgstr "Senaste inloggad"
-#: admin/templates/admin/account_detail.html:38 core/models.py:69
+#: admin/templates/admin/account_detail.html:38 core/models.py:70
msgid "Secondary email"
msgstr "Sekundär e-post"
@@ -1074,7 +1144,7 @@ msgstr "Sekundär e-post"
msgid "Not defined"
msgstr "Ej definierat"
-#: admin/templates/admin/account_detail.html:41 core/models.py:67
+#: admin/templates/admin/account_detail.html:41 core/models.py:68
msgid "Phone number"
msgstr "Telefonnummer"
@@ -1152,7 +1222,7 @@ msgstr "Öppnade alarm för"
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
msgid "Date"
msgstr "Datum"
@@ -1176,9 +1246,9 @@ msgstr "Skapad datum"
msgid "Last modification date"
msgstr "Senast ändrad datum"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
-#: limits/app_settings.py:129 limits/app_settings.py:196
-#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
+#: limits/app_settings.py:120 limits/app_settings.py:207
+#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
msgid "Mailbox aliases"
msgstr "Brevlådealias"
@@ -1236,10 +1306,11 @@ msgstr "Varning"
#: admin/templates/admin/domain_detail.html:139
msgid ""
"DKIM keys already exist for this domain. Do you want to overwrite them?"
-msgstr "DKIM-nycklar finns redan för den här domänen. Vill du skriva över dem?"
+msgstr ""
+"DKIM-nycklar finns redan för den här domänen. Vill du skriva över dem?"
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:397
+#: lib/form_utils.py:400
msgid "No"
msgstr "Nej"
@@ -1247,7 +1318,7 @@ msgstr "Nej"
msgid "Generate new key"
msgstr "Skapa ny nyckel"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
msgid "Yes"
msgstr "Ja"
@@ -1260,7 +1331,7 @@ msgid "Administrators"
msgstr "Administratörer"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:279
+#: admin/templatetags/admin_tags.py:306
msgid "Remove this permission"
msgstr "Ta bort denna behörighet"
@@ -1297,13 +1368,13 @@ msgstr "Kö ID"
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:104
+#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
msgid "From"
msgstr "Från"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:105
+#: lib/templatetags/lib_tags.py:118
msgid "To"
msgstr "Till"
@@ -1334,9 +1405,10 @@ msgstr "inaktiverat"
msgid "Automatically forward emails to another address"
msgstr "Vidarebefordra e-postmeddelanden automatiskt till en annan adress"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
msgid "Update"
msgstr "Uppdatera"
@@ -1361,7 +1433,13 @@ msgid ""
"verify recipients
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.
"
-msgstr "Ange en CSV-fil där raderna respekterar ett av följande format:
domän; namn; kvota; standard mailbox kvota; aktiverad
Det första elementet i varje rad är "
+"obligatoriskt och måste vara lika med ett av de tidigare värdena.
Du "
+"kan använda ett annat tecken som avgränsare.
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1399,7 +1483,8 @@ msgstr "Uppdaterad"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr "Denna IP matchar inte någon av de giltiga MX som definieras i parametrar"
+msgstr ""
+"Denna IP matchar inte någon av de giltiga MX som definieras i parametrar"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1410,14 +1495,19 @@ msgstr "Ingen MX-post hittades för den här domänen."
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
-msgstr "Modoboa upptäckte att domänen %(domain)s listas av följande DNSBL-leverantörer:"
+msgstr ""
+"Modoboa upptäckte att domänen %(domain)s listas av följande DNSBL-"
+"leverantörer:"
#: 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 "Domänens rykte kommer att påverkas och det finns en chans att e-postmeddelanden som kommer från den betraktas som spam. Du bör kontakta dessa leverantörer och be dem att ta bort upptäckta IP-adresser."
+msgstr ""
+"Domänens rykte kommer att påverkas och det finns en chans att "
+"e-postmeddelanden som kommer från den betraktas som spam. Du bör kontakta "
+"dessa leverantörer och be dem att ta bort upptäckta IP-adresser."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -1428,90 +1518,96 @@ msgstr "Modoboa upptäckte att domänen %(domain)s saknar en giltig MX-post:"
msgid "Search"
msgstr "Sök"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
msgstr "nabled_m"
-#: admin/templatetags/admin_tags.py:19
+#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
msgstr "enabled_f"
-#: admin/templatetags/admin_tags.py:47
+#: admin/templatetags/admin_tags.py:46
msgid "List domains"
msgstr "Lista domäner"
-#: 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 "Lista kvoter"
-#: admin/templatetags/admin_tags.py:57
+#: admin/templatetags/admin_tags.py:60
msgid "Message logs"
msgstr "Meddelandeloggar"
-#: 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 "Importera"
-#: 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 "Exportera"
-#: admin/templatetags/admin_tags.py:107
+#: admin/templatetags/admin_tags.py:116
msgid "List identities"
msgstr "Lista identiteter"
-#: admin/templatetags/admin_tags.py:142
+#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
msgstr "Visa domänens identiteter"
-#: admin/templatetags/admin_tags.py:149
+#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
msgstr "Visa domänens larm"
-#: 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 "Redigera {}"
-#: 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 "Radera %s?"
-#: admin/tests/test_mx.py:155
+#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
msgstr "Ingen MX-post 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 "Ogiltigt 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 "Ingen MX-post för %s"
+
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Alias med detta namn finns redan"
-#: admin/views/alias.py:55
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Skapa"
-#: admin/views/alias.py:67
+#: admin/views/alias.py:64
msgid "New alias"
msgstr "Nytt alias"
-#: admin/views/alias.py:68
+#: admin/views/alias.py:64
msgid "Alias created"
msgstr "Alias skapat"
-#: admin/views/alias.py:80
+#: admin/views/alias.py:76
msgid "Alias modified"
msgstr "Alias uppdaterat"
-#: admin/views/alias.py:105
+#: admin/views/alias.py:101
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias raderat"
@@ -1521,36 +1617,36 @@ msgstr[1] "Alias raderat"
msgid "MX records of {}"
msgstr "MX-poster för {}"
-#: admin/views/dns.py:51
+#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
msgstr "DNSBL-sammanfattning för {}"
-#: admin/views/domain.py:250
+#: admin/views/domain.py:251
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domän raderad"
msgstr[1] "Domän raderad"
-#: admin/views/export.py:38
+#: admin/views/export.py:40
msgid "Export identities"
msgstr "Exportera identiteter"
-#: admin/views/export.py:66
+#: admin/views/export.py:69
msgid "Export domains"
msgstr "Exportera domäner"
-#: 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 "Ogiltig förfrågan"
-#: admin/views/identity.py:194
+#: admin/views/identity.py:187
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Konto raderat"
msgstr[1] "Konto raderat"
-#: admin/views/import_.py:55
+#: admin/views/import_.py:56
msgid "Import domains"
msgstr "Importera domäner"
@@ -1558,84 +1654,71 @@ msgstr "Importera domäner"
msgid "Import identities"
msgstr "Importera identiteter"
-#: admin/views/user.py:52
+#: admin/views/user.py:51
msgid "Forward updated"
msgstr "Vidarebefordring uppdaterad"
-#: core/api/v1/serializers.py:16
+#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
msgstr "Ogiltig PIN-kod"
-#: core/api/v1/serializers.py:22
+#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr "2FA redan aktiverat"
-#: 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 "Misslyckades anslutningsförsök från '%s' som användare '%s'"
+
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr "Ogiltigt lösenordd"
+
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
msgstr "2FA är nu aktiverat"
-#: 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 (svag)"
-
-#: core/api/v2/serializers.py:69
-msgid "sha256 (weak)"
-msgstr "sha256 (svag)"
-
-#: core/api/v2/serializers.py:70
-msgid "md5 (weak)"
-msgstr "md5 (svag)"
-
-#: core/api/v2/serializers.py:71
-msgid "crypt (weak)"
-msgstr "crypt (svag)"
-
-#: core/api/v2/serializers.py:72
-msgid "plain (weak)"
-msgstr "plain (svag)"
-
-#: 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 "Användarprofil"
#: 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:165
msgid "Invalid syntax"
msgstr "Ogiltig 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 "Ogiltigt antal omgångar"
-#: 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 "Denna kod är ogiltig"
-#: core/api/v2/serializers.py:274
-msgid "Invalid password"
-msgstr "Ogiltigt lösenordd"
-
-#: 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 "Använd följande kod för att återställa ditt Modoboa lösenord: {}"
-#: core/api/v2/views.py:54
+#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr "Misslyckades anslutningsförsök från '%s' som användare '%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 "Användare '%s' har loggat in"
-#: 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 "Fel lösenordsschema. Uppdaterar %s lösenord"
@@ -1645,478 +1728,517 @@ msgstr "Fel lösenordsschema. Uppdaterar %s lösenord"
msgid "Password hash parameter missmatch. Updating %s password"
msgstr "Fel lösenordshash. Uppdaterar %s lösenord"
-#: core/app_settings.py:39 core/app_settings.py:728
+#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
msgstr "Autentisering"
-#: core/app_settings.py:42 core/app_settings.py:731
+#: core/app_settings.py:47 core/app_settings.py:722
msgid "Authentication type"
msgstr "Autentiseringstyp"
-#: 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 "Autentiserings backend"
-#: 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 lösenords schema"
-#: 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 "Krypteringsschema för brevlåde lösenord"
-#: core/app_settings.py:58 core/app_settings.py:741
+#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
msgstr "Antal omgångar"
-#: 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 "Antal omgångar att använda (används endast av sha256crypt och sha512crypt). Måste vara mellan 1000 och 999999999."
+msgstr ""
+"Antal omgångar att använda (används endast av sha256crypt och sha512crypt). "
+"Måste vara mellan 1000 och 999999999."
-#: 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 "Uppdatera lösenordsschema vid inloggning"
-#: 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 "Uppdatera användarlösenord vid inloggning för att använda standard schema"
+msgstr ""
+"Uppdatera användarlösenord vid inloggning för att använda standard schema"
-#: core/app_settings.py:75 core/app_settings.py:756
+#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
msgstr "Standardlösenord"
-#: 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 "Standardlösenord för automatiskt skapade konton."
-#: 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 "Slumpmässig längd på lösenord"
-#: 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ängd på slumpmässigt genererat lösenord"
-#: 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 "Uppdatera lösenords 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 "Webbadressen till en extern sida där användare kan uppdatera sitt lösenord. Det gäller endast icke-lokala användare, dvs. de som skapas automatiskt efter en lyckad extern autentisering (LDAP, SMTP)."
+msgstr ""
+"Webbadressen till en extern sida där användare kan uppdatera sitt lösenord. "
+"Det gäller endast icke-lokala användare, dvs. de som skapas automatiskt "
+"efter en lyckad extern autentisering (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 "Meddelande om återställning av lösenord"
-#: 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 "Ett tillfälligt meddelande som kommer att visas på sidan för återställning av lösenord."
+msgstr ""
+"Ett tillfälligt meddelande som kommer att visas på sidan för återställning "
+"av lösenord."
-#: 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 "Aktivera lösenordsåterställning via 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 "Aktivera återställning av lösenord via SMS för användare som fyllt i ett telefonnummer."
+msgstr ""
+"Aktivera återställning av lösenord via SMS för användare som fyllt i ett "
+"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 provider"
-#: 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 "Välj en leverantör för att skicka SMS för lösenordsåterställning"
-#: core/app_settings.py:131
+#: core/app_settings.py:129
msgid "LDAP settings"
msgstr "LDAP inställningar"
-#: 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 adress"
-#: 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 adressen eller DNS namn för LDAP server"
-#: 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 "TCP port som används av LDAP servern"
-#: 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 "Aktivera sekundär server (reserv)"
-#: 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 "Aktivera en sekundär LDAP-server som kommer att användas om den primära misslyckas"
+msgstr ""
+"Aktivera en sekundär LDAP-server som kommer att användas om den primära "
+"misslyckas"
-#: 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 "Sekundär serveradress"
-#: 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 "IP-adressen eller DNS-namnet på den sekundära LDAP-servern"
-#: 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 "Sekundär serverport"
-#: 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 "TCP-portnumret som används av LDAP sekundärserver"
-#: 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 "Använd en säker anslutning"
-#: 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 "Använd en SSL / STARTTLS-anslutning för att komma åt LDAP-servern"
-#: 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 "Berätta om LDAP-servern är en Active Directory"
-#: core/app_settings.py:185 core/app_settings.py:843
+#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
msgstr "Administratörsgrupper"
-#: 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 "Användare av dessa LDAP Posix grupper kommer skapas som domänadministratörer. Använd ';' för att separera grupper."
+msgstr ""
+"Användare av dessa LDAP Posix grupper kommer skapas som "
+"domänadministratörer. Använd ';' för att separera grupper."
-#: core/app_settings.py:195 core/app_settings.py:851
+#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
msgstr "Grupptyp"
-#: 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 "Välj LDAP grupptyp att använda med din katalog"
-#: 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 "Grupper sökbas"
-#: 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 "Det unika namnet för sökbasen som används för att hitta grupper"
-#: core/app_settings.py:213 core/app_settings.py:864
+#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
msgstr "Lösenordsattribut"
-#: 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 "Attribut som används för att lagra användarlösenord"
-#: 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 autentiseringsinställningar"
-#: core/app_settings.py:223 core/app_settings.py:874
+#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
msgstr "Autentiseringsmetod"
-#: core/app_settings.py:224 core/constants.py:59
+#: core/app_settings.py:219 core/constants.py:59
msgid "Search and bind"
msgstr "Sök och bind"
-#: core/app_settings.py:225 core/constants.py:60
+#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
msgstr "Direkt bindning"
-#: 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 "Välj autentiseringsmetod att använda"
-#: 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 "Det unika namnet för att använda vid bindningar till LDAP-servern. Lämna tomt för en anonym bindning"
+msgstr ""
+"Det unika namnet för att använda vid bindningar till LDAP-servern. Lämna "
+"tomt för en anonym bindning"
-#: 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 lösenord"
-#: 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 "Lösenordet ska användas vid bindning till LDAP-servern (med \"Bind DN ')"
+msgstr ""
+"Lösenordet ska användas vid bindning till LDAP-servern (med \"Bind DN ')"
-#: 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 "Användare sökbas"
-#: 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 "Det unika namnet för sökbasen som används för att hitta användare"
-#: 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 "Sökfilter"
-#: 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 "En valfri filtersträng (t.ex. \"(objectClass = personer) '). För att vara giltigt måste det omges av parenteser."
+msgstr ""
+"En valfri filtersträng (t.ex. \"(objectClass = personer) '). För att vara "
+"giltigt måste det omges av parenteser."
-#: 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 "Anvädar DN mall"
-#: 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 "Mallen som används för att konstruera en användares DN. Den bör innehålla en platshållare (dvs. %(user)s)"
+msgstr ""
+"Mallen som används för att konstruera en användares DN. Den bör innehålla en"
+" platshållare (dvs. %(user)s)"
-#: 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 synkroniseringsinställningar"
-#: 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 "Aktivera export till LDAP"
-#: 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 "Aktivera automatisk synkronisering mellan lokal databas och LDAP-katalog"
+msgstr ""
+"Aktivera automatisk synkronisering mellan lokal databas och LDAP-katalog"
-#: 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 "Ta bort fjärran LDAP-konto när lokalt konto raderas"
-#: 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 "Radera LDAP-fjärrkonto när det lokala kontot raderas, annars inaktiveras det."
+msgstr ""
+"Radera LDAP-fjärrkonto när det lokala kontot raderas, annars inaktiveras "
+"det."
-#: 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 "DN-mall för kontot"
-#: 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 "Mallen som används för att skapa ett kontos DN. Den ska innehålla en platshållare (ex.%(user)s)"
+msgstr ""
+"Mallen som används för att skapa ett kontos DN. Den ska innehålla en "
+"platshållare (ex.%(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 "Aktiver import från LDAP"
-#: 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 "Aktivera kontosynkronisering från LDAP-katalog till lokal databas"
-#: core/app_settings.py:363 core/app_settings.py:987
+#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
msgstr "Attribut för användarnamn"
-#: 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 "Namnet på LDAP-attributet där användarnamnet finns."
-#: 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 "Aktivera Dovecot LDAP-synkronisering"
-#: 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-autentiseringsinställningar tillämpas på Dovecot-konfigurationen."
+msgstr ""
+"LDAP-autentiseringsinställningar tillämpas på Dovecot-konfigurationen."
-#: 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-konfigurationsfil"
-#: 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 "Plats för konfigurationsfilen som innehåller Dovecot LDAP-inställningar."
+msgstr ""
+"Plats för konfigurationsfilen som innehåller Dovecot LDAP-inställningar."
-#: 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 "Kontrollpanel"
-#: 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 "Användardefinierat RSS-flöde"
-#: 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 "Visa användardefinierat RSS-flöde för återförsäljare och domänadministratörer"
+msgstr ""
+"Visa användardefinierat RSS-flöde för återförsäljare och "
+"domänadministratörer"
-#: 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 "Dölj egenskaper widget"
-#: 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 "Dölj egenskaper widget för återförsäljare och domänadministratörer"
-#: core/app_settings.py:407 core/app_settings.py:1032
+#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
msgstr "Notifikationer"
-#: core/app_settings.py:410 core/app_settings.py:1035
+#: core/app_settings.py:400 core/app_settings.py:1183
msgid "Sender address"
msgstr "Avsändaradress"
-#: 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-postadress som används till att skicka notifikationer."
-#: core/app_settings.py:417 core/app_settings.py:1042
+#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
msgstr "Publikt 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 "Aktivera kommunikation"
-#: core/app_settings.py:423
+#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
msgstr "Aktivera kommunikation med Modoboa publikt API"
-#: 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 "Kontrollera nya versioner"
-#: 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 "Kontrollera automatiskt om en nyare version finns"
-#: 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 "Skicka ett mejl när nya versioner hittas"
-#: 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 "Skicka ett e-postmeddelande för att meddela administratörer om nya versioner"
+msgstr ""
+"Skicka ett e-postmeddelande för att meddela administratörer om nya versioner"
-#: core/app_settings.py:441 core/app_settings.py:1064
+#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
msgstr "Mottagare"
-#: 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 "Mottagare av e-postmeddelanden om nya versioner."
-#: core/app_settings.py:449 core/app_settings.py:1071
+#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
msgstr "Skicka statistik"
-#: 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 "Skicka statistik för Modoboas publika API (räknare och använda tillägg)"
+msgstr ""
+"Skicka statistik för Modoboas publika API (räknare och använda tillägg)"
-#: core/app_settings.py:456 core/app_settings.py:1080
+#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
msgstr "Övrigt"
-#: 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 "Aktivera spårning av inaktiva konton"
-#: 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 "Tillåt administratören att ställa in en tröskel (i dagar) över vilken ett konto anses inaktivt om användaren inte har loggat in"
+msgstr ""
+"Tillåt administratören att ställa in en tröskel (i dagar) över vilken ett "
+"konto anses inaktivt om användaren inte har loggat in"
-#: 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 "Gräns för inaktiva konton"
-#: 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 "Ett konto som inte har loggat in innan denna gräns (antal dagar) kommer anses som inaktivt"
+msgstr ""
+"Ett konto som inte har loggat in innan denna gräns (antal dagar) kommer "
+"anses som inaktivt"
-#: 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 "Toppnotifikationer kontrollintervall"
-#: 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 mellan två toppnotifikationskontroller (i sekunder)"
-#: 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 "Maximal ålder för loggpost"
-#: 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 "Maximal ålder i dagar för en logg post"
-#: 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 "Artiklar per sida"
-#: 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 "Antal poster som visas per sida"
-#: 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 "Standard topp omdirigering"
-#: 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 "Standard omdirigering när ingen applikation angetts"
-#: 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 "Du måste ange USE_TZ till False, detta kan leda till problem under övergångar mellan sommar / vintertid (dvs samma lokal tid som uppträder två gånger på grund av klockbyte)."
+msgstr ""
+"Du måste ange USE_TZ till False, detta kan leda till problem under "
+"övergångar mellan sommar / vintertid (dvs samma lokal tid som uppträder två "
+"gånger på grund av klockbyte)."
-#: core/checks/settings_checks.py:9
+#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Ange `USE_TZ = True` i settings.py"
@@ -2148,31 +2270,31 @@ msgstr "Dummy"
msgid "Missing 2FA verification."
msgstr "2FA-verifiering saknas."
-#: core/forms.py:40
+#: core/forms.py:35
msgid "Old password"
msgstr "Gammalt lösenord"
-#: core/forms.py:44
+#: core/forms.py:40
msgid "New password"
msgstr "Nytt lösenord"
-#: core/forms.py:76
+#: core/forms.py:79
msgid "Old password mismatchs"
msgstr "Gammalt lösenord matchar inte"
-#: core/forms.py:89
+#: core/forms.py:92
msgid "Passwords mismatch"
msgstr "Lösenord matchar inte"
-#: core/forms.py:118
+#: core/forms.py:124
msgid "Enable API access"
msgstr "Aktivera API access"
-#: core/forms.py:152
+#: core/forms.py:170
msgid "Verification code"
msgstr "Verifikationskod"
-#: core/forms.py:163
+#: core/forms.py:181
msgid "Invalid code"
msgstr "Ogiltig kod"
@@ -2189,20 +2311,20 @@ msgstr "ändrad"
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s av användare %(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 av"
-#: core/handlers.py:65
+#: core/handlers.py:67
msgid "deleted"
msgstr "raderad"
-#: core/handlers.py:69
+#: core/handlers.py:71
msgid "user {}"
msgstr "användare {}"
-#: core/handlers.py:71
+#: core/handlers.py:73
msgid "management command"
msgstr "management kommando"
@@ -2210,137 +2332,138 @@ msgstr "management kommando"
msgid "You can't delete your own account"
msgstr "Du kan inte radera ditt eget konto"
-#: core/handlers.py:131
+#: core/handlers.py:128
msgid "One or more updates are available"
msgstr "En eller fler uppdateringar finns tillgängliga"
-#: 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] Uppdatering(ar) finns"
-#: core/models.py:52
+#: core/models.py:55
msgid "Allow mailboxes access"
msgstr "Tillåt åtkomst till brevlådor"
-#: core/models.py:54
+#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
msgstr "Tillåt den här administratören att ändra användares brevlådor"
-#: core/models.py:57
+#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
msgstr "lösenord"
-#: core/models.py:60
+#: core/models.py:62
msgid "language"
msgstr "språk"
-#: core/models.py:63
+#: core/models.py:66
msgid "Prefered language to display pages."
msgstr "Önskat språk för att visa sidor."
-#: core/models.py:72
+#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "En alternativ e-post adress, kan användas för återställningsbehov."
-#: core/models.py:126
+#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
msgstr "Misslyckades med att uppdatera lösenord: LDAP modul ej installerad"
-#: 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 "Okänt"
-#: core/models.py:328
+#: core/models.py:337
msgid "You can't import an account with a role greater than yours"
msgstr "Du kan inte importera konto med en roll större än din"
-#: core/models.py:343
+#: core/models.py:352
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Den enkla användaren '%s' måste ha en gällande e-postadress"
-#: core/models.py:348
+#: core/models.py:359
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "användarnamn och e-post fält får inte avvika för '%s'"
-#: 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] "Lösenord måste hålla minst {} siffra."
msgstr[1] "Lösenord måste hålla minst {} siffror."
-#: 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] "Lösenord måste innehålla minst {} gemen."
msgstr[1] "Lösenord måste innehålla minst {} gemener."
-#: 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] "Lösenord måste innhåla minst {} versal."
msgstr[1] "Lösenord måste innhåla minst {} versaler."
-#: 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] "Lösenord måste innehålla minst {} specialtecken."
msgstr[1] "Lösenord måste innehålla minst {} specialtecken."
-#: core/password_validation.py:65
+#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr "Ditt lösenord måste innehålla en kombination av olika typer av tecken."
+msgstr ""
+"Ditt lösenord måste innehålla en kombination av olika typer av tecken."
-#: 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 endpoint"
-#: 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 Europe"
-#: 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 Nordamerika"
-#: 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 "Applikationsnyckel"
-#: core/sms_backends/ovh.py:44
+#: core/sms_backends/ovh.py:41
msgid "Application secret"
msgstr "Applikationshemlighet"
-#: 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 "Konsumentnyckel"
-#: core/sms_backends/ovh.py:111
+#: core/sms_backends/ovh.py:116
msgid "Appication secret"
msgstr "Applikationshemlighet"
@@ -2368,7 +2491,9 @@ msgstr "Senaste nytt"
msgid ""
"Visit the official "
"weblog for more information."
-msgstr "Besök den officiella bloggen för mer information."
+msgstr ""
+"Besök den officiella"
+" bloggen för mer information."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2383,7 +2508,9 @@ msgstr "Kontrollera din åtskomst till Modoboa API"
msgid ""
"A documentation of the API is available here."
-msgstr "Dokumentation över API:et finns här."
+msgstr ""
+"Dokumentation över API:et finns här."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -2394,7 +2521,7 @@ msgstr "API åtkomst token"
msgid "Hello %(user)s."
msgstr "Hej %(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"
@@ -2408,7 +2535,8 @@ msgstr "En eller flera uppdateringar finns tillgängliga!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "Kontrollera följande lista för att se de komponenter som kan uppdateras."
+msgstr ""
+"Kontrollera följande lista för att se de komponenter som kan uppdateras."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2426,7 +2554,7 @@ msgstr "Senaste version"
msgid "Active users"
msgstr "Aktiva användare"
-#: 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 "Loggar"
@@ -2449,10 +2577,14 @@ msgid ""
msgid_plural ""
"\n"
" The following updates are available:\n"
-msgstr[0] "\n Följande uppdateringar finns tillgängliga:\n"
-msgstr[1] "\n Följande uppdateringar finns tillgängliga:\n"
+msgstr[0] ""
+"\n"
+" Följande uppdateringar finns tillgängliga:\n"
+msgstr[1] ""
+"\n"
+" Följande uppdateringar finns tillgängliga:\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 "Parametrar"
@@ -2469,12 +2601,12 @@ msgstr "Spara"
msgid "Modoboa settings"
msgstr "Modoboa inställningar"
-#: 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 "Inställningar"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:120
+#: core/templatetags/core_tags.py:139
msgid "Preferences"
msgstr "Inställningar"
@@ -2494,7 +2626,7 @@ msgstr "Uppdatera personlig information"
msgid "Click here to update your password"
msgstr "Klicka här för att uppdatera ditt lösenord"
-#: 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 "Säkerhet"
@@ -2506,7 +2638,10 @@ msgstr "Tvåfaktorsautentisering"
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 "Installera en mjuk token-autentisering som FreeOTP eller Google Authenticator från ditt programförråd och använd den appen för att skanna den här QR-koden."
+msgstr ""
+"Installera en mjuk token-autentisering som FreeOTP eller Google "
+"Authenticator från ditt programförråd och använd den appen för att skanna "
+"den här QR-koden."
#: core/templates/core/user_security.html:25
msgid "Pin code"
@@ -2528,16 +2663,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 "Följande återställningskoder kan användas en gång var för att låta dig återfå åtkomst till ditt konto, om du till exempel skulle tappa din telefon. Se till att spara dem på ett säkert ställe, annars kommer du inte att kunna komma åt ditt konto längre."
+msgstr ""
+"Följande återställningskoder kan användas en gång var för att låta dig "
+"återfå åtkomst till ditt konto, om du till exempel skulle tappa din telefon."
+" Se till att spara dem på ett säkert ställe, annars kommer du inte att kunna"
+" komma åt ditt konto längre."
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
msgstr "Tvåfaktorsautentisering är aktiverat för ditt konto."
+#: 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 "Inaktivera 2FA"
+#: 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 "Återställ återställningskoder"
@@ -2546,7 +2693,9 @@ msgstr "Återställ återställningskoder"
msgid ""
"Two-Factor Authentication (2FA) is not yet activated for your account. "
"Enabling this feature will increase your account's security."
-msgstr "Tvåfaktorsautentisering (2FA) har inte aktiverats för ditt konto. Aktivering ökar ditt kontos säkerhet."
+msgstr ""
+"Tvåfaktorsautentisering (2FA) har inte aktiverats för ditt konto. Aktivering"
+" ökar ditt kontos säkerhet."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2560,67 +2709,74 @@ msgstr "Nya återställningskoder"
msgid "Here are your new recovery codes. "
msgstr "Här är dina nya återställningskoder."
+#: core/templates/core/user_security.html:118
+#, fuzzy
+#| msgid "Crypt passwords"
+msgid "Confirm your password"
+msgstr "Crypt lösenord"
+
#: 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 "Logga ut"
-#: 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 "Kärnan av Modoboa"
-#: core/views/admin.py:43
+#: core/views/admin.py:42
msgid "Parameters saved"
msgstr "Parametrar sparade"
-#: core/views/auth.py:100
+#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr "Ditt användarnamn och lösenord matchar inte. Var vänlig försök igen."
-#: core/views/auth.py:135
+#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
msgstr "Användare '{}' loggade ut framgångsrikt"
-#: core/views/user.py:59
+#: core/views/user.py:55
msgid "Profile updated"
msgstr "Profil uppdaterad"
-#: core/views/user.py:88
+#: core/views/user.py:89
msgid "Preferences saved"
msgstr "Inställningar sparade"
-#: core/views/user.py:110
+#: core/views/user.py:118
msgid "Access updated"
msgstr "Åtkomst uppdaterad"
-#: dmarc/forms.py:38 dmarc/forms.py:51
+#: dmarc/forms.py:36 dmarc/forms.py:50
msgid "DNS settings"
msgstr "DNS-inställningar"
-#: dmarc/forms.py:41 dmarc/forms.py:54
+#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
msgstr "Aktivera omvända sökningar"
-#: 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 "Aktivera omvända DNS-sökningar (rapporter kommer att vara längre att visa)"
+msgstr ""
+"Aktivera omvända DNS-sökningar (rapporter kommer att vara längre att visa)"
-#: 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 "Visa DMARC-rapport för {}"
-#: 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 "Ej löst"
@@ -2656,11 +2812,11 @@ msgstr "Tillfälligt fel"
msgid "Permanent error"
msgstr "Permanent fel"
-#: dmarc/models.py:25
+#: dmarc/models.py:24
msgid "Policy"
msgstr "Policy"
-#: dmarc/models.py:29
+#: dmarc/models.py:26
msgid "Soft failure"
msgstr "Mjukt fel"
@@ -2732,95 +2888,95 @@ msgstr "Vidarebefordrare med ARC"
msgid "Unknown sources / Threats"
msgstr "Okända källor / hot"
-#: dnstools/lib.py:78
+#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
msgstr "Fel syntax för ip4-mekanismen"
-#: dnstools/lib.py:82
+#: dnstools/lib.py:86
msgid "Wrong IPv4 address format"
msgstr "Wrong IPv4 address format"
-#: dnstools/lib.py:88
+#: dnstools/lib.py:92
msgid "Wrong ip6 mechanism syntax"
msgstr "Fel syntax för ip6-mekanismen"
-#: dnstools/lib.py:93
+#: dnstools/lib.py:97
msgid "Wrong IPv6 address format"
msgstr "Fel IPv6-adressformat"
-#: dnstools/lib.py:108 dnstools/lib.py:134
+#: dnstools/lib.py:111 dnstools/lib.py:136
msgid "Invalid syntax for {} mechanism"
msgstr "Ogiltig syntax för {}-mekanismen"
-#: dnstools/lib.py:110
+#: dnstools/lib.py:113
msgid "Invalid mask found {}"
msgstr "Ogiltig mask hittades {}"
-#: dnstools/lib.py:155
+#: dnstools/lib.py:157
msgid "Not an SPF record"
msgstr "Inte ett SPF-rekord"
-#: dnstools/lib.py:177
+#: dnstools/lib.py:179
msgid "Unknown mechanism {}"
msgstr "Okänd mekanism {}"
-#: dnstools/lib.py:179
+#: dnstools/lib.py:181
msgid "Unknown modifier {}"
msgstr "Okänd modifierare {}"
-#: dnstools/lib.py:182
+#: dnstools/lib.py:184
msgid "Duplicate modifier {} found"
msgstr "Dubblettmodifierare {} hittades"
-#: dnstools/lib.py:186
+#: dnstools/lib.py:188
msgid "No mechanism found"
msgstr "Ingen mekanism hittades"
-#: dnstools/lib.py:193
+#: dnstools/lib.py:195
msgid "Not a valid DKIM record"
msgstr "Inte en giltig DKIM-post"
-#: dnstools/lib.py:201 dnstools/lib.py:254
+#: dnstools/lib.py:203 dnstools/lib.py:256
msgid "Invalid tag {}"
msgstr "Ogiltig tagg {}"
-#: dnstools/lib.py:206
+#: dnstools/lib.py:208
msgid "No key found in record"
msgstr "Ingen nyckel hittades i posten"
-#: dnstools/lib.py:213
+#: dnstools/lib.py:215
msgid "Wrong value {} for tag {}"
msgstr "Fel värde {} för tagg {}"
-#: dnstools/lib.py:228
+#: dnstools/lib.py:230
msgid "Wrong value {} for tag {}:"
msgstr "Fel värde {} för tagg {}:"
-#: dnstools/lib.py:232
+#: dnstools/lib.py:234
msgid " not an integer"
msgstr "inte ett heltal"
-#: dnstools/lib.py:235
+#: dnstools/lib.py:236
msgid " less than {}"
msgstr "mindre än {}"
-#: dnstools/lib.py:238
+#: dnstools/lib.py:239
msgid " greater than {}"
msgstr "större än {}"
-#: dnstools/lib.py:246
+#: dnstools/lib.py:248
msgid "Not a valid DMARC record"
msgstr "Inte en giltig DMARC-post"
-#: dnstools/lib.py:257
+#: dnstools/lib.py:259
msgid "Unknown tag {}"
msgstr "Okänd tagg {}"
-#: dnstools/lib.py:262
+#: dnstools/lib.py:264
msgid "Missing required p tag"
msgstr "Missing required p tag"
-#: dnstools/models.py:75
+#: dnstools/models.py:78
msgid "Public key mismatchs"
msgstr "Offentlig nyckel saknar överensstämmelse"
@@ -2852,7 +3008,9 @@ msgstr "En DNS-post har hittats men dess syntax är ogiltig:"
msgid ""
"Here is an example of DNS configuration (bind format). Replace value between"
" [ ] by the appropriate ones."
-msgstr "Här är ett exempel på DNS-konfiguration (bindningsformat). Ersätt värdet mellan [ ] med lämpliga."
+msgstr ""
+"Här är ett exempel på DNS-konfiguration (bindningsformat). Ersätt värdet "
+"mellan [ ] med lämpliga."
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
msgid "IP address of your Modoboa server"
@@ -2867,7 +3025,7 @@ msgstr "Autokonfiguration"
msgid "hostname of your automx server"
msgstr "värdnamnet för din automx-server"
-#: dnstools/views.py:36
+#: dnstools/views.py:35
msgid "{} record of {}"
msgstr "{} post av {}"
@@ -2875,144 +3033,153 @@ msgstr "{} post av {}"
msgid "Auto configuration records for {}"
msgstr "Automatiska konfigurationsposter 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 "Åtkomst nekad"
-#: 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 "Enable IMAP Migration"
-#: 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 "Aktivera IMAP-migrering."
-#: 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 "Samtidiga synkroniseringsjobb"
-#: 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 "Det maximala antalet samtidiga synkroniseringsjobb"
-#: 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 "Skapa kataloger"
-#: 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 "Tillåt skapande av saknade mappar under synkronisering"
-#: 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 "Mappfilteruteslutningar"
-#: 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 "Använd ett reguljärt uttryck för att explicit inkludera mappar i synkronisering. Exempel: ^Trash$|Del"
+msgstr ""
+"Använd ett reguljärt uttryck för att explicit inkludera mappar i "
+"synkronisering. Exempel: ^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 "Mappfilterinneslutningar"
-#: 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 "En kommaseparerad lista över mappar som explicit ska inkluderas i synkronisering även om de filtreras av mappfilteruteslutningarna. Exempel: debian.user, debian.personal"
+msgstr ""
+"En kommaseparerad lista över mappar som explicit ska inkluderas i "
+"synkronisering även om de filtreras av mappfilteruteslutningarna. Exempel: "
+"debian.user, debian.personal"
-#: imap_migration/app_settings.py:72
+#: imap_migration/app_settings.py:107
msgid "OfflineIMAP settings"
msgstr "OfflineIMAP-inställningar"
-#: imap_migration/app_settings.py:80
+#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
msgstr "OfflineIMAP-filterinställningar"
-#: 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-migrering"
-#: imap_migration/auth_backends.py:46
+#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Connection to IMAP server failed: %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 "Automatic domain/mailbox creation is disabled which means IMAP authentication won't work."
+msgstr ""
+"Automatic domain/mailbox creation is disabled which means IMAP "
+"authentication won't work."
-#: imap_migration/checks.py:13
+#: imap_migration/checks.py:16
msgid ""
"Go to the online parameters panel (admin tab) and activate this feature."
-msgstr "Gå till onlineparametrarnas panel (admin-fliken) och aktivera den här funktionen."
+msgstr ""
+"Gå till onlineparametrarnas panel (admin-fliken) och aktivera den här "
+"funktionen."
#: imap_migration/templates/imap_migration/index.html:6
msgid "IMAP migration"
msgstr "IMAP-migrering"
-#: ldapsync/lib.py:84
+#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
msgstr "Det gick inte att skapa LDAP-konto: {}"
-#: ldapsync/lib.py:124
+#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
msgstr "Det gick inte att uppdatera LDAP-konto: {}"
-#: ldapsync/lib.py:138
+#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
msgstr "Failed to delete LDAP account: {}"
-#: ldapsync/lib.py:149
+#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
msgstr "Det gick inte att inaktivera LDAP-konto: {}"
-#: 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 "Det gick inte att kommunicera med offentligt API: %s"
-#: lib/db_utils.py:23
+#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
msgstr "Anslutning till databasen %s är inte konfigurerad"
-#: 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 "kan inte bestämma kodning av sträng"
-#: lib/exceptions.py:67
+#: lib/exceptions.py:83
#, python-format
msgid "Permission denied: %s"
msgstr "Tillstånd nekas: %s"
-#: lib/exceptions.py:68
+#: lib/exceptions.py:84
msgid "Permission denied"
msgstr "Tillstånd nekas"
-#: lib/fields.py:15 lib/validators.py:14
+#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
msgstr "Skriv in ett giltigt domännamn"
-#: lib/fields.py:44 lib/fields.py:58
+#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
msgstr "Ange en giltig e-postadress"
@@ -3022,153 +3189,173 @@ msgstr "Ange en giltig e-postadress"
msgid "Submit"
msgstr "Skicka"
-#: lib/ldap_utils.py:129
+#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
msgstr "Misslyckades med att uppdatera lösenord: {}"
-#: 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 "Ämne"
-#: 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 "Standardgränser per administratör"
-#: 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 "Aktivera gränser per administratör"
-#: 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 "Aktivera eller inaktivera gränser per administratör"
-#: 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 "Domänadministratörer"
-#: 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 "Maximalt antal tillåtna domänadministratörer för en ny administratör. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna domänadministratörer för en ny administratör. (0 för"
+" att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Maximalt antal tillåtna domäner för en ny administratör. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna domäner för en ny administratör. (0 för att neka "
+"någon skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Maximalt antal tillåtna domänalias för en ny administratör. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna domänalias för en ny administratör. (0 för att neka "
+"någon skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Maximalt antal tillåtna brevlådor för en ny administratör. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna brevlådor för en ny administratör. (0 för att neka "
+"någon skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Maximalt antal tillåtna alias för en ny administratör. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna alias för en ny administratör. (0 för att neka någon"
+" skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Den kvot som en återförsäljare får dela mellan de domäner han skapar. (0 betyder ingen kvot)"
+msgstr ""
+"Den kvot som en återförsäljare får dela mellan de domäner han skapar. (0 "
+"betyder ingen kvot)"
-#: 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 "Standardgränser per domän"
-#: 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 "Aktivera gränser per domän"
-#: 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 "Aktivera eller inaktivera gränser per domän"
-#: 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 "Maximalt antal tillåtna domänadministratörer för en ny domän. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna domänadministratörer för en ny domän. (0 för att "
+"neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Maximalt antal tillåtna domänalias för en ny domän. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna domänalias för en ny domän. (0 för att neka någon "
+"skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Maximalt antal tillåtna postlådor för en ny domän. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna postlådor för en ny domän. (0 för att neka någon "
+"skapelse, -1 för att tillåta obegränsade skapelser)"
-#: 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 "Maximalt antal tillåtna alias för en ny domän. (0 för att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+msgstr ""
+"Maximalt antal tillåtna alias för en ny domän. (0 för att neka någon "
+"skapelse, -1 för att tillåta obegränsade skapelser)"
-#: limits/apps.py:13 limits/apps.py:15
+#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
msgstr "Gränser"
-#: limits/constants.py:10
+#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
msgstr "Maximalt antal domäner som denna användare kan skapa"
-#: limits/constants.py:14
+#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
msgstr "Maximalt antal domänalias som denna användare kan skapa"
-#: limits/constants.py:18
+#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
msgstr "Maximalt antal postlådor som denna användare kan skapa"
-#: limits/constants.py:21
+#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr "Maximalt antal postlådealias som denna användare kan skapa"
-#: limits/constants.py:25
+#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
msgstr "Maximalt antal domänadministratörer som denna användare kan skapa"
-#: limits/constants.py:31
+#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr "Kvot som delas mellan den här återförsäljarens domäner"
-#: limits/constants.py:42
+#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
msgstr "Maximalt antal tillåtna domänalias för denna domän."
-#: limits/constants.py:46
+#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
msgstr "Maximalt antal tillåtna postlådor för den här domänen."
-#: limits/constants.py:50
+#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr "Maximalt antal postlådealias tillåtna för den här domänen."
-#: limits/constants.py:55
+#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
msgstr "Maximalt antal domänadministratörer tillåtna för denna domän."
-#: limits/forms.py:38 limits/forms.py:87
+#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
msgstr "Ogiltig gräns"
-#: limits/handlers.py:118 limits/handlers.py:154
+#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
msgstr "Resurser"
@@ -3181,11 +3368,11 @@ msgstr "%s: gräns nådd"
msgid "Not enough resources"
msgstr "Inte tillräckligt med resurser"
-#: 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 "Du får inte definiera obegränsade värden"
-#: limits/models.py:57 limits/models.py:121
+#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
msgstr "obegränsat"
@@ -3194,91 +3381,91 @@ msgstr "obegränsat"
msgid "Resources usage"
msgstr "Resursanvändning"
-#: 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 "Du måste ange start- och slutdatum när perioden är anpassad"
-#: maillog/forms.py:23
+#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
msgstr "Sökväg till loggfilen"
-#: maillog/forms.py:25
+#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Sökväg till loggfil som används för att samla in statistik"
-#: maillog/forms.py:30
+#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Katalog för att lagra RRD-filer"
-#: maillog/forms.py:33
+#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
msgstr "Sökväg till katalog där RRD-filer lagras"
-#: maillog/forms.py:38
+#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
msgstr "Visa grålistade meddelanden"
-#: maillog/forms.py:41
+#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr "Gör skillnad på hårda och mjuka rejekt (grålistning)"
-#: maillog/forms.py:59 maillog/handlers.py:22
+#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
msgstr "Statistik"
-#: maillog/graphics.py:93
+#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
msgstr "Det gick inte att hitta binär rrdtool."
-#: maillog/graphics.py:170
+#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
msgstr "Genomsnittlig trafik (medd/min)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:171
msgid "sent messages"
msgstr "skickade meddelanden"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:172
msgid "received messages"
msgstr "mottagna meddelanden"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:173
msgid "bounced messages"
msgstr "studsade meddelanden"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:174
msgid "rejected messages"
msgstr "avvisade meddelanden"
-#: maillog/graphics.py:177
+#: maillog/graphics.py:175
msgid "virus messages"
msgstr "virus meddelanden"
-#: maillog/graphics.py:178
+#: maillog/graphics.py:176
msgid "spam messages"
msgstr "skräp meddelanden"
-#: maillog/graphics.py:185
+#: maillog/graphics.py:183
msgid "greylisted messages"
msgstr "grålistade meddelanden"
-#: maillog/graphics.py:196
+#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
msgstr "Genomsnittlig normal trafikstorlek (byte/min)"
-#: maillog/graphics.py:199
+#: maillog/graphics.py:203
msgid "received size"
msgstr "mottagen storlek"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:204
msgid "sent size"
msgstr "skickad storlek"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:211
msgid "Mail traffic"
msgstr "E-posttrafik"
-#: maillog/graphics.py:253
+#: maillog/graphics.py:254
msgid "Average account creation (account/hour)"
msgstr "Genomsnittligt kontoskapande (konto/timme)"
@@ -3306,181 +3493,187 @@ msgstr "Tillämpa"
msgid "No statistics available"
msgstr "Ingen statistik tillgänglig"
-#: maillog/views.py:40
+#: maillog/views.py:39
msgid "Day"
msgstr "Dag"
-#: maillog/views.py:41
+#: maillog/views.py:40
msgid "Week"
msgstr "ecka"
-#: maillog/views.py:42
+#: maillog/views.py:41
msgid "Month"
msgstr "Månad"
-#: maillog/views.py:43
+#: maillog/views.py:42
msgid "Year"
msgstr "År"
-#: maillog/views.py:44
+#: maillog/views.py:43
msgid "Custom"
msgstr "Anpassad"
-#: maillog/views.py:64
+#: maillog/views.py:66
msgid "Unknown graphic set"
msgstr "Okänd grafikuppsättning"
-#: maillog/views.py:69
+#: maillog/views.py:71
msgid "Unknown domain"
msgstr "Okänd domän"
-#: maillog/views.py:74
+#: maillog/views.py:76
msgid "Bad custom period"
msgstr "Dålig anpassad period"
-#: 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 "Personlig kontoinformation"
-#: pdfcredentials/api/v2/serializers.py:54
+#: pdfcredentials/api/v2/serializers.py:61
msgid "Directory is not writable"
msgstr "Katalog är inte skrivbar"
-#: 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 "Inget dokument tillgängligt för denna användare"
-#: 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 "Aktivera PDF-uppgifter"
-#: 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 "Aktiverade PDF-referensdokumentgenerering vid skapande av konto."
-#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
+#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
msgstr "Dokument lagring"
-#: 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 "Katalog att spara dokument i"
-#: 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 "Sökväg till en katalog där PDF-dokument kommer att sparas"
-#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
+#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
msgid "Security options"
msgstr "Säkerhetsinställningar"
-#: 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 "Ta bort dokument efter den första nedladdningen"
-#: 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 "Ta bort ett dokument automatiskt precis efter den första nedladdningen från det här gränssnittet"
+msgstr ""
+"Ta bort ett dokument automatiskt precis efter den första nedladdningen från "
+"det här gränssnittet"
-#: 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 "Generera dokument endast när kontot skapas"
-#: 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 "Skapa ett nytt dokument först när ett nytt konto har skapats. Om inställt på nej kommer ett nytt dokument att skapas varje gång ett lösenord uppdateras."
+msgstr ""
+"Skapa ett nytt dokument först när ett nytt konto har skapats. Om inställt på"
+" nej kommer ett nytt dokument att skapas varje gång ett lösenord uppdateras."
-#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
msgstr "Anpassningsalternativ"
-#: 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 "Dokumentets titel"
-#: 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 "Webbpanelens webbadress"
-#: 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 till Modoboas webbpanel"
-#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
+#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
msgid "Custom message"
msgstr "Anpassat meddelande"
-#: 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 "Ett anpassat meddelande som visas i slutet av dokument"
-#: 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 "Inkludera anslutningsinställningar för e-postklienten"
-#: 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 "Inkludera nödvändig SMTP- och IMAP-anslutningsinformation för att konfigurera en e-postklient, en surfplatta eller en telefon"
+msgstr ""
+"Inkludera nödvändig SMTP- och IMAP-anslutningsinformation för att "
+"konfigurera en e-postklient, en surfplatta eller en telefon"
-#: 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-serveradress"
-#: 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 "Adress till SMTP-servern (värdnamn eller 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-serverport"
-#: 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 "Lyssningsport för SMTP-servern"
-#: 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-anslutningssäkerhet"
-#: 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 "Anslutningssäkerhetsmekanism"
-#: 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-serveradress"
-#: 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 "Adress till IMAP-servern (värdnamn eller 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-serverport"
-#: 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 "Lyssningsport för IMAP-servern"
-#: 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-anslutningssäkerhet"
@@ -3488,84 +3681,251 @@ msgstr "IMAP-anslutningssäkerhet"
msgid "PDF credentials"
msgstr "PDF-uppgifter"
-#: pdfcredentials/apps.py:21
+#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
msgstr "PDF-uppgifter"
-#: pdfcredentials/documents.py:55
+#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr "Drivs av Modoboa - Mailhosting på ett enkelt sätt"
-#: 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 "\nKära %s, det här dokumentet innehåller de referenser du behöver\nför att ansluta till Modoboa. Lär dig innehållet och förstör\ndokumentet så snart som möjligt.\n"
+msgstr ""
+"\n"
+"Kära %s, det här dokumentet innehåller de referenser du behöver\n"
+"för att ansluta till Modoboa. Lär dig innehållet och förstör\n"
+"dokumentet så snart som möjligt.\n"
-#: pdfcredentials/documents.py:77
+#: pdfcredentials/documents.py:95
msgid "Web panel:"
msgstr "Webbpanel:"
-#: 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 "\nHär kan du se dina e-postmeddelanden när som helst online, skapa filter eller hantera\ndina kontakter.\n"
+msgstr ""
+"\n"
+"Här kan du se dina e-postmeddelanden när som helst online, skapa filter eller hantera\n"
+"dina kontakter.\n"
-#: pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:126
msgid "Please change your password!"
msgstr "Vänligen ändra ditt lösenord!"
-#: pdfcredentials/documents.py:104
+#: pdfcredentials/documents.py:130
msgid "PC/Tablet/Smartphone configuration:"
msgstr "Dator/Surfplatta/Smartphone-konfiguration:"
-#: pdfcredentials/documents.py:122
+#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr "Använd dessa inställningar för din dator, surfplatta eller 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 "Hämta användarens autentiseringsuppgifter som ett PDF-dokument"
-#: pdfcredentials/handlers.py:71
+#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
msgstr "Ladda ner PDF-uppgifter"
-#: pdfcredentials/lib.py:27
+#: pdfcredentials/lib.py:28
msgid "Can't write to selected directory to store PDF documents"
-msgstr "Det går inte att skriva till den valda katalogen för att lagra PDF-dokument"
+msgstr ""
+"Det går inte att skriva till den valda katalogen för att lagra PDF-dokument"
#: pdfcredentials/lib.py:34
#, python-format
msgid "Failed to create the directory that will contain PDF documents (%s)"
-msgstr "Det gick inte att skapa katalogen som kommer att innehålla PDF-dokument (%s)"
+msgstr ""
+"Det gick inte att skapa katalogen som kommer att innehålla PDF-dokument (%s)"
-#: 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: gräns nådd"
+
+#: 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:28 postfix_autoreply/forms.py:98
+#, fuzzy
+#| msgid "This code is invalid"
+msgid "This date is over"
+msgstr "Detta datum har varit"
+
+#: postfix_autoreply/api/v2/serializers.py:32 postfix_autoreply/forms.py:101
+#, fuzzy
+#| msgid "Cannot be greater than domain quota"
+msgid "Must be greater than start date"
+msgstr "Måste vara nyare än startdatum"
+
+#: postfix_autoreply/apps.py:11 postfix_autoreply/forms.py:173
+#, fuzzy
+#| msgid "Automatic account removal"
+msgid "Automatic replies"
+msgstr "Automatiska svar"
+
+#: postfix_autoreply/forms.py:23
+msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr "Aktivera ditt autosvar från detta datum. Format : ÅÅÅÅ-MM-DD TT:mm:ss"
+
+#: postfix_autoreply/forms.py:31
+msgid "Until"
+msgstr "Tills"
+
+#: postfix_autoreply/forms.py:34
+msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
+msgstr ""
+"Aktivera ditt autosvar fram till detta datum: Format : ÅÅÅÅ-MM-DD TT:mm:ss"
+
+#: postfix_autoreply/forms.py:51
+#, 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 ""
+"Innehållet i ditt svar. Du kan använda följande variabler, vilka automatiskt"
+" kommer ersättas med lämpligt värde: %(name)s, %(fromdate)s, %(untildate)s"
+
+#: postfix_autoreply/forms.py:121
+msgid "Automatic reply timeout"
+msgstr "Automatiskt svar timeout"
+
+#: postfix_autoreply/forms.py:124
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "Timeout i sekunder mellan två auto-svar till samma mottagare"
+
+#: postfix_autoreply/forms.py:130
+msgid "Default subject"
+msgstr "Standard ämne"
+
+#: postfix_autoreply/forms.py:131
+msgid "I'm off"
+msgstr "Jag är borta"
+
+#: postfix_autoreply/forms.py:133
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Standard ämne när ett autosvarsmeddelande skapas automatiskt."
+
+#: postfix_autoreply/forms.py:140
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default content"
+msgstr "Standard innehåll"
+
+#: postfix_autoreply/forms.py:142
+#, 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 ""
+"Jag är borta. Jag svarar så fort jag kommer tillbaka.\n"
+"\n"
+"Med vänliga hälsningar,\n"
+"%(name)s\n"
+
+#: postfix_autoreply/forms.py:148
+#, 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 ""
+"Standard innehåll som används när ett autosvarsmeddelande skapas "
+"automatiskt. '%(name)s' ersätts med användarens fullständiga namn."
+
+#: postfix_autoreply/handlers.py:123
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+#, fuzzy
+#| msgid "Custom message"
+msgid "Auto-reply message"
+msgstr "Auto-svar meddelande"
+
+#: postfix_autoreply/handlers.py:135
+msgid "Auto reply"
+msgstr "Autosvar"
+
+#: postfix_autoreply/models.py:15
+#, fuzzy
+#| msgid "Subject"
+msgid "subject"
+msgstr "ämne"
+
+#: postfix_autoreply/models.py:16
+msgid "The subject that will appear in sent emails"
+msgstr "Ämnesraden i skickade e-post meddelanden"
+
+#: postfix_autoreply/models.py:19
+msgid "content"
+msgstr "innehåll"
+
+#: postfix_autoreply/models.py:20
+msgid "The content that will appear in sent emails"
+msgstr "Innehållet i skickade e-post meddelanden"
+
+#: postfix_autoreply/models.py:24
+msgid "Activate/Deactivate your auto reply"
+msgstr "Aktivera / inaktivera din autosvar"
+
+#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
+msgid "Define a message to automatically send when you are off"
+msgstr "Skriv meddelande att skicka automatiskt när du är borta"
+
+#: postfix_autoreply/views.py:30
+msgid "Auto reply message updated successfully."
+msgstr "Automatisk svarsmeddelande uppdaterats."
+
+#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
msgstr "Ej stödd tjänst"
-#: relaydomains/handlers.py:61
+#: relaydomains/handlers.py:64
msgid "Transport settings"
msgstr "Transportinställningar"
-#: 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 "målvärdadress"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:21
msgid "target host port"
msgstr "målvärdport"
-#: relaydomains/transport.py:18
+#: relaydomains/transport.py:27
msgid "verify recipients"
msgstr "verifiera mottagare"
@@ -3636,7 +3996,9 @@ msgstr "Glömt ditt lösenord?"
msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
-msgstr "Ditt lösenord har ändrats. Du kan fortsätta med att logga in."
+msgstr ""
+"Ditt lösenord har ändrats. Du kan fortsätta med att logga in."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
@@ -3646,7 +4008,9 @@ msgstr "Ändra lösenord"
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
-msgstr "Lösenordets återställningslänk är ogiltig, förmodligen för att den redan använts. Var vänlig begär en ny återställning av lösenord."
+msgstr ""
+"Lösenordets återställningslänk är ogiltig, förmodligen för att den redan "
+"använts. Var vänlig begär en ny återställning av lösenord."
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
@@ -3662,7 +4026,11 @@ 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 "
Vi har e-postat dig instruktioner för att ändra ditt lösenord, om ett konto finns med den e-post adress du angav. Du borde få detta brev inom kort.
Om du inte fått något brev, var vänlig kontrollera att du angav rätt e-post adress, och kolla din skräpkatalog.
"
+msgstr ""
+"
Vi har e-postat dig instruktioner för att ändra ditt lösenord, om ett "
+"konto finns med den e-post adress du angav. Du borde få detta brev inom "
+"kort.
Om du inte fått något brev, var vänlig kontrollera att du angav"
+" rätt e-post adress, och kolla din skräpkatalog.
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.
"
+"
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 Spam-Ordner.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -4185,8 +4152,8 @@ 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:"
+"Um den Vorgang zum Zurücksetzen des Passworts für Ihr %(username)s Modoboa-"
+"Konto zu beginnen, klicken Sie auf folgenden Link:"
#: templates/registration/password_reset_email.html:10
#: templates/registration/password_reset_email_v2.html:10
@@ -4194,7 +4161,7 @@ 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 "
+"Falls der obere Link nicht funktioniert, kopieren Sie diesen bitte in ein "
"neues Browser-Fenster."
#: templates/registration/password_reset_email.html:14
@@ -4204,7 +4171,7 @@ msgstr "Mit freundlichen Grüßen, das Modoboa Team."
#: templates/registration/password_reset_form.html:24
msgid "Please fill-in your primary email address"
-msgstr "Bitte die Primäre Email-Adresse eingeben"
+msgstr "Bitte geben Sie Ihre primäre E-Mail-Adresse ein"
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
@@ -4227,116 +4194,3 @@ msgstr ""
#: transport/models.py:17
msgid "next hop"
msgstr ""
-
-#, fuzzy
-#~ msgid "An alias with this name already exists."
-#~ msgstr "Ein Alias mit diesem Namen existiert bereits"
-
-#~ msgid "A set of tools to ease DMARC integration"
-#~ msgstr "Ein Set von Tools um die DMARC-Integration zu vereinfachen"
-
-#~ msgid "Generate PDF documents containing users' credentials"
-#~ msgstr "Erzeuge PDF-Dokumente welche die Benutzeranmeldeinformationen enthält"
-
-#, fuzzy
-#~ msgid "IMAP migrations"
-#~ msgstr "IMAP-Migration"
-
-#~ msgid "IMAP migration using OfflineIMAP"
-#~ msgstr "IMAP-Migration benutzt OfflineIMAP"
-
-#~ msgid "Migrate existing mailboxes using IMAP and OfflineIMAP"
-#~ msgstr "Migration existierender Postfächer benutzt IMAP und OfflineIMAP"
-
-#~ msgid "Graphical statistics about emails traffic using RRDtool"
-#~ msgstr "Grafische E-Mail-Statistik (setzt RRDtool ein)"
-
-#~ msgid "Postfix's master.cf path"
-#~ msgstr "Pfad zur Postfix-Datei 'master.cf'"
-
-#~ msgid "Path to the master.cf configuration file"
-#~ msgstr "Pfad zur 'master.cf' Konfigurationsdatei"
-
-#~ msgid "Relay domains"
-#~ msgstr "Relaydomain"
-
-#~ msgid "The service name"
-#~ msgstr "Der 'Service'-Name"
-
-#, fuzzy
-#~ msgid "Remote address (hostname or IP) of this domain"
-#~ msgstr "Entfernte Destination für diese Domain"
-
-#, fuzzy
-#~ msgid "Remote port of this domain"
-#~ msgstr "Entfernte Destination für diese Domain"
-
-#~ msgid "Check for valid recipients"
-#~ msgstr "Auf gültige Empfänger prüfen"
-
-#~ msgid "Relay Domain"
-#~ msgstr "Relaydomain"
-
-#~ msgid "Scan"
-#~ msgstr "Scanne"
-
-#, fuzzy
-#~ msgid "The relay domain name"
-#~ msgstr "Name der Domain"
-
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "
Das erste Element jeder Zeile ist "
+"erforderlich und muss einem der vorherigen Werte entsprechen.
Sie "
+"können ein anderes Zeichen als Trennzeichen verwenden.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
@@ -1529,44 +1489,47 @@ msgid ""
"is mandatory and must be equal to one of the previous values.
You can "
"use a different character as separator.
"
msgstr ""
+"Verwenden Sie eine CSV-Datei, deren Zeilen einem der folgenden Formate "
+"entsprechen:
account; loginname; password; first name; last "
+"name; enabled; group; address; quota; [, domain, ...]
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
-#, fuzzy
-#| msgid "Help:"
msgid "Help"
-msgstr "Hilfe:"
+msgstr "Hilfe"
#: admin/templates/admin/importform.html:13
msgid "Importing..."
-msgstr ""
+msgstr "Importiere…"
#: admin/templates/admin/mailboxes_raw.html:3
-#, fuzzy
-#| msgid "Choose a provider"
msgid "Choose a value"
-msgstr "Wähle einen Anbieter"
+msgstr "Wert auswählen"
#: admin/templates/admin/mailform.html:7
msgid "Use domain default value"
-msgstr ""
+msgstr "Standardwert der Domain verwenden"
#: admin/templates/admin/messages_log_headers.html:2
msgid "ID"
-msgstr ""
+msgstr "ID"
#: admin/templates/admin/mx_domain_detail.html:11
-#, fuzzy
-#| msgid "Update"
msgid "Updated"
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"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
-msgstr ""
+msgstr "Kein MX Eintrag für diese Domain gefunden."
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
@@ -1574,6 +1537,8 @@ 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:"
#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
@@ -1581,144 +1546,138 @@ msgid ""
"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."
#: 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:"
#: admin/templates/admin/searchform.html:6
-#, fuzzy
-#| msgid "Search..."
msgid "Search"
-msgstr "Suchen ..."
+msgstr "Suchen"
#: admin/templatetags/admin_tags.py:18
msgid "enabled_m"
-msgstr ""
+msgstr "aktiviert_m"
#: admin/templatetags/admin_tags.py:18
msgid "enabled_f"
-msgstr ""
+msgstr "aktiviert_f"
#: admin/templatetags/admin_tags.py:46
msgid "List domains"
-msgstr ""
+msgstr "Domain-Liste"
#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:123
msgid "List quotas"
-msgstr ""
+msgstr "Quota-Liste"
#: admin/templatetags/admin_tags.py:60
-#, fuzzy
-#| msgid "Message"
msgid "Message logs"
-msgstr "Nachricht"
+msgstr "Nachrichten-Logs"
#: 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 ""
+msgstr "Import"
#: 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 ""
+msgstr "Export"
#: admin/templatetags/admin_tags.py:116
msgid "List identities"
-msgstr ""
+msgstr "Identitäten-Liste"
#: admin/templatetags/admin_tags.py:157
msgid "View the domain's identities"
-msgstr ""
+msgstr "Domain-Identitäten anzeigen"
#: admin/templatetags/admin_tags.py:166
msgid "View domain's alarms"
-msgstr ""
+msgstr "Domänen-Alarme anzeigen"
#: admin/templatetags/admin_tags.py:174 admin/templatetags/admin_tags.py:218
#: admin/templatetags/admin_tags.py:235
msgid "Edit {}"
-msgstr ""
+msgstr "{} bearbeiten"
#: admin/templatetags/admin_tags.py:186 admin/templatetags/admin_tags.py:224
#: admin/templatetags/admin_tags.py:241
#, python-format
msgid "Delete %s?"
-msgstr ""
+msgstr "%s löschen?"
#: admin/tests/test_mx.py:156
#, python-format
msgid "No MX record for %s"
-msgstr ""
+msgstr "Kein MX Eintrag für %s"
#: 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 ""
+msgstr "Ferhlerhaftes IP-Adressformat für %(domain)s; %(addr)s"
#: admin/tests/test_mx.py:200
#, fuzzy, python-format
-#| msgid "No mechanism found"
+#| msgid "No MX record for %s"
msgid "No AAAA record for %s"
-msgstr "Kein Mechanismus gefunden"
+msgstr "Kein MX Eintrag für %s"
#: admin/views/alias.py:30
msgid "Alias with this name already exists"
-msgstr ""
+msgstr "Ein Alias mit diesem Namen existiert bereits"
#: admin/views/alias.py:52
msgid "Create"
-msgstr ""
+msgstr "Erstellen"
#: admin/views/alias.py:64
msgid "New alias"
-msgstr ""
+msgstr "Neuer Alias"
#: admin/views/alias.py:64
msgid "Alias created"
-msgstr ""
+msgstr "Alias erstellt"
#: admin/views/alias.py:76
-#, fuzzy
-#| msgid "modified"
msgid "Alias modified"
-msgstr "geändert"
+msgstr "Alias verändert"
#: admin/views/alias.py:101
-#, fuzzy
-#| msgid "deleted"
msgid "Alias deleted"
msgid_plural "Aliases deleted"
-msgstr[0] "gelöscht"
-msgstr[1] "gelöscht"
+msgstr[0] "Alias gelöscht"
+msgstr[1] "Aliase gelöscht"
#: admin/views/dns.py:28
-#, fuzzy
-#| msgid "{} record of {}"
msgid "MX records of {}"
-msgstr "{} Eintrag von {}"
+msgstr "MX Einträge für {}"
#: admin/views/dns.py:50
msgid "DNSBL summary for {}"
-msgstr ""
+msgstr "DNSBL Zusammenfassung für {}"
#: admin/views/domain.py:251
-#, fuzzy
-#| msgid "deleted"
msgid "Domain deleted"
msgid_plural "Domains deleted"
-msgstr[0] "gelöscht"
-msgstr[1] "gelöscht"
+msgstr[0] "Domain gelöscht"
+msgstr[1] "Domains gelöscht"
#: admin/views/export.py:40
msgid "Export identities"
-msgstr ""
+msgstr "Identitäten exportieren"
#: admin/views/export.py:69
msgid "Export domains"
-msgstr ""
+msgstr "Domains exportieren"
#: 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
@@ -1726,49 +1685,44 @@ msgid "Invalid request"
msgstr "Ungültige Anfrage"
#: admin/views/identity.py:187
-#, fuzzy
-#| msgid "Account DN template"
msgid "Account deleted"
msgid_plural "Accounts deleted"
-msgstr[0] "Konto-DN-Vorlage"
-msgstr[1] "Konto-DN-Vorlage"
+msgstr[0] "Konto gelöscht"
+msgstr[1] "Konten gelöscht"
#: admin/views/import_.py:56
msgid "Import domains"
-msgstr ""
+msgstr "Domains importieren"
#: admin/views/import_.py:77
msgid "Import identities"
-msgstr ""
+msgstr "Identitäten importieren"
#: admin/views/user.py:51
-#, fuzzy
-#| msgid "Profile updated"
msgid "Forward updated"
-msgstr "Profil aktualisiert"
+msgstr "Weiterleitung aktualisiert"
#: core/api/v1/serializers.py:21
msgid "Invalid PIN code"
-msgstr "Ungültiger PIN-Code"
+msgstr "Ungültiger Pincode"
#: core/api/v1/serializers.py:27
msgid "2FA is already enabled"
msgstr "2FA ist bereits aktiviert"
#: core/api/v1/serializers.py:40
-#, python-format
+#, fuzzy, python-format
+#| msgid "Failed connection attempt from '%s' as user '%s'"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
-msgstr ""
+msgstr "Fehlgeschlagener Verbindungsversuch von '%s' als Benutzer '%s'"
#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
-#, fuzzy
-#| msgid "Old password"
msgid "Invalid password"
-msgstr "Altes Passwort"
+msgstr "Ungültiges Passwort"
#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
msgid "2FA is not enabled"
-msgstr "2FA ist nicht aktiviert"
+msgstr "2-Faktor-Authentifizierung ist nicht aktiviert"
#: core/api/v2/serializers.py:68 core/app_settings.py:48
msgid "Local"
@@ -1776,49 +1730,48 @@ msgstr "Lokal"
#: core/api/v2/serializers.py:164 core/app_settings.py:24
msgid "User profile"
-msgstr "Benutzerprofil"
+msgstr "Benutzername"
#: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190
#: 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ültige Syntax"
+msgstr "Ungültiger Syntax"
#: core/api/v2/serializers.py:202 core/app_settings.py:557
msgid "Invalid rounds number"
-msgstr "Ungültige Anzahl Runden"
+msgstr "Ungültige Zahl für Runden"
#: core/api/v2/serializers.py:262 core/forms.py:194
msgid "This code is invalid"
-msgstr "Dieser Code ist ungültig"
+msgstr "Dieser Code ist Falsch"
#: 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 verwenden Sie den folgenden Code, um Ihr Modoboa-Passwort "
-"wiederherzustellen: {}"
+"Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen: "
+"{}"
#: core/api/v2/views.py:57
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
-msgstr ""
+msgstr "Fehlgeschlagener Verbindungsversuch von '%s' als Benutzer '%s'"
#: core/api/v2/views.py:69 core/views/auth.py:89
#, python-format
msgid "User '%s' successfully logged in"
-msgstr "Benutzer '%s' erfolgreich angemeldet"
+msgstr "Benutzer '%s' hat sich erfolgreich angemeldet"
#: core/api/v2/views.py:86 core/views/auth.py:67
#, python-format
msgid "Password scheme mismatch. Updating %s password"
-msgstr "Kennwortschema stimmt nicht überein. Aktualisiere %s Passwort"
+msgstr "Fehlanpassung des Passwortschemas. Passwort von %s wird aktualisiert"
#: core/api/v2/views.py:93 core/views/auth.py:75
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-"Passwort-Hash-Parameter stimmen nicht überein. Aktualisiere %s Passwort"
+msgstr "Passwort-Hash Parameter Unterschied. Aktualisiere %s Passwort"
#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
@@ -1830,15 +1783,15 @@ msgstr "Authentifizierungstyp"
#: core/app_settings.py:50 core/app_settings.py:724
msgid "The backend used for authentication"
-msgstr "Das Backend für Authentifizierung"
+msgstr "Backend für die Authentifizierung"
#: core/app_settings.py:55 core/app_settings.py:731
msgid "Default password scheme"
-msgstr "Voreingestelltes Passwort-Schema"
+msgstr "Standard-Passwortschema"
#: core/app_settings.py:58 core/app_settings.py:733
msgid "Scheme used to crypt mailbox passwords"
-msgstr "Schema zur Verschlüsselung von Postfach-Passwörtern"
+msgstr "Verschlüsselungsschema der Postfach-Passwörter"
#: core/app_settings.py:62 core/app_settings.py:740
msgid "Rounds"
@@ -1849,18 +1802,18 @@ msgid ""
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
"between 1000 and 999999999, inclusive."
msgstr ""
-"Anzahl an Runden (nur von sha256crypt und sha512crypt genutzt). Muss "
-"zwischen 1000 und 999999999 liegen, inklusive."
+"Anzahl zu verwendender Runden (nur für sha256crypt und sha512crypt). Zahl "
+"muss zwischen 1000 und 999999999 liegen."
#: core/app_settings.py:71 core/app_settings.py:752
msgid "Update password scheme at login"
-msgstr "Passwort-Schema beim Login updaten"
+msgstr "Aktualisiere das Passwortschema beim Anmelden"
#: core/app_settings.py:74 core/app_settings.py:755
msgid "Update user password at login to use the default password scheme"
msgstr ""
-"Aktualisiere das Benutzerkennwort bei der Anmeldung, um das "
-"Standardkennwortschema zu verwenden"
+"Aktualisieren Sie das Benutzerkennwort bei der Anmeldung, um das Standard-"
+"Passwortschema zu verwenden."
#: core/app_settings.py:79 core/app_settings.py:763
msgid "Default password"
@@ -1868,7 +1821,7 @@ msgstr "Standardpasswort"
#: core/app_settings.py:81 core/app_settings.py:765
msgid "Default password for automatically created accounts."
-msgstr "Standardpasswort für automatisch kreierte Konten"
+msgstr "Standardpasswort für automatisch erstellte Accounts."
#: core/app_settings.py:85 core/app_settings.py:772
msgid "Random password length"
@@ -1876,11 +1829,11 @@ msgstr "Zufällige Passwortlänge"
#: core/app_settings.py:88 core/app_settings.py:774
msgid "Length of randomly generated passwords."
-msgstr "Länge der zufällig generierten Passwörter."
+msgstr "Länge von zufällig generierten Passwörtern"
#: core/app_settings.py:92 core/app_settings.py:781
msgid "Update password service URL"
-msgstr "URL des Kennwortdienstes aktualisieren"
+msgstr "Aktualisiere Passwort-Service-URL"
#: core/app_settings.py:96 core/app_settings.py:783
msgid ""
@@ -1888,13 +1841,13 @@ msgid ""
"password. It applies only to non local users, ie. those automatically "
"created after a successful external authentication (LDAP, SMTP)."
msgstr ""
-"Die URL einer externen Seite, auf der Benutzer ihr Passwort aktualisieren "
-"können. Betrifft nur nicht lokale Benutzer, die nach einer erfolgreichen "
-"externen Authentifizierung (LDAP, SMTP) automatisch erstellt wurden."
+"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:104 core/app_settings.py:793
msgid "Password recovery announcement"
-msgstr "Ankündigung zur Passwortwiederherstellung"
+msgstr "Ankündigung zur Passwort-Wiederherstellung"
#: core/app_settings.py:109 core/app_settings.py:795
msgid "A temporary message that will be displayed on the reset password page."
@@ -1904,23 +1857,21 @@ msgstr ""
#: core/app_settings.py:114 core/app_settings.py:804
msgid "Enable password recovery by SMS"
-msgstr "Passwortwiederherstellung per SMS aktivieren"
+msgstr "Aktiviere die Passwortwiederherstellung per SMS"
#: 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 Kennwortwiederherstellung per SMS für Benutzer, die eine "
-"Telefonnummer angegeben haben."
+"Aktiviere die Passwortwiederherstellung per SMS für Benutzer mit einer "
+"Telefonnummer."
#: core/app_settings.py:122 core/app_settings.py:815
msgid "SMS provider"
-msgstr "SMS-Anbieter"
+msgstr "SMS Anbieter"
#: core/app_settings.py:124 core/app_settings.py:818
msgid "Choose a provider to send password recovery SMS"
-msgstr ""
-"Wählen Sie einen Anbieter für den Versand von SMS zur "
-"Kennwortwiederherstellung"
+msgstr "Wähle einen Anbieter für das verschicken der Wiederherstellungs-SMS"
#: core/app_settings.py:129
msgid "LDAP settings"
@@ -1928,7 +1879,7 @@ msgstr "LDAP-Einstellungen"
#: core/app_settings.py:132 core/app_settings.py:836
msgid "Server address"
-msgstr "Serveradresse"
+msgstr "Server-Adresse"
#: core/app_settings.py:134 core/app_settings.py:838
msgid "The IP address or the DNS name of the LDAP server"
@@ -1936,7 +1887,7 @@ msgstr "IP-Adresse oder Hostname des LDAP-Servers"
#: core/app_settings.py:138 core/app_settings.py:845
msgid "Server port"
-msgstr "Server Port"
+msgstr "Server-Port"
#: core/app_settings.py:140 core/app_settings.py:847
msgid "The TCP port number used by the LDAP server"
@@ -1944,7 +1895,7 @@ msgstr "Der TCP Port des LDAP-Servers"
#: core/app_settings.py:144 core/app_settings.py:855
msgid "Enable secondary server (fallback)"
-msgstr "Aktiviere Ausfallserver (Fallback)"
+msgstr "Aktiviere Ausfallsserver (Fallback)"
#: core/app_settings.py:147 core/app_settings.py:858
msgid ""
@@ -1955,23 +1906,23 @@ msgstr ""
#: core/app_settings.py:153 core/app_settings.py:866
msgid "Secondary server address"
-msgstr "Ausfallserver-Adresse"
+msgstr "Ausfallsserver-Adresse"
#: core/app_settings.py:156 core/app_settings.py:869
msgid "The IP address or the DNS name of the seondary LDAP server"
-msgstr "IP-Adresse oder Hostname des zweiten LDAP-Servers"
+msgstr "Die IP-Adresse oder den DNS-Namen des zweiten LDAP-Servers"
#: core/app_settings.py:161 core/app_settings.py:876
msgid "Secondary server port"
-msgstr "Ausfallserver-Port"
+msgstr "Ausfallsserver-Port"
#: 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 zweiten LDAP-Servers"
+msgstr "Der TCP Port des sekundären LDAP-Servers"
#: core/app_settings.py:167 core/app_settings.py:886
msgid "Use a secured connection"
-msgstr "Verwende eine gesicherte Verbindung"
+msgstr "Gesicherte Verbindung verwenden"
#: core/app_settings.py:171 core/app_settings.py:888
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
@@ -1983,19 +1934,19 @@ msgstr "Active Directory"
#: 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."
+msgstr "Auswählen wenn der LDAP-Server ein Active Directory ist."
#: core/app_settings.py:182 core/app_settings.py:904
msgid "Administrator groups"
-msgstr "Administratorgruppen"
+msgstr "Administrator-Gruppen"
#: 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-Gruppen werden als Domänenadministratoren "
-"erstellt. Nutze ';' um Gruppen zu trennen."
+"Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren "
+"angelegt werden. Nutzen Sie ';', um Gruppen zu separieren."
#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
@@ -2003,29 +1954,28 @@ msgstr "Gruppentyp"
#: core/app_settings.py:195 core/app_settings.py:917
msgid "The LDAP group type to use with your directory."
-msgstr "Der LDAP-Gruppentyp, der mit Ihrem Verzeichnis verwendet werden soll."
+msgstr ""
+"Der LDAP Gruppentyp welcher mit diesem Verzeichnis benutzt werden soll."
#: core/app_settings.py:199 core/app_settings.py:924
msgid "Groups search base"
-msgstr "Suchbasis für Gruppen"
+msgstr "Gruppen Search Base"
#: core/app_settings.py:202 core/app_settings.py:926
msgid "The distinguished name of the search base used to find groups"
-msgstr ""
-"Der Distinguished Name der Suchbasis, die zum Suchen von Gruppen verwendet "
-"wird"
+msgstr "Der DN der Search Base mit der Gruppen gefunden werden"
#: core/app_settings.py:208 core/app_settings.py:934
msgid "Password attribute"
-msgstr "Kennwortattribut"
+msgstr "Passwort-Attribut"
#: core/app_settings.py:210 core/app_settings.py:936
msgid "The attribute used to store user passwords"
-msgstr "Das Attribut, das zum Speichern von Benutzerpasswörtern verwendet wird"
+msgstr "Das Attribut für Benutzerpasswörter"
#: core/app_settings.py:214 core/app_settings.py:943
msgid "LDAP authentication settings"
-msgstr "LDAP-Authentifizierungseinstellungen"
+msgstr "LDAP Authentifizierungseinstellungen"
#: core/app_settings.py:217 core/app_settings.py:951
msgid "Authentication method"
@@ -2037,7 +1987,7 @@ msgstr "Suchen und Bind anwenden"
#: core/app_settings.py:220 core/constants.py:60
msgid "Direct bind"
-msgstr "Direktbindung"
+msgstr "Direkter Bind"
#: core/app_settings.py:223 core/app_settings.py:954
msgid "Choose the authentication method to use"
@@ -2054,8 +2004,7 @@ msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
msgstr ""
-"Der Distinguished Name, der beim Binden an den LDAP-Server verwendet werden "
-"soll. Für eine anonyme Bindung leer lassen"
+"Der DN für einen Bind an den LDAP-Server. Nichts eingeben für anonymen Bind."
#: core/app_settings.py:237 core/app_settings.py:289 core/app_settings.py:972
#: core/app_settings.py:1034
@@ -2065,21 +2014,17 @@ msgstr "Bind Passwort"
#: 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 Kennwort, das beim Binden an den LDAP-Server verwendet werden soll (mit "
-"'Bind DN')"
+msgstr "Das Passwort wenn mit dem Bind DN angemeldet wird."
#: 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 "Suchbasis für Benutzer"
+msgstr "Benutzer Search Base"
#: 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 Distinguished Name der Suchbasis, die zum Suchen von Benutzern verwendet "
-"wird"
+msgstr "Der DN der Search Base mit der Benutzerkonten gefunden werden"
#: core/app_settings.py:256 core/app_settings.py:344 core/app_settings.py:995
#: core/app_settings.py:1100
@@ -2092,12 +2037,12 @@ 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 "
+"Ein optionaler Filter, z.B. '(objectClass=person)'. Der Filter muss "
"entsprechend der LDAP-Konvention in Klammern gesetzt werden."
#: core/app_settings.py:266 core/app_settings.py:1006
msgid "User DN template"
-msgstr "Benutzer-DN-Vorlage"
+msgstr "Vorlage für User DN"
#: core/app_settings.py:269 core/app_settings.py:1008
#, python-format
@@ -2105,12 +2050,12 @@ msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
msgstr ""
-"Die Vorlage, die verwendet wird, um den DN eines Benutzers zu erstellen. Es "
-"sollte einen Platzhalter enthalten (z. B. %(user)s)"
+"Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s "
+"enthalten."
#: core/app_settings.py:276 core/app_settings.py:1017
msgid "LDAP synchronization settings"
-msgstr "LDAP-Synchronisationseinstellungen"
+msgstr "LDAP Synchronisations Einstellungen"
#: core/app_settings.py:299 core/app_settings.py:1045
msgid "Enable export to LDAP"
@@ -2120,24 +2065,24 @@ msgstr "Export zu LDAP aktivieren"
msgid ""
"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-"Automatische Synchronisierung zwischen lokaler Datenbank und LDAP-"
-"Verzeichnis aktivieren"
+"Automatische Synchronisation zwischen lokaler Datenbank und LDAP Verzeichnis "
+"aktivieren"
#: core/app_settings.py:308 core/app_settings.py:1056
msgid "Delete remote LDAP account when local account is deleted"
-msgstr "Remote-LDAP-Konto löschen, wenn lokales Konto gelöscht wird"
+msgstr "Remote LDAP Benutzer entfernen wenn lokaler Benutzer gelöscht wird"
#: 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-Konto löschen, wenn lokales Konto gelöscht wird, ansonsten wird "
-"es deaktiviert."
+"Remote LDAP Benutzer löschen wenn lokaler Benutzer gelöscht wird, ansonsten "
+"wird der Benutzer deaktiviert."
#: core/app_settings.py:317 core/app_settings.py:1068
msgid "Account DN template"
-msgstr "Konto-DN-Vorlage"
+msgstr "Vorlage für User DN"
#: core/app_settings.py:320 core/app_settings.py:1070
#, python-format
@@ -2145,8 +2090,8 @@ 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 den DN eines Kontos zu erstellen. Es "
-"sollte einen Platzhalter enthalten (z. B. %(user)s)"
+"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:327 core/app_settings.py:1079
msgid "Enable import from LDAP"
@@ -2155,11 +2100,12 @@ msgstr "Import von LDAP aktivieren"
#: core/app_settings.py:330 core/app_settings.py:1081
msgid "Enable account synchronization from LDAP directory to local database"
msgstr ""
-"Kontosynchronisierung vom LDAP-Verzeichnis zur lokalen Datenbank aktivieren"
+"Automatische Kontensynchronisation vom LDAP Verzeichnis in die lokale "
+"Datenbank aktivieren"
#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
-msgstr "Benutzername-Attribut"
+msgstr "Benutzernamenattribut"
#: core/app_settings.py:357 core/app_settings.py:1113
msgid "The name of the LDAP attribute where the username can be found."
@@ -2182,8 +2128,7 @@ msgstr "Dovecot LDAP-Konfigurationsdatei"
#: core/app_settings.py:374 core/app_settings.py:1134
msgid ""
"Location of the configuration file which contains Dovecot LDAP settings."
-msgstr ""
-"Speicherort der Konfigurationsdatei, die Dovecot-LDAP-Einstellungen enthält."
+msgstr "Speicherort der Dovecot-Konfigurationsdatei für LDAP-Einstellungen."
#: core/app_settings.py:379 core/app_settings.py:1147
#: core/templates/core/dashboard.html:5
@@ -2192,20 +2137,22 @@ msgstr "Dashboard"
#: core/app_settings.py:382 core/app_settings.py:1153
msgid "Custom RSS feed"
-msgstr "Benutzerdefinierter RSS-Feed"
+msgstr "Benutzerdefinierter RSS Feed"
#: core/app_settings.py:385 core/app_settings.py:1155
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-"Anzeige benutzerdefinierter RSS-Feeds für Reseller und Domain-Administratoren"
+"Zeige benutzerdefinierten RSS-Feed für Wiederverkäufer und Domain-"
+"Administratoren."
#: core/app_settings.py:390 core/app_settings.py:1163
msgid "Hide features widget"
-msgstr "Funktionen-Widget ausblenden"
+msgstr "Verberge Funktionen Werkzeug"
#: core/app_settings.py:393 core/app_settings.py:1165
msgid "Hide features widget for resellers and domain administrators"
-msgstr "Funktionen-Widget für Reseller und Domain-Administratoren ausblenden"
+msgstr ""
+"Verberge Funktionen Werkzeug für Wiederverkäufer und Domain-Administratoren."
#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
@@ -2217,7 +2164,7 @@ msgstr "Absenderadresse"
#: core/app_settings.py:402 core/app_settings.py:1185
msgid "Email address used to send notifications."
-msgstr "E-Mail-Adresse, die zum Senden von Benachrichtigungen verwendet wird."
+msgstr "E-Mail Adresse für das Senden von Benachrichtigungen."
#: core/app_settings.py:405 core/app_settings.py:1196
msgid "Public API"
@@ -2229,7 +2176,7 @@ msgstr "Verbindung aktivieren"
#: core/app_settings.py:410
msgid "Enable communication with Modoboa public API"
-msgstr "Aktivieren Sie die Kommunikation mit der öffentlichen API von Modoboa"
+msgstr "Verbindung mit Modoboa public API aktivieren"
#: core/app_settings.py:414 core/app_settings.py:1211
msgid "Check new versions"
@@ -2237,16 +2184,17 @@ msgstr "Prüfe auf neue Versionen"
#: 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"
+msgstr "Prüft automatisch ob eine neuere Version verfügbar ist."
#: core/app_settings.py:420 core/app_settings.py:1222
msgid "Send an email when new versions are found"
-msgstr "Sende eine E-Mail, wenn eine neue Version gefunden wurde"
+msgstr "Sende eine Email wenn eine neue Version gefunden wurde"
#: core/app_settings.py:422 core/app_settings.py:1226
msgid "Send an email to notify admins about new versions"
msgstr ""
-"Sendet eine E-Mail, um Administratoren über neue Versionen zu benachrichtigen"
+"Sende eine Email um die Administratoren über eine neue Version zu "
+"benachrichtigen"
#: core/app_settings.py:425 core/app_settings.py:1233
msgid "Recipient"
@@ -2254,7 +2202,7 @@ msgstr "Empfänger"
#: core/app_settings.py:427 core/app_settings.py:1236
msgid "Recipient of new versions notification emails."
-msgstr "Empfänger von Benachrichtigungs-E-Mails über neue Version."
+msgstr "Empfänger für die Benachrichtigungsemail für eine neue Version"
#: core/app_settings.py:431 core/app_settings.py:1243
msgid "Send statistics"
@@ -2263,7 +2211,7 @@ msgstr "Sende Statistiken"
#: core/app_settings.py:434 core/app_settings.py:1246
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-"Sendet Statistiken an die öffentliche API von Modoboa (Zähler und verwendete "
+"Statistiken über die Modoboa public API senden (Zähler und Nutzungs "
"Erweiterungen)"
#: core/app_settings.py:438 core/app_settings.py:1258
@@ -2271,16 +2219,17 @@ msgid "Miscellaneous"
msgstr "Verschiedenes"
#: core/app_settings.py:441 core/app_settings.py:1265
-#, fuzzy
-#| msgid "Inactive account threshold"
msgid "Enable inactive account tracking"
-msgstr "Schwellwert für inaktive Konten"
+msgstr "Verfolgung inaktiver Konten aktivieren"
#: 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."
#: core/app_settings.py:451 core/app_settings.py:1277
msgid "Inactive account threshold"
@@ -2291,12 +2240,12 @@ msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-"Ein Konto mit einem letzten Login-Datum über diesem Schwellenwert (in Tagen) "
-"wird als inaktiv betrachtet"
+"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:460 core/app_settings.py:1289
msgid "Top notifications check interval"
-msgstr "Prüfintervall für Benachrichtigungen"
+msgstr "Benachrichtigungs-Prüfintervall"
#: core/app_settings.py:462 core/app_settings.py:1292
msgid "Interval between two top notification checks (in seconds)"
@@ -2304,11 +2253,11 @@ msgstr "Intervall zwischen zwei Benachrichtigungsprüfungen (in Sekunden)"
#: core/app_settings.py:466 core/app_settings.py:1299
msgid "Maximum log record age"
-msgstr "Maximales Alter eines Log-Eintrags"
+msgstr "Maximales Alter für Log-Einträge"
#: 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 Protokollsatzes in Tagen"
+msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)"
#: core/app_settings.py:472 core/app_settings.py:1308
msgid "Items per page"
@@ -2316,7 +2265,7 @@ msgstr "Einträge pro Seite"
#: core/app_settings.py:474 core/app_settings.py:1310
msgid "Number of displayed items per page"
-msgstr "Anzahl der angezeigten Einträge pro Seite"
+msgstr "Anzahl dargestellter Einträge pro Seite"
#: core/app_settings.py:478 core/app_settings.py:1317
msgid "Default top redirection"
@@ -2324,13 +2273,11 @@ msgstr "Standardumleitung"
#: core/app_settings.py:482 core/app_settings.py:1319
msgid "The default redirection used when no application is specified"
-msgstr ""
-"Die Standardumleitung, die verwendet wird, wenn keine Anwendung angegeben "
-"wurde"
+msgstr "Die Standardumleitung wenn kein Programm angegeben wurde"
#: core/app_settings.py:830
msgid "LDAP"
-msgstr ""
+msgstr "LDAP"
#: core/checks/settings_checks.py:7
msgid ""
@@ -2339,7 +2286,7 @@ msgid ""
"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 "
+"zwischen Sommer- und Winterzeit führen (z.B. das Auftauchen derselben "
"lokalen Zeit zweimal aufgrund der Zeitumstellung)."
#: core/checks/settings_checks.py:11
@@ -2352,7 +2299,7 @@ msgstr "Normaler Benutzer"
#: core/constants.py:7
msgid "Domain administrator"
-msgstr "Domain-Administrator"
+msgstr "Domain Administrator"
#: core/constants.py:8
msgid "Reseller"
@@ -2364,7 +2311,7 @@ msgstr "Super-Administrator"
#: core/constants.py:108
msgid "Choose a provider"
-msgstr "Wähle einen Anbieter"
+msgstr "Wähle einen Provider"
#: core/constants.py:113
msgid "Dummy"
@@ -2372,7 +2319,7 @@ msgstr "Platzhalter"
#: core/drf_authentication.py:17
msgid "Missing 2FA verification."
-msgstr ""
+msgstr "Fehlende 2FA-Verifizierung."
#: core/forms.py:35
msgid "Old password"
@@ -2392,7 +2339,7 @@ msgstr "Passwörter stimmen nicht überein"
#: core/forms.py:124
msgid "Enable API access"
-msgstr "API-Zugriff aktivieren"
+msgstr "API Zugriff aktivieren"
#: core/forms.py:170
msgid "Verification code"
@@ -2408,12 +2355,12 @@ msgstr "hinzugefügt"
#: core/handlers.py:39
msgid "modified"
-msgstr "geändert"
+msgstr "verändert"
#: core/handlers.py:41
#, python-format
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
-msgstr "%(object)s '%(name)s' %(action)s von Benutzer %(user)s"
+msgstr "%(object)s '%(name)s' %(action)s der Identität %(user)s"
#: core/handlers.py:64
#, python-format
@@ -2422,7 +2369,7 @@ msgstr "%(object)s '%(name)s' %(action)s von "
#: core/handlers.py:67
msgid "deleted"
-msgstr "gelöscht"
+msgstr "entfernt"
#: core/handlers.py:71
msgid "user {}"
@@ -2434,11 +2381,11 @@ msgstr "Administrationsbefehl"
#: core/handlers.py:95
msgid "You can't delete your own account"
-msgstr "Sie können Ihr eigenes Konto nicht löschen"
+msgstr "Sie können Ihr eigenes Konto nicht entfernen"
#: core/handlers.py:128
msgid "One or more updates are available"
-msgstr "Ein oder mehrere Updates sind verfügbar"
+msgstr "Eine oder mehrere Aktualisierungen sind verfügbar"
#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
@@ -2446,11 +2393,11 @@ msgstr "[modoboa] Update(s) verfügbar"
#: core/models.py:55
msgid "Allow mailboxes access"
-msgstr "Postfachzugriff zulassen"
+msgstr "Erlaube den Postfach-Zugriff"
#: core/models.py:57
msgid "Allow this administrator to access user mailboxes"
-msgstr "Gewähren Sie diesem Administrator Zugriff auf Benutzerpostfächer"
+msgstr "Erlaubt dem Administrator auf Benutzer-Postfächer zuzugreifen"
#: core/models.py:59 core/templates/core/user_security.html:119
msgid "password"
@@ -2467,13 +2414,11 @@ msgstr "Bevorzugte Anzeigesprache für Seiten."
#: core/models.py:75
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-"Eine alternative E-Mail-Adresse kann für die Wiederherstellung verwendet "
-"werden."
+"Eine alternative E-Mail-Adresse welche Wiederherstellungszwecken dient."
#: core/models.py:131
msgid "Failed to update password: LDAP module not installed"
-msgstr ""
-"Kennwort konnte nicht aktualisiert werden: LDAP-Modul nicht installiert"
+msgstr "Konnte Passwort nicht aktualisieren: LDAP-Modul nicht installiert"
#: core/models.py:166 policyd/core.py:106
msgid "account"
@@ -2549,7 +2494,7 @@ msgstr "So you Start Europa"
#: core/sms_backends/ovh.py:28 core/sms_backends/ovh.py:66
msgid "So you Start North America"
-msgstr "So you Start Nord-Amerika"
+msgstr "So you Start Amerika"
#: core/sms_backends/ovh.py:29 core/sms_backends/ovh.py:67
msgid "Kimsufi Europe"
@@ -2561,25 +2506,23 @@ msgstr "Kimsufi Nordamerika"
#: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109
msgid "Application key"
-msgstr "Anwendungsschlüssel"
+msgstr "Applikationsschlüssel"
#: core/sms_backends/ovh.py:41
msgid "Application secret"
-msgstr "Anwendungsgeheimnis"
+msgstr "Applikationsgeheimnis"
#: core/sms_backends/ovh.py:49 core/sms_backends/ovh.py:124
msgid "Consumer key"
msgstr "Verbraucherschlüssel"
#: core/sms_backends/ovh.py:116
-#, fuzzy
-#| msgid "Application secret"
msgid "Appication secret"
-msgstr "Anwendungsgeheimnis"
+msgstr "Anwendungspasswort"
#: core/templates/core/_current_features.html:6
msgid "Features looking for sponsoring"
-msgstr "Funktionen, die nach Sponsoring suchen"
+msgstr "Noch zu unterstützende Features"
#: core/templates/core/_current_features.html:12
msgid "Goal:"
@@ -2595,7 +2538,7 @@ msgstr "Noch nichts zu sponsern."
#: core/templates/core/_latest_news_widget.html:5
msgid "Latest news"
-msgstr "Neueste Nachrichten"
+msgstr "Neuste Nachrichten"
#: core/templates/core/_latest_news_widget.html:19
msgid ""
@@ -2607,7 +2550,7 @@ msgstr ""
#: core/templates/core/api_access.html:3
msgid "API access"
-msgstr "API-Zugriff"
+msgstr "API Zugriff"
#: core/templates/core/api_access.html:3
msgid "Control your access to Modoboa API"
@@ -2624,7 +2567,7 @@ msgstr ""
#: core/templates/core/api_access.html:14
msgid "API access token"
-msgstr "API-Zugriffstoken"
+msgstr "API access token"
#: core/templates/core/dashboard.html:17
#, python-format
@@ -2641,7 +2584,7 @@ msgstr "Verschiedene Informationen über Modoboa"
#: core/templates/core/information.html:5
msgid "One or more updates are available!"
-msgstr "Ein oder mehrere Updates sind verfügbar"
+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."
@@ -2671,7 +2614,7 @@ msgstr "Logs"
#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
-msgstr "Bisher auf Modoboa ..."
+msgstr "Vorher auf Modoboa…"
#: core/templates/core/logs.html:7
msgid "Level"
@@ -2690,10 +2633,10 @@ msgid_plural ""
" The following updates are available:\n"
msgstr[0] ""
"\n"
-" Folgendes Update ist verfügbar:\n"
+"Die folgende Aktualisierung ist verfügbar:\n"
msgstr[1] ""
"\n"
-" Folgende Updates sind verfügbar:\n"
+"Die folgenden Aktualisierungen sind verfügbar:\n"
#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:70
msgid "Parameters"
@@ -2735,7 +2678,7 @@ msgstr "Aktualisieren Sie Ihre persönlichen Daten"
#: core/templates/core/user_profile.html:13
msgid "Click here to update your password"
-msgstr "Klicken Sie hier, um Ihr Passwort zu aktualisieren"
+msgstr "Hier klicken um das Passwort zu aktualisieren"
#: core/templates/core/user_security.html:2 core/templatetags/core_tags.py:145
msgid "Security"
@@ -2750,12 +2693,12 @@ 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 ""
-"Installieren Sie einen Soft-Token-Authentifikator wie FreeOTP oder Google "
-"Authenticator aus dem App-Store und scannen Sie den QR-Code."
+"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"
-msgstr "PIN-Code"
+msgstr "Pincode"
#: core/templates/core/user_security.html:28
msgid "Register"
@@ -2776,14 +2719,14 @@ msgid ""
"to save them in a safe place, otherwise you won't be able to access your "
"account anymore."
msgstr ""
-"Die folgenden Wiederherstellungscodes können jeweils einmal verwendet "
-"werden, um den Zugriff auf Ihr Konto wiederherzustellen, falls Sie "
-"beispielsweise Ihr Telefon verlieren. Achten Sie darauf, diese sicher "
-"aufzubewahren, da Sie sonst nicht mehr auf Ihr Konto zugreifen können."
+"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 "Die Zwei-Faktor-Authentifizierung ist für diesen Account aktiviert."
+msgstr "Zwei-Faktor-Authentifizierung ist für diesen Account aktiviert."
#: core/templates/core/user_security.html:57
msgid "This will invalidate your registered application."
@@ -2791,7 +2734,7 @@ msgstr ""
#: core/templates/core/user_security.html:58
msgid "Disable 2FA"
-msgstr "2FA deaktivieren"
+msgstr "Deaktiviere 2-Faktor-Authentifizierung"
#: core/templates/core/user_security.html:60
msgid "This will regenerate your tokens."
@@ -2799,20 +2742,20 @@ msgstr ""
#: core/templates/core/user_security.html:61
msgid "Reset recovery codes"
-msgstr "Wiederherstellungscodes zurücksetzen"
+msgstr "Setze Wiederherstellungscodes zurück"
#: core/templates/core/user_security.html:65
msgid ""
"Two-Factor Authentication (2FA) is not yet activated for your account. "
"Enabling this feature will increase your account's security."
msgstr ""
-"Die Zwei-Faktor-Authentifizierung (2FA) ist für diesen Account noch nicht "
-"aktiviert. Die Aktivierung dieser Funktion erhöht die Sicherheit des "
-"Accounts."
+"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"
-msgstr "2FA aktivieren"
+msgstr "Aktiviere 2FA"
#: core/templates/core/user_security.html:84
msgid "New recovery codes"
@@ -2824,9 +2767,9 @@ msgstr "Hier sind Ihre neuen Wiederherstellungscodes."
#: core/templates/core/user_security.html:118
#, fuzzy
-#| msgid "Forgot password?"
+#| msgid "Crypt passwords"
msgid "Confirm your password"
-msgstr "Passwort vergessen?"
+msgstr "Passwörter verschlüsseln"
#: core/templatetags/core_tags.py:34
msgid "Modoboa"
@@ -2834,7 +2777,7 @@ msgstr "Modoboa"
#: core/templatetags/core_tags.py:110
msgid "Logout"
-msgstr "Ausloggen"
+msgstr "Logout"
#: core/templatetags/core_tags.py:154
msgid "API"
@@ -2851,7 +2794,8 @@ msgstr "Parameter gespeichert"
#: core/views/auth.py:101
msgid "Your username and password didn't match. Please try again."
msgstr ""
-"Benutzername und Passwort stimmen nicht überein. Bitte versuche es erneut."
+"Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es "
+"noch einmal."
#: core/views/auth.py:144
msgid "User '{}' successfully logged out"
@@ -2867,147 +2811,140 @@ msgstr "Einstellungen gespeichert"
#: core/views/user.py:118
msgid "Access updated"
-msgstr "Zugang aktualisiert"
+msgstr "Zugriff aktualisiert"
#: dmarc/forms.py:36 dmarc/forms.py:50
-#, fuzzy
-#| msgid "LDAP settings"
msgid "DNS settings"
-msgstr "LDAP-Einstellungen"
+msgstr "DNS Einstellungen"
#: dmarc/forms.py:39 dmarc/forms.py:56
msgid "Enable reverse lookups"
-msgstr ""
+msgstr "Reverse-Lookups aktivieren"
#: 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)"
#: dmarc/forms.py:74 dmarc/forms.py:78
msgid "DMARC"
-msgstr ""
+msgstr "DMARC"
#: dmarc/handlers.py:21
msgid "Show DMARC report for {}"
-msgstr ""
+msgstr "DMARC-Bericht für {} anzeigen"
#: dmarc/lib.py:294 dmarc/templatetags/dmarc_tags.py:67 dmarc/views.py:120
msgid "Not resolved"
-msgstr ""
+msgstr "Nicht aufgelöst"
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
msgid "None"
-msgstr ""
+msgstr "Nichts"
#: dmarc/models.py:11
msgid "Quarantine"
-msgstr ""
+msgstr "Quarantäne"
#: dmarc/models.py:12
-#, fuzzy
-#| msgid "Subject"
msgid "Reject"
-msgstr "Betreff"
+msgstr "Ablehnung"
#: dmarc/models.py:17
msgid "Neutral"
-msgstr ""
+msgstr "Neutral"
#: dmarc/models.py:18
-#, fuzzy
-#| msgid "Password"
msgid "Pass"
-msgstr "Passwort"
+msgstr "Genehmigen"
#: dmarc/models.py:19
msgid "Fail"
-msgstr ""
+msgstr "Abbruch"
#: dmarc/models.py:20
-#, fuzzy
-#| msgid "Secondary server port"
msgid "Temporary error"
-msgstr "Ausfallserver-Port"
+msgstr "Temporärer Fehler"
#: dmarc/models.py:21
msgid "Permanent error"
-msgstr ""
+msgstr "Permanenter Fehler"
#: dmarc/models.py:24
msgid "Policy"
-msgstr ""
+msgstr "Richtlinie"
#: dmarc/models.py:26
msgid "Soft failure"
-msgstr ""
+msgstr "Schwacher Fehler"
#: dmarc/templates/dmarc/_result_detail.html:6
msgid "Total"
-msgstr ""
+msgstr "Total"
#: dmarc/templates/dmarc/domain_report.html:21
#: dmarc/templates/dmarc/domain_report.html:27
msgid "Fully aligned"
-msgstr ""
+msgstr "Voll zugeordnet"
#: dmarc/templates/dmarc/domain_report.html:22
#: dmarc/templates/dmarc/domain_report.html:28
msgid "Partially aligned"
-msgstr ""
+msgstr "Teilweise zugeordnet"
#: dmarc/templates/dmarc/domain_report.html:23
#: dmarc/templates/dmarc/domain_report.html:29
msgid "Forwarded"
-msgstr ""
+msgstr "Weitergeleitet"
#: dmarc/templates/dmarc/domain_report.html:24
#: dmarc/templates/dmarc/domain_report.html:30
msgid "Failed"
-msgstr ""
+msgstr "Fehlgeschlagen"
#: dmarc/templates/dmarc/domain_report.html:52
msgid "DMARC report for"
-msgstr ""
+msgstr "DMARC-Bericht für"
#: dmarc/templates/dmarc/domain_report.html:76
msgid "processed"
-msgstr ""
+msgstr "durchgeführt"
#: dmarc/templates/dmarc/domain_report.html:85
msgid "fully aligned"
-msgstr ""
+msgstr "voll zugeordnet"
#: dmarc/templates/dmarc/domain_report.html:94
msgid "partially aligned"
-msgstr ""
+msgstr "teilweise zugeordnet"
#: dmarc/templates/dmarc/domain_report.html:103
msgid "forwarded"
-msgstr ""
+msgstr "weitergeleitet"
#: dmarc/templates/dmarc/domain_report.html:112
msgid "failed"
-msgstr ""
+msgstr "fehlgeschlagen"
#: dmarc/templates/dmarc/domain_report.html:122
msgid "Display details"
-msgstr ""
+msgstr "Anzeigedetails"
#: dmarc/templates/dmarc/domain_report.html:126
msgid "Trusted sources"
-msgstr ""
+msgstr "Vertraute Quellen"
#: dmarc/templates/dmarc/domain_report.html:134
msgid "Partially trusted sources / Forwarders"
-msgstr ""
+msgstr "Teilweise vertrauenswürdige Quellen/Weiterleitungen"
#: dmarc/templates/dmarc/domain_report.html:142
msgid "Forwarders with ARC"
-msgstr ""
+msgstr "Weiterleitungen mit ARC"
#: dmarc/templates/dmarc/domain_report.html:150
msgid "Unknown sources / Threats"
-msgstr ""
+msgstr "Unbekannte Quellen / Bedrohungen"
#: dnstools/lib.py:82
msgid "Wrong ip4 mechanism syntax"
@@ -3079,7 +3016,7 @@ msgstr "Keine ganze Zahl"
#: dnstools/lib.py:236
msgid " less than {}"
-msgstr "weniger als {}"
+msgstr "kleiner als {}"
#: dnstools/lib.py:239
msgid " greater than {}"
@@ -3159,60 +3096,57 @@ msgid "DNS configuration for {}"
msgstr "DNS-Konfiguration für {}"
#: imap_migration/api/v2/serializers.py:117
-#, fuzzy
-#| msgid "Access updated"
msgid "Access denied"
-msgstr "Zugang aktualisiert"
+msgstr "Zugriff verweigert"
#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
-#, fuzzy
-#| msgid "Enable communication"
msgid "Enable IMAP Migration"
-msgstr "Verbindung aktivieren"
+msgstr "IMAP-Migration aktivieren"
#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
-#, fuzzy
-#| msgid "Enable communication"
msgid "Enable IMAP Migration."
-msgstr "Verbindung aktivieren"
+msgstr "IMAP-Migration aktivieren."
#: imap_migration/app_settings.py:34
msgid "OfflineIMAP"
-msgstr ""
+msgstr "OfflineIMAP"
#: imap_migration/app_settings.py:40 imap_migration/app_settings.py:110
msgid "Concurrent sync jobs"
-msgstr ""
+msgstr "Gleichzeitige Synchronisierungsaufgaben"
#: imap_migration/app_settings.py:42 imap_migration/app_settings.py:112
msgid "The maximum number of concurrent synchronization jobs"
-msgstr ""
+msgstr "Die maximale Anzahl von gleichzeitigen Synchronisierungsaufgaben"
#: imap_migration/app_settings.py:53
msgid "OfflineIMAP Filter"
-msgstr ""
+msgstr "OfflineIMAP Filter"
#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
msgid "Create Folders"
-msgstr ""
+msgstr "Erstelle Ordner"
#: 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"
#: imap_migration/app_settings.py:68 imap_migration/app_settings.py:125
msgid "Folder Filter Exclusions"
-msgstr ""
+msgstr "Ordnerfilter Ausschlüsse"
#: 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"
#: imap_migration/app_settings.py:78 imap_migration/app_settings.py:135
msgid "Folder Filter Inclusions"
-msgstr ""
+msgstr "Ordnerfilter einbeziehen"
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
@@ -3220,76 +3154,76 @@ msgid ""
"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:107
-#, fuzzy
-#| msgid "LDAP settings"
msgid "OfflineIMAP settings"
-msgstr "LDAP-Einstellungen"
+msgstr "OfflineIMAP-Einstellungen"
#: imap_migration/app_settings.py:115
msgid "OfflineIMAP Filter settings"
-msgstr ""
+msgstr "OfflineIMAP Filter Einstellungen"
#: imap_migration/apps.py:18 imap_migration/apps.py:23
-#, fuzzy
-#| msgid "Auto configuration"
msgid "IMAP Migration"
-msgstr "Automatische Konfiguration"
+msgstr "IMAP-Migration"
#: imap_migration/auth_backends.py:49
#, python-format
msgid "Connection to IMAP server failed: %s"
-msgstr ""
+msgstr "Verbindung zu IMAP-Server fehlgeschlagen: %s"
#: 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."
#: 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."
#: imap_migration/templates/imap_migration/index.html:6
-#, fuzzy
-#| msgid "Auto configuration"
msgid "IMAP migration"
-msgstr "Automatische Konfiguration"
+msgstr "IMAP-Migration"
#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
-msgstr "LDAP-Konto konnte nicht erstellt werden: {}"
+msgstr "LDAP-Account konnte nicht angelegt werden: {}"
#: ldapsync/lib.py:121
msgid "Failed to update LDAP account: {}"
-msgstr "LDAP-Konto konnte nicht aktualisiert werden: {}"
+msgstr "LDAP-Account konnte nicht aktualisiert werden: {}"
#: ldapsync/lib.py:134
msgid "Failed to delete LDAP account: {}"
-msgstr "Fehler beim Löschen des LDAP-Kontos: {}"
+msgstr "LDAP-Account konnte nicht gelöscht werden: {}"
#: ldapsync/lib.py:141
msgid "Failed to disable LDAP account: {}"
-msgstr "Fehler beim Deaktivieren des LDAP-Kontos: {}"
+msgstr "LDAP-Account konnte nicht deaktiviert werden: {}"
#: lib/api_client.py:35 lib/api_client.py:69 lib/api_client.py:83
#: lib/api_client.py:87
-#, fuzzy, python-format
-#| msgid "Enable communication with Modoboa public API"
+#, python-format
msgid "Failed to communicate with public API: %s"
-msgstr "Aktivieren Sie die Kommunikation mit der öffentlichen API von Modoboa"
+msgstr "Die Kommunikation mit der öffentlichen API ist fehlgeschlagen: %s"
#: lib/db_utils.py:22
#, python-format
msgid "Connection to database %s not configured"
-msgstr "Verbindung zur Datenbank %s nicht konfiguriert"
+msgstr "Verbindung zu Datenbank %s nicht konfiguriert"
#: lib/email_utils.py:139 lib/email_utils.py:350
msgid "unable to determine encoding of string"
-msgstr "Codierung der Zeichenkette konnte nicht bestimmt werden"
+msgstr "Kodierung der Zeichenkette konnte nicht bestimmt werden"
#: lib/exceptions.py:83
#, python-format
@@ -3302,7 +3236,7 @@ msgstr "Zugriff verweigert"
#: lib/fields.py:14 lib/validators.py:13
msgid "Enter a valid domain name"
-msgstr "Geben Sie einen gültigen Domänennamen ein"
+msgstr "Geben Sie einen gültigen Domain-Namen an"
#: lib/fields.py:41 lib/fields.py:54
msgid "Enter a valid email address."
@@ -3316,7 +3250,7 @@ msgstr "Abschicken"
#: lib/ldap_utils.py:126
msgid "Failed to update password: {}"
-msgstr "Passwort konnte nicht aktualisiert werden: {}"
+msgstr "Ändern des Passworts fehlgeschlagen: {}"
#: lib/templatetags/lib_tags.py:120 templates/common/email_searchbar.html:17
msgid "Subject"
@@ -3324,184 +3258,206 @@ msgstr "Betreff"
#: limits/app_settings.py:17 limits/app_settings.py:147
msgid "Default per-admin limits"
-msgstr ""
+msgstr "Standardgrenzen je Admin"
#: limits/app_settings.py:20 limits/app_settings.py:153
msgid "Enable per-admin limits"
-msgstr ""
+msgstr "Aktiviere Grenzen je Admin"
#: limits/app_settings.py:22 limits/app_settings.py:154
msgid "Enable or disable per-admin limits"
-msgstr ""
+msgstr "Aktiviere oder deaktiviere Grenzen je Admin"
#: 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
-#, fuzzy
-#| msgid "Domain administrator"
msgid "Domain admins"
-msgstr "Domain-Administrator"
+msgstr "Domain-Administratoren"
#: 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)"
#: 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)"
#: 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)"
#: 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)"
#: 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)"
#: 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)"
#: limits/app_settings.py:82 limits/app_settings.py:232
msgid "Default per-domain limits"
-msgstr ""
+msgstr "Standardgrenzen je Domäne"
#: limits/app_settings.py:85 limits/app_settings.py:238
msgid "Enable per-domain limits"
-msgstr ""
+msgstr "Aktiviere Grenzen je Domäne"
#: limits/app_settings.py:87 limits/app_settings.py:239
msgid "Enable or disable per-domain limits"
-msgstr ""
+msgstr "Aktiviere oder deaktiviere Grenzen je Domäne"
#: 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)"
#: 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)"
#: 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)"
#: 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)"
#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
-msgstr ""
+msgstr "Grenzwerte"
#: limits/constants.py:14
msgid "Maximum number of domains this user can create"
-msgstr ""
+msgstr "Maximale Anzahl Domains, die dieser Benutzer erstellen darf"
#: limits/constants.py:23
msgid "Maximum number of domain aliases this user can create"
-msgstr ""
+msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf"
#: limits/constants.py:32
msgid "Maximum number of mailboxes this user can create"
-msgstr ""
+msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf"
#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
-msgstr ""
+msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf"
#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
-msgstr ""
+msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf"
#: limits/constants.py:60
msgid "Quota shared between domains of this reseller"
msgstr ""
+"Gemeinsame Nutzung des Kontingents durch die Domänen dieses Wiederverkäufers"
#: limits/constants.py:77
msgid "Maximum number of domain aliases allowed for this domain."
-msgstr ""
+msgstr "Maximale Anzahl der für diese Domäne zulässigen Domänen-Aliase."
#: limits/constants.py:85
msgid "Maximum number of mailboxes allowed for this domain."
-msgstr ""
+msgstr "Maximale Anzahl von Postfächern, die für diese Domäne zulässig sind."
#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
-msgstr ""
+msgstr "Maximale Anzahl der für diese Domäne zulässigen Mailbox-Aliase."
#: 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."
#: limits/forms.py:38 limits/forms.py:88
-#, fuzzy
-#| msgid "Invalid line"
msgid "Invalid limit"
-msgstr "Ungültige Zeile"
+msgstr "Ungültiger Grenzwert"
#: limits/handlers.py:118 limits/handlers.py:151
msgid "Resources"
-msgstr ""
+msgstr "Ressourcen"
#: limits/lib.py:19
#, python-format
msgid "%s: limit reached"
-msgstr ""
+msgstr "%s: Grenze erreicht"
#: limits/lib.py:29
msgid "Not enough resources"
-msgstr ""
+msgstr "Nicht ausreichend Ressourcen"
#: 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"
#: limits/models.py:56 limits/models.py:119
msgid "unlimited"
-msgstr ""
+msgstr "unbegrenzt"
#: limits/templates/limits/poolusage.html:3
#: limits/templates/limits/resources_widget.html:5
msgid "Resources usage"
-msgstr ""
+msgstr "Ressourcen-Verbrauch"
#: 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."
#: maillog/apps.py:20 maillog/forms.py:23
msgid "Path to the log file"
-msgstr "Pfad zur Protokolldatei"
+msgstr "Pfad zur Log-Datei"
#: maillog/apps.py:22 maillog/forms.py:25
msgid "Path to log file used to collect statistics"
-msgstr ""
-"Pfad zur Protokolldatei, die zum Sammeln von Statistiken verwendet wird"
+msgstr "Pfad zur Log-Datei, um Statistiken zu sammeln"
#: maillog/apps.py:29 maillog/forms.py:30
msgid "Directory to store RRD files"
@@ -3509,15 +3465,15 @@ msgstr "Ablageverzeichnis für RRD-Dateien"
#: maillog/apps.py:31 maillog/forms.py:32
msgid "Path to directory where RRD files are stored"
-msgstr "Pfad zum Verzeichnis, in dem RRD-Dateien gespeichert sind"
+msgstr "Pfad zum Verzeichnis in dem die RRD-Dateien abgelegt werden"
#: maillog/apps.py:38 maillog/forms.py:37
msgid "Show greylisted messages"
-msgstr "Zeige Greylisted E-Mails"
+msgstr "Grey-gelistete E-Mails anzeigen"
#: maillog/apps.py:40 maillog/forms.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
-msgstr "Unterscheide zwischen Hard- und Soft-Rejects (Greylisting)"
+msgstr "Unterscheidung zwischen Hard- und Soft-Rejects (Greylisting)"
#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
msgid "Statistics"
@@ -3525,11 +3481,11 @@ msgstr "Statistiken"
#: maillog/graphics.py:91
msgid "Failed to locate rrdtool binary."
-msgstr "rrdtool-Binärdatei konnte nicht gefunden werden."
+msgstr "RRDTool Binary konnte nicht gefunden werden"
#: maillog/graphics.py:168
msgid "Average traffic (msgs/min)"
-msgstr "Durchschnittlicher Datenverkehr (Nachrichten/Min.)"
+msgstr "Durchschnittlicher Traffic (Nachrichten/min)"
#: maillog/graphics.py:171
msgid "sent messages"
@@ -3541,7 +3497,7 @@ msgstr "Empfangene Nachrichten"
#: maillog/graphics.py:173
msgid "bounced messages"
-msgstr "Unzustellbare Nachrichten"
+msgstr "Zurückgeworfene Nachrichten"
#: maillog/graphics.py:174
msgid "rejected messages"
@@ -3557,19 +3513,19 @@ msgstr "Spam E-Mails"
#: maillog/graphics.py:183
msgid "greylisted messages"
-msgstr "Greylisted E-Mails"
+msgstr "Grey-gelistete E-Mails"
#: maillog/graphics.py:200
msgid "Average normal traffic size (bytes/min)"
-msgstr "Durchschnittlicher Datenverkehr (Bytes/Min)"
+msgstr "Durchschnittliche Traffic-Menge (Bytes/min)"
#: maillog/graphics.py:203
msgid "received size"
-msgstr "Empfangene Daten"
+msgstr "Empfangsgröße"
#: maillog/graphics.py:204
msgid "sent size"
-msgstr "Gesendete Daten"
+msgstr "Versendegröße"
#: maillog/graphics.py:211
msgid "Mail traffic"
@@ -3593,15 +3549,15 @@ msgstr "Grafische Statistiken"
#: maillog/templates/maillog/index.html:44
msgid "Search a domain"
-msgstr "Suche eine Domäne"
+msgstr "Domain suchen"
#: maillog/templates/maillog/index.html:77
msgid "Apply"
-msgstr "Anwenden"
+msgstr "Antworten"
#: maillog/views.py:33
msgid "No statistics available"
-msgstr "Keine Statistiken verfügbar"
+msgstr "Keine Statistik-Daten verfügbar"
#: maillog/views.py:39
msgid "Day"
@@ -3625,7 +3581,7 @@ msgstr "Benutzerdefiniert"
#: maillog/views.py:66
msgid "Unknown graphic set"
-msgstr "Unbekannter Grafiksatz"
+msgstr "Unbekanntes graphisches Set"
#: maillog/views.py:71
msgid "Unknown domain"
@@ -3633,187 +3589,174 @@ msgstr "Unbekannte Domäne"
#: maillog/views.py:76
msgid "Bad custom period"
-msgstr "Ungültiger benutzerdefinierter Zeitraum"
+msgstr "Ungültiger individueller Zeitraum"
#: pdfcredentials/api/v2/serializers.py:31 pdfcredentials/app_settings.py:236
#: pdfcredentials/documents.py:60
-#, fuzzy
-#| msgid "Update your personal information"
msgid "Personal account information"
-msgstr "Aktualisieren Sie Ihre persönlichen Daten"
+msgstr "Persönliche Kontoinformationen"
#: pdfcredentials/api/v2/serializers.py:61
-#, fuzzy
-#| msgid "Directory to store RRD files"
msgid "Directory is not writable"
-msgstr "Ablageverzeichnis für RRD-Dateien"
+msgstr "Verzeichnis ist nicht beschreibbar"
#: pdfcredentials/api/v2/serializers.py:82 pdfcredentials/views.py:26
msgid "No document available for this user"
-msgstr ""
+msgstr "Kein Dokument für diesen Benutzer verfügbar"
#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
-#, fuzzy
-#| msgid "Enable API access"
msgid "Enable PDF credentials"
-msgstr "API-Zugriff aktivieren"
+msgstr "PDF-Anmeldeinformationen aktivieren"
#: 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."
#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203
msgid "Documents storage"
-msgstr ""
+msgstr "Dokumentenablage"
#: pdfcredentials/app_settings.py:48 pdfcredentials/app_settings.py:206
-#, fuzzy
-#| msgid "Directory to store RRD files"
msgid "Directory to save documents into"
-msgstr "Ablageverzeichnis für RRD-Dateien"
+msgstr "Speicherpfad für Dokumente"
#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:208
-#, fuzzy
-#| msgid "Path to directory where RRD files are stored"
msgid "Path to a directory where PDF documents will be saved"
-msgstr "Pfad zum Verzeichnis, in dem RRD-Dateien gespeichert sind"
+msgstr "Dateipfad in dem die PDF-Dokumente abgelegt werden"
#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
-#, fuzzy
-#| msgid "Security"
msgid "Security options"
-msgstr "Sicherheit"
+msgstr "Sicherheitseinstellungen"
#: pdfcredentials/app_settings.py:67 pdfcredentials/app_settings.py:214
msgid "Delete documents after the first download"
-msgstr ""
+msgstr "Lösche Dokumente nach dem ersten Download"
#: 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"
#: pdfcredentials/app_settings.py:78 pdfcredentials/app_settings.py:223
msgid "Generate documents only at account creation"
-msgstr ""
+msgstr "Erzeuge Dokumente nur wenn ein Konto angelegt wurde"
#: 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."
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
-msgstr ""
+msgstr "Individuell angepasste Optionen"
#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
msgid "Title"
-msgstr ""
+msgstr "Titel"
#: pdfcredentials/app_settings.py:101 pdfcredentials/app_settings.py:237
msgid "The document's title"
-msgstr ""
+msgstr "Titel des Dokuments"
#: pdfcredentials/app_settings.py:107 pdfcredentials/app_settings.py:241
msgid "Web panel url"
-msgstr ""
+msgstr "URL der Webanwendung"
#: pdfcredentials/app_settings.py:108 pdfcredentials/app_settings.py:241
msgid "URL of the Modoboa web panel"
-msgstr ""
+msgstr "URL der Modoboa Webanwendung"
#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
-#, fuzzy
-#| msgid "spam messages"
msgid "Custom message"
-msgstr "Spam E-Mails"
+msgstr "Eigener Nachrichtentext"
#: pdfcredentials/app_settings.py:116 pdfcredentials/app_settings.py:246
msgid "A custom message that will appear at the end of documents"
-msgstr ""
+msgstr "Eine eigene Nachricht, die am Ende des Dokuments angezeigt wird"
#: pdfcredentials/app_settings.py:123 pdfcredentials/app_settings.py:251
msgid "Include mail client connection settings"
-msgstr ""
+msgstr "Verbindungseinstellungen für Mailprogramme einschließen"
#: 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"
#: pdfcredentials/app_settings.py:133 pdfcredentials/app_settings.py:260
#: pdfcredentials/documents.py:133
-#, fuzzy
-#| msgid "Server address"
msgid "SMTP server address"
-msgstr "Serveradresse"
+msgstr "SMTP Serveradresse"
#: pdfcredentials/app_settings.py:136 pdfcredentials/app_settings.py:261
msgid "Address of the SMTP server (hostname or IP)"
-msgstr ""
+msgstr "Adresse des SMTP-Servers (Hostname oder IP)"
#: pdfcredentials/app_settings.py:143 pdfcredentials/app_settings.py:265
#: pdfcredentials/documents.py:134
-#, fuzzy
-#| msgid "Server port"
msgid "SMTP server port"
-msgstr "Server Port"
+msgstr "SMTP Server-Port"
#: pdfcredentials/app_settings.py:145 pdfcredentials/app_settings.py:267
msgid "Listening port of the SMTP server"
-msgstr ""
+msgstr "Port, auf dem der SMTP-Server erreicht werden kann"
#: pdfcredentials/app_settings.py:151 pdfcredentials/app_settings.py:271
#: pdfcredentials/documents.py:135
msgid "SMTP connection security"
-msgstr ""
+msgstr "SMTP-Verbindungssicherheit"
#: 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 ""
+msgstr "Mechanismus zur Verbindungssicherung"
#: pdfcredentials/app_settings.py:159 pdfcredentials/app_settings.py:278
#: pdfcredentials/documents.py:136
-#, fuzzy
-#| msgid "Server address"
msgid "IMAP server address"
-msgstr "Serveradresse"
+msgstr "IMAP Serveradresse"
#: pdfcredentials/app_settings.py:162 pdfcredentials/app_settings.py:279
msgid "Address of the IMAP server (hostname or IP)"
-msgstr ""
+msgstr "Adresse des IMAP-Servers (Hostname oder IP)"
#: pdfcredentials/app_settings.py:169 pdfcredentials/app_settings.py:283
#: pdfcredentials/documents.py:137
-#, fuzzy
-#| msgid "Server port"
msgid "IMAP server port"
-msgstr "Server Port"
+msgstr "IMAP Server-Port"
#: pdfcredentials/app_settings.py:171 pdfcredentials/app_settings.py:285
msgid "Listening port of the IMAP server"
-msgstr ""
+msgstr "Port, auf dem der IMAP-Servier erreicht werden kann"
#: pdfcredentials/app_settings.py:177 pdfcredentials/app_settings.py:289
#: pdfcredentials/documents.py:138
msgid "IMAP connection security"
-msgstr ""
+msgstr "IMAP Verbindungssicherheit"
#: pdfcredentials/apps.py:19
msgid "PDF credentials"
-msgstr ""
+msgstr "PDF Anmeldeinformationen"
#: pdfcredentials/apps.py:24
msgid "PDF Credentials"
-msgstr ""
+msgstr "PDF-Anmeldeinformationen"
#: pdfcredentials/documents.py:65
msgid "Powered by Modoboa - Mail hosting made simple"
-msgstr ""
+msgstr "Powered by Modoboa - Mail hosting made simple"
#: pdfcredentials/documents.py:84
#, python-format
@@ -3823,10 +3766,14 @@ msgid ""
"to connect to Modoboa. Learn the content and destroy\n"
"the document as soon as possible.\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:95
msgid "Web panel:"
-msgstr ""
+msgstr "Webanwendung:"
#: pdfcredentials/documents.py:116
msgid ""
@@ -3834,22 +3781,21 @@ msgid ""
"Here you can view your emails anytime online, create filters or manage\n"
"your contacts.\n"
msgstr ""
+"\n"
+"Hier können Sie Ihre Emails online ansehen, Filter oder Kontakte erstellen.\n"
#: pdfcredentials/documents.py:126
-#, fuzzy
-#| msgid "Change password"
msgid "Please change your password!"
-msgstr "Passwort ändern"
+msgstr "Bitte ändern Sie Ihr Passwort!"
#: pdfcredentials/documents.py:130
-#, fuzzy
-#| msgid "Auto configuration"
msgid "PC/Tablet/Smartphone configuration:"
-msgstr "Automatische Konfiguration"
+msgstr "PC/Tablet/Smartphone Konfiguration:"
#: 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"
#: pdfcredentials/handlers.py:35
msgid ""
@@ -3859,20 +3805,24 @@ msgstr ""
#: pdfcredentials/handlers.py:61
msgid "Retrieve user's credentials as a PDF document"
-msgstr ""
+msgstr "Erhalte die Anmeldeinformationen des Benutzer als ein PDF-Dokument"
#: pdfcredentials/handlers.py:82
msgid "Download PDF credentials"
-msgstr ""
+msgstr "PDF-Anmeldeinformationen herunterladen"
#: 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."
#: 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. "
#: pdfcredentials/lib.py:81
msgid ""
@@ -3881,8 +3831,10 @@ msgid ""
msgstr ""
#: policyd/core.py:88
+#, fuzzy
+#| msgid "%s: limit reached"
msgid "Daily sending limit reached"
-msgstr ""
+msgstr "%s: Grenze erreicht"
#: policyd/core.py:125
msgid "[modoboa] Sending limit reached"
@@ -3897,17 +3849,19 @@ msgstr ""
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
-msgstr "Dieser Code ist ungültig"
+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 ""
+msgstr "Kann nicht größer als Domain Kontingent sein"
#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
#, fuzzy
-#| msgid "Inactive account threshold"
+#| msgid "Automatic account removal"
msgid "Automatic replies"
-msgstr "Schwellwert für inaktive Konten"
+msgstr "Automatische Konto-Entfernung"
#: postfix_autoreply/forms.py:23
msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
@@ -3951,8 +3905,10 @@ msgid ""
msgstr ""
#: postfix_autoreply/forms.py:129
+#, fuzzy
+#| msgid "Default domain quota"
msgid "Default content"
-msgstr ""
+msgstr "Standard-Domainquota"
#: postfix_autoreply/forms.py:131
#, python-format
@@ -3973,9 +3929,9 @@ msgstr ""
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
-#| msgid "spam messages"
+#| msgid "Custom message"
msgid "Auto-reply message"
-msgstr "Spam E-Mails"
+msgstr "Eigener Nachrichtentext"
#: postfix_autoreply/handlers.py:131
msgid "Auto reply"
@@ -4012,34 +3968,28 @@ msgid "Auto reply message updated successfully."
msgstr ""
#: relaydomains/api/v1/serializers.py:24
-#, fuzzy
-#| msgid "Update password service URL"
msgid "Unsupported service"
-msgstr "URL des Kennwortdienstes aktualisieren"
+msgstr "Dienst wird nicht unterstützt"
#: relaydomains/handlers.py:64
msgid "Transport settings"
-msgstr ""
+msgstr "Transport Einstellungen"
#: relaydomains/handlers.py:89
msgid "Transport"
-msgstr ""
+msgstr "Transport"
#: relaydomains/transport.py:16
-#, fuzzy
-#| msgid "From address"
msgid "target host address"
-msgstr "Absender-Adresse"
+msgstr "Ziel-Host Adresse"
#: relaydomains/transport.py:21
msgid "target host port"
-msgstr ""
+msgstr "Ziel-Host Port"
#: relaydomains/transport.py:27
-#, fuzzy
-#| msgid "Recipient"
msgid "verify recipients"
-msgstr "Empfänger"
+msgstr "Empfänger verifizieren"
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
@@ -4055,7 +4005,7 @@ msgstr "Ein interner Fehler ist aufgetreten."
#: templates/common/email_searchbar.html:5
msgid "Search..."
-msgstr "Suchen ..."
+msgstr "Suchen..."
#: templates/common/email_searchbar.html:10
msgid "From address"
@@ -4084,15 +4034,15 @@ msgstr "Weiter"
#: templates/nlayout.html:57
msgid "New admin"
-msgstr ""
+msgstr "Neuer Administrator"
#: templates/registration/base.html:8
msgid "Welcome to Modoboa"
-msgstr "Willkommen bei Modoboa"
+msgstr "Willkommen zu Modoboa"
#: templates/registration/login.html:21
msgid "Remember me"
-msgstr "Login speichern"
+msgstr "An mich erinnern"
#: templates/registration/login.html:23
msgid "Log in"
@@ -4110,7 +4060,7 @@ msgid ""
"in now."
msgstr ""
"Ihr Passwort wurde geändert. Sie können sich jetzt anmelden."
+"href=\"%(url)s\">anmelden ."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
@@ -4126,7 +4076,7 @@ msgstr ""
#: templates/registration/password_reset_confirm_code.html:20
msgid "Enter the code you've just received by SMS"
-msgstr "Geben Sie den Code ein, den Sie soeben per SMS erhalten haben"
+msgstr "Gib den Code der per SMS zugestellt wurde"
#: templates/registration/password_reset_confirm_code.html:27
msgid "Resend code"
@@ -4143,7 +4093,7 @@ msgstr ""
"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 Spam-Ordner.
"
+"eingegeben haben und überprüfen Sie Ihren Spamordner."
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -4152,8 +4102,8 @@ msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
msgstr ""
-"Um den Vorgang zum Zurücksetzen des Passworts für Ihr %(username)s Modoboa-"
-"Konto zu beginnen, klicken Sie auf folgenden Link:"
+"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
@@ -4161,7 +4111,7 @@ msgid ""
"If clicking the link above doesn't work, please copy and paste the URL in a "
"new browser window instead."
msgstr ""
-"Falls der obere Link nicht funktioniert, kopieren Sie diesen bitte in ein "
+"Falls der Link oben nicht funktioniert, kopieren Sie diesen bitte in ein "
"neues Browser-Fenster."
#: templates/registration/password_reset_email.html:14
@@ -4171,26 +4121,42 @@ msgstr "Mit freundlichen Grüßen, das Modoboa Team."
#: templates/registration/password_reset_form.html:24
msgid "Please fill-in your primary email address"
-msgstr "Bitte geben Sie Ihre primäre E-Mail-Adresse ein"
+msgstr "Bitte die Primäre Email-Adresse eingeben"
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa Passwort zurücksetzen"
#: transport/backends.py:55
-#, fuzzy
-#| msgid "Invalid line"
msgid "Invalid value"
-msgstr "Ungültige Zeile"
+msgstr "Ungültiger Wert"
#: transport/models.py:15
msgid "pattern"
-msgstr ""
+msgstr "Muster"
#: transport/models.py:16
msgid "service"
-msgstr ""
+msgstr "Dienst"
#: transport/models.py:17
msgid "next hop"
-msgstr ""
+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)"
From 415dce1188dcfff6d26ab681787d0ad6194506b4 Mon Sep 17 00:00:00 2001
From: Antoine Nguyen
Date: Wed, 20 Mar 2024 10:40:05 +0100
Subject: [PATCH 10/10] Use translation file from master
---
modoboa/locale/de/LC_MESSAGES/django.po | 2087 +++++++++--------------
1 file changed, 834 insertions(+), 1253 deletions(-)
diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po
index eb017b7b2..fdd602708 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 , 2017
# A L , 2016
@@ -44,590 +44,528 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-03-20 10:38+0100\n"
+"POT-Creation-Date: 2023-04-20 14:11+0200\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Daniel Schubert, 2024\n"
"Language-Team: German (http://app.transifex.com/tonio/modoboa/language/de/)\n"
-"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
+#: admin/api/v1/serializers.py:35 admin/forms/domain.py:44
msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
-msgstr ""
-"Von Postfächern gemeinsam genutzter Speicherplatz. Kann in KB, MB "
-"(Voreinstellung) oder GB angegeben werden. Der Wert 0 bedeutet keinen "
-"Speicherplatz."
+msgstr "Von Postfächern gemeinsam genutzter Speicherplatz. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. Der Wert 0 bedeutet keinen Speicherplatz."
-#: admin/api/v1/serializers.py:49
+#: admin/api/v1/serializers.py:42
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr ""
-"Standardkontingent in MB welches die Mailboxen erhalten. Der Wert 0 bedeutet "
-"unlimitiertes Kontingent."
+msgstr "Standardkontingent in MB welches die Mailboxen erhalten. Der Wert 0 bedeutet unlimitiertes Kontingent."
-#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
+#: admin/api/v1/serializers.py:73 admin/forms/domain.py:108
msgid "No authorized MX record found for this domain"
msgstr "Kein autorisierter MX-Eintrag für diese Domain gefunden."
-#: admin/api/v1/serializers.py:115 admin/forms/domain.py:160
+#: admin/api/v1/serializers.py:91 admin/forms/domain.py:150
msgid "Cannot be greater than domain quota"
msgstr "Kann nicht größer als Domain Kontingent sein"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:123 admin/api/v1/serializers.py:318
+#: admin/api/v2/serializers.py:479 admin/models/alias.py:34
msgid "Permission denied."
msgstr "Zugriff verweigert."
-#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
-#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
+#: admin/api/v1/serializers.py:174 admin/api/v2/serializers.py:74
+#: admin/api/v2/serializers.py:408 admin/forms/alias.py:108
+#: admin/forms/alias.py:110 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
-#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
+#: core/app_settings.py:608 core/app_settings.py:610 core/app_settings.py:621
#: transport/backends.py:40
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
-#: admin/api/v1/serializers.py:235
+#: admin/api/v1/serializers.py:186
msgid ""
"List of administered domains (resellers and domain administrators only)."
-msgstr ""
-"Liste der verwalteten Domains (nur für Reseller und Domain Administratoren)."
+msgstr "Liste der verwalteten Domains (nur für Reseller und Domain Administratoren)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:292 admin/api/v2/serializers.py:458
msgid "Not allowed for this role."
msgstr "Nicht erlaubt für diese Rolle."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:310
msgid "Must be equal to mailbox full_address"
msgstr "Muss mit mailbox full_address übereinstimmen"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
-#: admin/forms/account.py:186 admin/forms/account.py:188
-#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/api/v1/serializers.py:347 admin/api/v2/serializers.py:503
+#: admin/forms/account.py:178 admin/forms/account.py:180
+#: admin/forms/domain.py:165 admin/forms/domain.py:294
+#: admin/forms/domain.py:297 core/forms.py:94 core/forms.py:97
+#: core/forms.py:99
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:520
msgid "Local domain {} does not exist"
msgstr "Lokale Domain {} existiert nicht."
-#: admin/api/v1/serializers.py:513
+#: admin/api/v1/serializers.py:445
msgid "A list of recipient"
msgstr "Eine Liste der Empfänger"
-#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
-#, fuzzy
-#| msgid "User '%s' already exists"
-msgid "This alias already exists"
-msgstr "Benutzer %s existiert bereits"
-
-#: admin/api/v1/serializers.py:565
+#: admin/api/v1/serializers.py:492
msgid "You don't have access to this domain."
msgstr "Sie haben keinen Zugriff auf diese Domain."
-#: admin/api/v1/serializers.py:574
+#: admin/api/v1/serializers.py:500
msgid "You don't have access to this mailbox."
msgstr "Sie haben keinen Zugriff auf diese Mailbox."
-#: admin/api/v1/viewsets.py:183
+#: admin/api/v1/viewsets.py:174
msgid "Here is your new Modoboa password: {}"
msgstr "Hier ist Ihr neues Modoboa Passwort: {}"
-#: admin/api/v2/serializers.py:103 admin/forms/domain.py:320
+#: admin/api/v2/serializers.py:100 admin/forms/domain.py:314
#, python-format
msgid "User '%s' already exists"
msgstr "Benutzer %s existiert bereits"
-#: admin/api/v2/serializers.py:219 admin/api/v2/serializers.py:225
-#: admin/app_settings.py:230 admin/app_settings.py:236
-#: admin/forms/account.py:366
+#: admin/api/v2/serializers.py:210 admin/api/v2/serializers.py:218
+#: admin/app_settings.py:237 admin/app_settings.py:245
+#: admin/forms/account.py:351
msgid "Must be a positive integer"
msgstr "Muss eine positive Ganzzahl sein"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
+#: admin/api/v2/serializers.py:227 admin/app_settings.py:255
+#: pdfcredentials/api/v2/serializers.py:50
msgid "Directory not found."
msgstr "Verzeichnis nicht gefunden."
-#: admin/api/v2/serializers.py:234
+#: admin/api/v2/serializers.py:231
msgid "Directory non-writable"
msgstr "Verzeichnis ist nicht schreibbar"
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:236 admin/app_settings.py:261
msgid "openssl not found, please make sure it is installed."
msgstr "openssl nicht gefunden, bitte sicherstellen, dass es installiert ist"
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:251 admin/app_settings.py:278
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Dieses Feld erlaubt nur gültige IP-Adressen (oder Netzwerke)"
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:263
msgid "Please disable imap migration before disabling this option."
msgstr "Bitte IMAP Migration deaktivieren bevor Sie diese Option deaktivieren."
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:275 admin/app_settings.py:293
msgid "Define at least one authorized network / address"
msgstr "Mindestens ein authorisiertes Netzwerk/IP-Adresse muss definiert sein"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:508
msgid "A mailbox is required to create aliases."
msgstr "Zum Erstellen von Aliassen ist ein Postfach erforderlich."
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:649
msgid "Unknown status"
msgstr "Unbekannter Status"
-#: admin/api/v2/viewsets.py:84 admin/forms/account.py:379
-#: admin/forms/account.py:386 admin/forms/alias.py:97
+#: admin/api/v2/viewsets.py:75 admin/forms/account.py:365
+#: admin/forms/account.py:373 admin/forms/alias.py:91
msgid "You don't have access to this domain"
msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet"
-#: admin/api/v2/viewsets.py:87 admin/views/domain.py:248
+#: admin/api/v2/viewsets.py:78 admin/views/domain.py:247
msgid "You can't delete your own domain"
msgstr "Sie können Ihre eigene Domain nicht löschen"
-#: admin/api/v2/viewsets.py:392
+#: admin/api/v2/viewsets.py:384
msgid "No alarm ID provided"
msgstr "Keine Alarm-ID gegeben"
-#: admin/api/v2/viewsets.py:396
+#: admin/api/v2/viewsets.py:389
msgid "Received invalid alarm id(s)"
msgstr "Ungültige Alarm-ID(s) erhalten"
-#: admin/app_settings.py:23 admin/app_settings.py:289 admin/handlers.py:289
+#: admin/app_settings.py:23 admin/app_settings.py:300 admin/handlers.py:266
#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5 limits/app_settings.py:36
-#: limits/app_settings.py:172 limits/constants.py:13
+#: admin/templates/admin/domains.html:5 limits/app_settings.py:37
+#: limits/app_settings.py:170 limits/constants.py:9
msgid "Domains"
msgstr "Domains"
-#: admin/app_settings.py:26 admin/app_settings.py:295
+#: admin/app_settings.py:26 admin/app_settings.py:303
msgid "Enable MX checks"
msgstr "Aktiviere MX Prüfungen"
-#: admin/app_settings.py:28 admin/app_settings.py:297
+#: admin/app_settings.py:29 admin/app_settings.py:305
msgid "Check that every domain has a valid MX record"
msgstr "Überprüfe jede Domain auf einen gültigen MX Eintrag"
-#: admin/app_settings.py:32 admin/app_settings.py:304
+#: admin/app_settings.py:34 admin/app_settings.py:309
msgid "Valid MXs"
msgstr "Gültige MX-Einträge"
-#: admin/app_settings.py:35 admin/app_settings.py:307
+#: admin/app_settings.py:37 admin/app_settings.py:312
msgid ""
-"A list of IP or network address every MX record should match. A warning will "
-"be sent if a record does not respect it."
-msgstr ""
-"Liste gültiger MX-Records. Eine Warnmeldung wird versandt, falls versucht "
-"wird, andere Einträge zu verwenden."
+"A list of IP or network address every MX record should match. A warning will"
+" be sent if a record does not respect it."
+msgstr "Liste gültiger MX-Records. Eine Warnmeldung wird versandt, falls versucht wird, andere Einträge zu verwenden."
-#: admin/app_settings.py:43 admin/app_settings.py:317
+#: admin/app_settings.py:45 admin/app_settings.py:318
msgid "New domains must use authorized MX(s)"
msgstr "Neue Domains müssen autorisierte MX-Einträge verwenden."
-#: admin/app_settings.py:46 admin/app_settings.py:321
+#: admin/app_settings.py:48 admin/app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
msgstr "Verwendung gültiger MX-Einträge wird für neue Domains erzwungen."
-#: admin/app_settings.py:52 admin/app_settings.py:329
-#, fuzzy
-#| msgid "Enable SPF checks"
-msgid "Enable IPV6 checks"
-msgstr "Aktiviere SPF-Prüfungen"
-
-#: admin/app_settings.py:54 admin/app_settings.py:332
-msgid "Check if MX setup for ipv6 is valid"
-msgstr ""
-
-#: admin/app_settings.py:58 admin/app_settings.py:339
+#: admin/app_settings.py:54 admin/app_settings.py:326
msgid "Enable SPF checks"
msgstr "Aktiviere SPF-Prüfungen"
-#: admin/app_settings.py:60 admin/app_settings.py:341
+#: admin/app_settings.py:57 admin/app_settings.py:328
msgid "Check if every domain has a valid SPF record"
msgstr "Überprüfe jede Domain auf einen gültigen SPF Eintrag"
-#: admin/app_settings.py:64 admin/app_settings.py:348
+#: admin/app_settings.py:62 admin/app_settings.py:332
msgid "Enable DKIM checks"
msgstr "Aktiviere DKIM-Prüfungen"
-#: admin/app_settings.py:67 admin/app_settings.py:350
+#: admin/app_settings.py:65 admin/app_settings.py:334
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr ""
-"Überprüfe jede Domain mit aktivierter DKIM Signierung auf einen gültigen DNS "
-"Eintrag"
+msgstr "Überprüfe jede Domain mit aktivierter DKIM Signierung auf einen gültigen DNS Eintrag"
-#: admin/app_settings.py:72 admin/app_settings.py:358
+#: admin/app_settings.py:71 admin/app_settings.py:339
msgid "Enable DMARC checks"
msgstr "Aktiviere DMARC-Prüfungen"
-#: admin/app_settings.py:74 admin/app_settings.py:360
+#: admin/app_settings.py:74 admin/app_settings.py:341
msgid "Check if every domain has a valid DMARC record"
msgstr "Überprüfe jede Domain auf einen gültigen DMARC Eintrag"
-#: admin/app_settings.py:78 admin/app_settings.py:367
+#: admin/app_settings.py:79 admin/app_settings.py:345
msgid "Enable autoconfig checks"
msgstr "Aktiviere autoconfig-Prüfungen"
-#: admin/app_settings.py:81 admin/app_settings.py:369
+#: admin/app_settings.py:82 admin/app_settings.py:347
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Überprüfe jede Domain auf einen gültigen autoconfiguration Eintrag"
-#: admin/app_settings.py:86 admin/app_settings.py:377
+#: admin/app_settings.py:87 admin/app_settings.py:352
msgid "Enable DNSBL checks"
msgstr "Aktiviere DNSBL-Prüfungen"
-#: admin/app_settings.py:88 admin/app_settings.py:379
+#: admin/app_settings.py:90 admin/app_settings.py:354
msgid "Check every domain against major DNSBL providers"
msgstr "Prüfe jede Domain gegen die wichtigsten DNSBL-Anbieter"
-#: admin/app_settings.py:92 admin/app_settings.py:386
+#: admin/app_settings.py:95 admin/app_settings.py:358
msgid "Custom DNS server"
msgstr "Benutzerdefinierter DNS Server"
-#: admin/app_settings.py:96 admin/app_settings.py:388
+#: admin/app_settings.py:99 admin/app_settings.py:360
msgid "Use a custom DNS server instead of local server configuration"
msgstr "eigener DNS-Server umgeht die lokale Namensauflösung"
-#: admin/app_settings.py:101 admin/app_settings.py:396
+#: admin/app_settings.py:104 admin/app_settings.py:365
msgid "DKIM keys storage directory"
msgstr "Verzeichnis für DKIM-Keys"
-#: admin/app_settings.py:104 admin/app_settings.py:398
+#: admin/app_settings.py:107 admin/app_settings.py:367
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
"world."
-msgstr ""
-"Absoluter Pfad des Verzeichnisses zur Aufbewahrung von DKIM-Keys. Das "
-"Verzeichnis sollte nur dem root-User zugänglich sein."
+msgstr "Absoluter Pfad des Verzeichnisses zur Aufbewahrung von DKIM-Keys. Das Verzeichnis sollte nur dem root-User zugänglich sein."
-#: admin/app_settings.py:112 admin/app_settings.py:407
+#: admin/app_settings.py:115 admin/app_settings.py:373
msgid "Default DKIM key length"
msgstr "voreingestellte DKIM Schlüssellänge"
-#: admin/app_settings.py:115 admin/app_settings.py:409
+#: admin/app_settings.py:119 admin/app_settings.py:375
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Voreingestellte Länge in Bits neu zu generierender DKIM-Keys."
-#: admin/app_settings.py:119 admin/app_settings.py:416
+#: admin/app_settings.py:124 admin/app_settings.py:379
msgid "Default domain quota"
msgstr "Standard-Domainquota"
-#: admin/app_settings.py:122 admin/app_settings.py:418
+#: admin/app_settings.py:127 admin/app_settings.py:381
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
-msgstr ""
-"Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. "
-"Der Wert 0 bedeutet „Keine Quota“"
+msgstr "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. Der Wert 0 bedeutet „Keine Quota“"
-#: admin/app_settings.py:128 admin/app_settings.py:426
+#: admin/app_settings.py:133 admin/app_settings.py:386
msgid "Default domain sending limit"
msgstr "Standard Domänen-Sendelimit"
-#: admin/app_settings.py:131 admin/app_settings.py:428
+#: admin/app_settings.py:136 admin/app_settings.py:388
msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
-msgstr ""
-"Anzahl der Nachrichten, die neu erstellte Domänen pro Tag senden dürfen. "
-"Leer lassen für kein Limit."
+msgstr "Anzahl der Nachrichten, die neu erstellte Domänen pro Tag senden dürfen. Leer lassen für kein Limit."
-#: admin/app_settings.py:136 admin/app_settings.py:440
-#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
-#: limits/app_settings.py:111 limits/app_settings.py:195
-#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
+#: admin/app_settings.py:141 admin/app_settings.py:395
+#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:58
+#: limits/app_settings.py:119 limits/app_settings.py:187
+#: limits/app_settings.py:238 limits/constants.py:17 limits/constants.py:45
msgid "Mailboxes"
msgstr "Postfächer"
-#: admin/app_settings.py:139 admin/app_settings.py:446
+#: admin/app_settings.py:144 admin/app_settings.py:398
msgid "Handle mailboxes on filesystem"
msgstr "Postfächer im Dateisystem verwalten"
-#: admin/app_settings.py:142 admin/app_settings.py:448
+#: admin/app_settings.py:147 admin/app_settings.py:400
msgid ""
"Rename or remove mailboxes on the filesystem when they get renamed or "
"removed within Modoboa"
-msgstr ""
-"Postfächer auch im Dateisystem umbenennen oder entfernen wenn sie in Modoboa "
-"umbenannt oder entfernt werden"
+msgstr "Postfächer auch im Dateisystem umbenennen oder entfernen wenn sie in Modoboa umbenannt oder entfernt werden"
-#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
-#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:153 admin/app_settings.py:405
+#: admin/forms/domain.py:49 admin/models/domain.py:32
+#: admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Standard Postfach Kontingent"
-#: admin/app_settings.py:151
+#: admin/app_settings.py:156
msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
-msgstr ""
-"Standardquota (in MB) für neu erstelle Postfächer ohne explizite Wertangabe. "
-"Der Wert 0 bedeutet „Keine Quota“"
+msgstr "Standardquota (in MB) für neu erstelle Postfächer ohne explizite Wertangabe. Der Wert 0 bedeutet „Keine Quota“"
-#: admin/app_settings.py:157 admin/app_settings.py:467
+#: admin/app_settings.py:162 admin/app_settings.py:413
msgid "Default mailbox sending limit"
msgstr "Standard-Postfach-Versandlimit"
-#: admin/app_settings.py:160 admin/app_settings.py:469
+#: admin/app_settings.py:165 admin/app_settings.py:415
msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
-msgstr ""
-"Anzahl der Nachrichten, die neu erstellte Postfächer pro Tag senden dürfen. "
-"Leer lassen für keine Begrenzung."
+msgstr "Anzahl der Nachrichten, die neu erstellte Postfächer pro Tag senden dürfen. Leer lassen für keine Begrenzung."
-#: admin/app_settings.py:166 admin/app_settings.py:477
+#: admin/app_settings.py:171 admin/app_settings.py:420
msgid "Automatic account removal"
msgstr "Automatische Konto-Entfernung"
-#: admin/app_settings.py:169 admin/app_settings.py:479
+#: admin/app_settings.py:174 admin/app_settings.py:422
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Beim Löschen des Postfachs auch das Konto entfernen."
-#: admin/app_settings.py:174 admin/app_settings.py:488
+#: admin/app_settings.py:178 admin/app_settings.py:426
msgid "Automatic domain/mailbox creation"
msgstr "Automatische Domain- /Postfach-Erstellung"
-#: admin/app_settings.py:177 admin/app_settings.py:491
-msgid "Create a domain and a mailbox when an account is automatically created."
-msgstr ""
-"Erstelle eine Domain und ein Postfach, wenn ein Konto automatisch erstellt "
-"wurde."
+#: admin/app_settings.py:181 admin/app_settings.py:428
+msgid ""
+"Create a domain and a mailbox when an account is automatically created."
+msgstr "Erstelle eine Domain und ein Postfach, wenn ein Konto automatisch erstellt wurde."
-#: admin/app_settings.py:182 admin/app_settings.py:500
+#: admin/app_settings.py:187 admin/app_settings.py:434
msgid "Create an alias when a mailbox is renamed"
msgstr "Erzeuge Alias, wenn Mailbox umbenannt wird."
-#: admin/app_settings.py:185 admin/app_settings.py:503
+#: admin/app_settings.py:190 admin/app_settings.py:436
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr ""
-"Erzeuge Alias mit der bisherigen Adresse, wenn ein Postfach umbenannt wurde."
+msgstr "Erzeuge Alias mit der bisherigen Adresse, wenn ein Postfach umbenannt wurde."
-#: admin/app_settings.py:458
+#: admin/app_settings.py:407
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
-msgstr ""
-"Standard-Postfachkontingent (in MB), das auf neu erstellte Domänen ohne "
-"Angabe eines Wertes angewendet wird. Ein Wert von 0 bedeutet keine "
-"Begrenzung."
+msgstr "Standard-Postfachkontingent (in MB), das auf neu erstellte Domänen ohne Angabe eines Wertes angewendet wird. Ein Wert von 0 bedeutet keine Begrenzung."
-#: admin/app_settings.py:522 admin/app_settings.py:527
+#: admin/app_settings.py:451 admin/app_settings.py:453
msgid "Administration"
msgstr "Verwaltung"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:28 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domain"
-#: admin/constants.py:24
+#: admin/constants.py:29
msgid "Relay domain"
msgstr "Relay-Domain"
-#: admin/constants.py:39
+#: admin/constants.py:44
msgid "Opened"
msgstr "Geöffnete"
-#: admin/constants.py:40
+#: admin/constants.py:45
msgid "Closed"
msgstr "Geschlossen"
-#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:159
+#: core/forms.py:23 pdfcredentials/documents.py:80
msgid "Username"
msgstr "Benutzername"
-#: admin/forms/account.py:31
+#: admin/forms/account.py:34
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
-msgstr ""
-"Der Benutzername. Muss eine gültige E-Mail-Adresse für 'Normale Benutzer' "
-"oder Administratoren mit einer Mailbox sein."
+msgstr "Der Benutzername. Muss eine gültige E-Mail-Adresse für 'Normale Benutzer' oder Administratoren mit einer Mailbox sein."
-#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
msgid "Role"
msgstr "Rolle"
-#: admin/forms/account.py:37
+#: admin/forms/account.py:40
msgid "Choose"
msgstr "Auswählen"
-#: admin/forms/account.py:38
+#: admin/forms/account.py:41
msgid "What level of permission this user will have"
msgstr "Rechte, die der Benutzer haben wird"
-#: admin/forms/account.py:41 admin/forms/domain.py:262
+#: admin/forms/account.py:44 admin/forms/domain.py:248
msgid "Random password"
msgstr "Zufälliges Passwort"
-#: admin/forms/account.py:43
+#: admin/forms/account.py:46
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
-msgstr ""
-"Generiere ein zufälliges Password. Wenn du dieses Konto aktualisierst und "
-"diese Checkbox aktivierst, wird ein neues Passwort generiert"
+msgstr "Generiere ein zufälliges Password. Wenn du dieses Konto aktualisierst und diese Checkbox aktivierst, wird ein neues Passwort generiert"
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:52 core/forms.py:27 pdfcredentials/documents.py:81
msgid "Password"
msgstr "Passwort"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:57 core/forms.py:48
msgid "Confirmation"
msgstr "Bestätigung"
-#: admin/forms/account.py:57
+#: admin/forms/account.py:60
msgid "Enter the same password as above, for verification."
msgstr "Passwort bestätigen"
-#: admin/forms/account.py:71
+#: admin/forms/account.py:72
msgid "Enabled"
msgstr "Aktiviert"
-#: admin/forms/account.py:175
+#: admin/forms/account.py:167
msgid "Only super administrators are allowed for this mode"
msgstr "Nur Super-Administratoren dürfen diesen Modus benutzen."
-#: admin/forms/account.py:193
+#: admin/forms/account.py:186
msgid "The two password fields didn't match."
msgstr "Die angegebenen Passwörter stimmen nicht überein"
-#: admin/forms/account.py:206
+#: admin/forms/account.py:199
msgid "You can't disable your own account"
msgstr "Sie können Ihr eigenes Konto nicht deaktivieren"
-#: admin/forms/account.py:234
+#: admin/forms/account.py:226
msgid "E-mail"
msgstr "E-Mail"
-#: admin/forms/account.py:236
+#: admin/forms/account.py:228
msgid "Create an alias using the old address"
msgstr "Erzeuge Alias mit der bisherigen Adresse"
-#: admin/forms/account.py:241 admin/forms/domain.py:46
+#: admin/forms/account.py:233 admin/forms/domain.py:41
#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:73
-#: limits/app_settings.py:218 limits/constants.py:59
+#: admin/templates/admin/domain_detail.html:49 limits/app_settings.py:78
+#: limits/app_settings.py:204 limits/constants.py:30
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:244
+#: admin/forms/account.py:236
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
-"custom value or use domain's default one. Leave empty to define an unlimited "
-"value (not allowed for domain administrators)."
-msgstr ""
-"Quota dieses Postfachs. Kann in KB, MB (Voreinstellung) oder GB angegeben "
-"werden. Eigenen Wert eingeben oder Voreinstellung der Domain verwenden "
-"lassen. Frei lassen, um Quota auf unlimitiert zu setzen (nur Super-"
-"Administratoren)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
+" custom value or use domain's default one. Leave empty to define an "
+"unlimited value (not allowed for domain administrators)."
+msgstr "Quota dieses Postfachs. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. Eigenen Wert eingeben oder Voreinstellung der Domain verwenden lassen. Frei lassen, um Quota auf unlimitiert zu setzen (nur Super-Administratoren)."
-#: admin/forms/account.py:254 admin/models/domain.py:39
-#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
+#: admin/forms/account.py:246 admin/models/domain.py:36
+#: admin/models/mailbox.py:99 admin/templates/admin/account_detail.html:50
#: admin/templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Nachrichtenversand Limit"
-#: admin/forms/account.py:257 admin/models/mailbox.py:95
+#: admin/forms/account.py:250 admin/models/mailbox.py:101
msgid "Number of messages this mailbox can send per day"
msgstr "Anzahl der Nachrichten, die das Postfach pro Tag senden kann"
-#: admin/forms/account.py:262
-msgid "Block IMAP connection and incoming mails for this mailbox"
-msgstr ""
-
-#: admin/forms/account.py:266 admin/forms/domain.py:35
+#: admin/forms/account.py:253 admin/forms/domain.py:31
#: admin/templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(e)"
-#: admin/forms/account.py:269
+#: admin/forms/account.py:256
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
-msgstr ""
-"Alias(e) dieses Postfachs. Jeweils eine Adresse eingeben, ENTER drücken für "
-"eine weitere. Den Domainnamen (@domain.tld) eingeben, um einen Catchall zu "
-"erstellen. "
+msgstr "Alias(e) dieses Postfachs. Jeweils eine Adresse eingeben, ENTER drücken für eine weitere. Den Domainnamen (@domain.tld) eingeben, um einen Catchall zu erstellen. "
-#: admin/forms/account.py:275
+#: admin/forms/account.py:262
msgid "Sender addresses"
msgstr "Absenderadressen "
-#: admin/forms/account.py:278
+#: admin/forms/account.py:265
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
-msgstr ""
-"Zusätzliche Absenderadresse(n) für dieses Konto. Der Benutzer kann mit "
-"dieser Adresse E-Mails versenden, auch wenn sie lokal nicht vorhanden ist. "
-"Geben Sie eine Adresse pro Eingabe an. Drücken Sie ENTER, um eine neue "
-"Eingabe hinzuzufügen."
+msgstr "Zusätzliche Absenderadresse(n) für dieses Konto. Der Benutzer kann mit dieser Adresse E-Mails versenden, auch wenn sie lokal nicht vorhanden ist. Geben Sie eine Adresse pro Eingabe an. Drücken Sie ENTER, um eine neue Eingabe hinzuzufügen."
-#: admin/forms/account.py:339 admin/forms/alias.py:95
-#: admin/models/mailbox.py:308
+#: admin/forms/account.py:325 admin/forms/alias.py:88
+#: admin/models/mailbox.py:313
msgid "Domain does not exist"
msgstr "Domain existiert nicht"
-#: admin/forms/account.py:376
+#: admin/forms/account.py:361
msgid "Local domain does not exist"
msgstr "Lokale Domain existiert nicht"
-#: admin/forms/account.py:503
+#: admin/forms/account.py:476
msgid "Domain(s)"
msgstr "Domain(s)"
-#: admin/forms/account.py:505
+#: admin/forms/account.py:478
msgid "Domain(s) that user administrates"
msgstr "Domain(s), die dieser Benutzer administriert"
-#: admin/forms/account.py:552 admin/forms/account.py:652
-#: admin/forms/domain.py:373 admin/forms/domain.py:445 core/apps.py:19
-#: core/apps.py:24 imap_migration/app_settings.py:17
-#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
-#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107
+#: admin/forms/account.py:525 admin/forms/account.py:615
+#: admin/forms/domain.py:365 admin/forms/domain.py:436 core/apps.py:19
+#: core/apps.py:21 imap_migration/app_settings.py:14
+#: imap_migration/app_settings.py:64 maillog/forms.py:20
+#: pdfcredentials/app_settings.py:20 pdfcredentials/app_settings.py:123
msgid "General"
msgstr "Allgemein"
-#: admin/forms/account.py:560 core/templates/core/user_profile.html:3
-#: core/templatetags/core_tags.py:133
+#: admin/forms/account.py:529 core/templates/core/user_profile.html:3
+#: core/templatetags/core_tags.py:116
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:566 admin/forms/account.py:659
+#: admin/forms/account.py:533 admin/forms/account.py:621
msgid "Mail"
msgstr "E-Mail"
-#: admin/forms/account.py:573
+#: admin/forms/account.py:536
msgid "Permissions"
msgstr "Berechtigungen"
-#: admin/forms/account.py:642
+#: admin/forms/account.py:604
msgid "Account updated"
msgstr "Konto aktualisiert"
-#: admin/forms/account.py:668
+#: admin/forms/account.py:629
msgid "New account"
msgstr "Neues Konto"
-#: admin/forms/account.py:679
+#: admin/forms/account.py:639
msgid "Account created"
msgstr "Konto erstellt"
@@ -643,83 +581,74 @@ msgstr "E-Mail Adresse"
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
-msgstr ""
-"Die Alias-Adresse. Geben Sie nur den Domainnamen (@domain.tld) ein, um einen "
-"Catchall-Alias anzulegen."
+msgstr "Die Alias-Adresse. Geben Sie nur den Domainnamen (@domain.tld) ein, um einen Catchall-Alias anzulegen."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Empfänger"
-#: admin/forms/alias.py:34
+#: admin/forms/alias.py:33
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
-msgstr ""
-"Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein "
-"und bestätigen Sie mit ENTER."
+msgstr "Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein und bestätigen Sie mit ENTER."
-#: admin/forms/alias.py:119
+#: admin/forms/alias.py:114
msgid "No recipient defined"
msgstr "Keine Empfänger angegeben"
-#: admin/forms/domain.py:32
+#: admin/forms/domain.py:28
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:38
+#: admin/forms/domain.py:34
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
-msgstr ""
-"Alias(e) für diese Domain. Geben Sie jeweils nur eine Adresse pro "
-"Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu "
-"erhalten."
+msgstr "Alias(e) für diese Domain. Geben Sie jeweils nur eine Adresse pro Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu erhalten."
-#: admin/forms/domain.py:43
+#: admin/forms/domain.py:39
msgid "Key selector"
msgstr "DKIM Selector"
-#: admin/forms/domain.py:57
+#: admin/forms/domain.py:52
msgid ""
"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
"GB. A value of 0 means no quota."
-msgstr ""
-"Auf Postfächer angewendete Quota. Kann in KB, MB (Voreinstellung) oder GB "
-"angegeben werden. 0 eingeben, um keine Quota zu verwenden."
+msgstr "Auf Postfächer angewendete Quota. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. 0 eingeben, um keine Quota zu verwenden."
-#: admin/forms/domain.py:106 admin/handlers.py:185
+#: admin/forms/domain.py:97 admin/handlers.py:166
msgid "domain alias"
msgstr "Domain-Alias"
-#: admin/forms/domain.py:109 admin/forms/domain.py:185
-#: admin/forms/domain.py:192
+#: admin/forms/domain.py:100 admin/forms/domain.py:176
+#: admin/forms/domain.py:184
#, python-format
msgid "A %s with this name already exists"
msgstr "Ein %s mit diesem Namen existiert bereits"
-#: admin/forms/domain.py:130
+#: admin/forms/domain.py:120
msgid "DKIM keys storage directory not configured"
msgstr "Verzeichnis für DKIM-Keys nicht konfiguriert."
-#: admin/forms/domain.py:166
+#: admin/forms/domain.py:155
msgid "You can't define an unlimited quota."
msgstr "Ein unlimitiertes Kontingent ist nicht möglich."
-#: admin/forms/domain.py:185 admin/forms/domain.py:189 policyd/core.py:107
+#: admin/forms/domain.py:176 admin/forms/domain.py:181
msgid "domain"
msgstr "Domain"
-#: admin/forms/domain.py:246
+#: admin/forms/domain.py:230
msgid "Create a domain administrator"
msgstr "Domain-Administrator erstellen"
-#: admin/forms/domain.py:248
+#: admin/forms/domain.py:233
msgid "Automatically create an administrator for this domain"
msgstr "Automatisch Administrator für diese Domain anlegen"
-#: admin/forms/domain.py:252 admin/templates/admin/domain_detail.html:159
+#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:159
#: admin/templates/admin/domain_headers.html:3
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
@@ -728,55 +657,53 @@ msgstr "Automatisch Administrator für diese Domain anlegen"
msgid "Name"
msgstr "Name"
-#: admin/forms/domain.py:255
+#: admin/forms/domain.py:241
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
-msgstr ""
-"Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird "
-"automatisch angehängt."
+msgstr "Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird automatisch angehängt."
-#: admin/forms/domain.py:264
+#: admin/forms/domain.py:251
msgid "Generate a random password for the administrator."
msgstr "Zufällig generiertes Passwort für den Administrator verwenden."
-#: admin/forms/domain.py:269
+#: admin/forms/domain.py:257
msgid "With a mailbox"
msgstr "Mit einem Postfach"
-#: admin/forms/domain.py:271
+#: admin/forms/domain.py:260
msgid "Create a mailbox for the administrator."
msgstr "Erzeuge Postfach für den Administrator."
-#: admin/forms/domain.py:276
+#: admin/forms/domain.py:266
msgid "Create aliases"
msgstr "Aliase erstellen"
-#: admin/forms/domain.py:278
+#: admin/forms/domain.py:269
msgid "Automatically create standard aliases for this domain"
msgstr "Automatisch Standard-Aliase für Domain anlegen"
-#: admin/forms/domain.py:294
+#: admin/forms/domain.py:285
msgid "Invalid format"
msgstr "Ungültiges Format"
-#: admin/forms/domain.py:433
+#: admin/forms/domain.py:426
msgid "Domain modified"
msgstr "Domain verändert"
-#: admin/forms/domain.py:458
+#: admin/forms/domain.py:447
msgid "Options"
msgstr "Optionen"
-#: admin/forms/domain.py:467
+#: admin/forms/domain.py:455
msgid "New domain"
msgstr "Neue Domain"
-#: admin/forms/domain.py:481
+#: admin/forms/domain.py:468
msgid "Domain created"
msgstr "Domain erstellt."
-#: admin/forms/export.py:9 admin/forms/import_.py:12
+#: admin/forms/export.py:9 admin/forms/import_.py:13
msgid "Separator"
msgstr "Separator"
@@ -784,23 +711,23 @@ msgstr "Separator"
msgid "Recipient(s)"
msgstr "Empfänger"
-#: admin/forms/forward.py:15
+#: admin/forms/forward.py:16
msgid "Indicate one or more recipients separated by a ','"
msgstr "Geben sie einen oder mehrere, durch ',' separierte Empfänger an"
-#: admin/forms/forward.py:18
+#: admin/forms/forward.py:19
msgid "Keep local copies"
msgstr "Lokale Kopien behalten"
-#: admin/forms/forward.py:21
+#: admin/forms/forward.py:22
msgid "Forward messages and store copies into your local mailbox"
msgstr "Nachricht weiterleiten und Kopie in Mailbox ablegen"
-#: admin/forms/import_.py:10
+#: admin/forms/import_.py:11
msgid "Select a file"
msgstr "Wählen Sie eine Datei"
-#: admin/forms/import_.py:18
+#: admin/forms/import_.py:19
msgid "Continue on error"
msgstr "Bei Fehler fortfahren"
@@ -808,7 +735,7 @@ msgstr "Bei Fehler fortfahren"
msgid "Don't treat duplicated objects as error"
msgstr "Doppelte Objekte nicht als Fehler behandeln"
-#: admin/forms/import_.py:37
+#: admin/forms/import_.py:38
msgid "Crypt passwords"
msgstr "Passwörter verschlüsseln"
@@ -816,94 +743,93 @@ msgstr "Passwörter verschlüsseln"
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "Auswählen, wenn Kennwörter in Datei nicht verschlüsselt sind"
-#: admin/handlers.py:233
+#: admin/handlers.py:215
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht"
-#: admin/handlers.py:248 admin/models/mailbox.py:340
+#: admin/handlers.py:228 admin/models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "Postfach {} existiert bereits"
-#: admin/handlers.py:257
+#: admin/handlers.py:236
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Konto Import fehlgeschlagen (%s): ungültiger Quota-Wert"
-#: admin/handlers.py:298
+#: admin/handlers.py:276
#: admin/templates/admin/_global_statistics_widget.html:17
#: admin/templates/admin/_per_domain_statistics_widget.html:8
#: admin/templates/admin/identities.html:5
msgid "Identities"
msgstr "Identitäten"
-#: admin/handlers.py:316 admin/templates/admin/forward.html:2
+#: admin/handlers.py:292 admin/templates/admin/forward.html:2
msgid "Forward"
msgstr "Weiterleiten"
-#: admin/lib.py:47
+#: admin/lib.py:48
msgid "A mailbox is required"
msgstr "Ein Postfach ist erforderlich"
-#: admin/lib.py:141
+#: admin/lib.py:138
msgid "You are not allowed to import domains"
msgstr "Sie verfügen nicht über ausreichend Rechte, um Domains zu importieren."
-#: admin/lib.py:150
+#: admin/lib.py:149
msgid "You are not allowed to import domain aliases."
-msgstr ""
-"Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren."
+msgstr "Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
-#: admin/tests/test_mx.py:172
+#: admin/lib.py:199 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
+#: admin/tests/test_mx.py:164
#, python-format
msgid "No DNS record found for %s"
msgstr "Kein DNS Eintrag für %s gefunden"
-#: admin/lib.py:204
+#: admin/lib.py:202
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Kein %(type)s Eintrag für %(name)s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:206 admin/tests/test_mx.py:156
msgid "No working name servers found"
msgstr "Keine funktionierenden Namensserver gefunden"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:209 admin/tests/test_mx.py:158
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS Error bei der Auflösung, konnte %s nicht auflösen"
-#: admin/lib.py:215
+#: admin/lib.py:212
#, python-format
msgid "DNS name is too long: %s"
msgstr "DNS Name ist zu lang: %s"
-#: admin/lib.py:246
+#: admin/lib.py:239
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Fehlerhaftes IP-Adressformat für {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:309
#, python-format
msgid "Object already exists: %s"
msgstr "Objekt existiert bereits: %s"
-#: admin/lib.py:323
+#: admin/lib.py:313
#, python-format
msgid "%d objects imported successfully"
msgstr "%d Objekte erfolgreich importiert"
-#: admin/management/commands/subcommands/_import.py:99
+#: admin/management/commands/subcommands/_import.py:93
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr "CSV Datei nicht in UTF-8 enkodiert, versuche das Encoding zu erraten"
-#: admin/management/commands/subcommands/_import.py:114
+#: admin/management/commands/subcommands/_import.py:105
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Lese CSV Datei mit %(encoding)s Enkodierung"
-#: admin/management/commands/subcommands/_import.py:125
+#: admin/management/commands/subcommands/_import.py:116
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Konnte CSV Datei nicht mit %(encoding)s Enkodierung dekodieren"
@@ -912,23 +838,23 @@ msgstr "Konnte CSV Datei nicht mit %(encoding)s Enkodierung dekodieren"
msgid "DKIM path non-writable"
msgstr "DKIM Pfad nicht beschreibbar"
-#: admin/management/commands/subcommands/_mx.py:133
+#: admin/management/commands/subcommands/_mx.py:121
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} gelistet durch DNSBL-Anbieter {}"
-#: admin/management/commands/subcommands/_mx.py:174
+#: admin/management/commands/subcommands/_mx.py:169
msgid "Domain has no MX record"
msgstr "Die Domain hat kein MX-Eintrag"
-#: admin/management/commands/subcommands/_mx.py:177
+#: admin/management/commands/subcommands/_mx.py:173
msgid "Domain {} has no MX record"
msgstr "Domain {} hat keinen MX-Eintrag"
-#: admin/management/commands/subcommands/_mx.py:195
+#: admin/management/commands/subcommands/_mx.py:193
msgid "Invalid MX record: {}"
msgstr "Falscher MX-Eintrag: {}"
-#: admin/management/commands/subcommands/_mx.py:202
+#: admin/management/commands/subcommands/_mx.py:199
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "MX-Eingrag für Domain {0} ist ungültig: {1}"
@@ -937,150 +863,149 @@ msgstr "MX-Eingrag für Domain {0} ist ungültig: {1}"
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX Problem(e) für Domain {}"
-#: admin/management/commands/subcommands/_mx.py:269
+#: admin/management/commands/subcommands/_mx.py:271
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL Problem(e) für Domain {}"
-#: admin/models/alias.py:36
+#: admin/models/alias.py:32
msgid "Domain not found."
msgstr "Domain nicht gefunden."
-#: admin/models/alias.py:91 admin/models/mailbox.py:85
+#: admin/models/alias.py:37
+msgid "An alias with this name already exists."
+msgstr "Ein Alias mit diesem Namen existiert bereits."
+
+#: admin/models/alias.py:71 admin/models/mailbox.py:92
msgid "address"
msgstr "Adresse"
-#: admin/models/alias.py:93
+#: admin/models/alias.py:73
msgid "The alias address."
msgstr "Die Alias-Adresse"
-#: admin/models/alias.py:97 admin/models/domain.py:45
-#: admin/models/domain_alias.py:45 postfix_autoreply/models.py:23
+#: admin/models/alias.py:78 admin/models/domain.py:43
+#: admin/models/domain_alias.py:41
msgid "enabled"
msgstr "aktiviert"
-#: admin/models/alias.py:98 admin/models/domain_alias.py:46
+#: admin/models/alias.py:79 admin/models/domain_alias.py:42
msgid "Check to activate this alias"
msgstr "Auswählen, um den Alias zu aktivieren"
-#: admin/models/alias.py:102 admin/templates/admin/alias_detail.html:32
+#: admin/models/alias.py:84 admin/templates/admin/alias_detail.html:32
#: core/templates/core/information.html:17
msgid "Description"
msgstr "Beschreibung"
-#: admin/models/alias.py:103 admin/templates/admin/alias_detail.html:29
+#: admin/models/alias.py:86 admin/templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Läuft ab am"
-#: admin/models/alias.py:144
+#: admin/models/alias.py:127
msgid "alias"
msgstr "Alias"
-#: admin/models/alias.py:177
+#: admin/models/alias.py:159
msgid "Invalid address"
msgstr "Ungültige Adresse"
-#: admin/models/alias.py:196
+#: admin/models/alias.py:180
msgid "Local recipient {}@{} not found"
msgstr "Lokaler Empfänger {}@{} nicht gefunden"
-#: admin/models/alias.py:245
+#: admin/models/alias.py:215
msgid "Invalid line: {}"
msgstr "Ungültige Zeile: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:26 admin/models/domain_alias.py:33
msgid "name"
msgstr "Name"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:27
msgid "The domain name"
msgstr "Name der Domain"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:39
msgid "Number of messages this domain can send per day"
msgstr "Anzahl der Nachrichten, die diese Domain pro Tag senden kann"
-#: admin/models/domain.py:46
+#: admin/models/domain.py:44
msgid "Check to activate this domain"
msgstr "Auswählen, um diese Domain zu aktivieren"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:49
msgid "Enable DNS checks"
msgstr "Aktiviere DNS Prüfungen"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:50
msgid "Check to enable DNS checks for this domain"
-msgstr ""
-"Das Anhaken dieser Box aktiviert die DNS-Überprüfungen für diese Domain"
+msgstr "Das Anhaken dieser Box aktiviert die DNS-Überprüfungen für diese Domain"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:57
msgid "Enable DKIM signing"
msgstr "Aktiviere DKIM Signierung"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:59
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
-msgstr ""
-"Wenn Sie dieses Feature aktivieren wird die DKIM Keygenerierung für diese "
-"Domain aktiviert."
+msgstr "Wenn Sie dieses Feature aktivieren wird die DKIM Keygenerierung für diese Domain aktiviert."
-#: admin/models/domain.py:70
+#: admin/models/domain.py:65
msgid "Key length"
msgstr "Schlüssel-Länge"
-#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:329 relaydomains/lib.py:13
+#: admin/models/domain.py:357 admin/models/domain_alias.py:66
+#: core/models.py:320 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ungültige Zeile"
-#: admin/models/domain.py:378
+#: admin/models/domain.py:367
msgid "{}: no authorized MX record found for domain"
msgstr "{}: Kein autorisierter MX Eintrag für die Domain gefunden."
-#: admin/models/domain.py:383
+#: admin/models/domain.py:374
msgid "{}: invalid quota value for domain"
msgstr "Fehlerhafter Kontingentwert für die Domäne '{}'"
-#: admin/models/domain.py:388
+#: admin/models/domain.py:381
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Fehlerhafter Standardwert für das Postfachkontingent der Domäne '{}'"
-#: admin/models/domain.py:395
+#: admin/models/domain.py:386
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr ""
-"{}: Standard-Postfachkontingent kann nicht größer sein als das "
-"Domänenkontingent"
+msgstr "{}: Standard-Postfachkontingent kann nicht größer sein als das Domänenkontingent"
-#: admin/models/domain_alias.py:36
+#: admin/models/domain_alias.py:34
msgid "The alias name"
msgstr "Der Alias-Name"
-#: admin/models/domain_alias.py:40
+#: admin/models/domain_alias.py:36
msgid "target"
msgstr "Ziel"
-#: admin/models/domain_alias.py:41
+#: admin/models/domain_alias.py:37
msgid "The domain this alias points to"
msgstr "Domain, auf die dieser Alias verweist"
-#: admin/models/domain_alias.py:79
+#: admin/models/domain_alias.py:75
#, python-format
msgid "Unknown domain %s"
msgstr "Unbekannte Domain %s"
-#: admin/models/mailbox.py:87
+#: admin/models/mailbox.py:94
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Postfach-Adresse (ohne den '@domain.tld' Teil)"
-#: admin/models/mailbox.py:153
+#: admin/models/mailbox.py:156
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Der Speicherort des Postfachs (%s) konnte nicht bestimmt werden"
-#: admin/models/mailbox.py:249
+#: admin/models/mailbox.py:254
msgid "A quota is required"
msgstr "Ein Quota ist erforderlich"
-#: admin/models/mailbox.py:256
+#: admin/models/mailbox.py:261
msgid "{}: domain quota exceeded"
msgstr "{}: Domänen-Kontingent überschritten."
@@ -1088,8 +1013,9 @@ msgstr "{}: Domänen-Kontingent überschritten."
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Schließen"
@@ -1136,9 +1062,9 @@ msgstr "Anzahl"
#: admin/templates/admin/_global_statistics_widget.html:14
#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:45
-#: limits/app_settings.py:101 limits/app_settings.py:183
-#: limits/app_settings.py:257 limits/constants.py:22 limits/constants.py:76
+#: admin/templates/admin/domain_detail.html:87 limits/app_settings.py:47
+#: limits/app_settings.py:108 limits/app_settings.py:178
+#: limits/app_settings.py:229 limits/constants.py:13 limits/constants.py:41
msgid "Domain aliases"
msgstr "Domain-Aliase"
@@ -1173,7 +1099,7 @@ msgstr "Erstellt"
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: admin/templates/admin/account_detail.html:38 core/models.py:70
+#: admin/templates/admin/account_detail.html:38 core/models.py:69
msgid "Secondary email"
msgstr "Sekundäre E-Mail-Adresse"
@@ -1182,7 +1108,7 @@ msgstr "Sekundäre E-Mail-Adresse"
msgid "Not defined"
msgstr "Nicht definiert"
-#: admin/templates/admin/account_detail.html:41 core/models.py:68
+#: admin/templates/admin/account_detail.html:41 core/models.py:67
msgid "Phone number"
msgstr "Telefonnummer"
@@ -1260,7 +1186,7 @@ msgstr "Offene Alarme für"
#: admin/templates/admin/domain_alarms.html:25
#: admin/templates/admin/domains_log_headers.html:3
#: admin/templates/admin/messages_log_headers.html:3
-#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:119
+#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106
msgid "Date"
msgstr "Datum"
@@ -1284,9 +1210,9 @@ msgstr "Erstellungsdatum"
msgid "Last modification date"
msgstr "Datum der letzten Änderung"
-#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:64
-#: limits/app_settings.py:120 limits/app_settings.py:207
-#: limits/app_settings.py:280 limits/constants.py:39 limits/constants.py:92
+#: admin/templates/admin/domain_detail.html:45 limits/app_settings.py:68
+#: limits/app_settings.py:129 limits/app_settings.py:196
+#: limits/app_settings.py:246 limits/constants.py:20 limits/constants.py:48
msgid "Mailbox aliases"
msgstr "Postfach-Aliase"
@@ -1342,13 +1268,12 @@ msgid "Warning"
msgstr "Warnung"
#: admin/templates/admin/domain_detail.html:139
-msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
-msgstr ""
-"Für diese Domain sind bereits DKIM-Schlüssel vorhanden. Möchten Sie sie "
-"überschreiben?"
+msgid ""
+"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgstr "Für diese Domain sind bereits DKIM-Schlüssel vorhanden. Möchten Sie sie überschreiben?"
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
-#: lib/form_utils.py:400
+#: lib/form_utils.py:397
msgid "No"
msgstr "Nein"
@@ -1356,7 +1281,7 @@ msgstr "Nein"
msgid "Generate new key"
msgstr "Neuen Schlüssel generieren"
-#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:400
+#: admin/templates/admin/domain_detail.html:143 lib/form_utils.py:396
msgid "Yes"
msgstr "Ja"
@@ -1369,7 +1294,7 @@ msgid "Administrators"
msgstr "Administratoren"
#: admin/templates/admin/domain_detail.html:168
-#: admin/templatetags/admin_tags.py:306
+#: admin/templatetags/admin_tags.py:279
msgid "Remove this permission"
msgstr "Diese Berechtigung entfernen"
@@ -1406,13 +1331,13 @@ msgstr "Warteschlangen-ID"
#: admin/templates/admin/domains_log_headers.html:4
#: admin/templates/admin/messages_log_headers.html:4
-#: lib/templatetags/lib_tags.py:117 postfix_autoreply/forms.py:20
+#: lib/templatetags/lib_tags.py:104
msgid "From"
msgstr "Von"
#: admin/templates/admin/domains_log_headers.html:5
#: admin/templates/admin/messages_log_headers.html:5
-#: lib/templatetags/lib_tags.py:118
+#: lib/templatetags/lib_tags.py:105
msgid "To"
msgstr "An"
@@ -1443,10 +1368,9 @@ msgstr "deaktiviert"
msgid "Automatically forward emails to another address"
msgstr "Nachrichten automatisch an andere Adresse weiterleiten"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:84
+#: admin/templates/admin/forward.html:9 admin/views/alias.py:88
#: core/templates/core/api_access.html:35
-#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
-#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
+#: core/templates/core/user_profile.html:19 lib/form_utils.py:354
msgid "Update"
msgstr "Aktualisieren"
@@ -1471,31 +1395,17 @@ msgid ""
"verify recipients
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.
"
-msgstr ""
-"Verwenden Sie eine CSV-Datei, in der die 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"
@@ -1523,9 +1433,7 @@ 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."
@@ -1536,122 +1444,108 @@ 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:18
+#: admin/templatetags/admin_tags.py:19
msgid "enabled_m"
msgstr "aktiviert_m"
-#: admin/templatetags/admin_tags.py:18
+#: admin/templatetags/admin_tags.py:19
msgid "enabled_f"
msgstr "aktiviert_f"
-#: admin/templatetags/admin_tags.py:46
+#: admin/templatetags/admin_tags.py:47
msgid "List domains"
msgstr "Domain-Liste"
-#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:123
+#: admin/templatetags/admin_tags.py:52 admin/templatetags/admin_tags.py:112
msgid "List quotas"
msgstr "Quota-Liste"
-#: admin/templatetags/admin_tags.py:60
+#: admin/templatetags/admin_tags.py:57
msgid "Message logs"
msgstr "Nachrichten-Logs"
-#: admin/templatetags/admin_tags.py:75 admin/templatetags/admin_tags.py:130
-#: admin/views/import_.py:57 admin/views/import_.py:78
+#: admin/templatetags/admin_tags.py:69 admin/templatetags/admin_tags.py:117
+#: admin/views/import_.py:56 admin/views/import_.py:78
msgid "Import"
msgstr "Import"
-#: admin/templatetags/admin_tags.py:83 admin/templatetags/admin_tags.py:138
-#: admin/views/export.py:41 admin/views/export.py:70
+#: admin/templatetags/admin_tags.py:75 admin/templatetags/admin_tags.py:123
+#: admin/views/export.py:39 admin/views/export.py:67
msgid "Export"
msgstr "Export"
-#: admin/templatetags/admin_tags.py:116
+#: admin/templatetags/admin_tags.py:107
msgid "List identities"
msgstr "Identitäten-Liste"
-#: admin/templatetags/admin_tags.py:157
+#: admin/templatetags/admin_tags.py:142
msgid "View the domain's identities"
msgstr "Domain-Identitäten anzeigen"
-#: admin/templatetags/admin_tags.py:166
+#: admin/templatetags/admin_tags.py:149
msgid "View domain's alarms"
msgstr "Domänen-Alarme anzeigen"
-#: admin/templatetags/admin_tags.py:174 admin/templatetags/admin_tags.py:218
-#: admin/templatetags/admin_tags.py:235
+#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:198
+#: admin/templatetags/admin_tags.py:211
msgid "Edit {}"
msgstr "{} bearbeiten"
-#: admin/templatetags/admin_tags.py:186 admin/templatetags/admin_tags.py:224
-#: admin/templatetags/admin_tags.py:241
+#: admin/templatetags/admin_tags.py:165 admin/templatetags/admin_tags.py:202
+#: admin/templatetags/admin_tags.py:216
#, python-format
msgid "Delete %s?"
msgstr "%s löschen?"
-#: admin/tests/test_mx.py:156
+#: admin/tests/test_mx.py:155
#, python-format
msgid "No MX record for %s"
msgstr "Kein MX Eintrag für %s"
-#: admin/tests/test_mx.py:177 admin/tests/test_mx.py:183
+#: admin/tests/test_mx.py:167 admin/tests/test_mx.py:170
#, 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:52
+#: admin/views/alias.py:55
msgid "Create"
msgstr "Erstellen"
-#: admin/views/alias.py:64
+#: admin/views/alias.py:67
msgid "New alias"
msgstr "Neuer Alias"
-#: admin/views/alias.py:64
+#: admin/views/alias.py:68
msgid "Alias created"
msgstr "Alias erstellt"
-#: admin/views/alias.py:76
+#: admin/views/alias.py:80
msgid "Alias modified"
msgstr "Alias verändert"
-#: admin/views/alias.py:101
+#: admin/views/alias.py:105
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias gelöscht"
@@ -1661,36 +1555,36 @@ msgstr[1] "Aliase gelöscht"
msgid "MX records of {}"
msgstr "MX Einträge für {}"
-#: admin/views/dns.py:50
+#: admin/views/dns.py:51
msgid "DNSBL summary for {}"
msgstr "DNSBL Zusammenfassung für {}"
-#: admin/views/domain.py:251
+#: admin/views/domain.py:250
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domain gelöscht"
msgstr[1] "Domains gelöscht"
-#: admin/views/export.py:40
+#: admin/views/export.py:38
msgid "Export identities"
msgstr "Identitäten exportieren"
-#: admin/views/export.py:69
+#: admin/views/export.py:66
msgid "Export domains"
msgstr "Domains exportieren"
-#: 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
+#: 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
msgid "Invalid request"
msgstr "Ungültige Anfrage"
-#: admin/views/identity.py:187
+#: admin/views/identity.py:194
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Konto gelöscht"
msgstr[1] "Konten gelöscht"
-#: admin/views/import_.py:56
+#: admin/views/import_.py:55
msgid "Import domains"
msgstr "Domains importieren"
@@ -1698,72 +1592,84 @@ msgstr "Domains importieren"
msgid "Import identities"
msgstr "Identitäten importieren"
-#: admin/views/user.py:51
+#: admin/views/user.py:52
msgid "Forward updated"
msgstr "Weiterleitung aktualisiert"
-#: core/api/v1/serializers.py:21
+#: core/api/v1/serializers.py:16
msgid "Invalid PIN code"
msgstr "Ungültiger Pincode"
-#: core/api/v1/serializers.py:27
+#: core/api/v1/serializers.py:22
msgid "2FA is already enabled"
msgstr "2FA ist bereits aktiviert"
-#: 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
+#: core/api/v1/viewsets.py:61
msgid "2FA is not enabled"
msgstr "2-Faktor-Authentifizierung ist nicht aktiviert"
-#: core/api/v2/serializers.py:68 core/app_settings.py:48
+#: core/api/v2/serializers.py:60 core/app_settings.py:43
msgid "Local"
msgstr "Lokal"
-#: core/api/v2/serializers.py:164 core/app_settings.py:24
+#: 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
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:535
-#: core/app_settings.py:543 core/app_settings.py:551
-#: postfix_autoreply/forms.py:155
+#: core/api/v2/serializers.py:197 core/app_settings.py:561
+#: core/app_settings.py:569 core/app_settings.py:577
msgid "Invalid syntax"
msgstr "Ungültiger Syntax"
-#: core/api/v2/serializers.py:202 core/app_settings.py:557
+#: core/api/v2/serializers.py:202 core/app_settings.py:583
msgid "Invalid rounds number"
msgstr "Ungültige Zahl für Runden"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:262 core/forms.py:176
msgid "This code is invalid"
msgstr "Dieser Code ist Falsch"
-#: 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: "
-"{}"
+#: core/api/v2/serializers.py:274
+msgid "Invalid password"
+msgstr "Ungültiges Passwort"
-#: core/api/v2/views.py:57
+#: core/api/v2/serializers.py:328 core/views/auth.py:180
+#: core/views/auth.py:235
+msgid "Please use the following code to recover your Modoboa password: {}"
+msgstr "Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen: {}"
+
+#: core/api/v2/views.py:54
#, python-format
msgid "Failed connection attempt from '%s' as user '%s'"
msgstr "Fehlgeschlagener Verbindungsversuch von '%s' als Benutzer '%s'"
-#: core/api/v2/views.py:69 core/views/auth.py:89
+#: core/api/v2/views.py:67 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:67
+#: core/api/v2/views.py:86 core/views/auth.py:68
#, python-format
msgid "Password scheme mismatch. Updating %s password"
msgstr "Fehlanpassung des Passwortschemas. Passwort von %s wird aktualisiert"
@@ -1773,523 +1679,478 @@ 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:44 core/app_settings.py:716
+#: core/app_settings.py:39 core/app_settings.py:728
msgid "Authentication"
msgstr "Authentifizierung"
-#: core/app_settings.py:47 core/app_settings.py:722
+#: core/app_settings.py:42 core/app_settings.py:731
msgid "Authentication type"
msgstr "Authentifizierungstyp"
-#: core/app_settings.py:50 core/app_settings.py:724
+#: core/app_settings.py:46 core/app_settings.py:733
msgid "The backend used for authentication"
msgstr "Backend für die Authentifizierung"
-#: core/app_settings.py:55 core/app_settings.py:731
+#: core/app_settings.py:51 core/app_settings.py:736
msgid "Default password scheme"
msgstr "Standard-Passwortschema"
-#: core/app_settings.py:58 core/app_settings.py:733
+#: core/app_settings.py:54 core/app_settings.py:738
msgid "Scheme used to crypt mailbox passwords"
msgstr "Verschlüsselungsschema der Postfach-Passwörter"
-#: core/app_settings.py:62 core/app_settings.py:740
+#: core/app_settings.py:58 core/app_settings.py:741
msgid "Rounds"
msgstr "Runden"
-#: core/app_settings.py:65 core/app_settings.py:742
+#: core/app_settings.py:61 core/app_settings.py:743
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:71 core/app_settings.py:752
+#: core/app_settings.py:67 core/app_settings.py:749
msgid "Update password scheme at login"
msgstr "Aktualisiere das Passwortschema beim Anmelden"
-#: core/app_settings.py:74 core/app_settings.py:755
+#: core/app_settings.py:70 core/app_settings.py:751
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:79 core/app_settings.py:763
+#: core/app_settings.py:75 core/app_settings.py:756
msgid "Default password"
msgstr "Standardpasswort"
-#: core/app_settings.py:81 core/app_settings.py:765
+#: core/app_settings.py:78 core/app_settings.py:758
msgid "Default password for automatically created accounts."
msgstr "Standardpasswort für automatisch erstellte Accounts."
-#: core/app_settings.py:85 core/app_settings.py:772
+#: core/app_settings.py:82 core/app_settings.py:761
msgid "Random password length"
msgstr "Zufällige Passwortlänge"
-#: core/app_settings.py:88 core/app_settings.py:774
+#: core/app_settings.py:86 core/app_settings.py:763
msgid "Length of randomly generated passwords."
msgstr "Länge von zufällig generierten Passwörtern"
-#: core/app_settings.py:92 core/app_settings.py:781
+#: core/app_settings.py:90 core/app_settings.py:766
msgid "Update password service URL"
msgstr "Aktualisiere Passwort-Service-URL"
-#: core/app_settings.py:96 core/app_settings.py:783
+#: core/app_settings.py:94 core/app_settings.py:768
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:104 core/app_settings.py:793
+#: core/app_settings.py:102 core/app_settings.py:775
msgid "Password recovery announcement"
msgstr "Ankündigung zur Passwort-Wiederherstellung"
-#: core/app_settings.py:109 core/app_settings.py:795
+#: core/app_settings.py:107 core/app_settings.py:777
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:114 core/app_settings.py:804
+#: core/app_settings.py:113 core/app_settings.py:782
msgid "Enable password recovery by SMS"
msgstr "Aktiviere die Passwortwiederherstellung per SMS"
-#: core/app_settings.py:117 core/app_settings.py:807
+#: core/app_settings.py:116 core/app_settings.py:784
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:815
+#: core/app_settings.py:122 core/app_settings.py:789
msgid "SMS provider"
msgstr "SMS Anbieter"
-#: core/app_settings.py:124 core/app_settings.py:818
+#: core/app_settings.py:125 core/app_settings.py:792
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:129
+#: core/app_settings.py:131
msgid "LDAP settings"
msgstr "LDAP-Einstellungen"
-#: core/app_settings.py:132 core/app_settings.py:836
+#: core/app_settings.py:134 core/app_settings.py:802
msgid "Server address"
msgstr "Server-Adresse"
-#: core/app_settings.py:134 core/app_settings.py:838
+#: core/app_settings.py:137 core/app_settings.py:804
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP-Adresse oder Hostname des LDAP-Servers"
-#: core/app_settings.py:138 core/app_settings.py:845
+#: core/app_settings.py:141 core/app_settings.py:807
msgid "Server port"
msgstr "Server-Port"
-#: core/app_settings.py:140 core/app_settings.py:847
+#: core/app_settings.py:143 core/app_settings.py:809
msgid "The TCP port number used by the LDAP server"
msgstr "Der TCP Port des LDAP-Servers"
-#: core/app_settings.py:144 core/app_settings.py:855
+#: core/app_settings.py:147 core/app_settings.py:812
msgid "Enable secondary server (fallback)"
msgstr "Aktiviere Ausfallsserver (Fallback)"
-#: core/app_settings.py:147 core/app_settings.py:858
+#: core/app_settings.py:150 core/app_settings.py:814
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:153 core/app_settings.py:866
+#: core/app_settings.py:156 core/app_settings.py:819
msgid "Secondary server address"
msgstr "Ausfallsserver-Adresse"
-#: core/app_settings.py:156 core/app_settings.py:869
+#: core/app_settings.py:159 core/app_settings.py:822
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:161 core/app_settings.py:876
+#: core/app_settings.py:163 core/app_settings.py:826
msgid "Secondary server port"
msgstr "Ausfallsserver-Port"
-#: core/app_settings.py:163 core/app_settings.py:879
+#: core/app_settings.py:166 core/app_settings.py:829
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Der TCP Port des sekundären LDAP-Servers"
-#: core/app_settings.py:167 core/app_settings.py:886
+#: core/app_settings.py:170 core/app_settings.py:833
msgid "Use a secured connection"
msgstr "Gesicherte Verbindung verwenden"
-#: core/app_settings.py:171 core/app_settings.py:888
+#: core/app_settings.py:174 core/app_settings.py:835
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:176 core/app_settings.py:895
+#: core/app_settings.py:178 core/app_settings.py:838
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:178 core/app_settings.py:897
+#: core/app_settings.py:181 core/app_settings.py:840
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:182 core/app_settings.py:904
+#: core/app_settings.py:185 core/app_settings.py:843
msgid "Administrator groups"
msgstr "Administrator-Gruppen"
-#: core/app_settings.py:185 core/app_settings.py:906
+#: core/app_settings.py:188 core/app_settings.py:845
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:192 core/app_settings.py:915
+#: core/app_settings.py:195 core/app_settings.py:851
msgid "Group type"
msgstr "Gruppentyp"
-#: core/app_settings.py:195 core/app_settings.py:917
+#: core/app_settings.py:199 core/app_settings.py:853
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:199 core/app_settings.py:924
+#: core/app_settings.py:204 core/app_settings.py:857
msgid "Groups search base"
msgstr "Gruppen Search Base"
-#: core/app_settings.py:202 core/app_settings.py:926
+#: core/app_settings.py:207 core/app_settings.py:859
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:208 core/app_settings.py:934
+#: core/app_settings.py:213 core/app_settings.py:864
msgid "Password attribute"
msgstr "Passwort-Attribut"
-#: core/app_settings.py:210 core/app_settings.py:936
+#: core/app_settings.py:215 core/app_settings.py:866
msgid "The attribute used to store user passwords"
msgstr "Das Attribut für Benutzerpasswörter"
-#: core/app_settings.py:214 core/app_settings.py:943
+#: core/app_settings.py:220 core/app_settings.py:869
msgid "LDAP authentication settings"
msgstr "LDAP Authentifizierungseinstellungen"
-#: core/app_settings.py:217 core/app_settings.py:951
+#: core/app_settings.py:223 core/app_settings.py:874
msgid "Authentication method"
msgstr "Authentifizierungsmethode"
-#: core/app_settings.py:219 core/constants.py:59
+#: core/app_settings.py:224 core/constants.py:59
msgid "Search and bind"
msgstr "Suchen und Bind anwenden"
-#: core/app_settings.py:220 core/constants.py:60
+#: core/app_settings.py:225 core/constants.py:60
msgid "Direct bind"
msgstr "Direkter Bind"
-#: core/app_settings.py:223 core/app_settings.py:954
+#: core/app_settings.py:227 core/app_settings.py:877
msgid "Choose the authentication method to use"
msgstr "Wählen Sie die Authentifizierungsmethode"
-#: core/app_settings.py:227 core/app_settings.py:279 core/app_settings.py:961
-#: core/app_settings.py:1024
+#: core/app_settings.py:231 core/app_settings.py:285 core/app_settings.py:880
+#: core/app_settings.py:925
msgid "Bind DN"
msgstr "Bind DN"
-#: core/app_settings.py:230 core/app_settings.py:282 core/app_settings.py:963
-#: core/app_settings.py:1026
+#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882
+#: core/app_settings.py:927
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:237 core/app_settings.py:289 core/app_settings.py:972
-#: core/app_settings.py:1034
+#: core/app_settings.py:241 core/app_settings.py:295 core/app_settings.py:888
+#: core/app_settings.py:932
msgid "Bind password"
msgstr "Bind Passwort"
-#: core/app_settings.py:240 core/app_settings.py:292 core/app_settings.py:974
-#: core/app_settings.py:1036
+#: core/app_settings.py:244 core/app_settings.py:298 core/app_settings.py:890
+#: core/app_settings.py:934
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:247 core/app_settings.py:335 core/app_settings.py:984
-#: core/app_settings.py:1089
+#: core/app_settings.py:252 core/app_settings.py:344 core/app_settings.py:897
+#: core/app_settings.py:971
msgid "Users search base"
msgstr "Benutzer Search Base"
-#: core/app_settings.py:250 core/app_settings.py:338 core/app_settings.py:986
-#: core/app_settings.py:1091
+#: core/app_settings.py:255 core/app_settings.py:347 core/app_settings.py:899
+#: core/app_settings.py:973
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:256 core/app_settings.py:344 core/app_settings.py:995
-#: core/app_settings.py:1100
+#: core/app_settings.py:261 core/app_settings.py:353 core/app_settings.py:905
+#: core/app_settings.py:979
msgid "Search filter"
msgstr "Suchfilter"
-#: core/app_settings.py:259 core/app_settings.py:347 core/app_settings.py:997
-#: core/app_settings.py:1102
+#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907
+#: core/app_settings.py:981
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:266 core/app_settings.py:1006
+#: core/app_settings.py:271 core/app_settings.py:913
msgid "User DN template"
msgstr "Vorlage für User DN"
-#: core/app_settings.py:269 core/app_settings.py:1008
+#: core/app_settings.py:274 core/app_settings.py:915
#, 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:276 core/app_settings.py:1017
+#: core/app_settings.py:282 core/app_settings.py:921
msgid "LDAP synchronization settings"
msgstr "LDAP Synchronisations Einstellungen"
-#: core/app_settings.py:299 core/app_settings.py:1045
+#: core/app_settings.py:306 core/app_settings.py:940
msgid "Enable export to LDAP"
msgstr "Export zu LDAP aktivieren"
-#: core/app_settings.py:302 core/app_settings.py:1047
+#: core/app_settings.py:309 core/app_settings.py:942
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:308 core/app_settings.py:1056
+#: core/app_settings.py:315 core/app_settings.py:948
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:311 core/app_settings.py:1059
+#: core/app_settings.py:319 core/app_settings.py:950
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:317 core/app_settings.py:1068
+#: core/app_settings.py:325 core/app_settings.py:956
msgid "Account DN template"
msgstr "Vorlage für User DN"
-#: core/app_settings.py:320 core/app_settings.py:1070
+#: core/app_settings.py:328 core/app_settings.py:958
#, 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:327 core/app_settings.py:1079
+#: core/app_settings.py:335 core/app_settings.py:964
msgid "Enable import from LDAP"
msgstr "Import von LDAP aktivieren"
-#: core/app_settings.py:330 core/app_settings.py:1081
+#: core/app_settings.py:338 core/app_settings.py:966
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:354 core/app_settings.py:1111
+#: core/app_settings.py:363 core/app_settings.py:987
msgid "Username attribute"
msgstr "Benutzernamenattribut"
-#: core/app_settings.py:357 core/app_settings.py:1113
+#: core/app_settings.py:366 core/app_settings.py:989
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:362 core/app_settings.py:1122
+#: core/app_settings.py:371 core/app_settings.py:995
msgid "Enable Dovecot LDAP sync"
msgstr "Dovecot LDAP-Synchronisation aktivieren"
-#: core/app_settings.py:365 core/app_settings.py:1124
+#: core/app_settings.py:374 core/app_settings.py:997
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:370 core/app_settings.py:1132
+#: core/app_settings.py:380 core/app_settings.py:1002
msgid "Dovecot LDAP config file"
msgstr "Dovecot LDAP-Konfigurationsdatei"
-#: core/app_settings.py:374 core/app_settings.py:1134
+#: core/app_settings.py:384 core/app_settings.py:1004
msgid ""
"Location of the configuration file which contains Dovecot LDAP settings."
msgstr "Speicherort der Dovecot-Konfigurationsdatei für LDAP-Einstellungen."
-#: core/app_settings.py:379 core/app_settings.py:1147
+#: core/app_settings.py:389 core/app_settings.py:1013
#: core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr "Dashboard"
-#: core/app_settings.py:382 core/app_settings.py:1153
+#: core/app_settings.py:392 core/app_settings.py:1016
msgid "Custom RSS feed"
msgstr "Benutzerdefinierter RSS Feed"
-#: core/app_settings.py:385 core/app_settings.py:1155
+#: core/app_settings.py:395 core/app_settings.py:1018
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:390 core/app_settings.py:1163
+#: core/app_settings.py:400 core/app_settings.py:1023
msgid "Hide features widget"
msgstr "Verberge Funktionen Werkzeug"
-#: core/app_settings.py:393 core/app_settings.py:1165
+#: core/app_settings.py:403 core/app_settings.py:1025
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:397 core/app_settings.py:1177
+#: core/app_settings.py:407 core/app_settings.py:1032
msgid "Notifications"
msgstr "Benachrichtigungen"
-#: core/app_settings.py:400 core/app_settings.py:1183
+#: core/app_settings.py:410 core/app_settings.py:1035
msgid "Sender address"
msgstr "Absenderadresse"
-#: core/app_settings.py:402 core/app_settings.py:1185
+#: core/app_settings.py:413 core/app_settings.py:1037
msgid "Email address used to send notifications."
msgstr "E-Mail Adresse für das Senden von Benachrichtigungen."
-#: core/app_settings.py:405 core/app_settings.py:1196
+#: core/app_settings.py:417 core/app_settings.py:1042
msgid "Public API"
msgstr "Öffentliche API"
-#: core/app_settings.py:408 core/app_settings.py:1202
+#: core/app_settings.py:420 core/app_settings.py:1045
msgid "Enable communication"
msgstr "Verbindung aktivieren"
-#: core/app_settings.py:410
+#: core/app_settings.py:423
msgid "Enable communication with Modoboa public API"
msgstr "Verbindung mit Modoboa public API aktivieren"
-#: core/app_settings.py:414 core/app_settings.py:1211
+#: core/app_settings.py:427 core/app_settings.py:1050
msgid "Check new versions"
msgstr "Prüfe auf neue Versionen"
-#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
+#: core/app_settings.py:430 core/app_settings.py:1047
+#: core/app_settings.py:1053
msgid "Automatically checks if a newer version is available"
msgstr "Prüft automatisch ob eine neuere Version verfügbar ist."
-#: core/app_settings.py:420 core/app_settings.py:1222
+#: core/app_settings.py:434 core/app_settings.py:1057
msgid "Send an email when new versions are found"
msgstr "Sende eine Email wenn eine neue Version gefunden wurde"
-#: core/app_settings.py:422 core/app_settings.py:1226
+#: core/app_settings.py:437 core/app_settings.py:1060
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:425 core/app_settings.py:1233
+#: core/app_settings.py:441 core/app_settings.py:1064
msgid "Recipient"
msgstr "Empfänger"
-#: core/app_settings.py:427 core/app_settings.py:1236
+#: core/app_settings.py:444 core/app_settings.py:1067
msgid "Recipient of new versions notification emails."
msgstr "Empfänger für die Benachrichtigungsemail für eine neue Version"
-#: core/app_settings.py:431 core/app_settings.py:1243
+#: core/app_settings.py:449 core/app_settings.py:1071
msgid "Send statistics"
msgstr "Sende Statistiken"
-#: core/app_settings.py:434 core/app_settings.py:1246
+#: core/app_settings.py:452 core/app_settings.py:1074
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:438 core/app_settings.py:1258
+#: core/app_settings.py:456 core/app_settings.py:1080
msgid "Miscellaneous"
msgstr "Verschiedenes"
-#: core/app_settings.py:441 core/app_settings.py:1265
+#: core/app_settings.py:459 core/app_settings.py:1083
msgid "Enable inactive account tracking"
msgstr "Verfolgung inaktiver Konten aktivieren"
-#: core/app_settings.py:444 core/app_settings.py:1268
+#: core/app_settings.py:461 core/app_settings.py:1085
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:451 core/app_settings.py:1277
+#: core/app_settings.py:467 core/app_settings.py:1091
msgid "Inactive account threshold"
msgstr "Schwellwert für inaktive Konten"
-#: core/app_settings.py:454 core/app_settings.py:1280
+#: core/app_settings.py:470 core/app_settings.py:1094
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:460 core/app_settings.py:1289
+#: core/app_settings.py:476 core/app_settings.py:1099
msgid "Top notifications check interval"
msgstr "Benachrichtigungs-Prüfintervall"
-#: core/app_settings.py:462 core/app_settings.py:1292
+#: core/app_settings.py:479 core/app_settings.py:1101
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervall zwischen zwei Benachrichtigungsprüfungen (in Sekunden)"
-#: core/app_settings.py:466 core/app_settings.py:1299
+#: core/app_settings.py:484 core/app_settings.py:1105
msgid "Maximum log record age"
msgstr "Maximales Alter für Log-Einträge"
-#: core/app_settings.py:468 core/app_settings.py:1301
+#: core/app_settings.py:486 core/app_settings.py:1107
msgid "The maximum age in days of a log record"
msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)"
-#: core/app_settings.py:472 core/app_settings.py:1308
+#: core/app_settings.py:490 core/app_settings.py:1110
msgid "Items per page"
msgstr "Einträge pro Seite"
-#: core/app_settings.py:474 core/app_settings.py:1310
+#: core/app_settings.py:492 core/app_settings.py:1111
msgid "Number of displayed items per page"
msgstr "Anzahl dargestellter Einträge pro Seite"
-#: core/app_settings.py:478 core/app_settings.py:1317
+#: core/app_settings.py:496 core/app_settings.py:1114
msgid "Default top redirection"
msgstr "Standardumleitung"
-#: core/app_settings.py:482 core/app_settings.py:1319
+#: core/app_settings.py:500 core/app_settings.py:1116
msgid "The default redirection used when no application is specified"
msgstr "Die Standardumleitung wenn kein Programm angegeben wurde"
-#: core/app_settings.py:830
+#: core/app_settings.py:799
msgid "LDAP"
msgstr "LDAP"
-#: core/checks/settings_checks.py:7
+#: core/checks/settings_checks.py:6
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:11
+#: core/checks/settings_checks.py:9
msgid "Set `USE_TZ = True` in settings.py"
msgstr "Setze 'USE_TZ = True' in settings.py"
@@ -2321,31 +2182,31 @@ msgstr "Platzhalter"
msgid "Missing 2FA verification."
msgstr "Fehlende 2FA-Verifizierung."
-#: core/forms.py:35
+#: core/forms.py:40
msgid "Old password"
msgstr "Altes Passwort"
-#: core/forms.py:40
+#: core/forms.py:44
msgid "New password"
msgstr "Neues Passwort"
-#: core/forms.py:79
+#: core/forms.py:76
msgid "Old password mismatchs"
msgstr "Altes Passwort stimmt nicht überein"
-#: core/forms.py:92
+#: core/forms.py:89
msgid "Passwords mismatch"
msgstr "Passwörter stimmen nicht überein"
-#: core/forms.py:124
+#: core/forms.py:118
msgid "Enable API access"
msgstr "API Zugriff aktivieren"
-#: core/forms.py:170
+#: core/forms.py:152
msgid "Verification code"
msgstr "Bestätigungscode"
-#: core/forms.py:181
+#: core/forms.py:163
msgid "Invalid code"
msgstr "Ungültiger Code"
@@ -2362,20 +2223,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:64
+#: core/handlers.py:63
#, python-format
msgid "%(object)s '%(name)s' %(action)s by "
msgstr "%(object)s '%(name)s' %(action)s von "
-#: core/handlers.py:67
+#: core/handlers.py:65
msgid "deleted"
msgstr "entfernt"
-#: core/handlers.py:71
+#: core/handlers.py:69
msgid "user {}"
msgstr "Benutzer {}"
-#: core/handlers.py:73
+#: core/handlers.py:71
msgid "management command"
msgstr "Administrationsbefehl"
@@ -2383,140 +2244,137 @@ msgstr "Administrationsbefehl"
msgid "You can't delete your own account"
msgstr "Sie können Ihr eigenes Konto nicht entfernen"
-#: core/handlers.py:128
+#: core/handlers.py:131
msgid "One or more updates are available"
msgstr "Eine oder mehrere Aktualisierungen sind verfügbar"
-#: core/management/commands/communicate_with_public_api.py:42
+#: core/management/commands/communicate_with_public_api.py:44
msgid "[modoboa] Update(s) available"
msgstr "[modoboa] Update(s) verfügbar"
-#: core/models.py:55
+#: core/models.py:52
msgid "Allow mailboxes access"
msgstr "Erlaube den Postfach-Zugriff"
-#: core/models.py:57
+#: core/models.py:54
msgid "Allow this administrator to access user mailboxes"
msgstr "Erlaubt dem Administrator auf Benutzer-Postfächer zuzugreifen"
-#: core/models.py:59 core/templates/core/user_security.html:119
+#: core/models.py:57
msgid "password"
msgstr "Passwort"
-#: core/models.py:62
+#: core/models.py:60
msgid "language"
msgstr "Sprache"
-#: core/models.py:66
+#: core/models.py:63
msgid "Prefered language to display pages."
msgstr "Bevorzugte Anzeigesprache für Seiten."
-#: core/models.py:75
+#: core/models.py:72
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:131
+#: core/models.py:126
msgid "Failed to update password: LDAP module not installed"
msgstr "Konnte Passwort nicht aktualisieren: LDAP-Modul nicht installiert"
-#: core/models.py:166 policyd/core.py:106
+#: core/models.py:159
msgid "account"
msgstr "Konto"
-#: core/models.py:294
+#: core/models.py:286
msgid "Unknown"
msgstr "Unbekannt"
-#: core/models.py:337
+#: core/models.py:328
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:352
+#: core/models.py:343
#, 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:359
+#: core/models.py:348
#, 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:25
+#: core/password_validation.py:24
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:37
+#: core/password_validation.py:34
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:49
+#: core/password_validation.py:45
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:62
+#: core/password_validation.py:57
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:70
+#: core/password_validation.py:65
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:102
+#: core/sms_backends/ovh.py:21 core/sms_backends/ovh.py:103
msgid "API endpoint"
msgstr "API-Endpunkt"
-#: core/sms_backends/ovh.py:24 core/sms_backends/ovh.py:62
+#: core/sms_backends/ovh.py:24 core/sms_backends/ovh.py:65
msgid "OVH Europe"
msgstr "OVH Europa"
-#: core/sms_backends/ovh.py:25 core/sms_backends/ovh.py:63
+#: core/sms_backends/ovh.py:25 core/sms_backends/ovh.py:66
msgid "OVH US"
msgstr "OVH US"
-#: core/sms_backends/ovh.py:26 core/sms_backends/ovh.py:64
+#: core/sms_backends/ovh.py:26 core/sms_backends/ovh.py:67
msgid "OVH North-America"
msgstr "OVH Nordamerika"
-#: core/sms_backends/ovh.py:27 core/sms_backends/ovh.py:65
+#: core/sms_backends/ovh.py:27 core/sms_backends/ovh.py:68
msgid "So you Start Europe"
msgstr "So you Start Europa"
-#: core/sms_backends/ovh.py:28 core/sms_backends/ovh.py:66
+#: core/sms_backends/ovh.py:28 core/sms_backends/ovh.py:69
msgid "So you Start North America"
msgstr "So you Start Amerika"
-#: core/sms_backends/ovh.py:29 core/sms_backends/ovh.py:67
+#: core/sms_backends/ovh.py:29 core/sms_backends/ovh.py:70
msgid "Kimsufi Europe"
msgstr "Kimsufi Europa"
-#: core/sms_backends/ovh.py:30 core/sms_backends/ovh.py:68
+#: core/sms_backends/ovh.py:30 core/sms_backends/ovh.py:71
msgid "Kimsufi North America"
msgstr "Kimsufi Nordamerika"
-#: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109
+#: core/sms_backends/ovh.py:37 core/sms_backends/ovh.py:107
msgid "Application key"
msgstr "Applikationsschlüssel"
-#: core/sms_backends/ovh.py:41
+#: core/sms_backends/ovh.py:44
msgid "Application secret"
msgstr "Applikationsgeheimnis"
-#: core/sms_backends/ovh.py:49 core/sms_backends/ovh.py:124
+#: core/sms_backends/ovh.py:52 core/sms_backends/ovh.py:116
msgid "Consumer key"
msgstr "Verbraucherschlüssel"
-#: core/sms_backends/ovh.py:116
+#: core/sms_backends/ovh.py:111
msgid "Appication secret"
msgstr "Anwendungspasswort"
@@ -2544,9 +2402,7 @@ 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"
@@ -2561,9 +2417,7 @@ 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"
@@ -2574,7 +2428,7 @@ msgstr "API access token"
msgid "Hello %(user)s."
msgstr "Hallo %(user)s."
-#: core/templates/core/information.html:2 core/templatetags/core_tags.py:58
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62
msgid "Information"
msgstr "Information"
@@ -2588,9 +2442,7 @@ 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"
@@ -2608,7 +2460,7 @@ msgstr "Aktuellste Version"
msgid "Active users"
msgstr "Aktive Benutzer"
-#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:63
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66
msgid "Logs"
msgstr "Logs"
@@ -2631,14 +2483,10 @@ msgid ""
msgid_plural ""
"\n"
" The following updates are available:\n"
-msgstr[0] ""
-"\n"
-"Die folgende Aktualisierung ist verfügbar:\n"
-msgstr[1] ""
-"\n"
-"Die folgenden Aktualisierungen sind verfügbar:\n"
+msgstr[0] "\nDie folgende Aktualisierung ist verfügbar:\n"
+msgstr[1] "\nDie folgenden Aktualisierungen sind verfügbar:\n"
-#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:70
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71
msgid "Parameters"
msgstr "Parameter"
@@ -2655,12 +2503,12 @@ msgstr "Speichern"
msgid "Modoboa settings"
msgstr "Modoboa-Einstellungen"
-#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:95
+#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90
msgid "Settings"
msgstr "Einstellungen"
#: core/templates/core/user_preferences.html:2
-#: core/templatetags/core_tags.py:139
+#: core/templatetags/core_tags.py:120
msgid "Preferences"
msgstr "Einstellungen"
@@ -2680,7 +2528,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:145
+#: core/templates/core/user_security.html:2 core/templatetags/core_tags.py:124
msgid "Security"
msgstr "Sicherheit"
@@ -2690,11 +2538,9 @@ 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"
@@ -2707,9 +2553,7 @@ 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
@@ -2718,28 +2562,16 @@ 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"
@@ -2748,10 +2580,7 @@ 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.\n"
-"Aktiviere dieses Feature, um die Account-Sicherheit zu erhöhen."
+msgstr "Zwei-Faktor-Authentifizierung (2FA) ist noch nicht für diesen Account aktiviert.\nAktiviere dieses Feature, um die Account-Sicherheit zu erhöhen."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2765,76 +2594,67 @@ 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:110
+#: core/templatetags/core_tags.py:102
msgid "Logout"
msgstr "Logout"
-#: core/templatetags/core_tags.py:154
+#: core/templatetags/core_tags.py:131
msgid "API"
msgstr "API"
-#: core/utils.py:33
+#: core/utils.py:32
msgid "The core part of Modoboa"
msgstr "Der Kern von Modoboa"
-#: core/views/admin.py:42
+#: core/views/admin.py:43
msgid "Parameters saved"
msgstr "Parameter gespeichert"
-#: core/views/auth.py:101
+#: core/views/auth.py:100
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:144
+#: core/views/auth.py:135
msgid "User '{}' successfully logged out"
msgstr "Benutzer '{}' erfolgreich abgemeldet"
-#: core/views/user.py:55
+#: core/views/user.py:59
msgid "Profile updated"
msgstr "Profil aktualisiert"
-#: core/views/user.py:89
+#: core/views/user.py:88
msgid "Preferences saved"
msgstr "Einstellungen gespeichert"
-#: core/views/user.py:118
+#: core/views/user.py:110
msgid "Access updated"
msgstr "Zugriff aktualisiert"
-#: dmarc/forms.py:36 dmarc/forms.py:50
+#: dmarc/forms.py:38 dmarc/forms.py:51
msgid "DNS settings"
msgstr "DNS Einstellungen"
-#: dmarc/forms.py:39 dmarc/forms.py:56
+#: dmarc/forms.py:41 dmarc/forms.py:54
msgid "Enable reverse lookups"
msgstr "Reverse-Lookups aktivieren"
-#: dmarc/forms.py:41 dmarc/forms.py:58
+#: dmarc/forms.py:44 dmarc/forms.py:56
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:74 dmarc/forms.py:78
+#: dmarc/forms.py:69 dmarc/forms.py:71
msgid "DMARC"
msgstr "DMARC"
-#: dmarc/handlers.py:21
+#: dmarc/handlers.py:20
msgid "Show DMARC report for {}"
msgstr "DMARC-Bericht für {} anzeigen"
-#: dmarc/lib.py:294 dmarc/templatetags/dmarc_tags.py:67 dmarc/views.py:120
+#: dmarc/lib.py:299 dmarc/templatetags/dmarc_tags.py:59 dmarc/views.py:123
msgid "Not resolved"
msgstr "Nicht aufgelöst"
@@ -2870,11 +2690,11 @@ msgstr "Temporärer Fehler"
msgid "Permanent error"
msgstr "Permanenter Fehler"
-#: dmarc/models.py:24
+#: dmarc/models.py:25
msgid "Policy"
msgstr "Richtlinie"
-#: dmarc/models.py:26
+#: dmarc/models.py:29
msgid "Soft failure"
msgstr "Schwacher Fehler"
@@ -2946,95 +2766,95 @@ msgstr "Weiterleitungen mit ARC"
msgid "Unknown sources / Threats"
msgstr "Unbekannte Quellen / Bedrohungen"
-#: dnstools/lib.py:82
+#: dnstools/lib.py:78
msgid "Wrong ip4 mechanism syntax"
msgstr "Falsche Syntax des IP4-Mechanismus"
-#: dnstools/lib.py:86
+#: dnstools/lib.py:82
msgid "Wrong IPv4 address format"
msgstr "Falsches IPv4-Adressformat"
-#: dnstools/lib.py:92
+#: dnstools/lib.py:88
msgid "Wrong ip6 mechanism syntax"
msgstr "Falsche Syntax des IP6-Mechanismus"
-#: dnstools/lib.py:97
+#: dnstools/lib.py:93
msgid "Wrong IPv6 address format"
msgstr "Falsches IPv6-Adressformat"
-#: dnstools/lib.py:111 dnstools/lib.py:136
+#: dnstools/lib.py:108 dnstools/lib.py:134
msgid "Invalid syntax for {} mechanism"
msgstr "Ungültige Syntax für {}-Mechanismus"
-#: dnstools/lib.py:113
+#: dnstools/lib.py:110
msgid "Invalid mask found {}"
msgstr "Ungültige Maske gefunden {}"
-#: dnstools/lib.py:157
+#: dnstools/lib.py:155
msgid "Not an SPF record"
msgstr "Kein SPF-Eintrag"
-#: dnstools/lib.py:179
+#: dnstools/lib.py:177
msgid "Unknown mechanism {}"
msgstr "Unbekannter Mechanismus {}"
-#: dnstools/lib.py:181
+#: dnstools/lib.py:179
msgid "Unknown modifier {}"
msgstr "Unbekannter Modifikator {}"
-#: dnstools/lib.py:184
+#: dnstools/lib.py:182
msgid "Duplicate modifier {} found"
msgstr "Doppelter Modifikator {} gefunden"
-#: dnstools/lib.py:188
+#: dnstools/lib.py:186
msgid "No mechanism found"
msgstr "Kein Mechanismus gefunden"
-#: dnstools/lib.py:195
+#: dnstools/lib.py:193
msgid "Not a valid DKIM record"
msgstr "Kein gültiger DKIM-Eintrag"
-#: dnstools/lib.py:203 dnstools/lib.py:256
+#: dnstools/lib.py:201 dnstools/lib.py:254
msgid "Invalid tag {}"
msgstr "Ungültiger Tag {}"
-#: dnstools/lib.py:208
+#: dnstools/lib.py:206
msgid "No key found in record"
msgstr "Kein Schlüssel im Datensatz gefunden"
-#: dnstools/lib.py:215
+#: dnstools/lib.py:213
msgid "Wrong value {} for tag {}"
msgstr "Falscher Wert {} für Tag {}"
-#: dnstools/lib.py:230
+#: dnstools/lib.py:228
msgid "Wrong value {} for tag {}:"
msgstr "Falscher Wert {} für Tag {}:"
-#: dnstools/lib.py:234
+#: dnstools/lib.py:232
msgid " not an integer"
msgstr "Keine ganze Zahl"
-#: dnstools/lib.py:236
+#: dnstools/lib.py:235
msgid " less than {}"
msgstr "kleiner als {}"
-#: dnstools/lib.py:239
+#: dnstools/lib.py:238
msgid " greater than {}"
msgstr "größer als {}"
-#: dnstools/lib.py:248
+#: dnstools/lib.py:246
msgid "Not a valid DMARC record"
msgstr "Kein gültiger DMARC-Eintrag"
-#: dnstools/lib.py:259
+#: dnstools/lib.py:257
msgid "Unknown tag {}"
msgstr "Unbekanntes Tag {}"
-#: dnstools/lib.py:264
+#: dnstools/lib.py:262
msgid "Missing required p tag"
msgstr "Erforderliches p-Tag fehlt"
-#: dnstools/models.py:78
+#: dnstools/models.py:75
msgid "Public key mismatchs"
msgstr "Öffentlicher Schlüssel stimmt nicht überein"
@@ -3064,11 +2884,9 @@ 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"
@@ -3083,7 +2901,7 @@ msgstr "Automatische Konfiguration"
msgid "hostname of your automx server"
msgstr "Hostname Ihres Automx-Servers"
-#: dnstools/views.py:35
+#: dnstools/views.py:36
msgid "{} record of {}"
msgstr "{} Eintrag von {}"
@@ -3091,154 +2909,144 @@ msgstr "{} Eintrag von {}"
msgid "Auto configuration records for {}"
msgstr "Automatische Konfigurationseinträge für {}"
-#: dnstools/views.py:80
+#: dnstools/views.py:84
msgid "DNS configuration for {}"
msgstr "DNS-Konfiguration für {}"
-#: imap_migration/api/v2/serializers.py:117
+#: imap_migration/api/v2/serializers.py:52
msgid "Access denied"
msgstr "Zugriff verweigert"
-#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102
+#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67
msgid "Enable IMAP Migration"
msgstr "IMAP-Migration aktivieren"
-#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104
+#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69
msgid "Enable IMAP Migration."
msgstr "IMAP-Migration aktivieren."
-#: imap_migration/app_settings.py:34
+#: imap_migration/app_settings.py:24
msgid "OfflineIMAP"
msgstr "OfflineIMAP"
-#: imap_migration/app_settings.py:40 imap_migration/app_settings.py:110
+#: imap_migration/app_settings.py:27 imap_migration/app_settings.py:75
msgid "Concurrent sync jobs"
msgstr "Gleichzeitige Synchronisierungsaufgaben"
-#: imap_migration/app_settings.py:42 imap_migration/app_settings.py:112
+#: imap_migration/app_settings.py:29 imap_migration/app_settings.py:77
msgid "The maximum number of concurrent synchronization jobs"
msgstr "Die maximale Anzahl von gleichzeitigen Synchronisierungsaufgaben"
-#: imap_migration/app_settings.py:53
+#: imap_migration/app_settings.py:34
msgid "OfflineIMAP Filter"
msgstr "OfflineIMAP Filter"
-#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118
+#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83
msgid "Create Folders"
msgstr "Erstelle Ordner"
-#: imap_migration/app_settings.py:61 imap_migration/app_settings.py:120
+#: imap_migration/app_settings.py:39 imap_migration/app_settings.py:85
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:68 imap_migration/app_settings.py:125
+#: imap_migration/app_settings.py:42 imap_migration/app_settings.py:90
msgid "Folder Filter Exclusions"
msgstr "Ordnerfilter Ausschlüsse"
-#: imap_migration/app_settings.py:70 imap_migration/app_settings.py:128
+#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93
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:78 imap_migration/app_settings.py:135
+#: imap_migration/app_settings.py:48 imap_migration/app_settings.py:100
msgid "Folder Filter Inclusions"
msgstr "Ordnerfilter einbeziehen"
-#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
+#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103
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:107
+#: imap_migration/app_settings.py:72
msgid "OfflineIMAP settings"
msgstr "OfflineIMAP-Einstellungen"
-#: imap_migration/app_settings.py:115
+#: imap_migration/app_settings.py:80
msgid "OfflineIMAP Filter settings"
msgstr "OfflineIMAP Filter Einstellungen"
-#: imap_migration/apps.py:18 imap_migration/apps.py:23
+#: imap_migration/apps.py:18 imap_migration/apps.py:20
msgid "IMAP Migration"
msgstr "IMAP-Migration"
-#: imap_migration/auth_backends.py:49
+#: imap_migration/auth_backends.py:46
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Verbindung zu IMAP-Server fehlgeschlagen: %s"
-#: imap_migration/checks.py:12
+#: imap_migration/checks.py:11
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:16
+#: imap_migration/checks.py:13
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:82
+#: ldapsync/lib.py:84
msgid "Failed to create LDAP account: {}"
msgstr "LDAP-Account konnte nicht angelegt werden: {}"
-#: ldapsync/lib.py:121
+#: ldapsync/lib.py:124
msgid "Failed to update LDAP account: {}"
msgstr "LDAP-Account konnte nicht aktualisiert werden: {}"
-#: ldapsync/lib.py:134
+#: ldapsync/lib.py:138
msgid "Failed to delete LDAP account: {}"
msgstr "LDAP-Account konnte nicht gelöscht werden: {}"
-#: ldapsync/lib.py:141
+#: ldapsync/lib.py:149
msgid "Failed to disable LDAP account: {}"
msgstr "LDAP-Account konnte nicht deaktiviert werden: {}"
-#: lib/api_client.py:35 lib/api_client.py:69 lib/api_client.py:83
-#: lib/api_client.py:87
+#: lib/api_client.py:36 lib/api_client.py:72 lib/api_client.py:87
+#: lib/api_client.py:92
#, python-format
msgid "Failed to communicate with public API: %s"
msgstr "Die Kommunikation mit der öffentlichen API ist fehlgeschlagen: %s"
-#: lib/db_utils.py:22
+#: lib/db_utils.py:23
#, python-format
msgid "Connection to database %s not configured"
msgstr "Verbindung zu Datenbank %s nicht konfiguriert"
-#: lib/email_utils.py:139 lib/email_utils.py:350
+#: lib/email_utils.py:143 lib/email_utils.py:363
msgid "unable to determine encoding of string"
msgstr "Kodierung der Zeichenkette konnte nicht bestimmt werden"
-#: lib/exceptions.py:83
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Zugriff verweigert: %s"
-#: lib/exceptions.py:84
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Zugriff verweigert"
-#: lib/fields.py:14 lib/validators.py:13
+#: lib/fields.py:15 lib/validators.py:14
msgid "Enter a valid domain name"
msgstr "Geben Sie einen gültigen Domain-Namen an"
-#: lib/fields.py:41 lib/fields.py:54
+#: lib/fields.py:44 lib/fields.py:58
msgid "Enter a valid email address."
msgstr "Geben Sie eine gültige E-Mail-Adresse ein."
@@ -3248,176 +3056,153 @@ msgstr "Geben Sie eine gültige E-Mail-Adresse ein."
msgid "Submit"
msgstr "Abschicken"
-#: lib/ldap_utils.py:126
+#: lib/ldap_utils.py:129
msgid "Failed to update password: {}"
msgstr "Ändern des Passworts fehlgeschlagen: {}"
-#: lib/templatetags/lib_tags.py:120 templates/common/email_searchbar.html:17
+#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17
msgid "Subject"
msgstr "Betreff"
-#: limits/app_settings.py:17 limits/app_settings.py:147
+#: limits/app_settings.py:17 limits/app_settings.py:154
msgid "Default per-admin limits"
msgstr "Standardgrenzen je Admin"
-#: limits/app_settings.py:20 limits/app_settings.py:153
+#: limits/app_settings.py:20 limits/app_settings.py:157
msgid "Enable per-admin limits"
msgstr "Aktiviere Grenzen je Admin"
-#: limits/app_settings.py:22 limits/app_settings.py:154
+#: limits/app_settings.py:22 limits/app_settings.py:158
msgid "Enable or disable per-admin limits"
msgstr "Aktiviere oder deaktiviere Grenzen je Admin"
-#: 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
+#: 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
msgid "Domain admins"
msgstr "Domain-Administratoren"
-#: limits/app_settings.py:29 limits/app_settings.py:163
+#: limits/app_settings.py:29 limits/app_settings.py:164
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:39 limits/app_settings.py:175
+#: limits/app_settings.py:40 limits/app_settings.py:173
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:48 limits/app_settings.py:186
+#: limits/app_settings.py:50 limits/app_settings.py:181
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:58 limits/app_settings.py:198
+#: limits/app_settings.py:61 limits/app_settings.py:190
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:67 limits/app_settings.py:210
+#: limits/app_settings.py:71 limits/app_settings.py:199
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:76 limits/app_settings.py:220
+#: limits/app_settings.py:81 limits/app_settings.py:206
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:82 limits/app_settings.py:232
+#: limits/app_settings.py:88 limits/app_settings.py:213
msgid "Default per-domain limits"
msgstr "Standardgrenzen je Domäne"
-#: limits/app_settings.py:85 limits/app_settings.py:238
+#: limits/app_settings.py:91 limits/app_settings.py:216
msgid "Enable per-domain limits"
msgstr "Aktiviere Grenzen je Domäne"
-#: limits/app_settings.py:87 limits/app_settings.py:239
+#: limits/app_settings.py:93 limits/app_settings.py:217
msgid "Enable or disable per-domain limits"
msgstr "Aktiviere oder deaktiviere Grenzen je Domäne"
-#: limits/app_settings.py:94 limits/app_settings.py:248
+#: limits/app_settings.py:100 limits/app_settings.py:223
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:104 limits/app_settings.py:260
+#: limits/app_settings.py:111 limits/app_settings.py:232
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:114 limits/app_settings.py:272
+#: limits/app_settings.py:122 limits/app_settings.py:241
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:123 limits/app_settings.py:283
+#: limits/app_settings.py:132 limits/app_settings.py:249
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:17
+#: limits/apps.py:13 limits/apps.py:15
msgid "Limits"
msgstr "Grenzwerte"
-#: limits/constants.py:14
+#: limits/constants.py:10
msgid "Maximum number of domains this user can create"
msgstr "Maximale Anzahl Domains, die dieser Benutzer erstellen darf"
-#: limits/constants.py:23
+#: limits/constants.py:14
msgid "Maximum number of domain aliases this user can create"
msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf"
-#: limits/constants.py:32
+#: limits/constants.py:18
msgid "Maximum number of mailboxes this user can create"
msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf"
-#: limits/constants.py:40
+#: limits/constants.py:21
msgid "Maximum number of mailbox aliases this user can create"
msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf"
-#: limits/constants.py:49
+#: limits/constants.py:25
msgid "Maximum number of domain administrators this user can create"
msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf"
-#: limits/constants.py:60
+#: limits/constants.py:31
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:77
+#: limits/constants.py:42
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:85
+#: limits/constants.py:46
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:93
+#: limits/constants.py:50
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:102
+#: limits/constants.py:55
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:88
+#: limits/forms.py:38 limits/forms.py:87
msgid "Invalid limit"
msgstr "Ungültiger Grenzwert"
-#: limits/handlers.py:118 limits/handlers.py:151
+#: limits/handlers.py:118 limits/handlers.py:154
msgid "Resources"
msgstr "Ressourcen"
@@ -3430,13 +3215,11 @@ msgstr "%s: Grenze erreicht"
msgid "Not enough resources"
msgstr "Nicht ausreichend Ressourcen"
-#: limits/lib.py:46 limits/models.py:46
+#: limits/lib.py:47 limits/models.py:47
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:56 limits/models.py:119
+#: limits/models.py:57 limits/models.py:121
msgid "unlimited"
msgstr "unbegrenzt"
@@ -3445,93 +3228,91 @@ msgstr "unbegrenzt"
msgid "Resources usage"
msgstr "Ressourcen-Verbrauch"
-#: maillog/api/v2/serializers.py:35
+#: maillog/api/v2/serializers.py:36
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/apps.py:20 maillog/forms.py:23
+#: maillog/forms.py:23
msgid "Path to the log file"
msgstr "Pfad zur Log-Datei"
-#: maillog/apps.py:22 maillog/forms.py:25
+#: maillog/forms.py:25
msgid "Path to log file used to collect statistics"
msgstr "Pfad zur Log-Datei, um Statistiken zu sammeln"
-#: maillog/apps.py:29 maillog/forms.py:30
+#: maillog/forms.py:30
msgid "Directory to store RRD files"
msgstr "Ablageverzeichnis für RRD-Dateien"
-#: maillog/apps.py:31 maillog/forms.py:32
+#: maillog/forms.py:33
msgid "Path to directory where RRD files are stored"
msgstr "Pfad zum Verzeichnis in dem die RRD-Dateien abgelegt werden"
-#: maillog/apps.py:38 maillog/forms.py:37
+#: maillog/forms.py:38
msgid "Show greylisted messages"
msgstr "Grey-gelistete E-Mails anzeigen"
-#: maillog/apps.py:40 maillog/forms.py:40
+#: maillog/forms.py:41
msgid "Differentiate between hard and soft rejects (greylisting)"
msgstr "Unterscheidung zwischen Hard- und Soft-Rejects (Greylisting)"
-#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21
+#: maillog/forms.py:59 maillog/handlers.py:22
msgid "Statistics"
msgstr "Statistiken"
-#: maillog/graphics.py:91
+#: maillog/graphics.py:93
msgid "Failed to locate rrdtool binary."
msgstr "RRDTool Binary konnte nicht gefunden werden"
-#: maillog/graphics.py:168
+#: maillog/graphics.py:170
msgid "Average traffic (msgs/min)"
msgstr "Durchschnittlicher Traffic (Nachrichten/min)"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:173
msgid "sent messages"
msgstr "Gesendete Nachrichten"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:174
msgid "received messages"
msgstr "Empfangene Nachrichten"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:175
msgid "bounced messages"
msgstr "Zurückgeworfene Nachrichten"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:176
msgid "rejected messages"
msgstr "Abgewiesene Nachrichten"
-#: maillog/graphics.py:175
+#: maillog/graphics.py:177
msgid "virus messages"
msgstr "Virus E-Mails"
-#: maillog/graphics.py:176
+#: maillog/graphics.py:178
msgid "spam messages"
msgstr "Spam E-Mails"
-#: maillog/graphics.py:183
+#: maillog/graphics.py:185
msgid "greylisted messages"
msgstr "Grey-gelistete E-Mails"
-#: maillog/graphics.py:200
+#: maillog/graphics.py:196
msgid "Average normal traffic size (bytes/min)"
msgstr "Durchschnittliche Traffic-Menge (Bytes/min)"
-#: maillog/graphics.py:203
+#: maillog/graphics.py:199
msgid "received size"
msgstr "Empfangsgröße"
-#: maillog/graphics.py:204
+#: maillog/graphics.py:201
msgid "sent size"
msgstr "Versendegröße"
-#: maillog/graphics.py:211
+#: maillog/graphics.py:209
msgid "Mail traffic"
msgstr "Mailverkehr"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:253
msgid "Average account creation (account/hour)"
msgstr "Durchschnittlich erstelle Konten (Konten/Stunde)"
@@ -3559,190 +3340,181 @@ msgstr "Antworten"
msgid "No statistics available"
msgstr "Keine Statistik-Daten verfügbar"
-#: maillog/views.py:39
+#: maillog/views.py:40
msgid "Day"
msgstr "Tag"
-#: maillog/views.py:40
+#: maillog/views.py:41
msgid "Week"
msgstr "Woche"
-#: maillog/views.py:41
+#: maillog/views.py:42
msgid "Month"
msgstr "Monat"
-#: maillog/views.py:42
+#: maillog/views.py:43
msgid "Year"
msgstr "Jahr"
-#: maillog/views.py:43
+#: maillog/views.py:44
msgid "Custom"
msgstr "Benutzerdefiniert"
-#: maillog/views.py:66
+#: maillog/views.py:64
msgid "Unknown graphic set"
msgstr "Unbekanntes graphisches Set"
-#: maillog/views.py:71
+#: maillog/views.py:69
msgid "Unknown domain"
msgstr "Unbekannte Domäne"
-#: maillog/views.py:76
+#: maillog/views.py:74
msgid "Bad custom period"
msgstr "Ungültiger individueller Zeitraum"
-#: pdfcredentials/api/v2/serializers.py:31 pdfcredentials/app_settings.py:236
-#: pdfcredentials/documents.py:60
+#: pdfcredentials/api/v2/serializers.py:31 pdfcredentials/app_settings.py:164
+#: pdfcredentials/documents.py:52
msgid "Personal account information"
msgstr "Persönliche Kontoinformationen"
-#: pdfcredentials/api/v2/serializers.py:61
+#: pdfcredentials/api/v2/serializers.py:54
msgid "Directory is not writable"
msgstr "Verzeichnis ist nicht beschreibbar"
-#: pdfcredentials/api/v2/serializers.py:82 pdfcredentials/views.py:26
+#: pdfcredentials/api/v2/serializers.py:76 pdfcredentials/views.py:28
msgid "No document available for this user"
msgstr "Kein Dokument für diesen Benutzer verfügbar"
-#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198
+#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126
msgid "Enable PDF credentials"
msgstr "PDF-Anmeldeinformationen aktivieren"
-#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200
+#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128
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:42 pdfcredentials/app_settings.py:203
+#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131
msgid "Documents storage"
msgstr "Dokumentenablage"
-#: pdfcredentials/app_settings.py:48 pdfcredentials/app_settings.py:206
+#: pdfcredentials/app_settings.py:33 pdfcredentials/app_settings.py:134
msgid "Directory to save documents into"
msgstr "Speicherpfad für Dokumente"
-#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:208
+#: pdfcredentials/app_settings.py:35 pdfcredentials/app_settings.py:136
msgid "Path to a directory where PDF documents will be saved"
msgstr "Dateipfad in dem die PDF-Dokumente abgelegt werden"
-#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211
+#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139
msgid "Security options"
msgstr "Sicherheitseinstellungen"
-#: pdfcredentials/app_settings.py:67 pdfcredentials/app_settings.py:214
+#: pdfcredentials/app_settings.py:43 pdfcredentials/app_settings.py:142
msgid "Delete documents after the first download"
msgstr "Lösche Dokumente nach dem ersten Download"
-#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217
+#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145
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:78 pdfcredentials/app_settings.py:223
+#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:151
msgid "Generate documents only at account creation"
msgstr "Erzeuge Dokumente nur wenn ein Konto angelegt wurde"
-#: pdfcredentials/app_settings.py:81 pdfcredentials/app_settings.py:226
+#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154
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:94 pdfcredentials/app_settings.py:232
+#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160
msgid "Customization options"
msgstr "Individuell angepasste Optionen"
-#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235
+#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163
msgid "Title"
msgstr "Titel"
-#: pdfcredentials/app_settings.py:101 pdfcredentials/app_settings.py:237
+#: pdfcredentials/app_settings.py:64 pdfcredentials/app_settings.py:165
msgid "The document's title"
msgstr "Titel des Dokuments"
-#: pdfcredentials/app_settings.py:107 pdfcredentials/app_settings.py:241
+#: pdfcredentials/app_settings.py:67 pdfcredentials/app_settings.py:169
msgid "Web panel url"
msgstr "URL der Webanwendung"
-#: pdfcredentials/app_settings.py:108 pdfcredentials/app_settings.py:241
+#: pdfcredentials/app_settings.py:68 pdfcredentials/app_settings.py:170
msgid "URL of the Modoboa web panel"
msgstr "URL der Modoboa Webanwendung"
-#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245
+#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174
msgid "Custom message"
msgstr "Eigener Nachrichtentext"
-#: pdfcredentials/app_settings.py:116 pdfcredentials/app_settings.py:246
+#: pdfcredentials/app_settings.py:73 pdfcredentials/app_settings.py:176
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:123 pdfcredentials/app_settings.py:251
+#: pdfcredentials/app_settings.py:77 pdfcredentials/app_settings.py:181
msgid "Include mail client connection settings"
msgstr "Verbindungseinstellungen für Mailprogramme einschließen"
-#: pdfcredentials/app_settings.py:125 pdfcredentials/app_settings.py:254
+#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184
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:133 pdfcredentials/app_settings.py:260
-#: pdfcredentials/documents.py:133
+#: pdfcredentials/app_settings.py:84 pdfcredentials/app_settings.py:190
+#: pdfcredentials/documents.py:107
msgid "SMTP server address"
msgstr "SMTP Serveradresse"
-#: pdfcredentials/app_settings.py:136 pdfcredentials/app_settings.py:261
+#: pdfcredentials/app_settings.py:86 pdfcredentials/app_settings.py:191
msgid "Address of the SMTP server (hostname or IP)"
msgstr "Adresse des SMTP-Servers (Hostname oder IP)"
-#: pdfcredentials/app_settings.py:143 pdfcredentials/app_settings.py:265
-#: pdfcredentials/documents.py:134
+#: pdfcredentials/app_settings.py:89 pdfcredentials/app_settings.py:195
+#: pdfcredentials/documents.py:108
msgid "SMTP server port"
msgstr "SMTP Server-Port"
-#: pdfcredentials/app_settings.py:145 pdfcredentials/app_settings.py:267
+#: pdfcredentials/app_settings.py:91 pdfcredentials/app_settings.py:197
msgid "Listening port of the SMTP server"
msgstr "Port, auf dem der SMTP-Server erreicht werden kann"
-#: pdfcredentials/app_settings.py:151 pdfcredentials/app_settings.py:271
-#: pdfcredentials/documents.py:135
+#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:201
+#: pdfcredentials/documents.py:109
msgid "SMTP connection security"
msgstr "SMTP-Verbindungssicherheit"
-#: pdfcredentials/app_settings.py:153 pdfcredentials/app_settings.py:179
-#: pdfcredentials/app_settings.py:274 pdfcredentials/app_settings.py:292
+#: pdfcredentials/app_settings.py:96 pdfcredentials/app_settings.py:111
+#: pdfcredentials/app_settings.py:204 pdfcredentials/app_settings.py:222
msgid "Connection security mechanism"
msgstr "Mechanismus zur Verbindungssicherung"
-#: pdfcredentials/app_settings.py:159 pdfcredentials/app_settings.py:278
-#: pdfcredentials/documents.py:136
+#: pdfcredentials/app_settings.py:99 pdfcredentials/app_settings.py:208
+#: pdfcredentials/documents.py:110
msgid "IMAP server address"
msgstr "IMAP Serveradresse"
-#: pdfcredentials/app_settings.py:162 pdfcredentials/app_settings.py:279
+#: pdfcredentials/app_settings.py:101 pdfcredentials/app_settings.py:209
msgid "Address of the IMAP server (hostname or IP)"
msgstr "Adresse des IMAP-Servers (Hostname oder IP)"
-#: pdfcredentials/app_settings.py:169 pdfcredentials/app_settings.py:283
-#: pdfcredentials/documents.py:137
+#: pdfcredentials/app_settings.py:104 pdfcredentials/app_settings.py:213
+#: pdfcredentials/documents.py:111
msgid "IMAP server port"
msgstr "IMAP Server-Port"
-#: pdfcredentials/app_settings.py:171 pdfcredentials/app_settings.py:285
+#: pdfcredentials/app_settings.py:106 pdfcredentials/app_settings.py:215
msgid "Listening port of the IMAP server"
msgstr "Port, auf dem der IMAP-Servier erreicht werden kann"
-#: pdfcredentials/app_settings.py:177 pdfcredentials/app_settings.py:289
-#: pdfcredentials/documents.py:138
+#: pdfcredentials/app_settings.py:109 pdfcredentials/app_settings.py:219
+#: pdfcredentials/documents.py:112
msgid "IMAP connection security"
msgstr "IMAP Verbindungssicherheit"
@@ -3750,244 +3522,84 @@ msgstr "IMAP Verbindungssicherheit"
msgid "PDF credentials"
msgstr "PDF Anmeldeinformationen"
-#: pdfcredentials/apps.py:24
+#: pdfcredentials/apps.py:21
msgid "PDF Credentials"
msgstr "PDF-Anmeldeinformationen"
-#: pdfcredentials/documents.py:65
+#: pdfcredentials/documents.py:55
msgid "Powered by Modoboa - Mail hosting made simple"
msgstr "Powered by Modoboa - Mail hosting made simple"
-#: pdfcredentials/documents.py:84
+#: pdfcredentials/documents.py:71
#, 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 ""
-"\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"
+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"
-#: pdfcredentials/documents.py:95
+#: pdfcredentials/documents.py:77
msgid "Web panel:"
msgstr "Webanwendung:"
-#: pdfcredentials/documents.py:116
+#: pdfcredentials/documents.py:91
msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
"your contacts.\n"
-msgstr ""
-"\n"
-"Hier können Sie Ihre Emails online ansehen, Filter oder Kontakte erstellen.\n"
+msgstr "\nHier können Sie Ihre Emails online ansehen, Filter oder Kontakte erstellen.\n"
-#: pdfcredentials/documents.py:126
+#: pdfcredentials/documents.py:98
msgid "Please change your password!"
msgstr "Bitte ändern Sie Ihr Passwort!"
-#: pdfcredentials/documents.py:130
+#: pdfcredentials/documents.py:104
msgid "PC/Tablet/Smartphone configuration:"
msgstr "PC/Tablet/Smartphone Konfiguration:"
-#: pdfcredentials/documents.py:153
+#: pdfcredentials/documents.py:122
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:35
-msgid ""
-"Failed to create PDF_credentials directory. Please check the permissions or "
-"the path."
-msgstr ""
-
-#: pdfcredentials/handlers.py:61
+#: pdfcredentials/handlers.py:51
msgid "Retrieve user's credentials as a PDF document"
msgstr "Erhalte die Anmeldeinformationen des Benutzer als ein PDF-Dokument"
-#: pdfcredentials/handlers.py:82
+#: pdfcredentials/handlers.py:71
msgid "Download PDF credentials"
msgstr "PDF-Anmeldeinformationen herunterladen"
-#: pdfcredentials/lib.py:28
+#: pdfcredentials/lib.py:27
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. "
-#: 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
+#: relaydomains/api/v1/serializers.py:25
msgid "Unsupported service"
msgstr "Dienst wird nicht unterstützt"
-#: relaydomains/handlers.py:64
+#: relaydomains/handlers.py:61
msgid "Transport settings"
msgstr "Transport Einstellungen"
-#: relaydomains/handlers.py:89
+#: relaydomains/handlers.py:85
msgid "Transport"
msgstr "Transport"
-#: relaydomains/transport.py:16
+#: relaydomains/transport.py:14
msgid "target host address"
msgstr "Ziel-Host Adresse"
-#: relaydomains/transport.py:21
+#: relaydomains/transport.py:16
msgid "target host port"
msgstr "Ziel-Host Port"
-#: relaydomains/transport.py:27
+#: relaydomains/transport.py:18
msgid "verify recipients"
msgstr "Empfänger verifizieren"
@@ -4058,9 +3670,7 @@ 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"
@@ -4070,9 +3680,7 @@ 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"
@@ -4088,12 +3696,7 @@ 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
@@ -4101,18 +3704,14 @@ msgstr ""
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
@@ -4131,32 +3730,14 @@ msgstr "Modoboa Passwort zurücksetzen"
msgid "Invalid value"
msgstr "Ungültiger Wert"
-#: transport/models.py:15
+#: transport/models.py:16
msgid "pattern"
msgstr "Muster"
-#: transport/models.py:16
+#: transport/models.py:17
msgid "service"
msgstr "Dienst"
-#: transport/models.py:17
+#: transport/models.py:18
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)"