diff --git a/frontend/src/locale/br/app.po b/frontend/src/locale/br/app.po
index 6e9f3b033..92c94de30 100644
--- a/frontend/src/locale/br/app.po
+++ b/frontend/src/locale/br/app.po
@@ -57,7 +57,7 @@ msgstr "Kont krouet"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -113,7 +113,7 @@ msgstr "Enaouet"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -133,7 +133,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -225,7 +225,7 @@ msgstr "Anv implier"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -280,8 +280,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -291,8 +291,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -563,7 +563,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Serriñ"
@@ -825,82 +825,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Anv familh"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "O vezañ anavezet"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "Alc'hwez DKIM"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Diskouez an alc'hwez"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Neket ganet"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -908,34 +913,33 @@ msgstr "Neket ganet"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Chomlec'h"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Hizivaet"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1807,6 +1811,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "Chomlec'h postel"
@@ -2031,8 +2036,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2536,34 +2541,38 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
#, fuzzy
msgid "Provide one or more addresses"
msgstr "Chomlec'hioù ar c'haser"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
#, fuzzy
msgid "Email scheduled"
msgstr "Postel"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
#, fuzzy
msgid "Email sent"
msgstr "Postel"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3192,7 +3201,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
#, fuzzy
msgid "Message deleted"
msgstr "Implij"
@@ -3213,36 +3222,36 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
#, fuzzy
msgid "Enable links"
msgstr "Enaouet"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
#, fuzzy
msgid "Disable links"
msgstr "Lazhet"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
#, fuzzy
msgid "Display source"
msgstr "Diskouez an anv"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "Implij"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "Implij"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/cs/app.po b/frontend/src/locale/cs/app.po
index 5cc5e2ae4..01091138f 100644
--- a/frontend/src/locale/cs/app.po
+++ b/frontend/src/locale/cs/app.po
@@ -56,7 +56,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -111,7 +111,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -221,7 +221,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -275,8 +275,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -286,8 +286,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -539,7 +539,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -787,82 +787,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -870,34 +874,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1730,6 +1733,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1930,8 +1934,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2400,31 +2404,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3006,7 +3014,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -3026,31 +3034,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/de/app.po b/frontend/src/locale/de/app.po
index 716dd7f87..dcd8cd158 100644
--- a/frontend/src/locale/de/app.po
+++ b/frontend/src/locale/de/app.po
@@ -63,7 +63,7 @@ msgstr "API-Token erstellt"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -118,7 +118,7 @@ msgstr "Aktiviert"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr "Betreff"
@@ -141,7 +141,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "Von"
@@ -234,7 +234,7 @@ msgstr "Name"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -288,8 +288,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr "Wollen Sie dieses WebAuthn Gerät wirklich löschen?"
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -299,8 +299,8 @@ msgid "No"
msgstr "Nein"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -556,7 +556,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Schließen"
@@ -816,82 +816,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr "Hilfe zur DNS-Konfiguration"
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Zuletzt verwendet"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr "Ausstehend"
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr "Automatische Konfiguration"
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr "AutoKonfig Datensatz (Mozilla)\\: %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr "Autoconfig-Eintrag (Mozilla) nicht gefunden"
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "AutoDiscover Eintrag (Mozilla)\\: %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr "Autodiscover-Eintrag (Microsoft) nicht gefunden"
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Authentifizierung"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr "SPF Eintrag gefunden"
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr "SPF Eintrag nicht gefunden"
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr "DKIM-Eintrag gefunden"
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr "DKIM-Eintrag nicht gefunden"
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr "DMARC-Eintrag gefunden"
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr "DMARC-Eintrag nicht gefunden"
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "DKIM Schlüssel"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Zeige Schlüssel"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr "Schlüssel in Zwischenablage kopieren"
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr "Neuen DKIM Schlüssel generieren"
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Nicht generiert"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -899,30 +904,29 @@ msgstr "Nicht generiert"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Adresse"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Aktualisieren"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr "DKIM-Schlüssel in Zwischenablage kopiert"
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
"Ein neuer Schlüssel wird in Kürze generiert. Aktualisieren Sie die Seite um "
"ihn anzuzeigen."
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr "Warnung"
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
@@ -930,7 +934,7 @@ msgstr ""
"DKIM Schlüssel scheint noch nicht generiert worden zu sein oder ist "
"fehlgeschlagen. Wollen Sie den Auftrag erneut in die Warteschlange stellen?"
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
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 "
@@ -1806,6 +1810,7 @@ msgstr ""
"Endbenutzerfunktionen zugreifen."
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "E-Mail Adresse"
@@ -2007,8 +2012,8 @@ msgstr "Warteschlangen ID"
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "Bis"
@@ -2500,32 +2505,36 @@ msgstr "Anhängen"
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr "Eine oder mehrere Adressen eingeben"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr "Cc"
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr "Bcc"
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
#, fuzzy
msgid "Email scheduled"
msgstr "E-Mail gesendet"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr "E-Mail gesendet"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3132,7 +3141,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr "Nachricht gelöscht"
@@ -3152,33 +3161,33 @@ msgstr "Antworten"
msgid "Reply all"
msgstr "Allen antworten"
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr "Links aktivieren"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr "Links deaktivieren"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr "Quelle anzeigen"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "Nachricht gelöscht"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "Nachrichtenverlauf"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr "Als Junk markierte Nachricht"
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr "Nachricht als, kein Junk markiert"
diff --git a/frontend/src/locale/el/app.po b/frontend/src/locale/el/app.po
index 4f8bc58c3..6c24e5e39 100644
--- a/frontend/src/locale/el/app.po
+++ b/frontend/src/locale/el/app.po
@@ -56,7 +56,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -111,7 +111,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -221,7 +221,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -275,8 +275,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -286,8 +286,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -539,7 +539,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -787,82 +787,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -870,34 +874,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1730,6 +1733,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1929,8 +1933,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2398,31 +2402,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3003,7 +3011,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -3023,31 +3031,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/en/app.po b/frontend/src/locale/en/app.po
index 4cf542173..4c8104a3b 100644
--- a/frontend/src/locale/en/app.po
+++ b/frontend/src/locale/en/app.po
@@ -48,7 +48,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -103,7 +103,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -123,7 +123,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -213,7 +213,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -267,8 +267,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -278,8 +278,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -531,7 +531,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -779,82 +779,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -862,34 +866,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1722,6 +1725,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1921,8 +1925,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2390,31 +2394,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -2995,7 +3003,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -3015,31 +3023,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/es/app.po b/frontend/src/locale/es/app.po
index 595fab234..4bdbef541 100644
--- a/frontend/src/locale/es/app.po
+++ b/frontend/src/locale/es/app.po
@@ -58,7 +58,7 @@ msgstr "Cuenta creada"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -114,7 +114,7 @@ msgstr "Activado"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -134,7 +134,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -226,7 +226,7 @@ msgstr "Nombre de usuario"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -281,8 +281,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -292,8 +292,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -562,7 +562,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Cerrar"
@@ -822,82 +822,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Apellidos"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Autenticación"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Sin definir"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -905,34 +910,33 @@ msgstr "Sin definir"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Dirección"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Actualizado"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1800,6 +1804,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "Dirección de email"
@@ -2024,8 +2029,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2529,34 +2534,38 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
#, fuzzy
msgid "Provide one or more addresses"
msgstr "Direcciónes de remitente"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
#, fuzzy
msgid "Email scheduled"
msgstr "Correo-e"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
#, fuzzy
msgid "Email sent"
msgstr "Correo-e"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3184,7 +3193,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
#, fuzzy
msgid "Message deleted"
msgstr "Uso"
@@ -3205,36 +3214,36 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
#, fuzzy
msgid "Enable links"
msgstr "Activado"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
#, fuzzy
msgid "Disable links"
msgstr "Deshabilitado"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
#, fuzzy
msgid "Display source"
msgstr "Nombre a mostrar"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "Uso"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "Uso"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/fi/app.po b/frontend/src/locale/fi/app.po
index 626443e23..b2abbcd51 100644
--- a/frontend/src/locale/fi/app.po
+++ b/frontend/src/locale/fi/app.po
@@ -54,7 +54,7 @@ msgstr "API-tunniste luotu"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -109,7 +109,7 @@ msgstr "Käytössä"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -129,7 +129,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "Lähde"
@@ -224,7 +224,7 @@ msgstr "Käyttäjätunnus"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -281,8 +281,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr "Haluatko todella poistaa aliaksen %{ alias }?"
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -292,8 +292,8 @@ msgid "No"
msgstr "Ei"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -566,7 +566,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Sulje"
@@ -840,83 +840,88 @@ msgstr ""
msgid "DNS configuration help"
msgstr "DNS-määritysapu"
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Sukunimi"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr "Odottaa"
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr "Automaattinen asetusten määrittäminen"
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr "autoconfig-tietue (Mozilla): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr "autoconfig-tallennetta (Mozilla) ei löydy"
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "autodiscover-tietue (Microsoft): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr "autodiscover-tietuetta (Microsoft) ei löydy"
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Tunnistautuminen"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr "SPF-tietue löydetty"
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr "SPF-tietuetta ei löydy"
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr "DKIM-tietue löydetty"
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr "DKIM-tietuetta ei löydy"
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr "DMARC-tietue löydetty"
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr "DMARC-tietuetta ei löydy"
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "DKIM-avain"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Näytä avain"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
#, fuzzy
msgid "Copy key to clipboard"
msgstr "Kopioi turvatunnus leikepöydälle"
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr "Luo uusi DKIM-avain"
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Ei luotu"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -924,30 +929,29 @@ msgstr "Ei luotu"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Osoite"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Päivitetty"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
#, fuzzy
msgid "DKIM key copied to clipboard"
msgstr "API-tunniste kopioitu leikepöydälle"
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr "Uusi avain luodaan pian. Päivitä sivu hetken kuluttua nähdäksesi sen."
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
#, fuzzy
msgid "warning"
msgstr "Varoitus"
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
#, fuzzy
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
@@ -955,7 +959,7 @@ msgid ""
msgstr ""
"DKIM-avaimet ovat jo olemassa tälle verkkotunnukselle. Haluatko korvata ne?"
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
"DKIM-avaimet ovat jo olemassa tälle verkkotunnukselle. Haluatko korvata ne?"
@@ -1846,6 +1850,7 @@ msgstr ""
"loppukäyttäjän ominaisuuksia."
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "Sähköpostiosoite"
@@ -2075,8 +2080,8 @@ msgstr "Jonon ID"
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "Vastaanottaja"
@@ -2583,34 +2588,38 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
#, fuzzy
msgid "Provide one or more addresses"
msgstr "Lähettäjän osoitteet"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
#, fuzzy
msgid "Email scheduled"
msgstr "Sähköposti"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
#, fuzzy
msgid "Email sent"
msgstr "Sähköposti"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3247,7 +3256,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
#, fuzzy
msgid "Message deleted"
msgstr "Viestien historia"
@@ -3268,36 +3277,36 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
#, fuzzy
msgid "Enable links"
msgstr "Käytössä"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
#, fuzzy
msgid "Disable links"
msgstr "Pois käytöstä"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
#, fuzzy
msgid "Display source"
msgstr "Etunimi"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "Viestien historia"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "Viestien historia"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/fr/app.po b/frontend/src/locale/fr/app.po
index 537d109a6..c73612267 100644
--- a/frontend/src/locale/fr/app.po
+++ b/frontend/src/locale/fr/app.po
@@ -1,19 +1,20 @@
-#
+#
# Translators:
# Adrien spitfireap, 2025
# Antoine Nguyen , 2026
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2024-08-01 12:26+0000\n"
"Last-Translator: Antoine Nguyen , 2026\n"
"Language-Team: French (https://app.transifex.com/tonio/teams/13749/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"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
+"1000000 == 0 ? 1 : 2;\n"
#: src/components/account/APISetupForm.vue:4
msgid "Your API token has not been generated yet."
@@ -54,7 +55,7 @@ msgstr "Jeton API créé"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -109,7 +110,7 @@ msgstr "Activé"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr "Sujet"
@@ -120,19 +121,19 @@ msgstr "Contenu"
#: src/components/account/AutoReplyForm.vue:24
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"
+"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 les valeurs appropriées : "
-"%(name)s, %(fromdate)s, %(untildate)s"
+"qui seront automatiquement remplacées par les valeurs appropriées : %"
+"(name)s, %(fromdate)s, %(untildate)s"
#: src/components/account/AutoReplyForm.vue:36
#: src/components/admin/logs/MessageList.vue:50
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "De"
@@ -229,7 +230,7 @@ msgstr "nom"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -283,8 +284,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr "Voulez vous vraiment supprimer ce périphérique Webauthn ?"
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -294,8 +295,8 @@ msgid "No"
msgstr "Non"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -554,7 +555,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Fermer"
@@ -568,11 +569,12 @@ msgstr "Cliquer ici pour copier la clé"
#: src/components/account/TotpAuthForm.vue:34
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this 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 ""
"Installez un logiciel d'authentification de jeton comme FreeOTP ou google\n"
-" Authentification depuis votre magasin d'applications et utilisez\n"
+" Authentification depuis votre magasin d'applications et "
+"utilisez\n"
" cette application pour scanner ce QR code."
#: src/components/account/TotpAuthForm.vue:39
@@ -772,8 +774,8 @@ msgid ""
"If you configured it recently, please wait for the first report to be "
"received and processed."
msgstr ""
-"Si vous l'avez récemment configuré, veuillez attendre que le premier rapport"
-" soit reçu et traité. "
+"Si vous l'avez récemment configuré, veuillez attendre que le premier rapport "
+"soit reçu et traité. "
#: src/components/admin/dmarc/DmarcAligmentChart.vue:127
#: src/components/admin/dmarc/DmarcAligmentChart.vue:143
@@ -806,8 +808,7 @@ msgstr "Synthèse DNSBL pour"
#: src/components/admin/domains/DNSBLSummary.vue:10
msgid ""
-"IP address %{ address } is currently listed by the following DNSBL "
-"providers:"
+"IP address %{ address } is currently listed by the following DNSBL providers:"
msgstr ""
"L'adresse IP %{ address } est actuellement listée par les fournisseurs de "
"DNSBL suivants :"
@@ -816,82 +817,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr "Aide à la configuration du DNS"
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Dernière utilisation"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr "En attente"
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr "Configuration automatique"
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr "Enregistrement autoconfig (Mozilla) : %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr "Enregistrement autoconfig (Mozilla) introuvable"
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "Enregistrement autodiscover (Microsoft): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr "Enregistrement autodiscover (Microsoft) non trouvé"
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Authentification"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr "Enregistrement SPF trouvé"
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr "Enregistrement SPF introuvable"
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr "Enregistrement DKIM trouvé"
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr "Enregistrement DKIM introuvable"
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr "Enregistrement DMARC trouvé"
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr "Enregistrement DMARC introuvable"
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "Clé DKIM"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Afficher la clé"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr "Copier la clé dans la presse-papiers"
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr "Générer une nouvelle clé DKIM"
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Non générée"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -899,40 +905,38 @@ msgstr "Non générée"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Adresse"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Mis à jour"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr "Clé DKIM copiée dans le presse-papier"
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
"Une nouvelle clé sera générée bientôt. Actualisez dans un moment la page "
"pour la voir."
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr "Avertissement"
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-"La génération de la clé DKIM ne semble pas avoir eu lieu ou a échoué. Voulez"
-" vous replanifier cette action ?"
+"La génération de la clé DKIM ne semble pas avoir eu lieu ou a échoué. Voulez "
+"vous replanifier cette action ?"
-#: src/components/admin/domains/DNSDetail.vue:259
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+#: src/components/admin/domains/DNSDetail.vue:266
+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?"
#: src/components/admin/domains/DNSStatusChip.vue:18
@@ -1663,11 +1667,11 @@ msgstr "Commencer à saisir un nom ici..."
#: src/components/admin/identities/form_steps/AccountAliasForm.vue:8
#: src/components/admin/identities/form_steps/AliasRecipientForm.vue:8
msgid ""
-"Alias(es) of this mailbox. To create a catchall alias, just enter the domain"
-" name (@domain.tld)."
+"Alias(es) of this mailbox. To create a catchall alias, just enter the domain "
+"name (@domain.tld)."
msgstr ""
-"Alias(s) de cette boîte aux lettres. Pour créer un alias fourre-tout, entrer"
-" uniquement le nom du domaine (@domain.tld)."
+"Alias(s) de cette boîte aux lettres. Pour créer un alias fourre-tout, entrer "
+"uniquement le nom du domaine (@domain.tld)."
#: src/components/admin/identities/form_steps/AccountAliasForm.vue:50
msgid "Alias already added"
@@ -1692,9 +1696,9 @@ msgstr "Ex: 10MB. Laisser vide pour aucune limite"
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:15
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)."
+"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 "
@@ -1749,8 +1753,8 @@ msgid ""
"A user with no privileges but with a mailbox. He will be allowed to use all "
"end-user features: webmail, calendar, contacts, filters."
msgstr ""
-"Un utilisateur sans privilèges mais ayant une boîte mail. Il sera autorisé à"
-" utiliser toutes les fonctionnalités de l'utilisateur final : webmail, "
+"Un utilisateur sans privilèges mais ayant une boîte mail. Il sera autorisé à "
+"utiliser toutes les fonctionnalités de l'utilisateur final : webmail, "
"calendrier, contacts, filtres."
#: src/components/admin/identities/form_steps/AccountRoleForm.vue:91
@@ -1776,8 +1780,8 @@ msgid ""
"administrator, plus the possibility to create domains and to assign "
"resources."
msgstr ""
-"Un utilisateur intermédiaire qui a les mêmes privilèges qu'un administrateur"
-" de domaine, et la possibilité de créer des domaines et d'affecter des "
+"Un utilisateur intermédiaire qui a les mêmes privilèges qu'un administrateur "
+"de domaine, et la possibilité de créer des domaines et d'affecter des "
"ressources."
#: src/components/admin/identities/form_steps/AccountRoleForm.vue:109
@@ -1789,11 +1793,12 @@ msgid ""
"A user with all privileges, can do anything. By default, such a user does "
"not have a mailbox so he can't access end-user features."
msgstr ""
-"Un utilisateur ayant tous les privilège, peut tout faire. Par défaut, il n'a"
-" pas de boîte mail et ne peut donc pas accéder aux fonctionnalités d'un "
+"Un utilisateur ayant tous les privilège, peut tout faire. Par défaut, il n'a "
+"pas de boîte mail et ne peut donc pas accéder aux fonctionnalités d'un "
"utilisateur final."
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "Adresse email"
@@ -1899,8 +1904,7 @@ msgstr "Sécurisé"
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:30
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
-"La connexion IMAP est-elle sécurisée via l'utilisation de SSL/TLS ou "
-"StartTLS"
+"La connexion IMAP est-elle sécurisée via l'utilisation de SSL/TLS ou StartTLS"
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:36
msgid "Check connection:"
@@ -1996,8 +2000,8 @@ msgstr "ID de file"
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "A"
@@ -2132,8 +2136,8 @@ msgstr "Information du carnet d'adresse"
#: src/components/contacts/AddressBookInfo.vue:9
msgid ""
-"To access this address book from the outside (such as Mozilla Thunderbird or"
-" your smartphone), use the following URL:"
+"To access this address book from the outside (such as Mozilla Thunderbird or "
+"your smartphone), use the following URL:"
msgstr ""
"Pour accéder à ce carnet d'adresse depuis l'extérieur (comme Mozilla "
"Thunderbird ou votre smartphone), utilisez l'URL suivante :"
@@ -2376,8 +2380,8 @@ msgid ""
"The first element of each line is mandatory and must be equal to one of the "
"previous values."
msgstr ""
-"Le premier élément de chaque ligne est obligatoire et doit être égal à l'une"
-" des valeurs précédentes."
+"Le premier élément de chaque ligne est obligatoire et doit être égal à l'une "
+"des valeurs précédentes."
#: src/components/tools/ImportForm.vue:20
msgid "You can use a different character as separator."
@@ -2479,31 +2483,35 @@ msgstr "Joindre"
msgid "Schedule sending"
msgstr "Planifier l'envoi"
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr "Fournir une ou plusieurs adresses"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr "Cc"
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr "Cci"
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr "Email planifié"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr "Message envoyé"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr "Vous devez fournir au moins un destinataire"
@@ -2943,8 +2951,8 @@ msgstr "Chiffrer les mots de passe"
#: src/views/admin/identities/IdentitiesView.vue:95
msgid "Check this option if passwords contained in your file are not crypted"
msgstr ""
-"Cochez cette option si les mots de passe contenus dans votre fichier ne sont"
-" pas chiffrés"
+"Cochez cette option si les mots de passe contenus dans votre fichier ne sont "
+"pas chiffrés"
#: src/views/admin/imap_migration/ProviderEditView.vue:3
msgid "Edit provider"
@@ -2960,9 +2968,9 @@ msgstr "Messages importants"
#: src/views/admin/InformationView.vue:22
msgid ""
-"The password scheme you are using has been deprecated and will be removed in"
-" the next minor version. The procedure to upgrade to a stronger scheme is as"
-" follows:"
+"The password scheme you are using has been deprecated and will be removed in "
+"the next minor version. The procedure to upgrade to a stronger scheme is as "
+"follows:"
msgstr ""
"La méthode de chiffrement de mot de passe que vous utilisez a été rendue "
"obsolète et sera retirée dans la prochaine version mineure. La procédure de "
@@ -2981,8 +2989,8 @@ msgstr ""
msgid ""
"Make sure Update password scheme at login option is enabled"
msgstr ""
-"Assurez vous que l'option Mettre à jour la méthode de chiffrement du"
-" mot de passe à la connexion est activée"
+"Assurez vous que l'option Mettre à jour la méthode de chiffrement du "
+"mot de passe à la connexion est activée"
#: src/views/admin/InformationView.vue:51
msgid "Save your changes"
@@ -3017,9 +3025,9 @@ msgid ""
"Please note that you will see this message until ALL user "
"passwords have been converted using the new scheme."
msgstr ""
-"Veuillez noter que vous verrez ce message jusqu'à ce que "
-"TOUS les mots de passe de vos utilisateurs aient été "
-"convertis en utilisant la nouvelle méthode."
+"Veuillez noter que vous verrez ce message jusqu'à ce que TOUS"
+"strong> les mots de passe de vos utilisateurs aient été convertis en "
+"utilisant la nouvelle méthode."
#: src/views/admin/InformationView.vue:92
msgid "Installed components"
@@ -3105,8 +3113,7 @@ msgstr "Voir l'intégralité des entêtes"
msgid "Hide full headers"
msgstr "Cacher l'intégralité des entêtes"
-#: src/views/quarantine/MessageView.vue:201
-#: src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr "Marquer comme supprimé"
@@ -3126,31 +3133,31 @@ msgstr "Répondre"
msgid "Reply all"
msgstr "Répondre à tous"
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr "Activer les liens"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr "Desactiver les liens"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr "Afficher la source"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr "Message planifié pour :"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr "Source du message"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr "Message marqué comme pourriel"
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr "Message marqué comme légitime"
diff --git a/frontend/src/locale/it/app.po b/frontend/src/locale/it/app.po
index 97bf7bc8f..3ee1fb28b 100644
--- a/frontend/src/locale/it/app.po
+++ b/frontend/src/locale/it/app.po
@@ -1,4 +1,4 @@
-#
+#
# Translators:
# Alessandro Fanna , 2025
# Marco Mandricardo , 2025
@@ -6,18 +6,19 @@
# marcotrevisan , 2025
# Antoine Nguyen , 2025
# Eli Spizzichino, 2026
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2024-08-01 12:26+0000\n"
"Last-Translator: Eli Spizzichino, 2026\n"
"Language-Team: Italian (https://app.transifex.com/tonio/teams/13749/it/)\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: it\n"
-"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? "
+"1 : 2;\n"
#: src/components/account/APISetupForm.vue:4
msgid "Your API token has not been generated yet."
@@ -58,7 +59,7 @@ msgstr "Token API creato"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -113,7 +114,7 @@ msgstr "Abilitato"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr "Oggetto"
@@ -124,19 +125,19 @@ msgstr "Contenuto"
#: src/components/account/AutoReplyForm.vue:24
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"
+"be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, %"
+"(untildate)s"
msgstr ""
"Il contenuto della tua risposta. Puoi utilizzare le seguenti variabili, che "
-"verranno automaticamente sostituite dal valore appropriato: %(name)s, "
-"%(fromdate)s, %(untildate)s"
+"verranno automaticamente sostituite dal valore appropriato: %(name)s, %"
+"(fromdate)s, %(untildate)s"
#: src/components/account/AutoReplyForm.vue:36
#: src/components/admin/logs/MessageList.vue:50
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "Da"
@@ -231,7 +232,7 @@ msgstr "nome"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -285,8 +286,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr "Vuoi davvero eliminare questo dispositivo WebAuthN?"
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -296,8 +297,8 @@ msgid "No"
msgstr "No"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -554,7 +555,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Chiudi"
@@ -568,12 +569,11 @@ msgstr "Clicca qui per copiare la chiave"
#: src/components/account/TotpAuthForm.vue:34
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this 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 ""
-"Installa un autenticatore soft token come FreeOTP o Google Authenticator dal"
-" tuo repository di applicazioni e usa l'app per scansionare questo codice "
-"QR."
+"Installa un autenticatore soft token come FreeOTP o Google Authenticator dal "
+"tuo repository di applicazioni e usa l'app per scansionare questo codice QR."
#: src/components/account/TotpAuthForm.vue:39
msgid "Pin code"
@@ -806,8 +806,7 @@ msgstr "Riepilogo DNSBL per "
#: src/components/admin/domains/DNSBLSummary.vue:10
msgid ""
-"IP address %{ address } is currently listed by the following DNSBL "
-"providers:"
+"IP address %{ address } is currently listed by the following DNSBL providers:"
msgstr ""
"L'indirizzo IP %{ address } è attualmente elencato dai seguenti fornitori "
"DNSBL:"
@@ -816,82 +815,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr "Aiuto per la configurazione DNS"
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Ultimo utilizzo"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr "In attesa"
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr "Configurazione automatica"
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr "record autoconfig (Mozilla): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr "record autoconfig (Mozilla) non trovato"
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "record autodiscover (Microsoft): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr "record autodiscover (Microsoft) non trovato"
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Autenticazione"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr "Record SPF trovato"
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr "Record SPF non trovato"
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr "Record DKIM trovato"
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr "Record DKIM non trovato"
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr "Record DMARC trovato"
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr "Record DMARC non trovato"
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "Chiave DKIM"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Visualizza chiave"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr "Copia la chiave negli appunti"
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr "Genera una nuova chiave DKIM"
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Non generata"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -899,30 +903,29 @@ msgstr "Non generata"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Indirizzo"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Aggiornato"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr "Chiave DKIM copiata negli appunti"
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
"Una nuova chiave verrà generata a breve. Aggiorna la pagina tra un momento "
"per visualizzarla."
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr "attenzione"
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
@@ -930,9 +933,8 @@ msgstr ""
"La chiave DKIM non sembra essere stata ancora generata o ha fallito. Vuoi "
"rimettere il processo in coda?"
-#: src/components/admin/domains/DNSDetail.vue:259
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+#: src/components/admin/domains/DNSDetail.vue:266
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
"Esistono già delle chiavi DKIM per questo dominio. Vuoi sovrascriverle?"
@@ -1665,8 +1667,8 @@ msgstr "Inizia a scrivere un nome qui..."
#: src/components/admin/identities/form_steps/AccountAliasForm.vue:8
#: src/components/admin/identities/form_steps/AliasRecipientForm.vue:8
msgid ""
-"Alias(es) of this mailbox. To create a catchall alias, just enter the domain"
-" name (@domain.tld)."
+"Alias(es) of this mailbox. To create a catchall alias, just enter the domain "
+"name (@domain.tld)."
msgstr ""
"Alias di questa casella di posta. Per creare un alias catchall, inserisci "
"semplicemente il nome del dominio (@domain.tld)."
@@ -1693,9 +1695,9 @@ msgstr "Es: 10MB. Lascia vuoto per nessun limite"
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:15
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)."
+"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 "
@@ -1714,8 +1716,8 @@ msgstr "Lascia vuoto per nessun limite"
msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-"Numero di messaggi che questa casella di posta può inviare al giorno. Lascia"
-" vuoto per nessun limite."
+"Numero di messaggi che questa casella di posta può inviare al giorno. Lascia "
+"vuoto per nessun limite."
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:112
msgid "Use domain default value"
@@ -1793,6 +1795,7 @@ msgstr ""
"accedere alle funzionalità dell'utente finale."
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "Indirizzo email"
@@ -1993,8 +1996,8 @@ msgstr "ID Coda"
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "A"
@@ -2127,8 +2130,8 @@ msgstr "Informazioni di rubrica"
#: src/components/contacts/AddressBookInfo.vue:9
msgid ""
-"To access this address book from the outside (such as Mozilla Thunderbird or"
-" your smartphone), use the following URL:"
+"To access this address book from the outside (such as Mozilla Thunderbird or "
+"your smartphone), use the following URL:"
msgstr ""
"Per accedere a questa rubrica da applicazioni esterne (es. Mozilla "
"Thunderbird o il tuo smartphone), usa la seguente URL:"
@@ -2350,8 +2353,7 @@ msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
msgstr ""
-"Se chiudi questo modulo ora, le tue modifiche non verranno salvate. "
-"Confermi?"
+"Se chiudi questo modulo ora, le tue modifiche non verranno salvate. Confermi?"
#: src/components/tools/CreationSummary.vue:10
msgid "Modify"
@@ -2371,8 +2373,8 @@ msgid ""
"The first element of each line is mandatory and must be equal to one of the "
"previous values."
msgstr ""
-"Il primo elemento di ogni riga è obbligatorio e deve essere uguale a uno dei"
-" valori precedenti."
+"Il primo elemento di ogni riga è obbligatorio e deve essere uguale a uno dei "
+"valori precedenti."
#: src/components/tools/ImportForm.vue:20
msgid "You can use a different character as separator."
@@ -2474,31 +2476,35 @@ msgstr "Allega"
msgid "Schedule sending"
msgstr "Pianifica invio"
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr "Fornisci uno o più indirizzi"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr "Cc"
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr "Ccn"
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr "Email pianificata"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr "Email inviata"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr "Devi fornire almeno un destinatario"
@@ -2954,9 +2960,9 @@ msgstr "Messaggi importanti"
#: src/views/admin/InformationView.vue:22
msgid ""
-"The password scheme you are using has been deprecated and will be removed in"
-" the next minor version. The procedure to upgrade to a stronger scheme is as"
-" follows:"
+"The password scheme you are using has been deprecated and will be removed in "
+"the next minor version. The procedure to upgrade to a stronger scheme is as "
+"follows:"
msgstr ""
"Lo schema password che stai utilizzando è stato deprecato e verrà rimosso "
"nella prossima versione minore. La procedura per passare a uno schema più "
@@ -3010,9 +3016,9 @@ msgid ""
"Please note that you will see this message until ALL user "
"passwords have been converted using the new scheme."
msgstr ""
-"Tieni presente che visualizzerai questo messaggio finché "
-"TUTTE le password degli utenti non saranno state convertite"
-" utilizzando il nuovo schema."
+"Tieni presente che visualizzerai questo messaggio finché TUTTE"
+"strong> le password degli utenti non saranno state convertite utilizzando il "
+"nuovo schema."
#: src/views/admin/InformationView.vue:92
msgid "Installed components"
@@ -3098,8 +3104,7 @@ msgstr "Visualizza le intestazioni complete"
msgid "Hide full headers"
msgstr "Nascondi le intestazioni complete"
-#: src/views/quarantine/MessageView.vue:201
-#: src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr "Messaggio eliminato"
@@ -3119,31 +3124,31 @@ msgstr "Rispondi"
msgid "Reply all"
msgstr "Rispondi a tutti"
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr "Abilita collegamenti"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr "Disabilita collegamenti"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr "Visualizza sorgente"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr "Messaggio pianificato il:"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr "Sorgente messaggio"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr "Messaggio segnato come spam"
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr "Messaggio segnato come non spam"
diff --git a/frontend/src/locale/ja/app.po b/frontend/src/locale/ja/app.po
index dfc66733a..5ceec178b 100644
--- a/frontend/src/locale/ja/app.po
+++ b/frontend/src/locale/ja/app.po
@@ -56,7 +56,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -111,7 +111,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -221,7 +221,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -275,8 +275,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -286,8 +286,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -539,7 +539,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -787,82 +787,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -870,34 +874,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1730,6 +1733,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1928,8 +1932,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2396,31 +2400,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3000,7 +3008,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -3020,31 +3028,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/messages.pot b/frontend/src/locale/messages.pot
index f13052c40..8048e6205 100644
--- a/frontend/src/locale/messages.pot
+++ b/frontend/src/locale/messages.pot
@@ -41,7 +41,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -96,7 +96,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -113,7 +113,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -199,7 +199,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -253,8 +253,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -264,8 +264,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -513,7 +513,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -750,82 +750,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -833,31 +837,30 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid "A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid "DKIM key does not seem to be generated yet or has failed. Do you want to requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1668,6 +1671,7 @@ msgid "A user with all privileges, can do anything. By default, such a user does
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1867,8 +1871,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2328,31 +2332,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -2925,7 +2933,7 @@ msgid "Hide full headers"
msgstr ""
#: src/views/quarantine/MessageView.vue:201
-#: src/views/webmail/EmailView.vue:267
+#: src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -2945,31 +2953,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/nl/app.po b/frontend/src/locale/nl/app.po
index cc45331a3..6bf1e5ff3 100644
--- a/frontend/src/locale/nl/app.po
+++ b/frontend/src/locale/nl/app.po
@@ -56,7 +56,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -111,7 +111,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -221,7 +221,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -275,8 +275,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -286,8 +286,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -539,7 +539,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -787,82 +787,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -870,34 +874,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1730,6 +1733,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1929,8 +1933,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2398,31 +2402,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3003,7 +3011,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -3023,31 +3031,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/pl/app.po b/frontend/src/locale/pl/app.po
index 67535442d..c2f0d6620 100644
--- a/frontend/src/locale/pl/app.po
+++ b/frontend/src/locale/pl/app.po
@@ -57,7 +57,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -112,7 +112,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -132,7 +132,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -222,7 +222,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -276,8 +276,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -287,8 +287,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -540,7 +540,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -788,82 +788,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -871,34 +875,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1731,6 +1734,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1931,8 +1935,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2401,31 +2405,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3007,7 +3015,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -3027,31 +3035,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/pt_BR/app.po b/frontend/src/locale/pt_BR/app.po
index 48671be44..e34a31b51 100644
--- a/frontend/src/locale/pt_BR/app.po
+++ b/frontend/src/locale/pt_BR/app.po
@@ -56,7 +56,7 @@ msgstr "Token de API criado"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -111,7 +111,7 @@ msgstr "Habilitado"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr "Assunto"
@@ -134,7 +134,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "De"
@@ -229,7 +229,7 @@ msgstr "nome"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -284,8 +284,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr "Você tem certeza que deseja remover este dispositivo WebAuthn?"
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -295,8 +295,8 @@ msgid "No"
msgstr "Não"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -552,7 +552,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Fechar"
@@ -817,82 +817,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr "Ajuda para configuração de DNS"
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Último Uso"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr "Pendente"
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr "Auto configuração"
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr "registro de configuração automática (Mozilla): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr "registro de configuração automática (Mozilla) não encontrado."
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "registro de descoberta automática (Microsoft): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr "registro de descoberta automática (Microsoft) não encontrado."
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Autenticação"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr "Registro SPF encontrado"
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr "Registro SPF não encontrado"
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr "Registro DKIM encontrado"
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr "Registro DKIM não encontrado"
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr "Registro DMARC encontrado"
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr "Registro DMARC não encontrado"
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "Chave DKIM"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Mostrar chave"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr "Copiar chave para a área de transferência"
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr "Gerar uma nova chave DKIM"
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Não gerado"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -900,29 +905,28 @@ msgstr "Não gerado"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Endereço"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Atualizado"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr "Chave DKIM copiada para a área de transferência"
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
"Uma nova chave será gerada em breve. Atualize a página logo mais para vê-la."
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr "atenção"
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
@@ -930,7 +934,7 @@ msgstr ""
"A chave DKIM parece não ter sido gerada ainda ou falhou. Deseja recolocar o "
"trabalho na fila?"
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr "Já existem chaves DKIM para este domínio. Deseja sobrescrevê-las?"
@@ -1804,6 +1808,7 @@ msgstr ""
"recursos do usuário final."
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "Endereço de e-mail"
@@ -2017,8 +2022,8 @@ msgstr "ID da fila"
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "Para"
@@ -2515,34 +2520,38 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
#, fuzzy
msgid "Provide one or more addresses"
msgstr "Endereços do remetente"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
#, fuzzy
msgid "Email scheduled"
msgstr "E-mail"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
#, fuzzy
msgid "Email sent"
msgstr "E-mail"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3170,7 +3179,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
#, fuzzy
msgid "Message deleted"
msgstr "Filtros de mensagem"
@@ -3191,36 +3200,36 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
#, fuzzy
msgid "Enable links"
msgstr "Habilitar"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
#, fuzzy
msgid "Disable links"
msgstr "Desabilitar"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
#, fuzzy
msgid "Display source"
msgstr "Nome de exibição"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "Filtros de mensagem"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "Histórico de mensagens"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/ru/app.po b/frontend/src/locale/ru/app.po
index e9f3319b2..a24072e5a 100644
--- a/frontend/src/locale/ru/app.po
+++ b/frontend/src/locale/ru/app.po
@@ -60,7 +60,7 @@ msgstr "Токен API создан"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -115,7 +115,7 @@ msgstr "Включено"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr "Тема"
@@ -138,7 +138,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "От"
@@ -231,7 +231,7 @@ msgstr "название"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -285,8 +285,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr "Вы действительно хотите удалить это устройство WebAuthn?"
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -296,8 +296,8 @@ msgid "No"
msgstr "Нет"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -552,7 +552,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Закрыть"
@@ -810,82 +810,87 @@ msgstr "IP-адрес %{ address } сейчас находится в следу
msgid "DNS configuration help"
msgstr "Помощь по настройке DNS"
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Последнее использование"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr "В ожидании"
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr "Автоматическая настройка"
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr "Запись автонастройки (Mozilla): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr "Запись автонастройки (Mozilla) не найдена"
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "запись автообнаружения (Microsoft): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr "запись автообнаружения (Microsoft) не найдена"
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Аутентификация"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr "SPF-запись найдена"
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr "SPF-запись не найдена"
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr "DKIM-запись найдена"
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr "DKIM-запись не найдена"
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr "DMARC-запись найдена"
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr "DMARC-запись не найдена"
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "Ключ DKIM"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Показать ключ"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr "Скопировать ключ в буфер обмена"
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr "Создать новый ключ DKIM"
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Не создан"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -893,30 +898,29 @@ msgstr "Не создан"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Адрес"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Обновлено"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr "Ключ DKIM скопирован в буфер обмена"
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
"Новый ключ будет сгенерирован в ближайшее время. Обновите страницу через "
"минуту, чтобы увидеть это."
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr "предупреждение"
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
@@ -924,7 +928,7 @@ msgstr ""
"Ключ DKIM ещё не создан или создание завершилось ошибкой. Поставить задачу "
"на повторное создание?"
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr "Для этого домена уже существуют ключи DKIM. Перезаписать их?"
@@ -1779,6 +1783,7 @@ msgstr ""
"к функциям конечного пользователя."
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "Адрес электронной почты"
@@ -1982,8 +1987,8 @@ msgstr "ID очереди"
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "Кому"
@@ -2465,32 +2470,36 @@ msgstr "Прикрепить"
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr "Укажите один или несколько адресов"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr "Копия"
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr "Скрытая копия"
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
#, fuzzy
msgid "Email scheduled"
msgstr "Письмо отправлено"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr "Письмо отправлено"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3092,7 +3101,7 @@ msgstr "Показать все заголовки"
msgid "Hide full headers"
msgstr "Скрыть все заголовки"
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr "Письмо удалено"
@@ -3112,33 +3121,33 @@ msgstr "Ответить"
msgid "Reply all"
msgstr "Ответить всем"
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr "Включить ссылки"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr "Отключить ссылки"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr "Показать источник"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "Письмо удалено"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "История письма"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr "Письмо помечено как спам"
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr "Письмо помечено как НЕ спам"
diff --git a/frontend/src/locale/sv/app.po b/frontend/src/locale/sv/app.po
index fa5d1e25d..4aa202c6e 100644
--- a/frontend/src/locale/sv/app.po
+++ b/frontend/src/locale/sv/app.po
@@ -54,7 +54,7 @@ msgstr "API token skapat"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -109,7 +109,7 @@ msgstr "Aktiverad"
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr "Ämne"
@@ -131,7 +131,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "Från"
@@ -224,7 +224,7 @@ msgstr "namn"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -279,8 +279,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr "Vill du verkligen ta bort den här WebAuthn-enheten?"
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -290,8 +290,8 @@ msgid "No"
msgstr "Nej"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -547,7 +547,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Stäng"
@@ -810,82 +810,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr "DNS konfigurering hjälp"
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "Senast använd"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr "Väntande"
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr "Automatisk konfiguration"
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr "\"autoconfig-post (Mozilla): %{ value }\""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr "autoconfig-posten (Mozilla) hittades inte"
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "autodiscover-post (Microsoft): %{ value }"
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr "autodiscover-post (Microsoft) hittades inte"
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Autentisering"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr "SPF post hittad"
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr "SPF post saknas"
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr "DKIM-post hittades"
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr "DKIM-posten hittades inte"
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr "DMARC post hittad"
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr "DMARC post ej hittad"
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr "DKIM nyckel"
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr "Visa nyckel"
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr "Kopiera nyckel till urklipp"
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr "Generera en ny DKIM nyckel"
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr "Ej genererad"
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -893,30 +898,29 @@ msgstr "Ej genererad"
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr "Adress"
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr "Uppdaterad"
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr "DKIM-nyckel kopierad till urklipp"
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
"En ny nyckel kommer snart att skapas. Ladda om sidan om en stund för att se "
"den."
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr "varning"
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
@@ -924,7 +928,7 @@ msgstr ""
"DKIM-nyckeln verkar inte ha genererats ännu eller har misslyckats. Vill du "
"köa jobbet?"
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
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?"
@@ -1795,6 +1799,7 @@ msgstr ""
"här användare ingen brevlåda så den kan inte komma åt slutanvändarfunktioner."
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr "E-postadress"
@@ -2007,8 +2012,8 @@ msgstr "Kö ID"
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "Till"
@@ -2508,32 +2513,36 @@ msgstr "Bifoga"
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr "Ange en eller flera adresser"
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr "Cc"
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr "Bcc"
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
#, fuzzy
msgid "Email scheduled"
msgstr "E-post skickat"
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr "E-post skickat"
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3142,7 +3151,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr "Meddelandet raderat"
@@ -3162,33 +3171,33 @@ msgstr "Svara"
msgid "Reply all"
msgstr "Svara alla"
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr "Aktivera länkar"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr "Inaktivera länkar"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr "Visa källa"
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "Meddelandet raderat"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "Meddelande historik"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr "Meddelande markerat som skräp"
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr "Meddelandet markerat som inte skräp"
diff --git a/frontend/src/locale/tr/app.po b/frontend/src/locale/tr/app.po
index 11adc8b38..ea0f252d8 100644
--- a/frontend/src/locale/tr/app.po
+++ b/frontend/src/locale/tr/app.po
@@ -58,7 +58,7 @@ msgstr "Profil güncellendi"
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -113,7 +113,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -133,7 +133,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr "Kimden"
@@ -228,7 +228,7 @@ msgstr "Kullanıcı adı"
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -282,8 +282,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -293,8 +293,8 @@ msgid "No"
msgstr "Hayır"
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -559,7 +559,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr "Kapat"
@@ -824,82 +824,87 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+#, fuzzy
+msgid "Last check:"
+msgstr "İsim"
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr "Kimlik Doğrulama"
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -907,34 +912,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1785,6 +1789,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -2000,8 +2005,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr "Kime"
@@ -2489,31 +2494,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3127,7 +3136,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
#, fuzzy
msgid "Message deleted"
msgstr "İleti"
@@ -3148,35 +3157,35 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
#, fuzzy
msgid "Enable links"
msgstr "2FA'yı etkinleştir"
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
#, fuzzy
msgid "Disable links"
msgstr "2FA'yı devre dışı bırak"
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
#, fuzzy
msgid "Message scheduled at:"
msgstr "İleti"
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
#, fuzzy
msgid "Message source"
msgstr "İleti"
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/frontend/src/locale/zh/app.po b/frontend/src/locale/zh/app.po
index 81602ab0f..b2a68100b 100644
--- a/frontend/src/locale/zh/app.po
+++ b/frontend/src/locale/zh/app.po
@@ -55,7 +55,7 @@ msgstr ""
#: src/components/account/APISetupForm.vue:94
#: src/components/account/FidoAuthForm.vue:184
-#: src/components/admin/domains/DNSDetail.vue:258
+#: src/components/admin/domains/DNSDetail.vue:265
#: src/components/admin/domains/DomainList.vue:300
#: src/components/admin/identities/IdentityList.vue:482
#: src/components/admin/identities/IdentityList.vue:522
@@ -110,7 +110,7 @@ msgstr ""
#: src/components/account/AutoReplyForm.vue:12
#: src/components/quarantine/QuarantineList.vue:49
#: src/components/quarantine/QuarantineList.vue:235
-#: src/components/webmail/ComposeEmailForm.vue:158
+#: src/components/webmail/ComposeEmailForm.vue:166
msgid "Subject"
msgstr ""
@@ -130,7 +130,7 @@ msgstr ""
#: src/components/calendars/EventForm.vue:24
#: src/components/quarantine/QuarantineList.vue:234
#: src/components/tools/TimeSerieChart.vue:19
-#: src/components/webmail/ComposeEmailForm.vue:48
+#: src/components/webmail/ComposeEmailForm.vue:56
msgid "From"
msgstr ""
@@ -220,7 +220,7 @@ msgstr ""
#: src/components/account/FidoAuthForm.vue:130
#: src/components/account/FilterForm.vue:7
#: src/components/account/FilterSetForm.vue:9
-#: src/components/admin/domains/DNSDetail.vue:188
+#: src/components/admin/domains/DNSDetail.vue:195
#: src/components/admin/domains/DomainAdminList.vue:112
#: src/components/admin/domains/DomainAliasForm.vue:8
#: src/components/admin/domains/DomainCreationForm.vue:164
@@ -274,8 +274,8 @@ msgid "Do you really want to delete this WebAuthn device?"
msgstr ""
#: src/components/account/FidoAuthForm.vue:188
-#: src/components/admin/domains/DNSDetail.vue:244
-#: src/components/admin/domains/DNSDetail.vue:264
+#: src/components/admin/domains/DNSDetail.vue:251
+#: src/components/admin/domains/DNSDetail.vue:271
#: src/components/admin/domains/DomainList.vue:306
#: src/components/admin/identities/IdentityList.vue:487
#: src/components/admin/identities/IdentityList.vue:527
@@ -285,8 +285,8 @@ msgid "No"
msgstr ""
#: src/components/account/FidoAuthForm.vue:189
-#: src/components/admin/domains/DNSDetail.vue:245
-#: src/components/admin/domains/DNSDetail.vue:265
+#: src/components/admin/domains/DNSDetail.vue:252
+#: src/components/admin/domains/DNSDetail.vue:272
#: src/components/admin/domains/DomainList.vue:307
#: src/components/admin/identities/IdentityList.vue:486
#: src/components/admin/identities/IdentityList.vue:526
@@ -538,7 +538,7 @@ msgstr ""
#: src/components/webmail/EmailSchedulingForm.vue:28
#: src/components/webmail/MailboxForm.vue:29
#: src/layouts/connected/ConnectedLayout.vue:19
-#: src/views/webmail/EmailView.vue:158
+#: src/views/webmail/EmailView.vue:167
msgid "Close"
msgstr ""
@@ -786,82 +786,86 @@ msgstr ""
msgid "DNS configuration help"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:20
-#: src/components/admin/domains/DNSDetail.vue:51
+#: src/components/admin/domains/DNSDetail.vue:17
+msgid "Last check:"
+msgstr ""
+
+#: src/components/admin/domains/DNSDetail.vue:27
+#: src/components/admin/domains/DNSDetail.vue:58
#: src/components/admin/domains/DNSStatusChip.vue:21
msgid "Pending"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:46
+#: src/components/admin/domains/DNSDetail.vue:53
#: src/components/admin/domains/DomainDNSConfig.vue:71
msgid "Auto configuration"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:61
+#: src/components/admin/domains/DNSDetail.vue:68
msgid "autoconfig record (Mozilla): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:67
+#: src/components/admin/domains/DNSDetail.vue:74
msgid "autoconfig record (Mozilla) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:73
+#: src/components/admin/domains/DNSDetail.vue:80
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:79
+#: src/components/admin/domains/DNSDetail.vue:86
msgid "autodiscover record (Microsoft) not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:83
+#: src/components/admin/domains/DNSDetail.vue:90
msgid "Authentication"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:87
+#: src/components/admin/domains/DNSDetail.vue:94
msgid "SPF record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:90
+#: src/components/admin/domains/DNSDetail.vue:97
msgid "SPF record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:95
+#: src/components/admin/domains/DNSDetail.vue:102
msgid "DKIM record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:98
+#: src/components/admin/domains/DNSDetail.vue:105
msgid "DKIM record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:103
+#: src/components/admin/domains/DNSDetail.vue:110
msgid "DMARC record found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:106
+#: src/components/admin/domains/DNSDetail.vue:113
msgid "DMARC record not found"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:114
+#: src/components/admin/domains/DNSDetail.vue:121
msgid "DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:119
+#: src/components/admin/domains/DNSDetail.vue:126
msgid "Show key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:125
+#: src/components/admin/domains/DNSDetail.vue:132
msgid "Copy key to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:130
+#: src/components/admin/domains/DNSDetail.vue:137
msgid "Generate a new DKIM key"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:137
+#: src/components/admin/domains/DNSDetail.vue:144
msgid "Not generated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:189
+#: src/components/admin/domains/DNSDetail.vue:196
#: src/components/admin/identities/AccountSenderAddresses.vue:73
#: src/components/admin/identities/AliasCreationForm.vue:60
#: src/components/admin/identities/AliasEditForm.vue:16
@@ -869,34 +873,33 @@ msgstr ""
#: src/components/admin/imap_migration/ProviderCreationForm.vue:54
#: src/components/admin/imap_migration/ProvidersList.vue:115
#: src/components/contacts/ContactForm.vue:85
-#: src/components/contacts/EmailField.vue:5
msgid "Address"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:190
+#: src/components/admin/domains/DNSDetail.vue:197
msgid "Updated"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:203
+#: src/components/admin/domains/DNSDetail.vue:210
msgid "DKIM key copied to clipboard"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:216
+#: src/components/admin/domains/DNSDetail.vue:223
msgid ""
"A new key will be generated soon. Refresh the page in a moment to see it."
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:238
+#: src/components/admin/domains/DNSDetail.vue:245
msgid "warning"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:239
+#: src/components/admin/domains/DNSDetail.vue:246
msgid ""
"DKIM key does not seem to be generated yet or has failed. Do you want to "
"requeue the job?"
msgstr ""
-#: src/components/admin/domains/DNSDetail.vue:259
+#: src/components/admin/domains/DNSDetail.vue:266
msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
@@ -1729,6 +1732,7 @@ msgid ""
msgstr ""
#: src/components/admin/identities/form_steps/AliasGeneralForm.vue:10
+#: src/components/contacts/EmailField.vue:5
msgid "Email address"
msgstr ""
@@ -1928,8 +1932,8 @@ msgstr ""
#: src/components/quarantine/QuarantineList.vue:52
#: src/components/quarantine/QuarantineList.vue:233
#: src/components/tools/TimeSerieChart.vue:20
-#: src/components/webmail/ComposeEmailForm.vue:65
-#: src/views/webmail/EmailView.vue:103
+#: src/components/webmail/ComposeEmailForm.vue:73
+#: src/views/webmail/EmailView.vue:112
msgid "To"
msgstr ""
@@ -2397,31 +2401,35 @@ msgstr ""
msgid "Schedule sending"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:73
-#: src/components/webmail/ComposeEmailForm.vue:118
-#: src/components/webmail/ComposeEmailForm.vue:145
+#: src/components/webmail/ComposeEmailForm.vue:47
+msgid "Save as draft"
+msgstr ""
+
+#: src/components/webmail/ComposeEmailForm.vue:81
+#: src/components/webmail/ComposeEmailForm.vue:126
+#: src/components/webmail/ComposeEmailForm.vue:153
msgid "Provide one or more addresses"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:86
-#: src/components/webmail/ComposeEmailForm.vue:104
+#: src/components/webmail/ComposeEmailForm.vue:94
+#: src/components/webmail/ComposeEmailForm.vue:112
msgid "Cc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:94
-#: src/components/webmail/ComposeEmailForm.vue:131
+#: src/components/webmail/ComposeEmailForm.vue:102
+#: src/components/webmail/ComposeEmailForm.vue:139
msgid "Bcc"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:300
+#: src/components/webmail/ComposeEmailForm.vue:318
msgid "Email scheduled"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:301
+#: src/components/webmail/ComposeEmailForm.vue:319
msgid "Email sent"
msgstr ""
-#: src/components/webmail/ComposeEmailForm.vue:354
+#: src/components/webmail/ComposeEmailForm.vue:393
msgid "You must provide one recipient at least"
msgstr ""
@@ -3002,7 +3010,7 @@ msgstr ""
msgid "Hide full headers"
msgstr ""
-#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:267
+#: src/views/quarantine/MessageView.vue:201 src/views/webmail/EmailView.vue:276
msgid "Message deleted"
msgstr ""
@@ -3022,31 +3030,31 @@ msgstr ""
msgid "Reply all"
msgstr ""
-#: src/views/webmail/EmailView.vue:63
+#: src/views/webmail/EmailView.vue:72
msgid "Enable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:68
+#: src/views/webmail/EmailView.vue:77
msgid "Disable links"
msgstr ""
-#: src/views/webmail/EmailView.vue:72
+#: src/views/webmail/EmailView.vue:81
msgid "Display source"
msgstr ""
-#: src/views/webmail/EmailView.vue:145
+#: src/views/webmail/EmailView.vue:154
msgid "Message scheduled at:"
msgstr ""
-#: src/views/webmail/EmailView.vue:151
+#: src/views/webmail/EmailView.vue:160
msgid "Message source"
msgstr ""
-#: src/views/webmail/EmailView.vue:281
+#: src/views/webmail/EmailView.vue:290
msgid "Message marked as junk"
msgstr ""
-#: src/views/webmail/EmailView.vue:295
+#: src/views/webmail/EmailView.vue:304
msgid "Message marked as not junk"
msgstr ""
diff --git a/modoboa/locale/br/LC_MESSAGES/django.po b/modoboa/locale/br/LC_MESSAGES/django.po
index bb420a67a..3d8335296 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+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"
@@ -51,12 +51,12 @@ msgid "Cannot be greater than domain quota"
msgstr "N'hall ket bezañ brasoc'h evit kota an domani"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Aotreadur nac'het"
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -67,7 +67,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "Listenn domanioù meret (eilgwerzherien ha merourien zomani hepken)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Neket aotreet evit ar rol-mañ."
@@ -75,12 +75,12 @@ msgstr "Neket aotreet evit ar rol-mañ."
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:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Ar vaezienn-mañ a zo rekiset."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "N'eus ket eus an domani lec'hel {}"
@@ -106,58 +106,58 @@ msgstr "N'ho peus moned ebet d'ar voest-posteloù-mañ."
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Kavlec'h stokiñ an alc'hwezioù DKIM chomet digefluniet"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "N'hallit ket termeniñ ur c'hota divevenn"
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "An implijer \"%s\" a zo anezhañ endeo"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Rankout a ra bezañ un anterin pozitivel"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Neket bet kavet an domani."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Termeniñ da vihanañ ur rouedad / chomlec'h aotreet"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, 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:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -355,7 +355,7 @@ msgstr ""
"Adenvel pe zilemel boest-posteloù war ar restr-sistem pa vezont adanvet pe "
"dilamet diwar Modoboa"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Kota boest-posteloù dre-ziouer"
@@ -494,16 +494,16 @@ msgstr "[modoboa] kudenn(où) MX evit an domani {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Kudenn(où) DNSBL gant an domani {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "alias an domani"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, 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:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Enporzhiadur kont c'hwitet (%s): talvoudegezh kota fall"
@@ -574,17 +574,17 @@ 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"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -602,7 +602,7 @@ msgstr "chomlec'h"
msgid "The alias address."
msgstr "Chomlec'h an alias."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "enaouet"
@@ -643,73 +643,73 @@ msgstr "Resever lec'hel {}@{} nann-kavet"
msgid "Invalid line: {}"
msgstr "Linenn direizh: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "anv"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Anv an domani"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Kochit evit enaouiñ an domani-mañ"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Enaouiñ ar gwiriañ DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Kochit evit enaouiñ ar gwiriadenoù DNs evit an domani-mañ"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Enaouiñ ar sinadur DKIM"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Padelezh an alc'hwez"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linenn direizh"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
#, 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:337
+#: admin/models/domain.py:346
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Talvoudegezh kota direizh evit an domani \"{}\""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
#, 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:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1056,17 +1056,17 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Resever lec'hel {}@{} nann-kavet"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2854,69 +2854,69 @@ msgstr "Kas statistikoù"
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
#, fuzzy
#| msgid "Message"
msgid "sent messages"
msgstr "Kemennadenn"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
#, fuzzy
#| msgid "Message"
msgid "spam messages"
msgstr "Kemennadenn"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
#, fuzzy
#| msgid "New account"
msgid "New accounts"
msgstr "Kont nevez"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
#, fuzzy
#| msgid "Account"
msgid "Accounts"
@@ -3334,7 +3334,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Sujed"
@@ -3749,20 +3749,20 @@ msgstr ""
msgid "Server response"
msgstr "Chomlec'h ar servijer"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
msgid "Failed to remove attachment: "
msgstr "N'heller ket adsevel lec'hiadur ar voest-posteloù (%s)"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Deiziad"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "Message"
msgid "Original message"
@@ -3798,19 +3798,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/cs/LC_MESSAGES/django.po b/modoboa/locale/cs/LC_MESSAGES/django.po
index 727067fea..e76fd296b 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+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"
@@ -45,12 +45,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -61,7 +61,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -69,12 +69,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -98,56 +98,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -311,7 +311,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -432,16 +432,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -507,17 +507,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -533,7 +533,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -570,65 +570,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -921,15 +921,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2571,63 +2571,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2999,7 +2999,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3349,21 +3349,21 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "Nepodařilo se vytvořit LDAT účet: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3395,19 +3395,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
index 34fbd807f..40e95dd53 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+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/"
@@ -49,12 +49,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Nemůže být vyšší než kvóta domény"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Přístup zamítnut."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -65,7 +65,7 @@ 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:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Není povoleno pro tuto roli."
@@ -73,12 +73,12 @@ msgstr "Není povoleno pro tuto roli."
msgid "Must be equal to mailbox full_address"
msgstr "Musí být rovno hodnote schránky celá_adresa"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Toto pole je vyžadováno."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Lokální doména {} neexistuje"
@@ -104,58 +104,58 @@ msgstr "K této schránce nemáte přístup."
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Není nastavena složka pro ukládání DKIM klíčů"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Neomezená kvóta nelze definovat."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Uživatel '%s' již existuje"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Musí se jednat o kladné číslo"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Složka nenalezena."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Definujte alespoň jednu autorizovanou síť / adresu"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, 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:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -352,7 +352,7 @@ 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:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Výchozí kvóta schránky"
@@ -492,16 +492,16 @@ msgstr "[modoboa] MX problém(y) pro doménu {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL problém(y) pro doménu {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "doménový alias"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Import účtu selhal (%s): chybná hodnota kvóty"
@@ -569,17 +569,17 @@ msgstr "Čtu CSV soubor pomocí %(encoding)s kódování"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Soubor CSV nelze dekódovat pomocí %(encoding)s kódování"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -597,7 +597,7 @@ msgstr "adresa"
msgid "The alias address."
msgstr "Adresa aliasu."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "povoleno"
@@ -638,72 +638,72 @@ msgstr "Lokální příjemce {}@{} nebyl nalezen"
msgid "Invalid line: {}"
msgstr "Neplatný řádek: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "název"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Doménové jméno"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Zatrhněte pole pro povolení této domény"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Zapnout kontrolu DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
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:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Povolit DKIM podepisování"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Délka klíče"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Neplatný řádek"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
#, 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:337
+#: admin/models/domain.py:346
#, 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:343
+#: admin/models/domain.py:352
#, 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:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1046,17 +1046,17 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Spojení se serverem IMAP selhalo: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Lokální příjemce {}@{} nebyl nalezen"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2855,69 +2855,69 @@ msgstr "Statistiky"
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Průměrný provoz (zprávy/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "odeslané zprávy"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "přijaté zprávy"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "nedoručené zprávy"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "odmítnuté zprávy"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "odeslané zprávy"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "odeslané zprávy"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "odmítnuté zprávy"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Průměrná velikost provozu (bajtů/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "doručená velikost"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "odeslaná velikost"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Provoz emailů"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -3339,7 +3339,7 @@ msgstr "je"
msgid "is not"
msgstr "není"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Předmět"
@@ -3753,21 +3753,21 @@ msgstr "Emailový podpis uživatele"
msgid "Server response"
msgstr "Adresa serveru"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to remove filter"
msgid "Failed to remove attachment: "
msgstr "Nebylo možné odstranit přílohu:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Datum"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3803,19 +3803,19 @@ msgstr ""
msgid "Trash"
msgstr "Koš"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Příloha je příliš velká (omezení: %s)"
diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po
index 14e9618ea..9035bc3e1 100644
--- a/modoboa/locale/de/LC_MESSAGES/django.po
+++ b/modoboa/locale/de/LC_MESSAGES/django.po
@@ -52,7 +52,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Gerhard Adler , 2025\n"
"Language-Team: German (http://app.transifex.com/tonio/modoboa/language/de/)\n"
@@ -90,12 +90,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Kann nicht größer als Domain Kontingent sein"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Zugriff verweigert."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -107,7 +107,7 @@ msgid ""
msgstr ""
"Liste der verwalteten Domains (nur für Reseller und Domain Administratoren)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Nicht erlaubt für diese Rolle."
@@ -115,12 +115,12 @@ msgstr "Nicht erlaubt für diese Rolle."
msgid "Must be equal to mailbox full_address"
msgstr "Muss mit mailbox full_address übereinstimmen"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Lokale Domain {} existiert nicht."
@@ -144,58 +144,58 @@ msgstr "Sie haben keinen Zugriff auf diese Mailbox."
msgid "Here is your new Modoboa password: {}"
msgstr "Hier ist Ihr neues Modoboa Passwort: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Verzeichnis für DKIM-Keys nicht konfiguriert."
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "Dieses Feld ist gültig, wenn der Typ, Relaydomain ist."
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Ein unlimitiertes Kontingent ist nicht möglich."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Benutzer %s existiert bereits"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Muss eine positive Ganzzahl sein"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Verzeichnis nicht gefunden."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
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:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr "Bitte IMAP Migration deaktivieren bevor Sie diese Option deaktivieren."
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Mindestens ein authorisiertes Netzwerk/IP-Adresse muss definiert sein"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
"Der linke Teil einer E-Mail-Adresse darf nicht mehr als 64 Zeichen lang "
"sein. "
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "Zum Erstellen von Aliassen ist ein Postfach erforderlich."
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "Unbekannter Status"
@@ -371,7 +371,7 @@ msgstr ""
"Postfächer auch im Dateisystem umbenennen oder entfernen wenn sie in Modoboa "
"umbenannt oder entfernt werden"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Standard Postfach Kontingent"
@@ -502,16 +502,16 @@ msgstr "[modoboa] MX Problem(e) für Domain {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL Problem(e) für Domain {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "Domain-Alias"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Konto Import fehlgeschlagen (%s): ungültiger Quota-Wert"
@@ -578,7 +578,7 @@ msgstr "Lese CSV Datei mit %(encoding)s Enkodierung"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Konnte CSV Datei nicht mit %(encoding)s Enkodierung dekodieren"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
@@ -586,11 +586,11 @@ msgstr ""
"DKIM-Pfad nicht schreibbar (entweder ein Berechtigungsproblem oder das "
"Verzeichnis existiert nicht)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "Der private DKIM-Schlüssel konnte nicht erzeugt werden"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "Der öffentliche DKIM-Schlüssel konnte nicht erzeugt werden"
@@ -606,7 +606,7 @@ msgstr "Adresse"
msgid "The alias address."
msgstr "Die Alias-Adresse"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "aktiviert"
@@ -645,68 +645,68 @@ msgstr "Lokaler Empfänger {}@{} nicht gefunden"
msgid "Invalid line: {}"
msgstr "Ungültige Zeile: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "Name"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Name der Domain"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Nachrichtenversand Limit"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
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:49
msgid "Check to activate this domain"
msgstr "Auswählen, um diese Domain zu aktivieren"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Aktiviere DNS Prüfungen"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
"Das Anhaken dieser Box aktiviert die DNS-Überprüfungen für diese Domain"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Aktiviere DKIM Signierung"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Schlüssel-Länge"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ungültige Zeile"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{}: Kein autorisierter MX Eintrag für die Domain gefunden."
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "Fehlerhafter Kontingentwert für die Domäne '{}'"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr "Fehlerhafter Standardwert für das Postfachkontingent der Domäne '{}'"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
"{}: Standard-Postfachkontingent kann nicht größer sein als das "
@@ -1056,19 +1056,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "RRDTool Binary konnte nicht gefunden werden"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Lokaler Empfänger {}@{} nicht gefunden"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2840,63 +2840,63 @@ msgstr "Statistiken"
msgid "Failed to locate rrdtool binary."
msgstr "RRDTool Binary konnte nicht gefunden werden"
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Durchschnittlicher Traffic (Nachrichten/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "Gesendete Nachrichten"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "Empfangene Nachrichten"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "Zurückgeworfene Nachrichten"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "Abgewiesene Nachrichten"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "Virus E-Mails"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "Spam E-Mails"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "Grey-gelistete E-Mails"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Durchschnittliche Traffic-Menge (Bytes/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "Empfangsgröße"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "Versendegröße"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Mailverkehr"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Durchschnittlich erstelle Konten (Konten/Stunde)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Neue Konten"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Konten"
@@ -3299,7 +3299,7 @@ msgstr "ist"
msgid "is not"
msgstr "ist nicht"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Betreff"
@@ -3671,19 +3671,19 @@ msgstr "Benutzerdefinierte E-Mail-Signatur"
msgid "Server response"
msgstr "Server-Antwort"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "Konnte Anhang nicht entfernen:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr "schrieb:"
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Datum"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr "Ursprüngliche Nachricht"
@@ -3715,19 +3715,19 @@ msgstr ""
msgid "Trash"
msgstr "Papierkorb"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Anhang ist zu groß (Limit: %s)"
diff --git a/modoboa/locale/de_DE/LC_MESSAGES/django.po b/modoboa/locale/de_DE/LC_MESSAGES/django.po
index cea177b40..da18e1d29 100644
--- a/modoboa/locale/de_DE/LC_MESSAGES/django.po
+++ b/modoboa/locale/de_DE/LC_MESSAGES/django.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: bdaniel93, 2023\n"
"Language-Team: German (Germany) (http://www.transifex.com/tonio/modoboa/"
@@ -46,14 +46,14 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
#, fuzzy
#| msgid "Permission denied"
msgid "Permission denied."
msgstr "Zugriff verweigert"
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -66,7 +66,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "Funktionen-Widget für Reseller und Domain-Administratoren ausblenden"
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -74,14 +74,14 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
#, fuzzy
#| msgid "This field is required"
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -107,56 +107,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
@@ -340,7 +340,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -473,16 +473,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -549,17 +549,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Codierung der Zeichenkette konnte nicht bestimmt werden"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -581,7 +581,7 @@ msgstr "Absender-Adresse"
msgid "The alias address."
msgstr "Geben Sie eine gültige E-Mail-Adresse ein."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -624,71 +624,71 @@ msgstr ""
msgid "Invalid line: {}"
msgstr "Ungültige Zeile"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
#, fuzzy
#| msgid "Username"
msgid "name"
msgstr "Benutzername"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
#, fuzzy
#| msgid "Enter a valid domain name"
msgid "The domain name"
msgstr "Geben Sie einen gültigen Domänennamen ein"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
#, fuzzy
#| msgid "Enable API access"
msgid "Enable DNS checks"
msgstr "API-Zugriff aktivieren"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ungültige Zeile"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -1021,19 +1021,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "rrdtool-Binärdatei konnte nicht gefunden werden."
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "No mechanism found"
msgid "No recipient found"
msgstr "Kein Mechanismus gefunden"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2810,63 +2810,63 @@ msgstr "Statistiken"
msgid "Failed to locate rrdtool binary."
msgstr "rrdtool-Binärdatei konnte nicht gefunden werden."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Durchschnittlicher Datenverkehr (Nachrichten/Min.)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "Gesendete Nachrichten"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "Empfangene Nachrichten"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "Unzustellbare Nachrichten"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "Abgewiesene Nachrichten"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "Virus E-Mails"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "Spam E-Mails"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "Greylisted E-Mails"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Durchschnittlicher Datenverkehr (Bytes/Min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "Empfangene Daten"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "Gesendete Daten"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Mailverkehr"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Durchschnittlich erstelle Konten (Konten/Stunde)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Neue Konten"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Konten"
@@ -3291,7 +3291,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Betreff"
@@ -3710,21 +3710,21 @@ msgstr ""
msgid "Server response"
msgstr "Serveradresse"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "LDAP-Konto konnte nicht erstellt werden: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Datum"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3758,19 +3758,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/el_GR/LC_MESSAGES/django.po b/modoboa/locale/el_GR/LC_MESSAGES/django.po
index f16dace03..01a7008cf 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+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/"
@@ -51,12 +51,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Δεν μπορεί να είναι μεγαλύτερο από το domain quota."
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Η άδεια απορρίφθηκε."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -69,7 +69,7 @@ msgstr ""
"Λίστα διαχειριζόμενων domains (αφορά μόνο μεταπωλητές και διαχειριστές "
"domain)"
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Δεν επιτρέπεται για αυτόν τον ρόλο."
@@ -77,12 +77,12 @@ msgstr "Δεν επιτρέπεται για αυτόν τον ρόλο."
msgid "Must be equal to mailbox full_address"
msgstr "Πρέπει να είναι ίσο με την full_address του γραμματοκιβωτίου"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Αυτό το πεδίο απαιτείτε."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Το τοπικός domain {} δεν υπάρχει"
@@ -112,60 +112,60 @@ msgstr "Δεν έχετε πρόσβαση σε αυτό το domain"
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Δεν μπορείτε να ορίσετε ένα απεριόριστο quota."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Ο χρήστης '%s' υπάρχει ήδη"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Πρέπει να είναι θετικός ακέραιος"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
#, fuzzy
#| msgid "Domain not found."
msgid "Directory not found."
msgstr "To domain δεν βρέθηκε."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Ορίστε τουλάχιστον μια εξουσιοδοτημένη διεύθυνση / δίκτυο"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Απαιτείται γραμματοκιβώτιο"
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -359,7 +359,7 @@ msgstr ""
"Μετονομασία και διαγραφή γραμματοκιβωτίων στο σύστημα αρχείων, όταν "
"μετονομάζονται ή διαγράφονται από το Medaboa "
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Προκαθορισμένο quota γραμματοκιβωτίου "
@@ -499,16 +499,16 @@ msgstr "[modoboa] MX ζήτημα(τα) για το domain {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL ζήτημα(τα) για το domain {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "Ψευδώνυμα (alias) domain "
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Η εισαγωγή λογαριασμού απέτυχε (%s): το domain δεν υπάρχει"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Η εισαγωγή του λογαριασμού (%s) απέτυχε: λάθος τιμή στο quota"
@@ -577,17 +577,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -605,7 +605,7 @@ msgstr "διεύθυνση"
msgid "The alias address."
msgstr "Η εναλλακτική διεύθυνση."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "ενεργοποιημένο"
@@ -646,72 +646,72 @@ msgstr "Ο τοπικός παραλήπτης {}@{} δεν βρέθηκε"
msgid "Invalid line: {}"
msgstr "Λάθος γραμμή: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "όνομα"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Το όνομα του domain"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Επιλέξτε για να ενεργοποιηθεί αυτό το domain"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Ενεργοποίση ελέγχου DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Επιλέξτε για να ενεργοποιήσετε τους ελέγχους DNS για αυτόν το domain"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Λάθος γραμμή"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "Δεν βρέθηκε εξουσιοδοτημένη εγγραφή MX για το domain {}"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Μη έγκυρη τιμή quota για το domain '{}'"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
"Μη έγκυρη τιμή quota για το προεπιλεγμένο γραμματοκιβώτιο για το domain '{}'"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1069,19 +1069,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Η σύνδεση στο διακομιστή IMAP απέτυχε:%s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "Αδυναμία εύρεσης του εκτελέσουμε rrdtool."
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Ο τοπικός παραλήπτης {}@{} δεν βρέθηκε"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2920,67 +2920,67 @@ msgstr "Στατιστικά"
msgid "Failed to locate rrdtool binary."
msgstr "Αδυναμία εύρεσης του εκτελέσουμε rrdtool."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Μέσος όρος κίνησης (μηνύματα/λεπτό)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "απεσταλμένα μηνύματα"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "ληφθέντα μηνήματα"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "Μηνύματα bounced "
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "απορριφθέντα μηνύματα"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
"Μηνύματα με ιούς \n"
" "
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "Διαφημιστικά μηνύματα"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
"Μηνύματα που είναι greylisted\n"
" "
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Μέσος όρος φυσιολογικού traffic (bytes/min) "
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "Μέγεθος λαμβανόμενου"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "μέγεθος αποστολής"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Κίνηση Mail"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Μέσος όρος δημιουργίας λογαριασμών (λογαριασμοί/ώρα)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Νέοι λογαριασμοί"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Λογαριασμοί"
@@ -3407,7 +3407,7 @@ msgstr "είναι"
msgid "is not"
msgstr "δεν είναι"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Τίτλος"
@@ -3826,21 +3826,21 @@ msgstr "Προεπιλεγμένη υπογραφή χρήστη"
msgid "Server response"
msgstr "Διεύθυνση εξυπηρετητή"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to remove filter"
msgid "Failed to remove attachment: "
msgstr "Σφάλμα κατά την αφαίρεση του συνημμένου:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Ημερομηνία"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3876,19 +3876,19 @@ msgstr ""
msgid "Trash"
msgstr "Σκουπιδοτενεκές"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Το συνημμένο είναι πολύ μεγάλο (όριο: %s)"
diff --git a/modoboa/locale/en/LC_MESSAGES/django.po b/modoboa/locale/en/LC_MESSAGES/django.po
index cdeee6848..5b300eadd 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -40,12 +40,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -56,7 +56,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -64,12 +64,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -93,56 +93,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -306,7 +306,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -427,16 +427,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -502,17 +502,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -528,7 +528,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -565,65 +565,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -916,15 +916,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2550,63 +2550,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2978,7 +2978,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3328,19 +3328,19 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3372,19 +3372,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/es/LC_MESSAGES/django.po b/modoboa/locale/es/LC_MESSAGES/django.po
index fb7e93664..e91377f71 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+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/"
@@ -58,12 +58,12 @@ msgid "Cannot be greater than domain quota"
msgstr "No puede superar la cuota de dominio"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Permiso denegado."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -76,7 +76,7 @@ msgstr ""
"Lista de dominios administrados (sólo distribuidores y administradores de "
"dominio)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "No estás autorizado para esta función."
@@ -84,12 +84,12 @@ msgstr "No estás autorizado para esta función."
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:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Este campo es obligatorio."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "El dominio local {} no existe"
@@ -119,60 +119,60 @@ msgstr "No tienes acceso a este dominio"
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "No puede definir una cuota ilimitada."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "El usuario '%s' ya existe"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Debe ser un entero positivo"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
#, fuzzy
#| msgid "Domain not found."
msgid "Directory not found."
msgstr "Dominio no encontrado."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, 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:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -364,7 +364,7 @@ msgstr ""
"Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean "
"renombrados o eliminados dentro de Modoboa"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Cuota de mailbox por defecto"
@@ -500,16 +500,16 @@ msgstr "[modoboa] MX problema(s) para el dominio {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL problema(s) para el dominio {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "alias del dominio"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, 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:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Error en la importación de la cuenta (%s): valor de cuota incorrecto"
@@ -578,17 +578,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -606,7 +606,7 @@ msgstr "dirección"
msgid "The alias address."
msgstr "La dirección del alias."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "activado"
@@ -647,71 +647,71 @@ msgstr "Receptor local {}@{} no encontrado"
msgid "Invalid line: {}"
msgstr "Línea inválida: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "nombre"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Nombre del dominio"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Marcar para activar este dominio"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Activar comprobación de DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
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:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Línea inválida"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
#, 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:337
+#: admin/models/domain.py:346
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Cuota inválida para dominio '{}'"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
#, 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:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1056,19 +1056,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Falló la conexión con el servidor IMAP: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "Fallo al localizar el binario rrdtool"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Receptor local {}@{} no encontrado"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2867,63 +2867,63 @@ msgstr "Estadísticas"
msgid "Failed to locate rrdtool binary."
msgstr "Fallo al localizar el binario rrdtool"
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Media del tráfico (msgs/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "mensajes enviados"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "mensajes recibidos"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "mensajes rebotados"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "mensajes bloqueados"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "mensajes con virus"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "Mensajes Basura"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Media normal del tamaño del tráfico (bytes/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "tamaño recibido"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "tamaño enviado"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Tráfico de correo"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Creación promedio de cuentas (cuentas/hora)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Cuentas nuevos"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Cuentas"
@@ -3345,7 +3345,7 @@ msgstr "es"
msgid "is not"
msgstr "no es"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Tema"
@@ -3765,21 +3765,21 @@ msgstr "Firma de correo definida por el usuario"
msgid "Server response"
msgstr "Dirección del servidor"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to remove filter"
msgid "Failed to remove attachment: "
msgstr "Fallo al eliminar el adjunto:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Fecha"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3815,19 +3815,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "EL adjunto es demasiado grande (límite: %s)"
diff --git a/modoboa/locale/es_MX/LC_MESSAGES/django.po b/modoboa/locale/es_MX/LC_MESSAGES/django.po
index 5060b254b..16a35b4ec 100644
--- a/modoboa/locale/es_MX/LC_MESSAGES/django.po
+++ b/modoboa/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -41,12 +41,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -57,7 +57,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -65,12 +65,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -94,56 +94,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -307,7 +307,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -428,16 +428,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -503,17 +503,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -529,7 +529,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -566,65 +566,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -917,15 +917,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2551,63 +2551,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2979,7 +2979,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3329,19 +3329,19 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3373,19 +3373,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/fi/LC_MESSAGES/django.po b/modoboa/locale/fi/LC_MESSAGES/django.po
index 5bc0d3e38..fdb5fc8d9 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2023-02-17 22:03+0200\n"
"Last-Translator: Ossi Mäntylahti \n"
"Language-Team: \n"
@@ -47,12 +47,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Ei voi olla suurempi kuin verkkotunnuksen kiintiö"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Lupa evätty."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -65,7 +65,7 @@ msgstr ""
"Luettelo hallinnoiduista verkkotunnuksista (vain jälleenmyyjät ja "
"verkkotunnusten ylläpitäjät)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Ei sallittu tässä roolissa."
@@ -73,12 +73,12 @@ msgstr "Ei sallittu tässä roolissa."
msgid "Must be equal to mailbox full_address"
msgstr "Täytyy olla yhtä suuri kuin postilaatikon koko osoite"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Tämä kenttä on pakollinen."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Paikallista verkkotunnusta {} ei ole olemassa"
@@ -104,58 +104,58 @@ msgstr "Sinulla ei ole pääsyä tähän postilaatikkoon."
msgid "Here is your new Modoboa password: {}"
msgstr "Tässä on uusi Modoboa-salasanasi: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "DKIM-avainten tallennushakemistoa ei ole määritetty"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Et voi määritellä rajoittamatonta kiintiötä."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Käyttäjä '%s' on jo olemassa"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Täytyy olla positiivinen kokonaisluku"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Hakemistoa ei löydy."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Määritä vähintään yksi valtuutettu verkko/osoite"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Tarvitaan postilaatikko"
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
@@ -344,7 +344,7 @@ msgstr ""
"Nimeä uudelleen tai poista postilaatikot tiedostojärjestelmästä, kun ne "
"nimetään uudelleen tai poistetaan Modoboassa"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Oletuspostilaatikkokiintiö"
@@ -478,16 +478,16 @@ msgstr "[modoboa] MX-ongelma(t) verkkotunnukselle {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL ongelma(t) verkkotunnukselle {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "verkkotunnuksen alias"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Tilin tuonti epäonnistui (%s): verkkotunnusta ei ole olemassa"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Tilin tuonti epäonnistui (%s): väärä kiintiöarvo"
@@ -553,17 +553,17 @@ msgstr "CSV-tiedoston lukeminen käyttäen %(encoding)s-koodausta"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "CSV-tiedostoa ei voi dekoodata käyttämällä %(encoding)s-koodausta"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -581,7 +581,7 @@ msgstr "osoite"
msgid "The alias address."
msgstr "Alias-osoite."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "käytössä"
@@ -622,72 +622,72 @@ msgstr "Paikallista vastaanottajaa {}@{} ei löydy"
msgid "Invalid line: {}"
msgstr "Virheellinen rivi: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "nimi"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Verkkotunnus"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Viestien lähetysraja"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
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:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Aktivoi tämä verkkotunnus"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Ota DNS-tarkistukset käyttöön"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
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:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Ota DKIM-allekirjoitus käyttöön"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Avaimen pituus"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Virheellinen rivi"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
#, 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:337
+#: admin/models/domain.py:346
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Virheellinen kiintiö verkkotunnukselle '{}'"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
#, 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:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1035,19 +1035,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "Rrdtoolsin binääritiedostoa ei löydy."
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Paikallista vastaanottajaa {}@{} ei löydy"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2844,63 +2844,63 @@ msgstr "Tilastot"
msgid "Failed to locate rrdtool binary."
msgstr "Rrdtoolsin binääritiedostoa ei löydy."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Keskimääräinen liikenne (msgs/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "lähetetyt viestit"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "vastaanotetut viestit"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "palautuneet viestit"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "hylätyt viestit"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "virusviestit"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "roskapostiviestit"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "harmaalla listalla olevat viestit"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Keskimääräinen normaali liikennekoko (tavua/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "vastaanotettu koko"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "lähetetty koko"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Postiliikenne"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Keskimääräinen tilin luominen (tili/tunti)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Uudet tilit"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Tilit"
@@ -3321,7 +3321,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Aihe"
@@ -3748,21 +3748,21 @@ msgstr ""
msgid "Server response"
msgstr "Palvelimen osoite"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "LDAP-tilin luominen epäonnistui: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Päivämäärä"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3798,19 +3798,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po
index e34db69d2..a872d5578 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-2026
# Christophe CHAUVET , 2018
@@ -15,25 +15,30 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Antoine Nguyen , 2016-2017,2020,2023-2026\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"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
+"1000000 == 0 ? 1 : 2;\n"
#: admin/api/v1/serializers.py:39
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:46
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:94
msgid "domain alias with this name already exists"
@@ -48,12 +53,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Ne peut pas être supérieur au quota du domaine"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Permission refusée."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -62,9 +67,11 @@ msgstr "Ce champ est requis"
#: admin/api/v1/serializers.py:243
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:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Non autorisé pour ce rôle."
@@ -72,12 +79,12 @@ msgstr "Non autorisé pour ce rôle."
msgid "Must be equal to mailbox full_address"
msgstr "Doit être égale au champ full_address dans mailbox"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Ce champ est requis."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Le domaine local {} n'existe pas"
@@ -101,56 +108,58 @@ msgstr "Vous n'avez pas accès à cette boîtes aux lettres."
msgid "Here is your new Modoboa password: {}"
msgstr "Voici votre nouveau mot de passe Modoboa :"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Répertoire de stockage des clés DKIM non configuré"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "Ce champs est correct pour le type relaydomain uniquement"
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Vous ne pouvez pas définir de quota illimité"
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "L'utilisateur '%s' existe déjà"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Doit être un entier positif"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Répertoire introuvable."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
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:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr "Veuillez désactiver la migration IMAP avant de désactiver cette option"
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Définissez au moins un réseau / une adresse autorisé"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
-msgstr "La partie gauche d'un courriel ne peut pas faire plus de 64 caractères."
+msgstr ""
+"La partie gauche d'un courriel ne peut pas faire plus de 64 caractères."
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
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:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "Statut inconnu"
@@ -180,9 +189,12 @@ msgstr "MX(s) valide(s)"
#: admin/app_settings.py:37
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."
+"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."
#: admin/app_settings.py:47
msgid "New domains must use authorized MX(s)"
@@ -192,7 +204,9 @@ msgstr "Les nouveaux domaines doivent utiliser un ou plusieurs MX autorisés"
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:59
msgid "Enable IPV6 checks"
@@ -216,7 +230,9 @@ msgstr "Activer les tests DKIM"
#: admin/app_settings.py:80
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:88
msgid "Enable DMARC checks"
@@ -232,7 +248,9 @@ msgstr "Activer les tests d'autoconfiguration"
#: admin/app_settings.py:99
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:107
msgid "Enable DNSBL checks"
@@ -250,7 +268,9 @@ msgstr "Notifier les administrateurs de domaine à propos des problèmes DNS"
msgid ""
"Send a notification by email to domain administrators when DNS issues are "
"encountered"
-msgstr "Envoyer une notification email aux administrateurs de domaine quand des problèmes DNS sont rencontrés"
+msgstr ""
+"Envoyer une notification email aux administrateurs de domaine quand des "
+"problèmes DNS sont rencontrés"
#: admin/app_settings.py:128
msgid "Custom DNS server"
@@ -258,7 +278,9 @@ msgstr "Serveur DNS personnalisé"
#: admin/app_settings.py:130
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:138
msgid "DKIM keys storage directory"
@@ -269,7 +291,10 @@ 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:149
msgid "Default DKIM key length"
@@ -287,7 +312,9 @@ msgstr "Quota de domaine par défaut"
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:168
msgid "Default domain sending limit"
@@ -297,7 +324,9 @@ msgstr "Limite d'envoi par défaut du domaine"
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:182 limits/app_settings.py:61
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
@@ -312,9 +341,11 @@ msgstr "Gérer les boites sur le système de fichiers"
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:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Quota par défaut pour une boîte aux lettres"
@@ -322,7 +353,9 @@ msgstr "Quota par défaut pour une boîte aux lettres"
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:209
msgid "Default mailbox sending limit"
@@ -332,7 +365,9 @@ msgstr "Limite d'envoi par défaut d'une boîte aux lettres"
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:219
msgid "Automatic account removal"
@@ -340,16 +375,19 @@ msgstr "Suppression automatique de compte"
#: admin/app_settings.py:221
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:230
msgid "Automatic domain/mailbox creation"
msgstr "Création automatique de domaine/boite aux lettres"
#: admin/app_settings.py:233
-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."
+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."
#: admin/app_settings.py:242
msgid "Create an alias when a mailbox is renamed"
@@ -357,7 +395,9 @@ msgstr "Créer un alias quand une boite aux lettres est renommée"
#: admin/app_settings.py:245
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:257
msgid "Aliases"
@@ -369,7 +409,9 @@ msgstr "Les alias peuvent cibler n'importe quel domaine"
#: admin/app_settings.py:265
msgid "Allow aliases to target any domain, not just the local domains."
-msgstr "Autoriser les alias à cibler n'importe quel domaine, pas uniquement les domaines locaux."
+msgstr ""
+"Autoriser les alias à cibler n'importe quel domaine, pas uniquement les "
+"domaines locaux."
#: admin/app_settings.py:272
msgid "Alias target block list"
@@ -377,7 +419,9 @@ msgstr "Cibles interdites pour les alias"
#: admin/app_settings.py:274
msgid "A list of domains that aliases cannot target (comma separated)."
-msgstr "Une liste de domaines que les alias ne peuvent pas cibler (séparés par une virgule)."
+msgstr ""
+"Une liste de domaines que les alias ne peuvent pas cibler (séparés par une "
+"virgule)."
#: admin/app_settings.py:282
msgid "Alias target allow list"
@@ -385,7 +429,8 @@ msgstr "Cibles autorisées pour les alias"
#: admin/app_settings.py:284
msgid "A list of domains that aliases can target (comma separated)."
-msgstr "Une liste de domaines que les alias peuvent cibler (séparés par une virgule)."
+msgstr ""
+"Une liste de domaines que les alias peuvent cibler (séparés par une virgule)."
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
msgid "Administration"
@@ -436,16 +481,16 @@ msgstr "[modoboa] problème(s) de MX pour le domaine {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "alias de domaine"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, 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:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "L'import du compte a échoué (%s): mauvais quota"
@@ -499,7 +544,9 @@ msgstr "%d objets importés avec succès"
#: admin/management/commands/subcommands/_import.py:97
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:112
#, python-format
@@ -509,19 +556,22 @@ msgstr "Lire le fichier CSV en utilisant l'encodage %(encoding)s"
#: admin/management/commands/subcommands/_import.py:123
#, 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:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
-msgstr "Le chemin d'accès DKIM n'est pas modifiable (soit à cause d'un problème de permission, soit parce que le répertoire n'existe pas)"
+msgstr ""
+"Le chemin d'accès DKIM n'est pas modifiable (soit à cause d'un problème de "
+"permission, soit parce que le répertoire n'existe pas)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "Echec lors de la génération de la clé privée DKIM"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "Echec lors de la génération de la clé publique DKIM"
@@ -537,7 +587,7 @@ msgstr "Adresse"
msgid "The alias address."
msgstr "L'adresse de l'alias"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "Activé"
@@ -574,67 +624,73 @@ msgstr "Destinataire local {}@{} introuvable"
msgid "Invalid line: {}"
msgstr "Ligne incorrecte : {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "Nom"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Le nom du domaine"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Limite d'envoi des messages"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
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:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Cocher pour activer ce domaine"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Activer les tests DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Cocher pour activer les tests DNS pour ce domaine"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Activer la signature DKIM"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Taille de la clé"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ligne invalide"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{} : aucun enregistrement MX autorisé n'a été trouvé pour ce domaine"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{} : valeur incorrecte de quota pour ce domaine"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
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:350
+#: admin/models/domain.py:359
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:36
msgid "The alias name"
@@ -687,19 +743,26 @@ msgstr "La boite {} existe déjà"
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/tests/test_mx.py:141
#, python-format
@@ -726,7 +789,9 @@ msgstr "La phrase est sensible à la casse"
#: amavis/app_settings.py:19
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
-msgstr "La valeur doit correspondre à la variable $localpart_is_case_sensitive dans amavisd.conf"
+msgstr ""
+"La valeur doit correspondre à la variable $localpart_is_case_sensitive dans "
+"amavisd.conf"
#: amavis/app_settings.py:27
msgid "Recipient delimiter"
@@ -734,7 +799,9 @@ msgstr "Séparateur de destinataire"
#: amavis/app_settings.py:29
msgid "Value should match amavisd.conf variable $recipient_delimiter"
-msgstr "La valeur doit correspondre à la variable $recipient_delimiter de amavisd.conf"
+msgstr ""
+"La valeur doit correspondre à la variable $recipient_delimiter de "
+"amavisd.conf"
#: amavis/app_settings.py:41
msgid "Quarantine settings"
@@ -758,7 +825,9 @@ msgstr "Supprimer les messages libérés"
#: amavis/app_settings.py:68
msgid "Remove messages marked as released while cleaning up the database"
-msgstr "Supprimer les messages marqués comme relâchés pendant le nettoyage de la base de données"
+msgstr ""
+"Supprimer les messages marqués comme relâchés pendant le nettoyage de la "
+"base de données"
#: amavis/app_settings.py:76
msgid "Amavis connection mode"
@@ -826,7 +895,8 @@ msgstr "Activer l'apprentissage manuel"
#: amavis/app_settings.py:154
msgid "Allow super administrators to manually train Spamassassin"
-msgstr "Autorise les super administrateurs à entrainer manuellement Spamassassin"
+msgstr ""
+"Autorise les super administrateurs à entrainer manuellement Spamassassin"
#: amavis/app_settings.py:161
msgid "Is Spamassassin local?"
@@ -868,7 +938,9 @@ msgstr "Activer l'apprentissage manuel niveau domaine"
msgid ""
"Allow domain administrators to train Spamassassin (within dedicated per-"
"domain databases)"
-msgstr "Autorise les administrateurs de domaine à entrainer Spamassassin (au sein de bases dédiées par domaine)"
+msgstr ""
+"Autorise les administrateurs de domaine à entrainer Spamassassin (au sein de "
+"bases dédiées par domaine)"
#: amavis/app_settings.py:215
msgid "Enable per-user manual learning"
@@ -878,7 +950,9 @@ msgstr "Activer l'apprentissage manuel par utilisateur"
msgid ""
"Allow simple users to personally train Spamassassin (within a dedicated "
"database)"
-msgstr "Autorise les utilisateur à entrainer personnellement Spamassassin (au sein d'une base dédiée)"
+msgstr ""
+"Autorise les utilisateur à entrainer personnellement Spamassassin (au sein "
+"d'une base dédiée)"
#: amavis/app_settings.py:236 webmail/app_settings.py:155
msgid "Display"
@@ -900,17 +974,23 @@ msgstr "Amavis"
msgid ""
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
"by the Amavis database."
-msgstr "AMAVIS_DEFAULT_DATABASE_ENCODING ne correspond pas à l'encodage de caractère utilisé par la base de données Amavis."
+msgstr ""
+"AMAVIS_DEFAULT_DATABASE_ENCODING ne correspond pas à l'encodage de caractère "
+"utilisé par la base de données Amavis."
#: amavis/checks/settings_checks.py:12
msgid ""
"Check your database character encoding and set/update "
"AMAVIS_DEFAULT_DATABASE_ENCODING."
-msgstr "Vérifiez l'encodage de caractère utilisé par votre base de données et renseignez / mettez à jour AMAVIS_DEFAULT_DATABASE_ENCODING."
+msgstr ""
+"Vérifiez l'encodage de caractère utilisé par votre base de données et "
+"renseignez / mettez à jour AMAVIS_DEFAULT_DATABASE_ENCODING."
#: amavis/checks/settings_checks.py:19
msgid "Modoboa Amavis has not been tested using the selected database engine."
-msgstr "Modoboa Amavis n'a pas été testé avec le moteur de base de données selectionné."
+msgstr ""
+"Modoboa Amavis n'a pas été testé avec le moteur de base de données "
+"selectionné."
#: amavis/checks/settings_checks.py:20
msgid "Try using PostgreSQL, MySQL or MariaDB."
@@ -925,15 +1005,15 @@ msgstr "Requêtes en attente"
msgid "Connection to amavis failed: %s"
msgstr "La connexion avec amavis a échoué : %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr "Impossible de trouver le binaire {}"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr "Aucun destinataire trouvé"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr "Domaine local non trouvé"
@@ -959,7 +1039,9 @@ msgstr "défaut"
#: amavis/models.py:111
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "Désactiver le filtrage des virus ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
+msgstr ""
+"Désactiver le filtrage des virus ou non. Choisir 'défaut' pour utiliser les "
+"paramètres globaux."
#: amavis/models.py:115
msgid "Spam filter"
@@ -967,7 +1049,9 @@ msgstr "Filtrage du spam"
#: amavis/models.py:125
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "Désactiver le filtrage du spam ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
+msgstr ""
+"Désactiver le filtrage du spam ou non. Choisir 'défaut' pour utiliser les "
+"paramètres globaux."
#: amavis/models.py:129
msgid "Banned filter"
@@ -975,7 +1059,9 @@ msgstr "Filtrage des messages bannis"
#: amavis/models.py:139
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "Désactiver le filtrage des messages bannis ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
+msgstr ""
+"Désactiver le filtrage des messages bannis ou non. Choisir 'défaut' pour "
+"utiliser les paramètres globaux."
#: amavis/models.py:170
msgid "Spam marker"
@@ -983,9 +1069,11 @@ msgstr "Marquage du spam"
#: amavis/models.py:176
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "Modifier le sujet du spam en utilisant le texte spécifié. Choisir 'défaut' pour utiliser les paramètres globaux."
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"Modifier le sujet du spam en utilisant le texte spécifié. Choisir 'défaut' "
+"pour utiliser les paramètres globaux."
#: amavis/templates/amavis/notifications/pending_requests.html:3
#, python-format
@@ -1053,7 +1141,9 @@ msgstr "Période entre deux réponses automatiques"
#: autoreply/app_settings.py:20
msgid ""
"Number of days to wait before sending a new auto-reply to the same recipient"
-msgstr "Attendre ce nombre de jours avant l'envoi d'une nouvelle réponse automatique au même destinataire"
+msgstr ""
+"Attendre ce nombre de jours avant l'envoi d'une nouvelle réponse automatique "
+"au même destinataire"
#: autoreply/app_settings.py:27 autoreply/app_settings.py:36
msgid "Default subject"
@@ -1062,14 +1152,19 @@ msgstr "Sujet par défaut"
#: autoreply/app_settings.py:29
msgid ""
"Default subject used when an auto-reply message is created automatically"
-msgstr "Sujet par défaut utilisé quand un message de réponse automatique est crée automatiquement"
+msgstr ""
+"Sujet par défaut utilisé quand un message de réponse automatique est crée "
+"automatiquement"
#: autoreply/app_settings.py:38
#, 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 de réponse automatique est créé automatiquement. La macro %(name)s sera remplacée par le nom complet de l'utilisateur "
+msgstr ""
+"Contenu par défaut utilisé quand un message de réponse automatique est créé "
+"automatiquement. La macro %(name)s sera remplacée par le nom complet de "
+"l'utilisateur "
#: autoreply/apps.py:15
msgid "Automatic replies"
@@ -1106,7 +1201,9 @@ msgstr "URL du serveur"
#: calendars/app_settings.py:19
msgid ""
"The URL of your Radicale server. It will be used to construct calendar URLs."
-msgstr "L'URL de votre serveur Radicale. Elle sera utilisée pour construire les URL des calendriers."
+msgstr ""
+"L'URL de votre serveur Radicale. Elle sera utilisée pour construire les URL "
+"des calendriers."
#: calendars/app_settings.py:31
msgid "Rights management"
@@ -1126,7 +1223,9 @@ msgstr "Autoriser l'administration des calendriers"
#: calendars/app_settings.py:48
msgid "Allow domain administrators to manage user calendars (read and write)"
-msgstr "Autoriser les administrateurs de domaine à gérer les calendriers des utilisateurs (lecture et écriture)"
+msgstr ""
+"Autoriser les administrateurs de domaine à gérer les calendriers des "
+"utilisateurs (lecture et écriture)"
#: calendars/app_settings.py:60 core/app_settings.py:664
#: rspamd/app_settings.py:45
@@ -1140,7 +1239,9 @@ msgstr "Taille maximale des fichiers ICS"
#: calendars/app_settings.py:68
msgid ""
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
-msgstr "Taille maximale en octets des fichiers ICS importés (ou KB, MB, GB si précisé)"
+msgstr ""
+"Taille maximale en octets des fichiers ICS importés (ou KB, MB, GB si "
+"précisé)"
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
msgid "Calendars"
@@ -1166,7 +1267,9 @@ msgstr "Synchroniser le carnet d'adresse en utilisant CardDAV"
msgid ""
"Choose to synchronize or not your address book using CardDAV. You will be "
"able to access your contacts from the outside."
-msgstr "Choisir de synchroniser ou non votre carnet d'adresse en utilisant CardDAV. Vous pourrez ainsi accéder à vos contacts depuis l'extérieur."
+msgstr ""
+"Choisir de synchroniser ou non votre carnet d'adresse en utilisant CardDAV. "
+"Vous pourrez ainsi accéder à vos contacts depuis l'extérieur."
#: contacts/app_settings.py:29
msgid "Synchronization frequency"
@@ -1227,7 +1330,9 @@ msgstr "2FA est déjà activf"
#: core/api/v1/serializers.py:87
#, python-format
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
-msgstr "Echec de modification des paramètres TFA depuis '%(addr)s' en tant qu'utilisateur '%(user)s'"
+msgstr ""
+"Echec de modification des paramètres TFA depuis '%(addr)s' en tant "
+"qu'utilisateur '%(user)s'"
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
msgid "Invalid password"
@@ -1254,10 +1359,11 @@ msgstr "Nombre invalide de tours"
msgid "This code is invalid"
msgstr "Ce code n'est pas valide"
-#: core/api/v2/serializers.py:496 core/views/auth.py:213
-#: core/views/auth.py:266
+#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
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/viewsets.py:176
msgid "Administration console"
@@ -1302,7 +1408,8 @@ msgstr "Méthode de chiffrement par défaut"
#: core/app_settings.py:42
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:49
msgid "Rounds"
@@ -1312,7 +1419,9 @@ msgstr "Tours"
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:61
msgid "Update password scheme at login"
@@ -1320,7 +1429,9 @@ msgstr "Mettre à jour la méthode de chiffrement du mot de passe à la connexio
#: core/app_settings.py:64
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:72
msgid "Default password"
@@ -1344,7 +1455,8 @@ msgstr "Autoriser les caractères spéciaux pour les mots de passe aléatoires"
#: core/app_settings.py:94
msgid "Enable special characters in randomly generated passwords."
-msgstr "Activer les caractères spéciaux dans les mots de passe générés aléatoirement."
+msgstr ""
+"Activer les caractères spéciaux dans les mots de passe générés aléatoirement."
#: core/app_settings.py:102
msgid "Update password service URL"
@@ -1355,7 +1467,10 @@ 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:114
msgid "Password recovery announcement"
@@ -1363,7 +1478,9 @@ msgstr "Annonce pour la récupération de mot de passe"
#: core/app_settings.py:116
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:125
msgid "Enable password recovery by SMS"
@@ -1371,7 +1488,9 @@ msgstr "Activer la récupération de mot de passe par SMS"
#: core/app_settings.py:128
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:136
msgid "SMS provider"
@@ -1379,7 +1498,8 @@ msgstr "Fournisseur SMS"
#: core/app_settings.py:139
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:151
msgid "LDAP"
@@ -1412,7 +1532,9 @@ msgstr "Activer le serveur secondaire (secours)"
#: core/app_settings.py:179
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:187
msgid "Secondary server address"
@@ -1453,9 +1575,12 @@ msgstr "Groupes administrateurs"
#: core/app_settings.py:227
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."
+"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."
#: core/app_settings.py:236
msgid "Group type"
@@ -1471,7 +1596,9 @@ msgstr "Base de recherche des groupes"
#: core/app_settings.py:247
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:255
msgid "Password attribute"
@@ -1501,7 +1628,9 @@ msgstr "ND de connexion"
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:293 core/app_settings.py:355
msgid "Bind password"
@@ -1509,7 +1638,9 @@ msgstr "Mot de passe de connexion"
#: core/app_settings.py:295 core/app_settings.py:357
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:305 core/app_settings.py:410
msgid "Users search base"
@@ -1517,7 +1648,9 @@ msgstr "Base de recherche des utilisateurs"
#: core/app_settings.py:307 core/app_settings.py:412
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:316 core/app_settings.py:421
msgid "Search filter"
@@ -1527,7 +1660,9 @@ msgstr "Filtre de recherche"
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:327
msgid "User DN template"
@@ -1538,7 +1673,9 @@ msgstr "Modèle de nom distinctif utilisateur"
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:338
msgid "LDAP synchronization settings"
@@ -1551,7 +1688,9 @@ msgstr "Activer l'export LDAP"
#: core/app_settings.py:368
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:377
msgid "Delete remote LDAP account when local account is deleted"
@@ -1561,7 +1700,9 @@ msgstr "Supprimer un compte LDAP distant lorsqu'un compte local est supprimé"
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:389
msgid "Account DN template"
@@ -1572,7 +1713,9 @@ msgstr "Modèle des DN de compte"
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:400
msgid "Enable import from LDAP"
@@ -1580,7 +1723,9 @@ msgstr "Activer l'import LDAP"
#: core/app_settings.py:402
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:432
msgid "Username attribute"
@@ -1588,7 +1733,8 @@ msgstr "Attribut nom d'utilisateur"
#: core/app_settings.py:434
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:443
msgid "Enable Dovecot LDAP sync"
@@ -1596,7 +1742,9 @@ msgstr "Activer la synchronisation LDAP pour Dovecot"
#: core/app_settings.py:445
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:453
msgid "Dovecot LDAP config file"
@@ -1605,7 +1753,9 @@ msgstr "Fichier de configuration Dovecot pour LDAP"
#: core/app_settings.py:455
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:468
msgid "Dashboard"
@@ -1625,7 +1775,9 @@ msgstr "Flux RSS personnalisé"
#: core/app_settings.py:485
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:494
msgid "Display custom RSS feed to super admins"
@@ -1641,7 +1793,9 @@ msgstr "Masquer le widget des fonctionnalités"
#: core/app_settings.py:507
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:519
msgid "Theme"
@@ -1655,7 +1809,9 @@ msgstr "Couleur principale du thème"
msgid ""
"Primary color of the theme (hexadecimal code), used as the background color "
"of the left menu for example"
-msgstr "Couleur principale du thème (code hexadécimal), utilisée par exemple comme couleur de fond dans le menu de gauche"
+msgstr ""
+"Couleur principale du thème (code hexadécimal), utilisée par exemple comme "
+"couleur de fond dans le menu de gauche"
#: core/app_settings.py:536
msgid "Primary theme color (lighter version)"
@@ -1677,7 +1833,9 @@ msgstr "Couleur secondaire du thème"
msgid ""
"Secondary color of the theme (hexadecimal code), used as the background "
"color of some buttons for example"
-msgstr "Couleur secondaire du thème (code hexadécimal), utilisée par exemple comme couleur de fond de certains boutons"
+msgstr ""
+"Couleur secondaire du thème (code hexadécimal), utilisée par exemple comme "
+"couleur de fond de certains boutons"
#: core/app_settings.py:569
msgid "Labels theme color"
@@ -1721,7 +1879,9 @@ msgstr "Envoyer un email quand de nouvelles versions sont trouvées"
#: core/app_settings.py:632
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:639 sievefilters/constants.py:25
msgid "Recipient"
@@ -1737,7 +1897,9 @@ msgstr "Envoyer des statistiques"
#: core/app_settings.py:652
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:671
msgid "Enable inactive account tracking"
@@ -1745,9 +1907,11 @@ msgstr "Activer le suivi des comptes inactifs"
#: core/app_settings.py:674
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é"
+"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é"
#: core/app_settings.py:683
msgid "Inactive account threshold"
@@ -1755,9 +1919,11 @@ msgstr "Seuil des comptes inactifs"
#: core/app_settings.py:686
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"
+"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"
#: core/app_settings.py:695
msgid "Top notifications check interval"
@@ -1781,7 +1947,8 @@ msgstr "Durée de rétention dans l'historique des messages"
#: core/app_settings.py:718
msgid "Retention time (in days) of a message in the message history section"
-msgstr "Durée de rétention (en jours) d'un message dans l'historique des messages"
+msgstr ""
+"Durée de rétention (en jours) d'un message dans l'historique des messages"
#: core/app_settings.py:725
msgid "Items per page"
@@ -1796,7 +1963,10 @@ 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.py:19
msgid "Set `USE_TZ = True` in settings.py"
@@ -1808,33 +1978,40 @@ msgstr "La méthode de chiffrement que vous utilisez est obsolète."
#: core/checks.py:24
msgid "Upgrade your password scheme to a stronger one"
-msgstr "Mettez à jour votre méthode de chiffrement de mot de passe vers une plus sûre"
+msgstr ""
+"Mettez à jour votre méthode de chiffrement de mot de passe vers une plus sûre"
#: core/checks.py:30
msgid ""
"Oauth2 application for dovecot has not been found. Webmail and some other "
"features won't be available."
-msgstr "Application Oauth2 non trouvée pour dovecot. Le webmail ainsi que d'autres fonctionnalités ne seront pas disponibles."
+msgstr ""
+"Application Oauth2 non trouvée pour dovecot. Le webmail ainsi que d'autres "
+"fonctionnalités ne seront pas disponibles."
#: core/checks.py:34
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
-"oauth2"
-msgstr "Visiter : https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
+msgstr ""
+"Visiter : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
#: core/checks.py:41
msgid ""
"Oauth2 application for radicale has not been found. Calendar and some other "
"features won't be available."
-msgstr "Application Oauth2 pour Radicale non trouvée. Le calendrier ainsi que d'autres fonctionnalités ne seront pas disponibles."
+msgstr ""
+"Application Oauth2 pour Radicale non trouvée. Le calendrier ainsi que "
+"d'autres fonctionnalités ne seront pas disponibles."
#: core/checks.py:45
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
-"oauth2"
-msgstr "Consulter : https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
+msgstr ""
+"Consulter : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
#: core/constants.py:6
msgid "Simple user"
@@ -1921,7 +2098,8 @@ msgstr "Une ou plusieurs mises à jour sont disponibles!"
#: core/handlers.py:140
#, python-format
msgid "You are still using a deprecated password scheme (%s)"
-msgstr "Vous utilisez encore une méthode de chiffrement de mot de passe obsolète (%s)"
+msgstr ""
+"Vous utilisez encore une méthode de chiffrement de mot de passe obsolète (%s)"
#: core/management/commands/communicate_with_public_api.py:42
msgid "[modoboa] Update(s) available"
@@ -1961,7 +2139,8 @@ msgstr "Une adresse e-mail alternative ou de secours."
#: core/models.py:150
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:185 policyd/core.py:117
msgid "account"
@@ -1981,7 +2160,9 @@ msgstr "L'utilisateur de base '{}' doit avoir une adresse email correcte"
#: core/models.py:383
msgid "username and email fields must not differ for '{}'"
-msgstr "les champs nom d'utilisateur et email ne doivent pas être différents pour '{}'"
+msgstr ""
+"les champs nom d'utilisateur et email ne doivent pas être différents pour "
+"'{}'"
#: core/password_validation.py:25
msgid "Password must contain at least {} digit."
@@ -2013,7 +2194,9 @@ msgstr[2] "Le mot de passe doit contenir au moins {} caractères spéciaux."
#: 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:102
msgid "API endpoint"
@@ -2070,9 +2253,15 @@ 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/utils.py:43
msgid "The core part of Modoboa"
@@ -2086,12 +2275,16 @@ msgstr "Utiliseur '%s' connecté avec succès"
#: core/views/auth.py:128
#, 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/views/auth.py:135
#, 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/views/auth.py:173
msgid "User '{}' successfully logged out"
@@ -2107,7 +2300,9 @@ msgstr "Activer les recherches inversées"
#: dmarc/forms.py:23
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:42
msgid "DMARC"
@@ -2294,7 +2489,9 @@ msgstr "Filtre d'exclusion de dossier"
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:74
msgid "Folder Filter Inclusions"
@@ -2305,7 +2502,10 @@ 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/apps.py:20
msgid "IMAP Migration"
@@ -2315,12 +2515,16 @@ msgstr "Migration IMAP"
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: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é."
#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
@@ -2389,13 +2593,17 @@ msgstr "Admins de domaine"
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:41
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:49 limits/app_settings.py:123 limits/constants.py:22
#: limits/constants.py:76
@@ -2404,15 +2612,19 @@ msgstr "Alias de domaine"
#: limits/app_settings.py:52
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)"
+"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)"
#: limits/app_settings.py:64
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:73 limits/app_settings.py:146 limits/constants.py:39
#: limits/constants.py:92
@@ -2423,7 +2635,9 @@ msgstr "Alias de boite"
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:84 limits/constants.py:59
msgid "Quota"
@@ -2433,7 +2647,9 @@ msgstr "Quota"
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:98
msgid "Default per-domain limits"
@@ -2449,27 +2665,36 @@ msgstr "Activer ou désactiver les limites par domaine"
#: limits/app_settings.py:114
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)"
+"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)"
#: limits/app_settings.py:126
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:138
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:149
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)"
+"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)"
#: limits/apps.py:16
msgid "Limits"
@@ -2534,7 +2759,9 @@ msgstr "illimité"
#: 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/apps.py:20
msgid "Path to the log file"
@@ -2568,63 +2795,63 @@ msgstr "Statistiques"
msgid "Failed to locate rrdtool binary."
msgstr "Impossible de trouver le binaire rrdtool"
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Trafic moyen (msgs/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "messages envoyés"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "messages reçus"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "messages non remis"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "messages rejetés"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "messages de type virus"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "messages de type spam"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "Messages greylistés"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Taille moyenne du trafic normal (octets/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "taille reçue"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "taille envoyée"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Trafic messagerie"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Moyenne des créations de compte (compte/heure)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Nouveaux comptes"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Comptes"
@@ -2646,7 +2873,9 @@ msgstr "Activer les identifiants PDF"
#: pdfcredentials/app_settings.py:21
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:32
msgid "Documents storage"
@@ -2672,7 +2901,9 @@ msgstr "Supprimer les documents après le premier téléchargement"
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:68
msgid "Generate documents only at account creation"
@@ -2682,7 +2913,10 @@ msgstr "Générer les documents à la création des comptes uniquement"
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:84
msgid "Customization options"
@@ -2720,7 +2954,9 @@ msgstr "Inclure les paramètres de connexion pour client mail"
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:123 pdfcredentials/documents.py:133
msgid "SMTP server address"
@@ -2781,7 +3017,11 @@ msgid ""
"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:95
msgid "Web panel:"
@@ -2800,7 +3040,10 @@ 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:126
msgid "Please change your password!"
@@ -2812,13 +3055,17 @@ msgstr "Configuration PC/Tablette/Smartphone :"
#: 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:35
msgid ""
"Failed to create PDF_credentials directory. Please check the permissions or "
"the path."
-msgstr "Echec lors de la création du répertoire PDF_credentials. Veuillez vérifier les permissions et le chemin d'accès."
+msgstr ""
+"Echec lors de la création du répertoire PDF_credentials. Veuillez vérifier "
+"les permissions et le chemin d'accès."
#: pdfcredentials/handlers.py:64
msgid "Download PDF credentials"
@@ -2826,18 +3073,23 @@ msgstr "Télécharger les identifiants PDF"
#: pdfcredentials/lib.py:29
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:35
#, 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)"
#: pdfcredentials/lib.py:82
msgid ""
"Failed to create PDF_credentials file. Please check the permissions or the "
"path."
-msgstr "Echec lors de la création du fichier PDF_credentials. Veuillez vérifier les permissions et le chemin d'accès."
+msgstr ""
+"Echec lors de la création du fichier PDF_credentials. Veuillez vérifier les "
+"permissions et le chemin d'accès."
#: policyd/core.py:99
msgid "Daily sending limit reached"
@@ -2854,7 +3106,8 @@ msgstr "[modoboa] Limite d'envoi atteinte"
#: policyd/templates/policyd/notifications/limit_reached.html:3
#, python-format
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
-msgstr "Limite quotidienne d'envoi du %(ltype)s suivant a été atteinte : %(name)s."
+msgstr ""
+"Limite quotidienne d'envoi du %(ltype)s suivant a été atteinte : %(name)s."
#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
@@ -2894,9 +3147,11 @@ msgstr "Chemin d'accès vers le fichier des clés"
#: rspamd/app_settings.py:21
msgid ""
-"Absolute path of the file which contains paths to DKIM private keys. Must be"
-" readable by _rspamd group or user."
-msgstr "Chemin absolu vers le fichier qui contient les chemins vers les clés privées DKIM. Doit être accessible en lecture par l'utilisateur ou le groupe _rspamd."
+"Absolute path of the file which contains paths to DKIM private keys. Must be "
+"readable by _rspamd group or user."
+msgstr ""
+"Chemin absolu vers le fichier qui contient les chemins vers les clés privées "
+"DKIM. Doit être accessible en lecture par l'utilisateur ou le groupe _rspamd."
#: rspamd/app_settings.py:30
msgid "Selector map path"
@@ -2906,7 +3161,9 @@ msgstr "Chemin d'accès vers le fichier des sélecteurs"
msgid ""
"Absolute path of the file which contains names of DKIM selectors. Must be "
"readable by _rspamd group or user."
-msgstr "Chemin absolu vers le fichier qui contient le nom des sélecteurs DKIM. Doit être accessible en lecture par l'utilisateur ou le groupe _rspamd."
+msgstr ""
+"Chemin absolu vers le fichier qui contient le nom des sélecteurs DKIM. Doit "
+"être accessible en lecture par l'utilisateur ou le groupe _rspamd."
#: rspamd/app_settings.py:51
msgid "Rspamd dashboard location"
@@ -2914,10 +3171,12 @@ msgstr "Emplacement du tableau de bord Rspamd"
#: rspamd/app_settings.py:53
msgid ""
-"Location of the rspamd dashboard. Can either be a relative URL (eg. "
-"'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
+"Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
+"rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
"guidance on the Super-Admin dashboard."
-msgstr "Emplacement du dashboard rspamd. Peut être soit une URL relative (ie. '/rspamd') ou une URL complète (ie. 'https://rspamd.domain.tld')."
+msgstr ""
+"Emplacement du dashboard rspamd. Peut être soit une URL relative (ie. '/"
+"rspamd') ou une URL complète (ie. 'https://rspamd.domain.tld')."
#: rspamd/apps.py:18
msgid "Rspamd"
@@ -2996,7 +3255,7 @@ msgstr "est"
msgid "is not"
msgstr "n'est pas"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Sujet"
@@ -3042,7 +3301,8 @@ msgstr "Arrêter le traitement"
#: sievefilters/lib.py:49
msgid "Connection to MANAGESIEVE server failed, check your configuration"
-msgstr "La connexion au serveur MANAGESIEVE a échoué, vérifiez votre configuration"
+msgstr ""
+"La connexion au serveur MANAGESIEVE a échoué, vérifiez votre configuration"
#: sievefilters/lib.py:76
msgid "Not enough space on server"
@@ -3097,7 +3357,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:8
msgid "Change password"
@@ -3113,7 +3375,10 @@ msgstr "Soumettre"
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:22
msgid "Enter the code you've just received by SMS"
@@ -3133,7 +3398,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.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -3141,14 +3411,18 @@ msgstr "Nous vous avons envoyé par email les instructions pour définir votr
msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
-msgstr "Pour initier la procédure de réinitialisation du mot de passe de votre compte Modoboa %(username)s, cliquez sur le lien ci-dessous :"
+msgstr ""
+"Pour initier la procédure de réinitialisation du mot de passe de votre "
+"compte Modoboa %(username)s, cliquez sur le lien ci-dessous :"
#: 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 cliquer sur lien ci-dessous ne fonctionne pas, merci de copier / coller cette URL dans une nouvelle fenêtre navigateur à la place."
+msgstr ""
+"Si cliquer sur lien ci-dessous ne fonctionne pas, merci de copier / coller "
+"cette URL dans une nouvelle fenêtre navigateur à la place."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3177,9 +3451,12 @@ msgstr "Mot de passe jetable"
#: templates/registration/twofactor_code_verify.html:35
msgid ""
-"Enter the code from the two-factor app on your mobile device. If you've lost"
-" your device, you may enter one of your recovery codes."
-msgstr "Renseignez le code provenant de l'application double-facteur de votre téléphone mobile. Si vous avez perdu votre téléphone, vous pouvez utiliser l'un de vos codes de récupération."
+"Enter the code from the two-factor app on your mobile device. If you've lost "
+"your device, you may enter one of your recovery codes."
+msgstr ""
+"Renseignez le code provenant de l'application double-facteur de votre "
+"téléphone mobile. Si vous avez perdu votre téléphone, vous pouvez utiliser "
+"l'un de vos codes de récupération."
#: templates/registration/twofactor_code_verify.html:42
msgid "Verify code"
@@ -3216,7 +3493,8 @@ msgstr "Taille maximale d'une pièce jointe"
#: webmail/app_settings.py:19
msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)"
-msgstr "Taille maximale d'une pièce jointe en octets (ou KB, MG, GB si précisé)"
+msgstr ""
+"Taille maximale d'une pièce jointe en octets (ou KB, MG, GB si précisé)"
#: webmail/app_settings.py:67
msgid "SMTP settings"
@@ -3346,19 +3624,19 @@ msgstr "Signature email personnalisée"
msgid "Server response"
msgstr "Réponse du serveur"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "Impossible de supprimer la pièce jointe :"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr "a écrit :"
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Date"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr "Message original"
@@ -3390,19 +3668,19 @@ msgstr "Planifiés"
msgid "Trash"
msgstr "Corbeille"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr "Déplacer des messages planifiés n'est pas autorisé"
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr "Seule une date à venir est autorisée"
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr "La date fournie doit être au minimum une minute dans le futur"
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "La pièce jointe est trop grosse (limite : %s)"
diff --git a/modoboa/locale/hu/LC_MESSAGES/django.po b/modoboa/locale/hu/LC_MESSAGES/django.po
index 5060b254b..16a35b4ec 100644
--- a/modoboa/locale/hu/LC_MESSAGES/django.po
+++ b/modoboa/locale/hu/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -41,12 +41,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -57,7 +57,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -65,12 +65,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -94,56 +94,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -307,7 +307,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -428,16 +428,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -503,17 +503,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -529,7 +529,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -566,65 +566,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -917,15 +917,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2551,63 +2551,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2979,7 +2979,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3329,19 +3329,19 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3373,19 +3373,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/it/LC_MESSAGES/django.po b/modoboa/locale/it/LC_MESSAGES/django.po
index 582ce5395..8394c1d46 100644
--- a/modoboa/locale/it/LC_MESSAGES/django.po
+++ b/modoboa/locale/it/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:
# Antonino Ioppolo , 2017
# Camillo Fagnano , 2019
@@ -17,25 +17,31 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Eli Spizzichino, 2026\n"
-"Language-Team: Italian (http://app.transifex.com/tonio/modoboa/language/it/)\n"
+"Language-Team: Italian (http://app.transifex.com/tonio/modoboa/language/"
+"it/)\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: it\n"
-"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? "
+"1 : 2;\n"
#: admin/api/v1/serializers.py:39
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."
+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:46
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:94
msgid "domain alias with this name already exists"
@@ -47,15 +53,16 @@ msgstr "Non è stato trovato alcun record MX autorizzato per questo dominio"
#: admin/api/v1/serializers.py:122
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:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Permesso negato."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -64,9 +71,11 @@ msgstr "Questo campo è obbligatorio"
#: admin/api/v1/serializers.py:243
msgid ""
"List of administered domains (resellers and domain administrators only)."
-msgstr "Lista dei domini amministrati (solo per rivenditori e amministratori di dominio)."
+msgstr ""
+"Lista dei domini amministrati (solo per rivenditori e amministratori di "
+"dominio)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Non consentito per questo ruolo."
@@ -74,12 +83,12 @@ msgstr "Non consentito per questo ruolo."
msgid "Must be equal to mailbox full_address"
msgstr "Deve essere uguale a full_address della casella di posta"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Questo campo è obbligatorio."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Il dominio locale {} non esiste"
@@ -103,56 +112,58 @@ msgstr "Non hai accesso a questa casella di posta."
msgid "Here is your new Modoboa password: {}"
msgstr "Ecco la nuova password di Modoboa: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Cartella di salvataggio per le chiavi DKIM non configurata."
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "Questo campo è valido quando è di tipo \"relay domain\""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Non puoi definire uno spazio illimitato."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "L'utente '%s' esiste già"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Dev'essere un intero positivo"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr "openssl non trovato, assicurarsi che sia installato."
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Cartella non trovata."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Questo campo permette solo indirizzi IP validi (o networks)"
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
-msgstr "Perf avore disabilità la migrazione imap prima di disattivare questa opzione"
+msgstr ""
+"Perf avore disabilità la migrazione imap prima di disattivare questa opzione"
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Definire almeno una rete / indirizzo autorizzato"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
-msgstr "La parte a sinistra di un indirizzo email non può superare i 64 caratteri."
+msgstr ""
+"La parte a sinistra di un indirizzo email non può superare i 64 caratteri."
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "È necessaria una casella di posta per creare degli alias."
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "Stato sconosciuto"
@@ -182,9 +193,11 @@ msgstr "MX validi"
#: admin/app_settings.py:37
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. "
+"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:47
msgid "New domains must use authorized MX(s)"
@@ -194,7 +207,9 @@ msgstr "Nuovi domini devono utilizzare MX autorizzati"
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."
+msgstr ""
+"Impedisci la creazione di un nuovo dominio se il suo record MX non utilizza "
+"uno degli indirizzi definiti."
#: admin/app_settings.py:59
msgid "Enable IPV6 checks"
@@ -218,7 +233,8 @@ msgstr "Abilita i controlli DKIM"
#: admin/app_settings.py:80
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "Verifica se ogni dominio con firma DKIM abilitata ha un record DNS valido"
+msgstr ""
+"Verifica se ogni dominio con firma DKIM abilitata ha un record DNS valido"
#: admin/app_settings.py:88
msgid "Enable DMARC checks"
@@ -252,7 +268,9 @@ msgstr "Notifica agli amministratori di dominio i problemi DNS"
msgid ""
"Send a notification by email to domain administrators when DNS issues are "
"encountered"
-msgstr "Invia una notifica via email agli amministratori di dominio quando vengono riscontrati problemi DNS"
+msgstr ""
+"Invia una notifica via email agli amministratori di dominio quando vengono "
+"riscontrati problemi DNS"
#: admin/app_settings.py:128
msgid "Custom DNS server"
@@ -271,7 +289,10 @@ 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."
+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:149
msgid "Default DKIM key length"
@@ -289,7 +310,9 @@ msgstr "Quota predefinita per il domini"
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."
+msgstr ""
+"Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. "
+"Un valore 0 implica nessuna quota."
#: admin/app_settings.py:168
msgid "Default domain sending limit"
@@ -299,7 +322,9 @@ msgstr "Limite di invio predefinito del dominio"
msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
-msgstr "Numero di messaggi che i domini appena creati potranno inviare al giorno. Lascia vuoto per nessun limite."
+msgstr ""
+"Numero di messaggi che i domini appena creati potranno inviare al giorno. "
+"Lascia vuoto per nessun limite."
#: admin/app_settings.py:182 limits/app_settings.py:61
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
@@ -314,9 +339,11 @@ msgstr "Gestione delle caselle di posta nel filsystem"
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 "
+msgstr ""
+"Rinomina o rimuovi le caselle di posta nel filesystem quando vengono "
+"rinominate o cancellate in Modoboa "
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Dimensione massima predefinita per le mailbox"
@@ -324,7 +351,9 @@ msgstr "Dimensione massima predefinita per le mailbox"
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."
+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:209
msgid "Default mailbox sending limit"
@@ -334,7 +363,9 @@ msgstr "Limite di invio predefinito della casella di posta"
msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
-msgstr "Numero di messaggi che le caselle di posta appena create potranno inviare al giorno. Lascia vuoto per nessun limite."
+msgstr ""
+"Numero di messaggi che le caselle di posta appena create potranno inviare al "
+"giorno. Lascia vuoto per nessun limite."
#: admin/app_settings.py:219
msgid "Automatic account removal"
@@ -342,16 +373,18 @@ msgstr "Rimozione automatica dell'account"
#: admin/app_settings.py:221
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:230
msgid "Automatic domain/mailbox creation"
msgstr "Creazione automatica del domini/casella di posta elettronica"
#: admin/app_settings.py:233
-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"
+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:242
msgid "Create an alias when a mailbox is renamed"
@@ -359,7 +392,8 @@ msgstr "Crea un alias quando una mailbox viene rinominata"
#: admin/app_settings.py:245
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:257
msgid "Aliases"
@@ -371,7 +405,9 @@ msgstr "L'alias può puntare a qualsiasi dominio"
#: admin/app_settings.py:265
msgid "Allow aliases to target any domain, not just the local domains."
-msgstr "Consenti agli alias di puntare a qualsiasi dominio, non solo ai domini locali."
+msgstr ""
+"Consenti agli alias di puntare a qualsiasi dominio, non solo ai domini "
+"locali."
#: admin/app_settings.py:272
msgid "Alias target block list"
@@ -379,7 +415,8 @@ msgstr "Block list destinazione alias"
#: admin/app_settings.py:274
msgid "A list of domains that aliases cannot target (comma separated)."
-msgstr "Una lista di domini che gli alias non possono puntare (separati da virgola)."
+msgstr ""
+"Una lista di domini che gli alias non possono puntare (separati da virgola)."
#: admin/app_settings.py:282
msgid "Alias target allow list"
@@ -387,7 +424,8 @@ msgstr "Allow list destinazione alias"
#: admin/app_settings.py:284
msgid "A list of domains that aliases can target (comma separated)."
-msgstr "Una lista di domini che gli alias possono puntare (separati da virgola)."
+msgstr ""
+"Una lista di domini che gli alias possono puntare (separati da virgola)."
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
msgid "Administration"
@@ -438,16 +476,16 @@ msgstr "[modoboa] problema(/i) MX per il dominio {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] problema(/i) DNSBL per il dominio {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "alias del dominio"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Importazione dell'account fallito (%s): il dominio non esiste"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importazione account fallito(%s): valore della quota errato"
@@ -478,7 +516,9 @@ msgstr "Nessun DNS server funzionante trovato"
#: admin/lib.py:237 admin/tests/test_mx.py:146
#, 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:241
msgid "DNS name is too long: {}"
@@ -511,19 +551,21 @@ msgstr "Lettura del file CSV utilizzando la codifica %(encoding)s"
#: admin/management/commands/subcommands/_import.py:123
#, 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:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
-msgstr "Percorso DKIM non scrivibile (problema di permessi o la cartella non esiste)"
+msgstr ""
+"Percorso DKIM non scrivibile (problema di permessi o la cartella non esiste)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "Impossibile generare la chiave privata DKIM"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "Impossibile generare la chiave pubblica DKIM"
@@ -539,7 +581,7 @@ msgstr "indirizzo"
msgid "The alias address."
msgstr "Indirizzi Alias."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "Attivato"
@@ -576,67 +618,71 @@ msgstr "Destinatario locale {}@{} non trovato"
msgid "Invalid line: {}"
msgstr "Riga non valida: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "nome"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Il nome del dominio"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Limite invio messaggi"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr "Numero di messaggi che questo dominio può inviare al giorno"
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Seleziona per attivare questo dominio"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Abilita i controlli DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Seleziona per abilitare i controlli DNS per questo dominio"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Abilita la firma DKIM"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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."
+msgstr ""
+"Se attivi questa feature, verrà generata una chiave DKIM per questo dominio."
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Lunghezza della chiave"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Riga non valida"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{}: nessun record MX autorizzato trovato per il dominio"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{}: valore quota non valido per il dominio"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
-msgstr "{}: valore quota casella di posta predefinita non valido per il dominio"
+msgstr ""
+"{}: valore quota casella di posta predefinita non valido per il dominio"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "{}: la quota della casella di posta predefinita non può essere maggiore della quota del dominio"
+msgstr ""
+"{}: la quota della casella di posta predefinita non può essere maggiore "
+"della quota del dominio"
#: admin/models/domain_alias.py:36
msgid "The alias name"
@@ -689,19 +735,26 @@ msgstr "La La casella di posta {} esiste già"
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:"
+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."
+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/tests/test_mx.py:141
#, python-format
@@ -728,7 +781,9 @@ msgstr "La parte locale sensibile alle maiuscole/minuscole"
#: amavis/app_settings.py:19
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
-msgstr "Il valore dovrebbe corrispondere alla variabile amavisd.conf $localpart_is_case_sensitive"
+msgstr ""
+"Il valore dovrebbe corrispondere alla variabile amavisd.conf "
+"$localpart_is_case_sensitive"
#: amavis/app_settings.py:27
msgid "Recipient delimiter"
@@ -736,7 +791,9 @@ msgstr "Delimitatore dei destinatari"
#: amavis/app_settings.py:29
msgid "Value should match amavisd.conf variable $recipient_delimiter"
-msgstr "Il valore dovrebbe corrispondere alla variabile amavisd.conf $recipient_delimiter"
+msgstr ""
+"Il valore dovrebbe corrispondere alla variabile amavisd.conf "
+"$recipient_delimiter"
#: amavis/app_settings.py:41
msgid "Quarantine settings"
@@ -760,7 +817,8 @@ msgstr "Rimozione dei messaggi rilasciati"
#: amavis/app_settings.py:68
msgid "Remove messages marked as released while cleaning up the database"
-msgstr "Rimuovi i messaggi marcati come rilasciati durante la pulizia del database"
+msgstr ""
+"Rimuovi i messaggi marcati come rilasciati durante la pulizia del database"
#: amavis/app_settings.py:76
msgid "Amavis connection mode"
@@ -828,7 +886,9 @@ msgstr "Abilita apprendimento manuale"
#: amavis/app_settings.py:154
msgid "Allow super administrators to manually train Spamassassin"
-msgstr "Permetti ai super amministratori di abilitare l'apprendimento manuale di Spamassassin"
+msgstr ""
+"Permetti ai super amministratori di abilitare l'apprendimento manuale di "
+"Spamassassin"
#: amavis/app_settings.py:161
msgid "Is Spamassassin local?"
@@ -836,7 +896,9 @@ msgstr "Spamassassin è locale ?"
#: amavis/app_settings.py:163
msgid "Tell if Spamassassin is running on the same server than modoboa"
-msgstr "Specifica se Spamassassin è in esecuzione sullo stesso server dove si trova modoboa"
+msgstr ""
+"Specifica se Spamassassin è in esecuzione sullo stesso server dove si trova "
+"modoboa"
#: amavis/app_settings.py:171
msgid "Default user"
@@ -870,7 +932,9 @@ msgstr "Abilita l'apprendimento manuale per dominio"
msgid ""
"Allow domain administrators to train Spamassassin (within dedicated per-"
"domain databases)"
-msgstr "Permetti agli amministratori di dominio l'apprendimento Spamassassin (all'interno di database dedicati per dominio)"
+msgstr ""
+"Permetti agli amministratori di dominio l'apprendimento Spamassassin "
+"(all'interno di database dedicati per dominio)"
#: amavis/app_settings.py:215
msgid "Enable per-user manual learning"
@@ -880,7 +944,8 @@ msgstr "Abilita l'apprendimento manuale per utente"
msgid ""
"Allow simple users to personally train Spamassassin (within a dedicated "
"database)"
-msgstr "Permetti agli utenti l'apprendimento Spamassassin (con un database dedicato)"
+msgstr ""
+"Permetti agli utenti l'apprendimento Spamassassin (con un database dedicato)"
#: amavis/app_settings.py:236 webmail/app_settings.py:155
msgid "Display"
@@ -902,17 +967,22 @@ msgstr "Amavis"
msgid ""
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
"by the Amavis database."
-msgstr "AMAVIS_DEFAULT_DATABASE_ENCODING non coincide con la codifica di caratteri usata dal database di Amavis"
+msgstr ""
+"AMAVIS_DEFAULT_DATABASE_ENCODING non coincide con la codifica di caratteri "
+"usata dal database di Amavis"
#: amavis/checks/settings_checks.py:12
msgid ""
"Check your database character encoding and set/update "
"AMAVIS_DEFAULT_DATABASE_ENCODING."
-msgstr "Controlla la codifica di caratteri del tuo database e imposta/aggiorna AMAVIS_DEFAULT_DATABASE_ENCODING."
+msgstr ""
+"Controlla la codifica di caratteri del tuo database e imposta/aggiorna "
+"AMAVIS_DEFAULT_DATABASE_ENCODING."
#: amavis/checks/settings_checks.py:19
msgid "Modoboa Amavis has not been tested using the selected database engine."
-msgstr "Amavis in Modoboa non è stato testato con il database engine selezionato. "
+msgstr ""
+"Amavis in Modoboa non è stato testato con il database engine selezionato. "
#: amavis/checks/settings_checks.py:20
msgid "Try using PostgreSQL, MySQL or MariaDB."
@@ -927,15 +997,15 @@ msgstr "Richieste in sospeso"
msgid "Connection to amavis failed: %s"
msgstr "Connessione ad amavis fallita: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr "Impossibile trovare il file binario {}"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr "Destinatario non trovato"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr "Dominio locale non trovato"
@@ -961,7 +1031,9 @@ msgstr "predefinito"
#: amavis/models.py:111
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "Aggirare il controllo virus o no. Scegliere 'predefinito' per utilizzare le impostazioni globali."
+msgstr ""
+"Aggirare il controllo virus o no. Scegliere 'predefinito' per utilizzare le "
+"impostazioni globali."
#: amavis/models.py:115
msgid "Spam filter"
@@ -969,7 +1041,9 @@ msgstr "Filtro spam"
#: amavis/models.py:125
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "Aggirare il controllo spam o no. Scegliere 'predefinito' per utilizzare le impostazioni globali."
+msgstr ""
+"Aggirare il controllo spam o no. Scegliere 'predefinito' per utilizzare le "
+"impostazioni globali."
#: amavis/models.py:129
msgid "Banned filter"
@@ -977,7 +1051,9 @@ msgstr "Filtro banned"
#: amavis/models.py:139
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "Aggirare il controllo banned o no. Scegliere 'predefinito' per utilizzare le impostazioni globali."
+msgstr ""
+"Aggirare il controllo banned o no. Scegliere 'predefinito' per utilizzare le "
+"impostazioni globali."
#: amavis/models.py:170
msgid "Spam marker"
@@ -985,9 +1061,11 @@ msgstr "Contrassegno spam"
#: amavis/models.py:176
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "Modifica dell'oggetto spam utilizzando un testo specifico. Scegliere 'predefinito' per utilizzare le impostazioni globali."
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"Modifica dell'oggetto spam utilizzando un testo specifico. Scegliere "
+"'predefinito' per utilizzare le impostazioni globali."
#: amavis/templates/amavis/notifications/pending_requests.html:3
#, python-format
@@ -1055,7 +1133,9 @@ msgstr "Periodo tra due risposte automatiche"
#: autoreply/app_settings.py:20
msgid ""
"Number of days to wait before sending a new auto-reply to the same recipient"
-msgstr "Numero di giorni da attendere prima di inviare una nuova risposta automatica allo stesso destinatario"
+msgstr ""
+"Numero di giorni da attendere prima di inviare una nuova risposta automatica "
+"allo stesso destinatario"
#: autoreply/app_settings.py:27 autoreply/app_settings.py:36
msgid "Default subject"
@@ -1071,7 +1151,9 @@ msgstr "Oggetto predefinito utilizzato nei messaggi di risposta automatica"
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. "
+msgstr ""
+"Corpo del messaggio predefinito per i messaggi di risposta automatica. La "
+"macro '%(name)s' verrà sostituita con il nome dell'utente. "
#: autoreply/apps.py:15
msgid "Automatic replies"
@@ -1108,7 +1190,9 @@ msgstr "Indirizzo del Server"
#: calendars/app_settings.py:19
msgid ""
"The URL of your Radicale server. It will be used to construct calendar URLs."
-msgstr "L'URL del Server. Sarà utilizzato per la costrizione degli URLs del calendario."
+msgstr ""
+"L'URL del Server. Sarà utilizzato per la costrizione degli URLs del "
+"calendario."
#: calendars/app_settings.py:31
msgid "Rights management"
@@ -1128,7 +1212,9 @@ msgstr "Permetti amministrazione dei Calendari"
#: calendars/app_settings.py:48
msgid "Allow domain administrators to manage user calendars (read and write)"
-msgstr "Permetti agli aministratori di dominio di aministrare i Calendari utenti (lettura e scrittura)"
+msgstr ""
+"Permetti agli aministratori di dominio di aministrare i Calendari utenti "
+"(lettura e scrittura)"
#: calendars/app_settings.py:60 core/app_settings.py:664
#: rspamd/app_settings.py:45
@@ -1142,7 +1228,9 @@ msgstr "Dimensione massima dei file ICS"
#: calendars/app_settings.py:68
msgid ""
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
-msgstr "Dimensione massima in byte dei file ICS importati (o KB, MB, GB se specificato)"
+msgstr ""
+"Dimensione massima in byte dei file ICS importati (o KB, MB, GB se "
+"specificato)"
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
msgid "Calendars"
@@ -1168,7 +1256,9 @@ msgstr "Sincronizza la rubrica utilizzando CardDAV"
msgid ""
"Choose to synchronize or not your address book using CardDAV. You will be "
"able to access your contacts from the outside."
-msgstr "Scegli se sincronizzare o meno la tua rubrica utilizzando CardDAV. Sarai in grado di accedere ai tuoi contatti dall'esterno."
+msgstr ""
+"Scegli se sincronizzare o meno la tua rubrica utilizzando CardDAV. Sarai in "
+"grado di accedere ai tuoi contatti dall'esterno."
#: contacts/app_settings.py:29
msgid "Synchronization frequency"
@@ -1229,7 +1319,9 @@ msgstr "2FA è già abilitato"
#: core/api/v1/serializers.py:87
#, python-format
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
-msgstr "Tentativo di modifica impostazioni TFA fallito da '%(addr)s' come utente '%(user)s'"
+msgstr ""
+"Tentativo di modifica impostazioni TFA fallito da '%(addr)s' come utente "
+"'%(user)s'"
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
msgid "Invalid password"
@@ -1256,10 +1348,11 @@ msgstr "Numero di cicli non valido"
msgid "This code is invalid"
msgstr "Questo codice non è valido"
-#: core/api/v2/serializers.py:496 core/views/auth.py:213
-#: core/views/auth.py:266
+#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
msgid "Please use the following code to recover your Modoboa password: {}"
-msgstr "Per favore usa il seguente codice per recuperare la tua password di Modoboa: {}"
+msgstr ""
+"Per favore usa il seguente codice per recuperare la tua password di Modoboa: "
+"{}"
#: core/api/v2/viewsets.py:176
msgid "Administration console"
@@ -1304,7 +1397,8 @@ msgstr "Schema password predefinito"
#: core/app_settings.py:42
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:49
msgid "Rounds"
@@ -1314,7 +1408,9 @@ msgstr "Cicli"
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."
+msgstr ""
+"Numero di cicli da utilizzare (valido per sha256crypt e sha512crypt). Deve "
+"essere compreso tra 1000 e 999999999."
#: core/app_settings.py:61
msgid "Update password scheme at login"
@@ -1322,7 +1418,9 @@ msgstr "Aggiorna lo schema della password al login"
#: core/app_settings.py:64
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:72
msgid "Default password"
@@ -1357,7 +1455,10 @@ 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 di una pagina esterna dove gli utenti potranno aggiornare la loro password. Si applica solo agli utenti non locali, ad esempio quelli creati automaticamente dopo un'autenticazione esterna riuscita (LDAP, SMTP)."
+msgstr ""
+"L'URL di una pagina esterna dove gli utenti potranno aggiornare la loro "
+"password. Si applica solo agli utenti non locali, ad esempio quelli creati "
+"automaticamente dopo un'autenticazione esterna riuscita (LDAP, SMTP)."
#: core/app_settings.py:114
msgid "Password recovery announcement"
@@ -1365,7 +1466,8 @@ msgstr "Annuncio di ripristino password"
#: core/app_settings.py:116
msgid "A temporary message that will be displayed on the reset password page."
-msgstr "Un messaggio temporaneo verrà mostrato nella pagina di reset della password"
+msgstr ""
+"Un messaggio temporaneo verrà mostrato nella pagina di reset della password"
#: core/app_settings.py:125
msgid "Enable password recovery by SMS"
@@ -1373,7 +1475,9 @@ msgstr "Abilita il ripristino della password tramite SMS"
#: core/app_settings.py:128
msgid "Enable password recovery by SMS for users who filled a phone number."
-msgstr "Abilita il ripristino della password tramite SMS per gli utenti che hanno inserito il numero di telefono"
+msgstr ""
+"Abilita il ripristino della password tramite SMS per gli utenti che hanno "
+"inserito il numero di telefono"
#: core/app_settings.py:136
msgid "SMS provider"
@@ -1414,7 +1518,9 @@ msgstr "Abilita server secondario (fallback)"
#: core/app_settings.py:179
msgid ""
"Enable a secondary LDAP server which will be used if the primary one fails"
-msgstr "Abilita un server LDAP secondario che verrà utilizzato se quello primario fallisce"
+msgstr ""
+"Abilita un server LDAP secondario che verrà utilizzato se quello primario "
+"fallisce"
#: core/app_settings.py:187
msgid "Secondary server address"
@@ -1455,9 +1561,12 @@ msgstr "Gruppi degli amministratori"
#: core/app_settings.py:227
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."
+"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:236
msgid "Group type"
@@ -1473,7 +1582,9 @@ msgstr "Base di ricerca per i gruppi"
#: core/app_settings.py:247
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:255
msgid "Password attribute"
@@ -1503,7 +1614,9 @@ msgstr "Collega DN"
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"
+msgstr ""
+"DN (Nome distinto univoco) da usare quando ci si collega al server LDAP. "
+"Lasciare vuoto per un collegamento anonimo"
#: core/app_settings.py:293 core/app_settings.py:355
msgid "Bind password"
@@ -1511,7 +1624,9 @@ msgstr "Password del collegamento"
#: core/app_settings.py:295 core/app_settings.py:357
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:305 core/app_settings.py:410
msgid "Users search base"
@@ -1519,7 +1634,9 @@ msgstr "Base di ricerca per gli utenti"
#: core/app_settings.py:307 core/app_settings.py:412
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:316 core/app_settings.py:421
msgid "Search filter"
@@ -1529,7 +1646,9 @@ msgstr "Filtro ricerca"
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr "Una stringa di filtro opzionale (p.es. '(objectClass=person)'). Per essere valida, deve essere racchiusa tra parentesi."
+msgstr ""
+"Una stringa di filtro opzionale (p.es. '(objectClass=person)'). Per essere "
+"valida, deve essere racchiusa tra parentesi."
#: core/app_settings.py:327
msgid "User DN template"
@@ -1540,7 +1659,9 @@ msgstr "Modello DN dell'utente"
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)"
+msgstr ""
+"Il modello utilizzato per comporre il DN degli utenti. Deve contenere un "
+"segnaposto (p.es. %(user)s)"
#: core/app_settings.py:338
msgid "LDAP synchronization settings"
@@ -1553,7 +1674,9 @@ msgstr "Abilita esportazione su LDAP"
#: core/app_settings.py:368
msgid ""
"Enable automatic synchronization between local database and LDAP directory"
-msgstr "Abilita la sincronizzazione automatica tra il database locale e la directory LDAP"
+msgstr ""
+"Abilita la sincronizzazione automatica tra il database locale e la directory "
+"LDAP"
#: core/app_settings.py:377
msgid "Delete remote LDAP account when local account is deleted"
@@ -1563,7 +1686,9 @@ msgstr "Elimina l'account LDAP remoto quando l'account locale viene eliminato"
msgid ""
"Delete remote LDAP account when local account is deleted, otherwise it will "
"be disabled."
-msgstr "Elimina l'account LDAP remoto quando l'account locale viene eliminato, altrimenti verrà disabilitato."
+msgstr ""
+"Elimina l'account LDAP remoto quando l'account locale viene eliminato, "
+"altrimenti verrà disabilitato."
#: core/app_settings.py:389
msgid "Account DN template"
@@ -1574,7 +1699,9 @@ msgstr "Modello DN dell'account"
msgid ""
"The template used to construct an account's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "Il modello utilizzato per costruire il DN di un account. Deve contenere un segnaposto (es. %(user)s)"
+msgstr ""
+"Il modello utilizzato per costruire il DN di un account. Deve contenere un "
+"segnaposto (es. %(user)s)"
#: core/app_settings.py:400
msgid "Enable import from LDAP"
@@ -1582,7 +1709,9 @@ msgstr "Abilita l'importazione da LDAP"
#: core/app_settings.py:402
msgid "Enable account synchronization from LDAP directory to local database"
-msgstr "Abilita la sincronizzazione degli account dalla directory LDAP al database locale"
+msgstr ""
+"Abilita la sincronizzazione degli account dalla directory LDAP al database "
+"locale"
#: core/app_settings.py:432
msgid "Username attribute"
@@ -1598,7 +1727,9 @@ msgstr "Abilita la sincronizzazione LDAP di Dovecot"
#: core/app_settings.py:445
msgid "LDAP authentication settings will be applied to Dovecot configuration."
-msgstr "Le impostazioni di autenticazione LDAP verranno applicate alla configurazione di Dovecot."
+msgstr ""
+"Le impostazioni di autenticazione LDAP verranno applicate alla "
+"configurazione di Dovecot."
#: core/app_settings.py:453
msgid "Dovecot LDAP config file"
@@ -1607,7 +1738,9 @@ msgstr "File di configurazione LDAP di Dovecot"
#: core/app_settings.py:455
msgid ""
"Location of the configuration file which contains Dovecot LDAP settings."
-msgstr "Posizione del file di configurazione che contiene le impostazioni LDAP di Dovecot."
+msgstr ""
+"Posizione del file di configurazione che contiene le impostazioni LDAP di "
+"Dovecot."
#: core/app_settings.py:468
msgid "Dashboard"
@@ -1619,7 +1752,9 @@ msgstr "Messaggio di benvenuto personalizzato"
#: core/app_settings.py:476
msgid "A welcome message that will be displayed instead the default one"
-msgstr "Un messaggio di benvenuto che verrà visualizzato al posto di quello predefinito"
+msgstr ""
+"Un messaggio di benvenuto che verrà visualizzato al posto di quello "
+"predefinito"
#: core/app_settings.py:483
msgid "Custom RSS feed"
@@ -1643,7 +1778,8 @@ msgstr "Nascondi il widget delle feature"
#: core/app_settings.py:507
msgid "Hide features widget for resellers and domain administrators"
-msgstr "Nascondi il widget delle funzioni per rivenditori e amministratori di dominio"
+msgstr ""
+"Nascondi il widget delle funzioni per rivenditori e amministratori di dominio"
#: core/app_settings.py:519
msgid "Theme"
@@ -1657,7 +1793,9 @@ msgstr "Colore principale del tema"
msgid ""
"Primary color of the theme (hexadecimal code), used as the background color "
"of the left menu for example"
-msgstr "Colore principale del tema (codice esadecimale), utilizzato ad esempio come colore di sfondo del menu a sinistra"
+msgstr ""
+"Colore principale del tema (codice esadecimale), utilizzato ad esempio come "
+"colore di sfondo del menu a sinistra"
#: core/app_settings.py:536
msgid "Primary theme color (lighter version)"
@@ -1679,7 +1817,9 @@ msgstr "Colore secondario del tema"
msgid ""
"Secondary color of the theme (hexadecimal code), used as the background "
"color of some buttons for example"
-msgstr "Colore secondario del tema (codice esadecimale), utilizzato ad esempio come colore di sfondo di alcuni pulsanti"
+msgstr ""
+"Colore secondario del tema (codice esadecimale), utilizzato ad esempio come "
+"colore di sfondo di alcuni pulsanti"
#: core/app_settings.py:569
msgid "Labels theme color"
@@ -1739,7 +1879,9 @@ msgstr "Invia statistiche"
#: core/app_settings.py:652
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:671
msgid "Enable inactive account tracking"
@@ -1747,9 +1889,12 @@ msgstr "Abilita il tracciamento degli account inattivi"
#: core/app_settings.py:674
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 "Consente all'amministratore di impostare una soglia (in giorni) oltre la quale un account è considerato inattivo se l'utente non ha effettuato l'accesso"
+"Allow the administrator to set a threshold (in days) beyond which an account "
+"is considered inactive if the user hasn't logged in"
+msgstr ""
+"Consente all'amministratore di impostare una soglia (in giorni) oltre la "
+"quale un account è considerato inattivo se l'utente non ha effettuato "
+"l'accesso"
#: core/app_settings.py:683
msgid "Inactive account threshold"
@@ -1757,9 +1902,11 @@ msgstr "Soglia account inattivo"
#: core/app_settings.py:686
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"
+"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:695
msgid "Top notifications check interval"
@@ -1783,7 +1930,9 @@ msgstr "Tempo di conservazione nella cronologia dei messaggi"
#: core/app_settings.py:718
msgid "Retention time (in days) of a message in the message history section"
-msgstr "Tempo di conservazione (in giorni) di un messaggio nella sezione cronologia messaggi"
+msgstr ""
+"Tempo di conservazione (in giorni) di un messaggio nella sezione cronologia "
+"messaggi"
#: core/app_settings.py:725
msgid "Items per page"
@@ -1798,7 +1947,10 @@ 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 "Hai impostato USE_TZ su False, questo potrebbe causare problemi durante i passaggi tra ora legale/solare (ovvero lo stesso orario locale che si verifica due volte a causa del cambio dell'ora)."
+msgstr ""
+"Hai impostato USE_TZ su False, questo potrebbe causare problemi durante i "
+"passaggi tra ora legale/solare (ovvero lo stesso orario locale che si "
+"verifica due volte a causa del cambio dell'ora)."
#: core/checks.py:19
msgid "Set `USE_TZ = True` in settings.py"
@@ -1816,27 +1968,33 @@ msgstr "Aggiorna lo schema della tua password a uno più robusto"
msgid ""
"Oauth2 application for dovecot has not been found. Webmail and some other "
"features won't be available."
-msgstr "L'applicazione Oauth2 per dovecot non è stata trovata. La webmail e alcune altre funzioni non saranno disponibili."
+msgstr ""
+"L'applicazione Oauth2 per dovecot non è stata trovata. La webmail e alcune "
+"altre funzioni non saranno disponibili."
#: core/checks.py:34
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
-"oauth2"
-msgstr "Visita: https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
+msgstr ""
+"Visita: https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
#: core/checks.py:41
msgid ""
"Oauth2 application for radicale has not been found. Calendar and some other "
"features won't be available."
-msgstr "L'applicazione Oauth2 per radicale non è stata trovata. Il calendario e alcune altre funzioni non saranno disponibili."
+msgstr ""
+"L'applicazione Oauth2 per radicale non è stata trovata. Il calendario e "
+"alcune altre funzioni non saranno disponibili."
#: core/checks.py:45
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
-"oauth2"
-msgstr "Visita: https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
+msgstr ""
+"Visita: https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
#: core/constants.py:6
msgid "Simple user"
@@ -1935,7 +2093,9 @@ msgstr "Consenti l'accesso alle caselle di posta"
#: core/models.py:73
msgid "Allow this administrator to access user mailboxes"
-msgstr "Permetti a questo amministratore di accedere alle caselle di posta degli utenti"
+msgstr ""
+"Permetti a questo amministratore di accedere alle caselle di posta degli "
+"utenti"
#: core/models.py:75
msgid "password"
@@ -1959,7 +2119,8 @@ msgstr "Email alternativa"
#: core/models.py:91
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:150
msgid "Failed to update password: LDAP module not installed"
@@ -2015,7 +2176,8 @@ msgstr[2] "La password deve contenere almeno {} caratteri speciali."
#: 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:102
msgid "API endpoint"
@@ -2072,9 +2234,15 @@ msgid ""
msgid_plural ""
"\n"
" The following updates are available:\n"
-msgstr[0] "\n Il seguente aggiornamento è disponibile:\n"
-msgstr[1] "\n I seguenti aggiornamenti sono disponibili:\n"
-msgstr[2] "\n I seguenti aggiornamenti sono disponibili:\n"
+msgstr[0] ""
+"\n"
+" Il seguente aggiornamento è disponibile:\n"
+msgstr[1] ""
+"\n"
+" I seguenti aggiornamenti sono disponibili:\n"
+msgstr[2] ""
+"\n"
+" I seguenti aggiornamenti sono disponibili:\n"
#: core/utils.py:43
msgid "The core part of Modoboa"
@@ -2088,12 +2256,16 @@ msgstr "L'utente '%s' è correttamente registrato"
#: core/views/auth.py:128
#, python-format
msgid "Password scheme mismatch. Updating %s password"
-msgstr "Mancata corrispondenza dello schema della password. Aggiornamento della password di %s"
+msgstr ""
+"Mancata corrispondenza dello schema della password. Aggiornamento della "
+"password di %s"
#: core/views/auth.py:135
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Mancata corrispondenza del parametro hash della password. Aggiornamento della password di %s"
+msgstr ""
+"Mancata corrispondenza del parametro hash della password. Aggiornamento "
+"della password di %s"
#: core/views/auth.py:173
msgid "User '{}' successfully logged out"
@@ -2109,7 +2281,8 @@ msgstr "Abilita il reverse lookup"
#: dmarc/forms.py:23
msgid "Enable reverse DNS lookups (reports will be longer to display)"
-msgstr "Abilità il reverse DNS lookup (i report saranno più lunghi da visualizzare)"
+msgstr ""
+"Abilità il reverse DNS lookup (i report saranno più lunghi da visualizzare)"
#: dmarc/forms.py:42
msgid "DMARC"
@@ -2296,7 +2469,9 @@ msgstr "Esclusioni filtro cartelle"
msgid ""
"Use a regular expression to explicitly include folders in sync. Example: "
"^Trash$|Del"
-msgstr "Usa una espressione regolare per includere esplicitamente le cartelle nella sincronizzazione. Esempio: ^Trash$|Del"
+msgstr ""
+"Usa una espressione regolare per includere esplicitamente le cartelle nella "
+"sincronizzazione. Esempio: ^Trash$|Del"
#: imap_migration/app_settings.py:74
msgid "Folder Filter Inclusions"
@@ -2307,7 +2482,10 @@ 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 "Un elenco separato da virgole di cartelle da includere esplicitamente nella sincronizzazione anche se filtrate dalle esclusioni del filtro cartelle. Esempio: debian.user, debian.personal "
+msgstr ""
+"Un elenco separato da virgole di cartelle da includere esplicitamente nella "
+"sincronizzazione anche se filtrate dalle esclusioni del filtro cartelle. "
+"Esempio: debian.user, debian.personal "
#: imap_migration/apps.py:20
msgid "IMAP Migration"
@@ -2317,12 +2495,15 @@ msgstr "Migrazione IMAP"
msgid ""
"Automatic domain/mailbox creation is disabled which means IMAP "
"authentication won't work."
-msgstr "La creazione automatica di domini / caselle postali è disabilitata, ciò significa che l'autenticazione IMAP non funzionerà."
+msgstr ""
+"La creazione automatica di domini / caselle postali è disabilitata, ciò "
+"significa che l'autenticazione IMAP non funzionerà."
#: imap_migration/checks.py:16
msgid ""
"Go to the online parameters panel (admin tab) and activate this feature."
-msgstr "Vai al pannello dei parametri online (scheda admin) e attiva questa funzione."
+msgstr ""
+"Vai al pannello dei parametri online (scheda admin) e attiva questa funzione."
#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
@@ -2391,13 +2572,17 @@ msgstr "Amministratori di domini"
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)"
+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:41
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)"
+msgstr ""
+"Il numero massimo di domini per nuovi amministratori. (0 per disabilitare la "
+"creazione, -1 per permettere la creazione illimitata)"
#: limits/app_settings.py:49 limits/app_settings.py:123 limits/constants.py:22
#: limits/constants.py:76
@@ -2406,15 +2591,19 @@ msgstr "Alias del dominio"
#: limits/app_settings.py:52
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)"
+"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:64
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)"
+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:73 limits/app_settings.py:146 limits/constants.py:39
#: limits/constants.py:92
@@ -2425,7 +2614,9 @@ msgstr "Alias delle caselle di posta"
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)"
+msgstr ""
+"Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la "
+"creazione, -1 per permettere la creazione illimitata)"
#: limits/app_settings.py:84 limits/constants.py:59
msgid "Quota"
@@ -2435,7 +2626,9 @@ msgstr "Quota"
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)"
+msgstr ""
+"La dimensione massima che un rivenditore potrà condividere tra i domini che "
+"crea. (0 significa nessun limite)"
#: limits/app_settings.py:98
msgid "Default per-domain limits"
@@ -2451,27 +2644,35 @@ msgstr "Abilita o disabilita i limiti per dominio"
#: limits/app_settings.py:114
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)"
+"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:126
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)"
+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:138
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)"
+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:149
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)"
+"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:16
msgid "Limits"
@@ -2491,11 +2692,13 @@ msgstr "Numero massimo di caselle di posta che questo utente può creare"
#: 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: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:60
msgid "Quota shared between domains of this reseller"
@@ -2511,11 +2714,13 @@ msgstr "Numero massimo di caselle di posta consentite per questo dominio."
#: 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: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/lib.py:19
#, python-format
@@ -2536,7 +2741,8 @@ msgstr "senza limiti"
#: maillog/api/v2/serializers.py:35
msgid "You must provide start and end dates when period is custom"
-msgstr "Devi fornire le date di inizio e fine quando il periodo è personalizzato"
+msgstr ""
+"Devi fornire le date di inizio e fine quando il periodo è personalizzato"
#: maillog/apps.py:20
msgid "Path to the log file"
@@ -2560,7 +2766,8 @@ msgstr "Mostra messaggi in lista grigia (greylisted)"
#: maillog/apps.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
-msgstr "Differenzia tra rifiuti definitivi (hard) e temporanei (soft - greylisting)"
+msgstr ""
+"Differenzia tra rifiuti definitivi (hard) e temporanei (soft - greylisting)"
#: maillog/apps.py:60
msgid "Statistics"
@@ -2570,63 +2777,63 @@ msgstr "Statistiche"
msgid "Failed to locate rrdtool binary."
msgstr "Impossibile individuare il binario rrdtool."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Media traffico (messaggi/minuto)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "messaggi inviati"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "messaggi ricevuti"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "messaggi di rimbalzo"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "messaggi respinti"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "messaggi virus"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "messaggi spam"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "messaggi in lista grigia"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Media traffico (bytes/minuto)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "dimensione di ricezione"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "dimensione di spedizione"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Traffico mail"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Media creazione account (account/ora)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Nuovi account"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Account"
@@ -2648,7 +2855,9 @@ msgstr "Abilita credenziali PDF"
#: pdfcredentials/app_settings.py:21
msgid "Enabled PDF credentials document generation on account creation."
-msgstr "Abilita la generazione del documento delle credenziali PDF alla creazione dell'account."
+msgstr ""
+"Abilita la generazione del documento delle credenziali PDF alla creazione "
+"dell'account."
#: pdfcredentials/app_settings.py:32
msgid "Documents storage"
@@ -2674,7 +2883,9 @@ msgstr "Cancella i documenti dopo averli scaricati"
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"
+msgstr ""
+"Elimina automaticamente il documento dopo che è stato scaricato da questa "
+"interfaccia"
#: pdfcredentials/app_settings.py:68
msgid "Generate documents only at account creation"
@@ -2684,7 +2895,10 @@ msgstr "Genera documenti solo dopo la creazione dell'account"
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."
+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:84
msgid "Customization options"
@@ -2722,7 +2936,9 @@ msgstr "Includi le impostazioni di connessione del client di posta"
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"
+msgstr ""
+"Includi le informazioni di connessione SMTP e IMAP richieste per configurare "
+"un client di posta, un tablet o telefono"
#: pdfcredentials/app_settings.py:123 pdfcredentials/documents.py:133
msgid "SMTP server address"
@@ -2783,7 +2999,11 @@ msgid ""
"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 "\nGentile %s, questo documento contiene le credenziali di accesso \nper accedere a Modoboa. Leggilo e elimina\n il documento il prima possibile.\n"
+msgstr ""
+"\n"
+"Gentile %s, questo documento contiene le credenziali di accesso \n"
+"per accedere a Modoboa. Leggilo e elimina\n"
+" il documento il prima possibile.\n"
#: pdfcredentials/documents.py:95
msgid "Web panel:"
@@ -2802,7 +3022,10 @@ msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
"your contacts.\n"
-msgstr "\nQui puoi sempre visualizzare le tue email onlime, creare filtri\no gestire i tuoi contatti.\n"
+msgstr ""
+"\n"
+"Qui puoi sempre visualizzare le tue email onlime, creare filtri\n"
+"o gestire i tuoi contatti.\n"
#: pdfcredentials/documents.py:126
msgid "Please change your password!"
@@ -2820,7 +3043,9 @@ msgstr "Utilizza quelle impostazioni per il tuo computer, tablet o telefono."
msgid ""
"Failed to create PDF_credentials directory. Please check the permissions or "
"the path."
-msgstr "Impossibile creare la cartella PDF_credentials. Per favore controlla i permessi o il percorso."
+msgstr ""
+"Impossibile creare la cartella PDF_credentials. Per favore controlla i "
+"permessi o il percorso."
#: pdfcredentials/handlers.py:64
msgid "Download PDF credentials"
@@ -2828,7 +3053,9 @@ msgstr "Scarica le credenziali PDF"
#: pdfcredentials/lib.py:29
msgid "Can't write to selected directory to store PDF documents"
-msgstr "Impossibile scrivere nella cartella selezionata per memorizzare i documenti PDF"
+msgstr ""
+"Impossibile scrivere nella cartella selezionata per memorizzare i documenti "
+"PDF"
#: pdfcredentials/lib.py:35
#, python-format
@@ -2839,7 +3066,9 @@ msgstr "Impossibile creare la cartella che conterrà i documenti PDF (%s)"
msgid ""
"Failed to create PDF_credentials file. Please check the permissions or the "
"path."
-msgstr "Impossibile creare il file PDF_credentials. Per favore controlla i permessi o il percorso."
+msgstr ""
+"Impossibile creare il file PDF_credentials. Per favore controlla i permessi "
+"o il percorso."
#: policyd/core.py:99
msgid "Daily sending limit reached"
@@ -2856,7 +3085,8 @@ msgstr "[modoboa] Limite di invio raggiunto"
#: policyd/templates/policyd/notifications/limit_reached.html:3
#, python-format
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
-msgstr "Il limite giornaliero per il seguente %(ltype)s è stato raggiunto: %(name)s."
+msgstr ""
+"Il limite giornaliero per il seguente %(ltype)s è stato raggiunto: %(name)s."
#: relaydomains/api/v1/serializers.py:24
msgid "Unsupported service"
@@ -2896,9 +3126,11 @@ msgstr "Percorso mappa chiavi (Key map)"
#: rspamd/app_settings.py:21
msgid ""
-"Absolute path of the file which contains paths to DKIM private keys. Must be"
-" readable by _rspamd group or user."
-msgstr "Percorso assoluto del file che contiene i percorsi delle chiavi private DKIM. Deve essere leggibile dal gruppo o utente _rspamd."
+"Absolute path of the file which contains paths to DKIM private keys. Must be "
+"readable by _rspamd group or user."
+msgstr ""
+"Percorso assoluto del file che contiene i percorsi delle chiavi private "
+"DKIM. Deve essere leggibile dal gruppo o utente _rspamd."
#: rspamd/app_settings.py:30
msgid "Selector map path"
@@ -2908,7 +3140,9 @@ msgstr "Percorso mappa selettori (Selector map)"
msgid ""
"Absolute path of the file which contains names of DKIM selectors. Must be "
"readable by _rspamd group or user."
-msgstr "Percorso assoluto del file che contiene i nomi dei selettori DKIM. Deve essere leggibile dal gruppo o utente _rspamd."
+msgstr ""
+"Percorso assoluto del file che contiene i nomi dei selettori DKIM. Deve "
+"essere leggibile dal gruppo o utente _rspamd."
#: rspamd/app_settings.py:51
msgid "Rspamd dashboard location"
@@ -2916,10 +3150,13 @@ msgstr "Posizione della dashboard Rspamd"
#: rspamd/app_settings.py:53
msgid ""
-"Location of the rspamd dashboard. Can either be a relative URL (eg. "
-"'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
+"Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
+"rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
"guidance on the Super-Admin dashboard."
-msgstr "Posizione della dashboard di rspamd. Può essere una URL relativa (es. '/rspamd') o una URL completa (es. 'https://rspamd.dominio.tld/'). Usata solo come riferimento nella dashboard Super-Admin."
+msgstr ""
+"Posizione della dashboard di rspamd. Può essere una URL relativa (es. '/"
+"rspamd') o una URL completa (es. 'https://rspamd.dominio.tld/'). Usata solo "
+"come riferimento nella dashboard Super-Admin."
#: rspamd/apps.py:18
msgid "Rspamd"
@@ -2998,7 +3235,7 @@ msgstr "è"
msgid "is not"
msgstr "non è"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Oggetto"
@@ -3044,7 +3281,8 @@ msgstr "Termina l'elaborazione"
#: sievefilters/lib.py:49
msgid "Connection to MANAGESIEVE server failed, check your configuration"
-msgstr "Connessione al server MANAGESIEVE fallita, controlla la tua configurazione"
+msgstr ""
+"Connessione al server MANAGESIEVE fallita, controlla la tua configurazione"
#: sievefilters/lib.py:76
msgid "Not enough space on server"
@@ -3099,7 +3337,8 @@ msgstr "Password dimenticata?"
msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
-msgstr "La tua password è stata impostata. Ora puoi accedere."
+msgstr ""
+"La tua password è stata impostata. Ora puoi accedere."
#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
@@ -3115,7 +3354,9 @@ msgstr "Invia"
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."
+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:22
msgid "Enter the code you've just received by SMS"
@@ -3135,7 +3376,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 "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.
"
+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
@@ -3143,14 +3389,18 @@ msgstr "Ti abbiamo inviato una email con le istruzioni per l'impostazione del
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:"
+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."
+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
@@ -3179,9 +3429,11 @@ msgstr "Password monouso (OTP)"
#: templates/registration/twofactor_code_verify.html:35
msgid ""
-"Enter the code from the two-factor app on your mobile device. If you've lost"
-" your device, you may enter one of your recovery codes."
-msgstr "Inserisci il codice dall'app a due fattori sul tuo dispositivo mobile. Se hai perso il dispositivo, puoi inserire uno dei tuoi codici di recupero."
+"Enter the code from the two-factor app on your mobile device. If you've lost "
+"your device, you may enter one of your recovery codes."
+msgstr ""
+"Inserisci il codice dall'app a due fattori sul tuo dispositivo mobile. Se "
+"hai perso il dispositivo, puoi inserire uno dei tuoi codici di recupero."
#: templates/registration/twofactor_code_verify.html:42
msgid "Verify code"
@@ -3218,7 +3470,8 @@ msgstr "Dimensione massima degli allegati"
#: webmail/app_settings.py:19
msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)"
-msgstr "Dimensione massima degli allegati in bytes (o KB, MB, GB se specificato)"
+msgstr ""
+"Dimensione massima degli allegati in bytes (o KB, MB, GB se specificato)"
#: webmail/app_settings.py:67
msgid "SMTP settings"
@@ -3258,7 +3511,8 @@ msgstr "Modalità di visualizzazione del messaggio predefinita"
#: webmail/app_settings.py:163
msgid "The default mode used when displaying a message"
-msgstr "La modalità di visualizzazione predefinita quando viene mostrato il messaggio"
+msgstr ""
+"La modalità di visualizzazione predefinita quando viene mostrato il messaggio"
#: webmail/app_settings.py:170
msgid "Enable HTML links display"
@@ -3348,19 +3602,19 @@ msgstr "Signature delle e-mail personalizzato dall'utente"
msgid "Server response"
msgstr "Risposta del server"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "Rimozione allegato fallita: "
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr "scritto:"
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Data"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr "Messaggio originale"
@@ -3392,19 +3646,19 @@ msgstr "Pianificati"
msgid "Trash"
msgstr "Cestino"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr "Spostare i messaggi pianificati non è consentito"
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr "È permessa solo una data e ora nel futuro"
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr "La data e l'ora fornite devono essere almeno un minuto nel futuro"
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "L'allegato è troppo grande (limite: %s)"
diff --git a/modoboa/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/locale/ja_JP/LC_MESSAGES/django.po
index 8c8a68147..2a1ecddfe 100644
--- a/modoboa/locale/ja_JP/LC_MESSAGES/django.po
+++ b/modoboa/locale/ja_JP/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:
# cwatanab , 2016
# Ian Moone, 2014
@@ -12,25 +12,30 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: INOUE Daisuke, 2025-2026\n"
-"Language-Team: Japanese (Japan) (http://app.transifex.com/tonio/modoboa/language/ja_JP/)\n"
+"Language-Team: Japanese (Japan) (http://app.transifex.com/tonio/modoboa/"
+"language/ja_JP/)\n"
+"Language: ja_JP\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ja_JP\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: admin/api/v1/serializers.py:39
msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
-msgstr "すべてのメールボックス全体の容量制限。KB、MB(デフォルト)または GB で指定します。値を 0 にすると容量制限しないことを意味します。"
+msgstr ""
+"すべてのメールボックス全体の容量制限。KB、MB(デフォルト)または GB で指定し"
+"ます。値を 0 にすると容量制限しないことを意味します。"
#: admin/api/v1/serializers.py:46
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "メールボックスの容量制限のデフォルト値を MB で指定します。値を 0 にすると容量制限しません。"
+msgstr ""
+"メールボックスの容量制限のデフォルト値を MB で指定します。値を 0 にすると容量"
+"制限しません。"
#: admin/api/v1/serializers.py:94
msgid "domain alias with this name already exists"
@@ -45,12 +50,12 @@ msgid "Cannot be greater than domain quota"
msgstr "ドメインの容量制限より大きくすることはできません"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "権限がありません。"
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -61,7 +66,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "管理下ドメインリスト ( リセラーとドメイン管理者のみ )"
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "このロールは許可されていません。"
@@ -69,12 +74,12 @@ msgstr "このロールは許可されていません。"
msgid "Must be equal to mailbox full_address"
msgstr "メールボックスの full_address と同じにしてください"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "このフィールドは必須です。"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "ローカルドメイン {} は、存在しません"
@@ -98,56 +103,56 @@ msgstr "このメールボックスにアクセスできません。"
msgid "Here is your new Modoboa password: {}"
msgstr "Modoboa の新しいパスワード : {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "DKIM キー保存ディレクトリーを設定してください"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "この項目はリレードメインの設定の際に有効です"
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "容量制限を無制限に設定できません。"
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "ユーザー「%s」はすでに存在します"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "正の整数を入力してください"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr "openssl が見つかりません。インストールを確認してください。"
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "ディレクトリーが見つかりません。"
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr "有効な IP アドレス ( またはネットワーク ) を入力してください"
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr "この設定を無効にする前に、IMAP 移行を無効にしてください。"
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "認証済みのネットワークかアドレスを少なくとも 1 つ以上定義してください"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr "メールアドレスの左部分を 64 文字以下にしてください。"
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "エイリアスを作成するにはメールボックスが必要です。"
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "不明な状態"
@@ -177,9 +182,11 @@ msgstr "有効な MX"
#: admin/app_settings.py:37
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 "各 MX レコードにマッチすることを期待する IP またはネットワークアドレスのリスト。レコードが期待通りでない場合は、警告を送信します。"
+"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 ""
+"各 MX レコードにマッチすることを期待する IP またはネットワークアドレスのリス"
+"ト。レコードが期待通りでない場合は、警告を送信します。"
#: admin/app_settings.py:47
msgid "New domains must use authorized MX(s)"
@@ -189,7 +196,9 @@ msgstr "新しいドメインには承認済みの MX 利用を強制"
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
-msgstr "MX レコードが定義したアドレスのいずれかを使用していない場合、新しいドメインの作成を防止します。"
+msgstr ""
+"MX レコードが定義したアドレスのいずれかを使用していない場合、新しいドメインの"
+"作成を防止します。"
#: admin/app_settings.py:59
msgid "Enable IPV6 checks"
@@ -213,7 +222,9 @@ msgstr "DKIM チェック有効"
#: admin/app_settings.py:80
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "各 DKIM 署名のあるすべてのドメインに有効な DNS レコードがあるかをチェックします"
+msgstr ""
+"各 DKIM 署名のあるすべてのドメインに有効な DNS レコードがあるかをチェックしま"
+"す"
#: admin/app_settings.py:88
msgid "Enable DMARC checks"
@@ -255,7 +266,9 @@ msgstr "カスタム DNS サーバー"
#: admin/app_settings.py:130
msgid "Use a custom DNS server instead of local server configuration"
-msgstr "ローカルサーバーで設定された DNS サーバーではなく、カスタム DNS サーバーを利用します"
+msgstr ""
+"ローカルサーバーで設定された DNS サーバーではなく、カスタム DNS サーバーを利"
+"用します"
#: admin/app_settings.py:138
msgid "DKIM keys storage directory"
@@ -266,7 +279,9 @@ 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 "DKIM プライベートキーを保存するディレクトリーの絶対パス。このディレクトリーが root ユーザー所有で、外の世界からは読めないことを確認してください。"
+msgstr ""
+"DKIM プライベートキーを保存するディレクトリーの絶対パス。このディレクトリー"
+"が root ユーザー所有で、外の世界からは読めないことを確認してください。"
#: admin/app_settings.py:149
msgid "Default DKIM key length"
@@ -284,7 +299,9 @@ msgstr "ドメイン容量制限のデフォルト"
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
-msgstr "特に値をせずに新たにドメインを作成する際の容量制限のデフォルト値 ( MB ) 。値を 0 にすると容量制限しません。"
+msgstr ""
+"特に値をせずに新たにドメインを作成する際の容量制限のデフォルト値 ( MB ) 。値"
+"を 0 にすると容量制限しません。"
#: admin/app_settings.py:168
msgid "Default domain sending limit"
@@ -294,7 +311,9 @@ msgstr "ドメイン送信通数制限のデフォルト"
msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
-msgstr "新たにドメインを作成する際、1 日間に送信可能なメッセージ数。空にすると制限しません。"
+msgstr ""
+"新たにドメインを作成する際、1 日間に送信可能なメッセージ数。空にすると制限し"
+"ません。"
#: admin/app_settings.py:182 limits/app_settings.py:61
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
@@ -309,9 +328,11 @@ msgstr "ファイルシステムのメールボックスも操作"
msgid ""
"Rename or remove mailboxes on the filesystem when they get renamed or "
"removed within Modoboa"
-msgstr "Modoboa でメールボックスを変名・削除すると、ファイルシステム上も変名・削除する"
+msgstr ""
+"Modoboa でメールボックスを変名・削除すると、ファイルシステム上も変名・削除す"
+"る"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "メールボックス容量制限のデフォルト"
@@ -319,7 +340,9 @@ msgstr "メールボックス容量制限のデフォルト"
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
-msgstr "特に値をせずに新たにドメインを作成する際の、メールボックスの容量制限のデフォルト値 ( MB ) 。値を 0 にすると容量制限しません。"
+msgstr ""
+"特に値をせずに新たにドメインを作成する際の、メールボックスの容量制限のデフォ"
+"ルト値 ( MB ) 。値を 0 にすると容量制限しません。"
#: admin/app_settings.py:209
msgid "Default mailbox sending limit"
@@ -329,7 +352,9 @@ msgstr "メールボックス送信通数制限のデフォルト"
msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
-msgstr "新たにメールボックスを作成する際に設定する、1 日に送信できるメッセージ数。空にすると制限しません。"
+msgstr ""
+"新たにメールボックスを作成する際に設定する、1 日に送信できるメッセージ数。空"
+"にすると制限しません。"
#: admin/app_settings.py:219
msgid "Automatic account removal"
@@ -344,8 +369,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "自動ドメイン・メールボックス作成"
#: admin/app_settings.py:233
-msgid ""
-"Create a domain and a mailbox when an account is automatically created."
+msgid "Create a domain and a mailbox when an account is automatically created."
msgstr "アカウントを作成するとドメインとメールボックスも自動で作成します。"
#: admin/app_settings.py:242
@@ -354,7 +378,8 @@ msgstr "メールボックスの変名でエイリアスを作成"
#: admin/app_settings.py:245
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr "メールボックスの名前を変更する際、古いアドレスをエイリアスとして作成します。"
+msgstr ""
+"メールボックスの名前を変更する際、古いアドレスをエイリアスとして作成します。"
#: admin/app_settings.py:257
msgid "Aliases"
@@ -366,7 +391,9 @@ msgstr "エイリアスはどのドメインにも設定可"
#: admin/app_settings.py:265
msgid "Allow aliases to target any domain, not just the local domains."
-msgstr "エイリアスは、ローカルドメインだけでなく、どのドメインに対しても設定できます。"
+msgstr ""
+"エイリアスは、ローカルドメインだけでなく、どのドメインに対しても設定できま"
+"す。"
#: admin/app_settings.py:272
msgid "Alias target block list"
@@ -374,7 +401,8 @@ msgstr "エイリアス対象ブロックリスト"
#: admin/app_settings.py:274
msgid "A list of domains that aliases cannot target (comma separated)."
-msgstr "エイリアスの対象として設定不可とするドメインのリスト ( カンマ区切り ) 。"
+msgstr ""
+"エイリアスの対象として設定不可とするドメインのリスト ( カンマ区切り ) 。"
#: admin/app_settings.py:282
msgid "Alias target allow list"
@@ -433,16 +461,16 @@ msgstr "[modoboa] {} ドメインの MX 問題"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] {} ドメインの DNSBL 問題"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "ドメインエイリアス"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "アカウントインポート失敗 ( %s ) : ドメインがありません"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "アカウントインポート失敗 ( %s ) : 容量制限の値に誤り"
@@ -473,7 +501,8 @@ msgstr "稼働しているサーバーが見つかりません"
#: admin/lib.py:237 admin/tests/test_mx.py:146
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
-msgstr "DNS 名前解決でタイムアウトが発生し、今のところ %s の問い合わせはできません"
+msgstr ""
+"DNS 名前解決でタイムアウトが発生し、今のところ %s の問い合わせはできません"
#: admin/lib.py:241
msgid "DNS name is too long: {}"
@@ -496,7 +525,8 @@ msgstr "%d 個のオブジェクトをインポートしました"
#: admin/management/commands/subcommands/_import.py:97
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
-msgstr "CSV ファイルが UTF-8 でエンコードされていません。エンコードの推測を試みます"
+msgstr ""
+"CSV ファイルが UTF-8 でエンコードされていません。エンコードの推測を試みます"
#: admin/management/commands/subcommands/_import.py:112
#, python-format
@@ -508,17 +538,19 @@ msgstr "CSV ファイルを %(encoding)s エンコードで読んでいます"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "%(encoding)s エンコードでは CSV ファイルをデコードできません"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
-msgstr "DKIM パスが書き込みできません ( 権限問題か、ディレクトリーが存在しないかのいずれかです )"
+msgstr ""
+"DKIM パスが書き込みできません ( 権限問題か、ディレクトリーが存在しないかのい"
+"ずれかです )"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "DKIM プライベートキーの生成に失敗"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "DKIM 公開キーの生成に失敗"
@@ -534,7 +566,7 @@ msgstr "アドレス"
msgid "The alias address."
msgstr "エイリアスアドレス。"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "有効"
@@ -571,67 +603,69 @@ msgstr "ローカル受信者 {}@{} は見つかりません"
msgid "Invalid line: {}"
msgstr "無効な行 : {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "名前"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "ドメイン名"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "メッセージ送信通数制限"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr "このドメインから 1 日に送信できるメッセージ数"
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "このドメインを有効にする前にチェックする"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "DNS チェック有効"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "このドメインを有効にする前に DNS チェックする"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "DKIM 署名を有効"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr "この機能を有効にすると、このドメインの DKIM キーを生成します"
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "キー長"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "行が無効"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{} : ドメインの承認済み MX レコードが見つかりません"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{} : ドメインの容量制限の値が無効です"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr "{} : ドメインの各メールボックスの容量制限の値が無効です"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
-msgstr "{} : 各メールボックスの容量制限の値は、ドメインの容量制限の値より小さくしてください"
+msgstr ""
+"{} : 各メールボックスの容量制限の値は、ドメインの容量制限の値より小さくしてく"
+"ださい"
#: admin/models/domain_alias.py:36
msgid "The alias name"
@@ -691,7 +725,10 @@ 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 "ドメインの格付けが影響を与え、このドメインからのメールが SPAM とみなされる可能性があります。DNSBL 提供元に連絡し、検出された IP アドレスのリストからの削除を依頼する必要があります。"
+msgstr ""
+"ドメインの格付けが影響を与え、このドメインからのメールが SPAM とみなされる可"
+"能性があります。DNSBL 提供元に連絡し、検出された IP アドレスのリストからの削"
+"除を依頼する必要があります。"
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -723,7 +760,9 @@ msgstr "Localpart は大文字・小文字を区別します"
#: amavis/app_settings.py:19
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
-msgstr "この値は amavisd.conf の $localpart_is_case_sensitive の設定値と合致すべきです。"
+msgstr ""
+"この値は amavisd.conf の $localpart_is_case_sensitive の設定値と合致すべきで"
+"す。"
#: amavis/app_settings.py:27
msgid "Recipient delimiter"
@@ -731,7 +770,8 @@ msgstr "受信者の区切り文字"
#: amavis/app_settings.py:29
msgid "Value should match amavisd.conf variable $recipient_delimiter"
-msgstr "この値は amavisd.conf の $recipient_delimiter の設定値と合致すべきです。"
+msgstr ""
+"この値は amavisd.conf の $recipient_delimiter の設定値と合致すべきです。"
#: amavis/app_settings.py:41
msgid "Quarantine settings"
@@ -755,7 +795,8 @@ msgstr "解放したメッセージを削除"
#: amavis/app_settings.py:68
msgid "Remove messages marked as released while cleaning up the database"
-msgstr "データベースのクリーンアップ時に、解放済みマークのメッセージを削除します"
+msgstr ""
+"データベースのクリーンアップ時に、解放済みマークのメッセージを削除します"
#: amavis/app_settings.py:76
msgid "Amavis connection mode"
@@ -865,7 +906,9 @@ msgstr "ドメインごとの手動学習を有効に"
msgid ""
"Allow domain administrators to train Spamassassin (within dedicated per-"
"domain databases)"
-msgstr "ドメイン管理者に Spamassassin(専用のドメインごとのデータベース) のトレーニングを許可する"
+msgstr ""
+"ドメイン管理者に Spamassassin(専用のドメインごとのデータベース) のトレーニン"
+"グを許可する"
#: amavis/app_settings.py:215
msgid "Enable per-user manual learning"
@@ -875,7 +918,8 @@ msgstr "ユーザーごとの手動学習を有効に"
msgid ""
"Allow simple users to personally train Spamassassin (within a dedicated "
"database)"
-msgstr "標準ユーザーに Spamassassin ( 専用のデータベース ) の個人的な学習を許可します"
+msgstr ""
+"標準ユーザーに Spamassassin ( 専用のデータベース ) の個人的な学習を許可します"
#: amavis/app_settings.py:236 webmail/app_settings.py:155
msgid "Display"
@@ -897,17 +941,22 @@ msgstr "Amavis"
msgid ""
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
"by the Amavis database."
-msgstr "AMAVIS_DEFAULT_DATABASE_ENCODING が Amavis データベースで設定している文字エンコーディングと一致しません。"
+msgstr ""
+"AMAVIS_DEFAULT_DATABASE_ENCODING が Amavis データベースで設定している文字エン"
+"コーディングと一致しません。"
#: amavis/checks/settings_checks.py:12
msgid ""
"Check your database character encoding and set/update "
"AMAVIS_DEFAULT_DATABASE_ENCODING."
-msgstr "データベースの文字エンコーディングを確認して、AMAVIS_DEFAULT_DATABASE_ENCODING を設定・更新してください。"
+msgstr ""
+"データベースの文字エンコーディングを確認して、"
+"AMAVIS_DEFAULT_DATABASE_ENCODING を設定・更新してください。"
#: amavis/checks/settings_checks.py:19
msgid "Modoboa Amavis has not been tested using the selected database engine."
-msgstr "Modoboa Amavis は選択したデータベースエンジンを使ったテストをしていません。"
+msgstr ""
+"Modoboa Amavis は選択したデータベースエンジンを使ったテストをしていません。"
#: amavis/checks/settings_checks.py:20
msgid "Try using PostgreSQL, MySQL or MariaDB."
@@ -922,15 +971,15 @@ msgstr "保留中リクエスト"
msgid "Connection to amavis failed: %s"
msgstr "amavis への接続に失敗 : %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr "{} バイナリーが見つかりません"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr "受信者が見つかりません"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr "ローカルドメインが見つかりません"
@@ -956,7 +1005,9 @@ msgstr "デフォルト"
#: amavis/models.py:111
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "ウイルスチェックをする・しないを設定します。「デフォルト」を選択すると全体設定を使用します。"
+msgstr ""
+"ウイルスチェックをする・しないを設定します。「デフォルト」を選択すると全体設"
+"定を使用します。"
#: amavis/models.py:115
msgid "Spam filter"
@@ -964,7 +1015,9 @@ msgstr "SPAM フィルター"
#: amavis/models.py:125
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "SPAM チェックをする・しないを設定します。「デフォルト」を選択すると全体設定を使用します。"
+msgstr ""
+"SPAM チェックをする・しないを設定します。「デフォルト」を選択すると全体設定を"
+"使用します。"
#: amavis/models.py:129
msgid "Banned filter"
@@ -972,7 +1025,9 @@ msgstr "ブロックフィルター"
#: amavis/models.py:139
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "ブロックチェックをする・しないを設定します。「デフォルト」を選択すると全体設定を使用します。"
+msgstr ""
+"ブロックチェックをする・しないを設定します。「デフォルト」を選択すると全体設"
+"定を使用します。"
#: amavis/models.py:170
msgid "Spam marker"
@@ -980,9 +1035,11 @@ msgstr "SPAM マーカー"
#: amavis/models.py:176
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "指定したテキストで SPAM の件名を変更します。「デフォルト」を選択すると全体設定を使用します。"
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"指定したテキストで SPAM の件名を変更します。「デフォルト」を選択すると全体設"
+"定を使用します。"
#: amavis/templates/amavis/notifications/pending_requests.html:3
#, python-format
@@ -1064,7 +1121,9 @@ msgstr "自動応答メッセージを自動生成する際の件名のデフォ
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 "自動応答メッセージを自動生成する際の本文のデフォルト値。「%(name)s」マクロはユーザーのフルネームに置き換えます。"
+msgstr ""
+"自動応答メッセージを自動生成する際の本文のデフォルト値。「%(name)s」マクロは"
+"ユーザーのフルネームに置き換えます。"
#: autoreply/apps.py:15
msgid "Automatic replies"
@@ -1121,7 +1180,8 @@ msgstr "カレンダー管理を許可"
#: calendars/app_settings.py:48
msgid "Allow domain administrators to manage user calendars (read and write)"
-msgstr "ドメイン管理者にユーザーカレンダーの管理 ( 読み取り・書き込み ) を許可します"
+msgstr ""
+"ドメイン管理者にユーザーカレンダーの管理 ( 読み取り・書き込み ) を許可します"
#: calendars/app_settings.py:60 core/app_settings.py:664
#: rspamd/app_settings.py:45
@@ -1135,7 +1195,8 @@ msgstr "ICS ファイルの最大サイズ"
#: calendars/app_settings.py:68
msgid ""
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
-msgstr "インポートする ICS ファイルの最大サイズをバイト ( または KB、MB、GB ) で指定"
+msgstr ""
+"インポートする ICS ファイルの最大サイズをバイト ( または KB、MB、GB ) で指定"
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
msgid "Calendars"
@@ -1161,7 +1222,9 @@ msgstr "CardDAV でアドレス帳を同期します"
msgid ""
"Choose to synchronize or not your address book using CardDAV. You will be "
"able to access your contacts from the outside."
-msgstr "CardDAV を使ってアドレス帳の同期を行うか・行わないかを選んでください。同期すると外からアドレス帳にアクセスできます。"
+msgstr ""
+"CardDAV を使ってアドレス帳の同期を行うか・行わないかを選んでください。同期す"
+"ると外からアドレス帳にアクセスできます。"
#: contacts/app_settings.py:29
msgid "Synchronization frequency"
@@ -1249,8 +1312,7 @@ msgstr "不正なラウンド数"
msgid "This code is invalid"
msgstr "このコードは無効です"
-#: core/api/v2/serializers.py:496 core/views/auth.py:213
-#: core/views/auth.py:266
+#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Modoboa のパスワード再設定で利用するコード : {}"
@@ -1307,7 +1369,9 @@ msgstr "ラウンド"
msgid ""
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
"between 1000 and 999999999, inclusive."
-msgstr "ラウンド数 ( sha256crypt と sha512crypt のみ使用 ) 。1000 ~ 999999999 の間で設定してください。"
+msgstr ""
+"ラウンド数 ( sha256crypt と sha512crypt のみ使用 ) 。1000 ~ 999999999 の間で"
+"設定してください。"
#: core/app_settings.py:61
msgid "Update password scheme at login"
@@ -1315,7 +1379,9 @@ msgstr "ログイン時にパスワード スキーマを更新"
#: core/app_settings.py:64
msgid "Update user password at login to use the default password scheme"
-msgstr "デフォルトのパスワード スキーマに切り替えるため、ログイン時にパスワードを更新します"
+msgstr ""
+"デフォルトのパスワード スキーマに切り替えるため、ログイン時にパスワードを更新"
+"します"
#: core/app_settings.py:72
msgid "Default password"
@@ -1350,7 +1416,10 @@ 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。ローカルユーザー以外のユーザー、つまり外部認証 ( LDAP、SMTP ) が成功した後に自動作成されるユーザにのみ適用されます。"
+msgstr ""
+"ユーザがパスワードを更新するための外部ページの URL。ローカルユーザー以外の"
+"ユーザー、つまり外部認証 ( LDAP、SMTP ) が成功した後に自動作成されるユーザに"
+"のみ適用されます。"
#: core/app_settings.py:114
msgid "Password recovery announcement"
@@ -1407,7 +1476,8 @@ msgstr "セカンダリーサーバー ( フォールバック ) を有効にす
#: core/app_settings.py:179
msgid ""
"Enable a secondary LDAP server which will be used if the primary one fails"
-msgstr "セカンダリー LDAP サーバー。プライマリーサーバーで失敗した際に利用します。"
+msgstr ""
+"セカンダリー LDAP サーバー。プライマリーサーバーで失敗した際に利用します。"
#: core/app_settings.py:187
msgid "Secondary server address"
@@ -1448,9 +1518,11 @@ msgstr "管理者グループ"
#: core/app_settings.py:227
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
-msgstr "ここで指定する LDAP の Posix グループのメンバーをドメイン管理者として作成します。複数のグループを指定する際は「;」で区切ってください。"
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
+msgstr ""
+"ここで指定する LDAP の Posix グループのメンバーをドメイン管理者として作成しま"
+"す。複数のグループを指定する際は「;」で区切ってください。"
#: core/app_settings.py:236
msgid "Group type"
@@ -1496,7 +1568,8 @@ msgstr "バインド DN"
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
-msgstr "LDAP サーバーにバインドする際の識別名。空のままにすると匿名バインドです。"
+msgstr ""
+"LDAP サーバーにバインドする際の識別名。空のままにすると匿名バインドです。"
#: core/app_settings.py:293 core/app_settings.py:355
msgid "Bind password"
@@ -1522,7 +1595,9 @@ msgstr "検索フィルター"
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr "オプションのフィルタ文字列 ( 例 : (objectClass=person) )。「()」カッコで囲まないと有効になりません。"
+msgstr ""
+"オプションのフィルタ文字列 ( 例 : (objectClass=person) )。「()」カッコで囲ま"
+"ないと有効になりません。"
#: core/app_settings.py:327
msgid "User DN template"
@@ -1533,7 +1608,9 @@ msgstr "ユーザー DN テンプレート"
msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "ユーザー DN を作成する際のテンプレート。1 つのプレースホルダー ( 例 : %(user)s ) を含めてください。"
+msgstr ""
+"ユーザー DN を作成する際のテンプレート。1 つのプレースホルダー ( 例 : "
+"%(user)s ) を含めてください。"
#: core/app_settings.py:338
msgid "LDAP synchronization settings"
@@ -1556,7 +1633,9 @@ msgstr "ローカルアカウントを削除するとリモート LDAP のアカ
msgid ""
"Delete remote LDAP account when local account is deleted, otherwise it will "
"be disabled."
-msgstr "ローカルアカウントを削除すると、リモートLDAPアカウントも削除、または無効にします。"
+msgstr ""
+"ローカルアカウントを削除すると、リモートLDAPアカウントも削除、または無効にし"
+"ます。"
#: core/app_settings.py:389
msgid "Account DN template"
@@ -1567,7 +1646,9 @@ msgstr "アカウント DN テンプレート"
msgid ""
"The template used to construct an account's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "アカウント DN を作成する際のテンプレート。1 つのプレースホルダー ( 例 : %(user)s ) を含めてください。"
+msgstr ""
+"アカウント DN を作成する際のテンプレート。1 つのプレースホルダー ( 例 : "
+"%(user)s ) を含めてください。"
#: core/app_settings.py:400
msgid "Enable import from LDAP"
@@ -1575,7 +1656,8 @@ msgstr "LDAP からのインポートを有効"
#: core/app_settings.py:402
msgid "Enable account synchronization from LDAP directory to local database"
-msgstr "LDAP ディレクトリーからローカル データベースへのアカウント同期を有効にします"
+msgstr ""
+"LDAP ディレクトリーからローカル データベースへのアカウント同期を有効にします"
#: core/app_settings.py:432
msgid "Username attribute"
@@ -1650,7 +1732,8 @@ msgstr "主要なテーマカラー"
msgid ""
"Primary color of the theme (hexadecimal code), used as the background color "
"of the left menu for example"
-msgstr "テーマの主要な色 ( 16進数コードで指定 )で、左メニューの背景色などに使います。"
+msgstr ""
+"テーマの主要な色 ( 16進数コードで指定 )で、左メニューの背景色などに使います。"
#: core/app_settings.py:536
msgid "Primary theme color (lighter version)"
@@ -1672,7 +1755,9 @@ msgstr "サブのテーマカラー"
msgid ""
"Secondary color of the theme (hexadecimal code), used as the background "
"color of some buttons for example"
-msgstr "テーマのサブの色 ( 16進数コードで指定 ) で、いくつかのボタンの背景色などに使います。"
+msgstr ""
+"テーマのサブの色 ( 16進数コードで指定 ) で、いくつかのボタンの背景色などに使"
+"います。"
#: core/app_settings.py:569
msgid "Labels theme color"
@@ -1740,9 +1825,11 @@ msgstr "非利用アカウント追跡を有効に"
#: core/app_settings.py:674
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 "ユーザーがログインしておらず、アカウント非利用とみなす期間 ( 日 ) を設定することを管理者に許可します"
+"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:683
msgid "Inactive account threshold"
@@ -1750,9 +1837,11 @@ msgstr "アカウントを非利用とみなすログイン間隔"
#: core/app_settings.py:686
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
-msgstr "最終ログイン日が、このしきい値 ( 日数 ) よりも以前になったアカウントを非利用とみなします"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
+msgstr ""
+"最終ログイン日が、このしきい値 ( 日数 ) よりも以前になったアカウントを非利用"
+"とみなします"
#: core/app_settings.py:695
msgid "Top notifications check interval"
@@ -1791,7 +1880,9 @@ 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 を False にすると、夏時間・冬時間の移行の際に問題となる可能性があります ( 例 : 時計が変更されることで、同じローカル時刻が 2 度発生します )。"
+msgstr ""
+"USE_TZ を False にすると、夏時間・冬時間の移行の際に問題となる可能性がありま"
+"す ( 例 : 時計が変更されることで、同じローカル時刻が 2 度発生します )。"
#: core/checks.py:19
msgid "Set `USE_TZ = True` in settings.py"
@@ -1809,27 +1900,33 @@ msgstr "パスワード スキーマをより強力なものに更新してく
msgid ""
"Oauth2 application for dovecot has not been found. Webmail and some other "
"features won't be available."
-msgstr "dovect 用の OAuth2 アプリが見つかりません。Web メールなど、いくつかの機能が使えません。"
+msgstr ""
+"dovect 用の OAuth2 アプリが見つかりません。Web メールなど、いくつかの機能が使"
+"えません。"
#: core/checks.py:34
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
-"oauth2"
-msgstr "以下、参照 : https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
+msgstr ""
+"以下、参照 : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
#: core/checks.py:41
msgid ""
"Oauth2 application for radicale has not been found. Calendar and some other "
"features won't be available."
-msgstr "radicale 用の OAuth2 アプリが見つかりません。カレンダーなど、いくつかの機能が使えません。"
+msgstr ""
+"radicale 用の OAuth2 アプリが見つかりません。カレンダーなど、いくつかの機能が"
+"使えません。"
#: core/checks.py:45
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
-"oauth2"
-msgstr "以下、参照 : https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
+msgstr ""
+"以下、参照 : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
#: core/constants.py:6
msgid "Simple user"
@@ -2057,7 +2154,9 @@ msgid ""
msgid_plural ""
"\n"
" The following updates are available:\n"
-msgstr[0] "\n 以下の更新が用意されています :\n"
+msgstr[0] ""
+"\n"
+" 以下の更新が用意されています :\n"
#: core/utils.py:43
msgid "The core part of Modoboa"
@@ -2076,7 +2175,9 @@ msgstr "パスワード スキーマが一致しません。%s のパスワー
#: core/views/auth.py:135
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "パスワードのハッシュ パラメーターが一致しません。%s パスワードを更新しています"
+msgstr ""
+"パスワードのハッシュ パラメーターが一致しません。%s パスワードを更新していま"
+"す"
#: core/views/auth.py:173
msgid "User '{}' successfully logged out"
@@ -2092,7 +2193,8 @@ msgstr "逆引きを有効に"
#: dmarc/forms.py:23
msgid "Enable reverse DNS lookups (reports will be longer to display)"
-msgstr "DNS の逆引きを有効にします ( レポート表示まで時間がかかるようになります )"
+msgstr ""
+"DNS の逆引きを有効にします ( レポート表示まで時間がかかるようになります )"
#: dmarc/forms.py:42
msgid "DMARC"
@@ -2290,7 +2392,9 @@ 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 "除外フォルダーフィルターで対象から外れても同期に含めるフォルダーをカンマ区切りで明示します。例 : debian.user, debian.personal"
+msgstr ""
+"除外フォルダーフィルターで対象から外れても同期に含めるフォルダーをカンマ区切"
+"りで明示します。例 : debian.user, debian.personal"
#: imap_migration/apps.py:20
msgid "IMAP Migration"
@@ -2300,7 +2404,8 @@ msgstr "IMAP 移行"
msgid ""
"Automatic domain/mailbox creation is disabled which means IMAP "
"authentication won't work."
-msgstr "IMAP 認証が動作しない場合にドメイン・メールボックスの自動作成を無効にします。"
+msgstr ""
+"IMAP 認証が動作しない場合にドメイン・メールボックスの自動作成を無効にします。"
#: imap_migration/checks.py:16
msgid ""
@@ -2374,13 +2479,17 @@ msgstr "ドメイン管理者数"
msgid ""
"Maximum number of allowed domain administrators for a new administrator. (0 "
"to deny any creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に作成を許可するドメイン管理者数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+msgstr ""
+"新しい管理者に作成を許可するドメイン管理者数の上限。( 0 で作成の拒否、-1 で無"
+"制限の作成 )"
#: limits/app_settings.py:41
msgid ""
"Maximum number of allowed domains for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に作成を許可するドメイン数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+msgstr ""
+"新しい管理者に作成を許可するドメイン数の上限。( 0 で作成の拒否、-1 で無制限の"
+"作成 )"
#: limits/app_settings.py:49 limits/app_settings.py:123 limits/constants.py:22
#: limits/constants.py:76
@@ -2389,15 +2498,19 @@ msgstr "ドメインエイリアス"
#: limits/app_settings.py:52
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に作成を許可するドメインエイリアス数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+"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:64
msgid ""
"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に作成を許可するメールボックス数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+msgstr ""
+"新しい管理者に作成を許可するメールボックス数の上限。( 0 で作成の拒否、-1 で無"
+"制限の作成 )"
#: limits/app_settings.py:73 limits/app_settings.py:146 limits/constants.py:39
#: limits/constants.py:92
@@ -2408,7 +2521,9 @@ msgstr "メールボックス エイリアス"
msgid ""
"Maximum number of allowed aliases for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に作成を許可するエイリアス数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+msgstr ""
+"新しい管理者に作成を許可するエイリアス数の上限。( 0 で作成の拒否、-1 で無制限"
+"の作成 )"
#: limits/app_settings.py:84 limits/constants.py:59
msgid "Quota"
@@ -2418,7 +2533,8 @@ msgstr "容量制限"
msgid ""
"The quota a reseller will be allowed to share between the domains he "
"creates. (0 means no quota)"
-msgstr "リセラーに対して許可する、作成するドメインの容量制限の合算値。( 0 で無制限 )"
+msgstr ""
+"リセラーに対して許可する、作成するドメインの容量制限の合算値。( 0 で無制限 )"
#: limits/app_settings.py:98
msgid "Default per-domain limits"
@@ -2434,27 +2550,35 @@ msgstr "ドメインごとの容量制限を有効もしくは無効にします
#: limits/app_settings.py:114
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
-msgstr "新しいドメインに作成を許可するドメイン管理者数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+"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:126
msgid ""
"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しいドメインに作成を許可するドメインエイリアス数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+msgstr ""
+"新しいドメインに作成を許可するドメインエイリアス数の上限。( 0 で作成の拒"
+"否、-1 で無制限の作成 )"
#: limits/app_settings.py:138
msgid ""
"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しいドメインに作成を許可するメールボックス数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+msgstr ""
+"新しいドメインに作成を許可するメールボックス数の上限。( 0 で作成の拒否、-1 で"
+"無制限の作成 )"
#: limits/app_settings.py:149
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
-msgstr "新しいドメインに作成を許可するエイリアス数の上限。( 0 で作成の拒否、-1 で無制限の作成 )"
+"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:16
msgid "Limits"
@@ -2553,63 +2677,63 @@ msgstr "統計"
msgid "Failed to locate rrdtool binary."
msgstr "rrdtool バイナリーの場所に到達できません。"
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "平均通信量 ( メッセージ / 分 )"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "送信メッセージ"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "受信メッセージ"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "バウンスメッセージ"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "拒否メッセージ"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "ウイルスメッセージ"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "SPAM メッセージ"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "greylist メッセージ"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "通常トラフィックサイズの平均値 ( bytes / 分 )"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "受信サイズ"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "送信サイズ"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "メールトラフィック"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "アカウント作成数の平均 ( アカウント / 時間 )"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "新しいアカウント"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "アカウント"
@@ -2657,7 +2781,8 @@ msgstr "ダウンロードしたら文書を削除"
msgid ""
"Automatically delete a document just after its first download from this "
"interface"
-msgstr "このインターフェースからダウンロードをしたのちに、文書を自動的に削除します"
+msgstr ""
+"このインターフェースからダウンロードをしたのちに、文書を自動的に削除します"
#: pdfcredentials/app_settings.py:68
msgid "Generate documents only at account creation"
@@ -2667,7 +2792,9 @@ msgstr "アカウント作成時のみ文書を作成"
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 "新しくアカウントを作成する際にのみ、新しい文書を作成します。「いいえ」に設定すると、パスワードを更新するたびに新しい文書を作成します。"
+msgstr ""
+"新しくアカウントを作成する際にのみ、新しい文書を作成します。「いいえ」に設定"
+"すると、パスワードを更新するたびに新しい文書を作成します。"
#: pdfcredentials/app_settings.py:84
msgid "Customization options"
@@ -2705,7 +2832,9 @@ msgstr "メールクライアント接続設定を含める"
msgid ""
"Include required SMTP and IMAP connection information to configure a mail "
"client, a tablet or a phone"
-msgstr "メールクライアント、タブレットやスマートフォンに設定する際に必要な SMTP・IMAP 接続の情報を含める"
+msgstr ""
+"メールクライアント、タブレットやスマートフォンに設定する際に必要な SMTP・"
+"IMAP 接続の情報を含める"
#: pdfcredentials/app_settings.py:123 pdfcredentials/documents.py:133
msgid "SMTP server address"
@@ -2766,7 +2895,14 @@ msgid ""
"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%s 様、この文書には Modoboa メールサーバーへの接続に必要な認証情報を記しています。\n認証情報が第三者に漏れれば、メールの内容をすべて読み取られるほか、なりすましによるメール送信も可能になります。\n内容を理解し必要な設定を終えたら、厳重に管理する・廃棄するなど、対応をおねがいします。\n"
+msgstr ""
+"\n"
+"%s 様、この文書には Modoboa メールサーバーへの接続に必要な認証情報を記してい"
+"ます。\n"
+"認証情報が第三者に漏れれば、メールの内容をすべて読み取られるほか、なりすまし"
+"によるメール送信も可能になります。\n"
+"内容を理解し必要な設定を終えたら、厳重に管理する・廃棄するなど、対応をおねが"
+"いします。\n"
#: pdfcredentials/documents.py:95
msgid "Web panel:"
@@ -2785,7 +2921,10 @@ msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
"your contacts.\n"
-msgstr "\nこの画面からあなたのメールをオンラインで確認できるほか、表示フィルターを\n作成したり、連絡先を管理することができます。\n"
+msgstr ""
+"\n"
+"この画面からあなたのメールをオンラインで確認できるほか、表示フィルターを\n"
+"作成したり、連絡先を管理することができます。\n"
#: pdfcredentials/documents.py:126
msgid "Please change your password!"
@@ -2803,7 +2942,9 @@ msgstr "この設定はパソコン、またはスマートフォンやタブレ
msgid ""
"Failed to create PDF_credentials directory. Please check the permissions or "
"the path."
-msgstr "PDF_credentials ディレクトリーの作成に失敗しました。権限またはパスを確認してください。"
+msgstr ""
+"PDF_credentials ディレクトリーの作成に失敗しました。権限またはパスを確認して"
+"ください。"
#: pdfcredentials/handlers.py:64
msgid "Download PDF credentials"
@@ -2879,9 +3020,11 @@ msgstr "キー マップ パス"
#: rspamd/app_settings.py:21
msgid ""
-"Absolute path of the file which contains paths to DKIM private keys. Must be"
-" readable by _rspamd group or user."
-msgstr "DKIM プライベートキー ファイルの絶対パス。_rspamd グループまたはユーザーに読み取り権限が必要です。"
+"Absolute path of the file which contains paths to DKIM private keys. Must be "
+"readable by _rspamd group or user."
+msgstr ""
+"DKIM プライベートキー ファイルの絶対パス。_rspamd グループまたはユーザーに読"
+"み取り権限が必要です。"
#: rspamd/app_settings.py:30
msgid "Selector map path"
@@ -2891,7 +3034,9 @@ msgstr "セレクター マップ パス"
msgid ""
"Absolute path of the file which contains names of DKIM selectors. Must be "
"readable by _rspamd group or user."
-msgstr "DKIM セレクター ファイルの絶対パス。_rspamd グループまたはユーザーに読み取り権限が必要です。"
+msgstr ""
+"DKIM セレクター ファイルの絶対パス。_rspamd グループまたはユーザーに読み取り"
+"権限が必要です。"
#: rspamd/app_settings.py:51
msgid "Rspamd dashboard location"
@@ -2899,10 +3044,13 @@ msgstr "Rspamd ダッシュボードの場所"
#: rspamd/app_settings.py:53
msgid ""
-"Location of the rspamd dashboard. Can either be a relative URL (eg. "
-"'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
+"Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
+"rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
"guidance on the Super-Admin dashboard."
-msgstr "rspamd ダッシュボードの場所。相対 URL ( 例 : '/rspamd' ) またはフル URL ( 例 : 'https://rspamd.domain.tld/' ) のどちらでもかまいません。スーパー管理者ダッシュボードからのガイドにしか利用しません。"
+msgstr ""
+"rspamd ダッシュボードの場所。相対 URL ( 例 : '/rspamd' ) またはフル URL "
+"( 例 : 'https://rspamd.domain.tld/' ) のどちらでもかまいません。スーパー管理"
+"者ダッシュボードからのガイドにしか利用しません。"
#: rspamd/apps.py:18
msgid "Rspamd"
@@ -2981,7 +3129,7 @@ msgstr "一致する"
msgid "is not"
msgstr "一致しない"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "件名"
@@ -3082,7 +3230,8 @@ msgstr "パスワードがわからない?"
msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
-msgstr "パスワードを設定しました。サインイン で進みます。"
+msgstr ""
+"パスワードを設定しました。サインイン で進みます。"
#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
@@ -3098,7 +3247,9 @@ msgstr "送信"
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
-msgstr "パスワードの再設定リンクが無効です。おそらくこのリンクからはすでに操作を終えたものと思われます。もう一度「パスワード再設定」の操作をしてください。"
+msgstr ""
+"パスワードの再設定リンクが無効です。おそらくこのリンクからはすでに操作を終え"
+"たものと思われます。もう一度「パスワード再設定」の操作をしてください。"
#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
@@ -3118,7 +3269,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 "入力したメールアドレスが登録済みのものであれば、パスワード設定方法を記載したメールが届きます。
メールが届かなければ、入力したアドレスが正しいものだったかどうか、または SPAM フォルダーに配信されていないかを確認してください。
"
+msgstr ""
+"入力したメールアドレスが登録済みのものであれば、パスワード設定方法を記載し"
+"たメールが届きます。
メールが届かなければ、入力したアドレスが正しいも"
+"のだったかどうか、または SPAM フォルダーに配信されていないかを確認してくださ"
+"い。
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -3126,14 +3281,18 @@ msgstr "入力したメールアドレスが登録済みのものであれば
msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
-msgstr "パスワードの再設定処理をはじめます。対象のアカウントは %(username)s でよろしいですか? よろしければ以下のリンクをクリックしてください : "
+msgstr ""
+"パスワードの再設定処理をはじめます。対象のアカウントは %(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 を Web ブラウザにコピー・貼りつけしてください。"
+msgstr ""
+"上のリンクが動作しなければ、URL を Web ブラウザにコピー・貼りつけしてくださ"
+"い。"
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3162,9 +3321,11 @@ msgstr "ワンタイム パスワード"
#: templates/registration/twofactor_code_verify.html:35
msgid ""
-"Enter the code from the two-factor app on your mobile device. If you've lost"
-" your device, you may enter one of your recovery codes."
-msgstr "あなたのスマートフォンの 2 要素認証アプリのコードを入力してください。スマートフォンをなくしているなどの場合は、再設定コードのいずれかを入力してください。"
+"Enter the code from the two-factor app on your mobile device. If you've lost "
+"your device, you may enter one of your recovery codes."
+msgstr ""
+"あなたのスマートフォンの 2 要素認証アプリのコードを入力してください。スマート"
+"フォンをなくしているなどの場合は、再設定コードのいずれかを入力してください。"
#: templates/registration/twofactor_code_verify.html:42
msgid "Verify code"
@@ -3201,7 +3362,8 @@ msgstr "最大添付サイズ"
#: webmail/app_settings.py:19
msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)"
-msgstr "添付ファイルの最大サイズをバイトで ( 必要に応じて KB, MB, GB も指定可 ) "
+msgstr ""
+"添付ファイルの最大サイズをバイトで ( 必要に応じて KB, MB, GB も指定可 ) "
#: webmail/app_settings.py:67
msgid "SMTP settings"
@@ -3331,19 +3493,19 @@ msgstr "ユーザー定義のメール署名"
msgid "Server response"
msgstr "サーバー応答"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "添付ファイルの削除に失敗 : "
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr " : "
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "日付"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr "元メッセージ"
@@ -3375,19 +3537,19 @@ msgstr "予定済み"
msgid "Trash"
msgstr "ごみ箱"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr "送信予定メールの移動は禁止"
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr "未来の日時を設定してください"
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr "少なくとも 1 分以上先の日時を指定してください"
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "添付ファイルが大きすぎます ( 最大 : %s )"
diff --git a/modoboa/locale/ka/LC_MESSAGES/django.po b/modoboa/locale/ka/LC_MESSAGES/django.po
index cf757b3cc..49de71eb4 100644
--- a/modoboa/locale/ka/LC_MESSAGES/django.po
+++ b/modoboa/locale/ka/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -41,12 +41,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -57,7 +57,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -65,12 +65,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -94,56 +94,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -307,7 +307,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -428,16 +428,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -503,17 +503,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -529,7 +529,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -566,65 +566,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -917,15 +917,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2551,63 +2551,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2979,7 +2979,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3329,19 +3329,19 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3373,19 +3373,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/ko_KR/LC_MESSAGES/django.po b/modoboa/locale/ko_KR/LC_MESSAGES/django.po
index 24023c83a..016c452c9 100644
--- a/modoboa/locale/ko_KR/LC_MESSAGES/django.po
+++ b/modoboa/locale/ko_KR/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:
# 미나리나물, 2026
# 미나리나물, 2026
@@ -11,25 +11,29 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: 미나리나물, 2026\n"
-"Language-Team: Korean (Korea) (http://app.transifex.com/tonio/modoboa/language/ko_KR/)\n"
+"Language-Team: Korean (Korea) (http://app.transifex.com/tonio/modoboa/"
+"language/ko_KR/)\n"
+"Language: ko_KR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ko_KR\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: admin/api/v1/serializers.py:39
msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
-msgstr "사서함에 적용될 용량입니다. KB, MB(기본값) 또는 GB 단위로 표시할 수 있습니다. 0으로 설정하면 용량 제한이 없습니다."
+msgstr ""
+"사서함에 적용될 용량입니다. KB, MB(기본값) 또는 GB 단위로 표시할 수 있습니"
+"다. 0으로 설정하면 용량 제한이 없습니다."
#: admin/api/v1/serializers.py:46
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "사서함에 적용될 기본 용량(MB)입니다. 0으로 설정하면 용량 제한이 없습니다."
+msgstr ""
+"사서함에 적용될 기본 용량(MB)입니다. 0으로 설정하면 용량 제한이 없습니다."
#: admin/api/v1/serializers.py:94
msgid "domain alias with this name already exists"
@@ -44,12 +48,12 @@ msgid "Cannot be greater than domain quota"
msgstr "도메인 할당량보다 큰 값을 설정할 수 없습니다."
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "권한이 거부되었습니다."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -60,7 +64,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "관리 중인 도메인 목록 (리셀러 및 도메인 관리자 전용)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "이 역할에는 허용되지 않는 작업입니다."
@@ -68,12 +72,12 @@ msgstr "이 역할에는 허용되지 않는 작업입니다."
msgid "Must be equal to mailbox full_address"
msgstr "사서함의 전체 주소(full_address)와 일치해야 합니다."
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "이 필드는 필수 입력 항목입니다."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "로컬 도메인 {}이(가) 존재하지 않습니다."
@@ -97,56 +101,56 @@ msgstr "이 사서함에 대한 접근 권한이 없습니다."
msgid "Here is your new Modoboa password: {}"
msgstr "요청하신 새로운 Modoboa 비밀번호입니다: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "DKIM 키 저장 디렉토리가 설정되지 않았습니다."
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "이 필드는 유형이 릴레이 도메인(relaydomain)일 때만 유효합니다."
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "무제한 할당량을 설정할 수 없습니다."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "사용자 '%s'이(가) 이미 존재합니다."
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "양의 정수여야 합니다."
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr "openssl을 찾을 수 없습니다. 설치 여부를 확인해 주세요."
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "디렉토리를 찾을 수 없습니다."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr "이 필드에는 유효한 IP 주소(또는 네트워크)만 입력할 수 있습니다."
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr "이 옵션을 끄기 전에 IMAP 마이그레이션을 먼저 비활성화하세요."
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "최소 하나 이상의 허용된 네트워크 또는 주소를 정의해야 합니다."
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr "이메일 주소의 앞부분(ID)은 64자를 초과할 수 없습니다."
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "별칭을 생성하려면 사서함이 지정되어야 합니다."
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "알 수 없는 상태"
@@ -176,9 +180,11 @@ msgstr "유효한 MX 목록"
#: admin/app_settings.py:37
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 "모든 MX 레코드가 일치해야 하는 IP 또는 네트워크 주소 목록입니다. 레코드가 이 주소들과 일치하지 않으면 경고가 발송됩니다."
+"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 ""
+"모든 MX 레코드가 일치해야 하는 IP 또는 네트워크 주소 목록입니다. 레코드가 이 "
+"주소들과 일치하지 않으면 경고가 발송됩니다."
#: admin/app_settings.py:47
msgid "New domains must use authorized MX(s)"
@@ -188,7 +194,9 @@ msgstr "새 도메인은 인증된 MX를 사용해야 함"
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
-msgstr "MX 레코드가 정의된 주소 중 하나를 사용하지 않을 경우 새 도메인 생성을 방지합니다."
+msgstr ""
+"MX 레코드가 정의된 주소 중 하나를 사용하지 않을 경우 새 도메인 생성을 방지합"
+"니다."
#: admin/app_settings.py:59
msgid "Enable IPV6 checks"
@@ -212,7 +220,8 @@ msgstr "DKIM 확인 활성화"
#: admin/app_settings.py:80
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
-msgstr "DKIM 서명이 활성화된 모든 도메인에 유효한 DNS 레코드가 있는지 확인합니다."
+msgstr ""
+"DKIM 서명이 활성화된 모든 도메인에 유효한 DNS 레코드가 있는지 확인합니다."
#: admin/app_settings.py:88
msgid "Enable DMARC checks"
@@ -265,7 +274,9 @@ 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 "DKIM 개인 키가 저장될 디렉토리의 절대 경로입니다. 이 디렉토리는 root 사용자 소유여야 하며 외부에서 읽을 수 없도록 설정해야 합니다."
+msgstr ""
+"DKIM 개인 키가 저장될 디렉토리의 절대 경로입니다. 이 디렉토리는 root 사용자 "
+"소유여야 하며 외부에서 읽을 수 없도록 설정해야 합니다."
#: admin/app_settings.py:149
msgid "Default DKIM key length"
@@ -283,7 +294,9 @@ msgstr "기본 도메인 할당량"
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
-msgstr "값을 지정하지 않고 새로 생성된 도메인에 적용되는 기본 할당량(MB)입니다. 0으로 설정하면 할당량 제한이 없습니다."
+msgstr ""
+"값을 지정하지 않고 새로 생성된 도메인에 적용되는 기본 할당량(MB)입니다. 0으"
+"로 설정하면 할당량 제한이 없습니다."
#: admin/app_settings.py:168
msgid "Default domain sending limit"
@@ -293,7 +306,9 @@ msgstr "기본 도메인 발송 제한"
msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
-msgstr "새로 생성된 도메인이 하루에 보낼 수 있는 메시지 수입니다. 제한을 두지 않으려면 비워 두세요."
+msgstr ""
+"새로 생성된 도메인이 하루에 보낼 수 있는 메시지 수입니다. 제한을 두지 않으려"
+"면 비워 두세요."
#: admin/app_settings.py:182 limits/app_settings.py:61
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
@@ -308,9 +323,11 @@ msgstr "파일 시스템에서 사서함 관리"
msgid ""
"Rename or remove mailboxes on the filesystem when they get renamed or "
"removed within Modoboa"
-msgstr "Modoboa 내에서 사서함 이름이 바뀌거나 삭제될 때 파일 시스템에서도 동일하게 이름을 바꾸거나 삭제합니다."
+msgstr ""
+"Modoboa 내에서 사서함 이름이 바뀌거나 삭제될 때 파일 시스템에서도 동일하게 이"
+"름을 바꾸거나 삭제합니다."
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "기본 사서함 할당량"
@@ -318,7 +335,9 @@ msgstr "기본 사서함 할당량"
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
-msgstr "값을 지정하지 않고 새로 생성된 도메인에 적용되는 기본 사서함 할당량(MB)입니다. 0으로 설정하면 할당량 제한이 없습니다."
+msgstr ""
+"값을 지정하지 않고 새로 생성된 도메인에 적용되는 기본 사서함 할당량(MB)입니"
+"다. 0으로 설정하면 할당량 제한이 없습니다."
#: admin/app_settings.py:209
msgid "Default mailbox sending limit"
@@ -328,7 +347,9 @@ msgstr "기본 사서함 발송 제한"
msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
-msgstr "새로 생성된 사서함이 하루에 보낼 수 있는 메시지 수입니다. 제한을 두지 않으려면 비워 두세요."
+msgstr ""
+"새로 생성된 사서함이 하루에 보낼 수 있는 메시지 수입니다. 제한을 두지 않으려"
+"면 비워 두세요."
#: admin/app_settings.py:219
msgid "Automatic account removal"
@@ -343,8 +364,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "도메인/사서함 자동 생성"
#: admin/app_settings.py:233
-msgid ""
-"Create a domain and a mailbox when an account is automatically created."
+msgid "Create a domain and a mailbox when an account is automatically created."
msgstr "계정이 자동으로 생성될 때 도메인과 사서함도 함께 생성합니다."
#: admin/app_settings.py:242
@@ -365,7 +385,8 @@ msgstr "별칭의 대상 도메인 제한 없음"
#: admin/app_settings.py:265
msgid "Allow aliases to target any domain, not just the local domains."
-msgstr "별칭이 로컬 도메인뿐만 아니라 모든 도메인을 대상으로 할 수 있도록 허용합니다."
+msgstr ""
+"별칭이 로컬 도메인뿐만 아니라 모든 도메인을 대상으로 할 수 있도록 허용합니다."
#: admin/app_settings.py:272
msgid "Alias target block list"
@@ -432,16 +453,16 @@ msgstr "[modoboa] 도메인 {}에 대한 MX 관련 문제 발생"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] 도메인 {}에 대한 DNSBL 관련 문제 발생"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "도메인 별칭"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "계정 가져오기 실패 (%s): 도메인이 존재하지 않습니다."
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "계정 가져오기 실패 (%s): 잘못된 할당량 값입니다."
@@ -507,17 +528,17 @@ msgstr "%(encoding)s 인코딩을 사용하여 CSV 파일을 읽는 중"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "%(encoding)s 인코딩으로 CSV 파일을 디코딩할 수 없습니다."
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr "DKIM 경로에 쓸 수 없습니다 (권한 문제이거나 디렉토리가 존재하지 않음)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "DKIM 개인 키 생성에 실패했습니다."
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "DKIM 공개 키 생성에 실패했습니다."
@@ -533,7 +554,7 @@ msgstr "주소"
msgid "The alias address."
msgstr "별칭 주소입니다."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "활성화됨"
@@ -570,65 +591,65 @@ msgstr "로컬 수신자 {}@{}을(를) 찾을 수 없습니다."
msgid "Invalid line: {}"
msgstr "유효하지 않은 행: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "이름"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "도메인 이름"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "메시지 발송 제한"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr "이 도메인이 하루에 보낼 수 있는 메시지 수"
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "이 도메인을 활성화하려면 체크하세요."
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "DNS 확인 활성화"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "이 도메인에 대해 DNS 확인을 활성화하려면 체크하세요."
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "DKIM 서명 활성화"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr "이 기능을 활성화하면 이 도메인에 대한 DKIM 키가 생성됩니다."
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "키 길이"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "유효하지 않은 행"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{}: 도메인에 대한 인증된 MX 레코드를 찾을 수 없습니다."
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{}: 도메인의 할당량 값이 잘못되었습니다."
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr "{}: 도메인의 기본 사서함 할당량 값이 잘못되었습니다."
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "{}: 기본 사서함 할당량은 도메인 할당량보다 클 수 없습니다."
@@ -683,14 +704,19 @@ msgstr "사서함 {}이(가) 이미 존재합니다."
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
-msgstr "Modoboa가 도메인 %(domain)s이(가) 다음 DNSBL 제공업체 목록에 등록된 것을 감지했습니다:"
+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 주소를 목록에서 제외해 달라고 요청해야 합니다."
+msgstr ""
+"도메인의 평판에 영향을 미치며, 해당 도메인에서 발송된 이메일이 스팸으로 처리"
+"될 가능성이 있습니다. 해당 제공업체에 연락하여 감지된 IP 주소를 목록에서 제외"
+"해 달라고 요청해야 합니다."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -722,7 +748,8 @@ msgstr "로컬 파트(ID) 대소문자 구분"
#: amavis/app_settings.py:19
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
-msgstr "이 값은 amavisd.conf의 $localpart_is_case_sensitive 변수와 일치해야 합니다."
+msgstr ""
+"이 값은 amavisd.conf의 $localpart_is_case_sensitive 변수와 일치해야 합니다."
#: amavis/app_settings.py:27
msgid "Recipient delimiter"
@@ -830,7 +857,8 @@ msgstr "Spamassassin이 로컬에 있습니까?"
#: amavis/app_settings.py:163
msgid "Tell if Spamassassin is running on the same server than modoboa"
-msgstr "Spamassassin이 Modoboa와 동일한 서버에서 실행 중인지 여부를 지정합니다."
+msgstr ""
+"Spamassassin이 Modoboa와 동일한 서버에서 실행 중인지 여부를 지정합니다."
#: amavis/app_settings.py:171
msgid "Default user"
@@ -864,7 +892,9 @@ msgstr "도메인별 수동 학습 활성화"
msgid ""
"Allow domain administrators to train Spamassassin (within dedicated per-"
"domain databases)"
-msgstr "도메인 관리자가 전용 도메인별 데이터베이스 내에서 Spamassassin을 학습시킬 수 있도록 허용합니다."
+msgstr ""
+"도메인 관리자가 전용 도메인별 데이터베이스 내에서 Spamassassin을 학습시킬 수 "
+"있도록 허용합니다."
#: amavis/app_settings.py:215
msgid "Enable per-user manual learning"
@@ -874,7 +904,9 @@ msgstr "사용자별 수동 학습 활성화"
msgid ""
"Allow simple users to personally train Spamassassin (within a dedicated "
"database)"
-msgstr "일반 사용자가 전용 데이터베이스 내에서 개인적으로 Spamassassin을 학습시킬 수 있도록 허용합니다."
+msgstr ""
+"일반 사용자가 전용 데이터베이스 내에서 개인적으로 Spamassassin을 학습시킬 수 "
+"있도록 허용합니다."
#: amavis/app_settings.py:236 webmail/app_settings.py:155
msgid "Display"
@@ -896,13 +928,17 @@ msgstr "Amavis"
msgid ""
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
"by the Amavis database."
-msgstr "AMAVIS_DEFAULT_DATABASE_ENCODING이 Amavis 데이터베이스에서 사용하는 문자 인코딩과 일치하지 않습니다."
+msgstr ""
+"AMAVIS_DEFAULT_DATABASE_ENCODING이 Amavis 데이터베이스에서 사용하는 문자 인코"
+"딩과 일치하지 않습니다."
#: amavis/checks/settings_checks.py:12
msgid ""
"Check your database character encoding and set/update "
"AMAVIS_DEFAULT_DATABASE_ENCODING."
-msgstr "데이터베이스 문자 인코딩을 확인하고 AMAVIS_DEFAULT_DATABASE_ENCODING을 설정하거나 업데이트하세요."
+msgstr ""
+"데이터베이스 문자 인코딩을 확인하고 AMAVIS_DEFAULT_DATABASE_ENCODING을 설정하"
+"거나 업데이트하세요."
#: amavis/checks/settings_checks.py:19
msgid "Modoboa Amavis has not been tested using the selected database engine."
@@ -921,15 +957,15 @@ msgstr "대기 중인 요청"
msgid "Connection to amavis failed: %s"
msgstr "Amavis 연결 실패: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr "{} 바이너리를 찾지 못했습니다."
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr "수신자를 찾을 수 없습니다."
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr "로컬 도메인을 찾을 수 없습니다."
@@ -955,7 +991,9 @@ msgstr "기본값"
#: amavis/models.py:111
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "바이러스 검사를 건너뛸지 여부입니다. 전역 설정을 사용하려면 '기본값'을 선택하세요."
+msgstr ""
+"바이러스 검사를 건너뛸지 여부입니다. 전역 설정을 사용하려면 '기본값'을 선택하"
+"세요."
#: amavis/models.py:115
msgid "Spam filter"
@@ -963,7 +1001,9 @@ msgstr "스팸 필터"
#: amavis/models.py:125
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "스팸 검사를 건너뛸지 여부입니다. 전역 설정을 사용하려면 '기본값'을 선택하세요."
+msgstr ""
+"스팸 검사를 건너뛸지 여부입니다. 전역 설정을 사용하려면 '기본값'을 선택하세"
+"요."
#: amavis/models.py:129
msgid "Banned filter"
@@ -971,7 +1011,9 @@ msgstr "차단 필터"
#: amavis/models.py:139
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "차단 검사를 건너뛸지 여부입니다. 전역 설정을 사용하려면 '기본값'을 선택하세요."
+msgstr ""
+"차단 검사를 건너뛸지 여부입니다. 전역 설정을 사용하려면 '기본값'을 선택하세"
+"요."
#: amavis/models.py:170
msgid "Spam marker"
@@ -979,9 +1021,11 @@ msgstr "스팸 표시"
#: amavis/models.py:176
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "지정된 텍스트를 사용하여 스팸 메일의 제목을 수정합니다. 전역 설정을 사용하려면 '기본값'을 선택하세요."
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"지정된 텍스트를 사용하여 스팸 메일의 제목을 수정합니다. 전역 설정을 사용하려"
+"면 '기본값'을 선택하세요."
#: amavis/templates/amavis/notifications/pending_requests.html:3
#, python-format
@@ -1063,7 +1107,9 @@ msgstr "자동 응답 메시지가 자동으로 생성될 때 사용되는 기
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 "자동 응답 메시지가 자동으로 생성될 때 사용되는 기본 내용입니다. '%(name)s' 매크로는 사용자의 전체 이름으로 바뀝니다."
+msgstr ""
+"자동 응답 메시지가 자동으로 생성될 때 사용되는 기본 내용입니다. '%(name)s' 매"
+"크로는 사용자의 전체 이름으로 바뀝니다."
#: autoreply/apps.py:15
msgid "Automatic replies"
@@ -1120,7 +1166,8 @@ msgstr "캘린더 관리 허용"
#: calendars/app_settings.py:48
msgid "Allow domain administrators to manage user calendars (read and write)"
-msgstr "도메인 관리자가 사용자의 캘린더를 관리(읽기 및 쓰기)할 수 있도록 허용합니다."
+msgstr ""
+"도메인 관리자가 사용자의 캘린더를 관리(읽기 및 쓰기)할 수 있도록 허용합니다."
#: calendars/app_settings.py:60 core/app_settings.py:664
#: rspamd/app_settings.py:45
@@ -1134,7 +1181,8 @@ msgstr "ICS 파일 최대 크기"
#: calendars/app_settings.py:68
msgid ""
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
-msgstr "가져올 ICS 파일의 최대 크기(바이트 단위, 또는 KB, MB, GB 지정 가능)입니다."
+msgstr ""
+"가져올 ICS 파일의 최대 크기(바이트 단위, 또는 KB, MB, GB 지정 가능)입니다."
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
msgid "Calendars"
@@ -1160,7 +1208,9 @@ msgstr "CardDAV를 사용하여 주소록 동기화"
msgid ""
"Choose to synchronize or not your address book using CardDAV. You will be "
"able to access your contacts from the outside."
-msgstr "CardDAV를 통한 주소록 동기화 여부를 선택합니다. 외부에서도 연락처에 액세스할 수 있게 됩니다."
+msgstr ""
+"CardDAV를 통한 주소록 동기화 여부를 선택합니다. 외부에서도 연락처에 액세스할 "
+"수 있게 됩니다."
#: contacts/app_settings.py:29
msgid "Synchronization frequency"
@@ -1221,7 +1271,9 @@ msgstr "2단계 인증(2FA)이 이미 활성화되어 있습니다."
#: core/api/v1/serializers.py:87
#, python-format
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
-msgstr "사용자 '%(user)s'이(가) '%(addr)s'에서 시도한 2단계 인증 설정 변경에 실패했습니다."
+msgstr ""
+"사용자 '%(user)s'이(가) '%(addr)s'에서 시도한 2단계 인증 설정 변경에 실패했습"
+"니다."
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
msgid "Invalid password"
@@ -1248,8 +1300,7 @@ msgstr "유효하지 않은 라운드(Rounds) 횟수입니다."
msgid "This code is invalid"
msgstr "이 코드는 유효하지 않습니다."
-#: core/api/v2/serializers.py:496 core/views/auth.py:213
-#: core/views/auth.py:266
+#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Modoboa 비밀번호를 복구하려면 다음 코드를 사용하세요: {}"
@@ -1306,7 +1357,9 @@ msgstr "라운드(Rounds) 횟수"
msgid ""
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
"between 1000 and 999999999, inclusive."
-msgstr "사용할 라운드 횟수입니다(sha256crypt 및 sha512crypt에서만 사용됨). 1,000에서 999,999,999 사이의 값이어야 합니다."
+msgstr ""
+"사용할 라운드 횟수입니다(sha256crypt 및 sha512crypt에서만 사용됨). 1,000에서 "
+"999,999,999 사이의 값이어야 합니다."
#: core/app_settings.py:61
msgid "Update password scheme at login"
@@ -1349,7 +1402,9 @@ 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입니다. LDAP이나 SMTP 등 외부 인증을 통해 자동 생성된 비로컬 사용자에게만 적용됩니다."
+msgstr ""
+"사용자가 비밀번호를 업데이트할 수 있는 외부 페이지의 URL입니다. LDAP이나 "
+"SMTP 등 외부 인증을 통해 자동 생성된 비로컬 사용자에게만 적용됩니다."
#: core/app_settings.py:114
msgid "Password recovery announcement"
@@ -1447,9 +1502,11 @@ msgstr "관리자 그룹"
#: core/app_settings.py:227
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
-msgstr "해당 LDAP Posix 그룹의 구성원은 도메인 관리자로 생성됩니다. 그룹 구분은 ';' 문자를 사용하세요."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
+msgstr ""
+"해당 LDAP Posix 그룹의 구성원은 도메인 관리자로 생성됩니다. 그룹 구분은 ';' "
+"문자를 사용하세요."
#: core/app_settings.py:236
msgid "Group type"
@@ -1495,7 +1552,9 @@ msgstr "Bind DN"
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
-msgstr "LDAP 서버에 바인딩할 때 사용할 고유 이름(DN)입니다. 익명 바인딩을 원하시면 비워 두세요."
+msgstr ""
+"LDAP 서버에 바인딩할 때 사용할 고유 이름(DN)입니다. 익명 바인딩을 원하시면 비"
+"워 두세요."
#: core/app_settings.py:293 core/app_settings.py:355
msgid "Bind password"
@@ -1521,7 +1580,9 @@ msgstr "검색 필터"
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr "선택적 필터 문자열(예: '(objectClass=person)')입니다. 유효하려면 반드시 괄호로 묶어야 합니다."
+msgstr ""
+"선택적 필터 문자열(예: '(objectClass=person)')입니다. 유효하려면 반드시 괄호"
+"로 묶어야 합니다."
#: core/app_settings.py:327
msgid "User DN template"
@@ -1532,7 +1593,9 @@ msgstr "사용자 DN 템플릿"
msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "사용자의 DN을 구성하는 데 사용되는 템플릿입니다. 하나의 플레이스홀더(예: %(user)s)를 포함해야 합니다."
+msgstr ""
+"사용자의 DN을 구성하는 데 사용되는 템플릿입니다. 하나의 플레이스홀더(예: "
+"%(user)s)를 포함해야 합니다."
#: core/app_settings.py:338
msgid "LDAP synchronization settings"
@@ -1555,7 +1618,9 @@ msgstr "로컬 계정 삭제 시 원격 LDAP 계정도 삭제합니다."
msgid ""
"Delete remote LDAP account when local account is deleted, otherwise it will "
"be disabled."
-msgstr "로컬 계정 삭제 시 원격 LDAP 계정을 삭제합니다. 체크하지 않으면 비활성화만 됩니다."
+msgstr ""
+"로컬 계정 삭제 시 원격 LDAP 계정을 삭제합니다. 체크하지 않으면 비활성화만 됩"
+"니다."
#: core/app_settings.py:389
msgid "Account DN template"
@@ -1566,7 +1631,9 @@ msgstr "계정 DN 템플릿"
msgid ""
"The template used to construct an account's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "계정의 DN을 구성하는 데 사용되는 템플릿입니다. 하나의 플레이스홀더(예: %(user)s)를 포함해야 합니다."
+msgstr ""
+"계정의 DN을 구성하는 데 사용되는 템플릿입니다. 하나의 플레이스홀더(예: "
+"%(user)s)를 포함해야 합니다."
#: core/app_settings.py:400
msgid "Enable import from LDAP"
@@ -1649,7 +1716,9 @@ msgstr "기본 테마 색상"
msgid ""
"Primary color of the theme (hexadecimal code), used as the background color "
"of the left menu for example"
-msgstr "테마의 기본 색상(16진수 코드)입니다. 예를 들어 왼쪽 메뉴의 배경색으로 사용됩니다."
+msgstr ""
+"테마의 기본 색상(16진수 코드)입니다. 예를 들어 왼쪽 메뉴의 배경색으로 사용됩"
+"니다."
#: core/app_settings.py:536
msgid "Primary theme color (lighter version)"
@@ -1671,7 +1740,9 @@ msgstr "보조 테마 색상"
msgid ""
"Secondary color of the theme (hexadecimal code), used as the background "
"color of some buttons for example"
-msgstr "테마의 보조 색상(16진수 코드)입니다. 예를 들어 일부 버튼의 배경색으로 사용됩니다."
+msgstr ""
+"테마의 보조 색상(16진수 코드)입니다. 예를 들어 일부 버튼의 배경색으로 사용됩"
+"니다."
#: core/app_settings.py:569
msgid "Labels theme color"
@@ -1739,9 +1810,11 @@ msgstr "비활성 계정 추적 활성화"
#: core/app_settings.py:674
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 "사용자가 로그인하지 않을 경우 계정을 비활성 상태로 간주할 임계값(일 단위)을 설정합니다."
+"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:683
msgid "Inactive account threshold"
@@ -1749,9 +1822,11 @@ msgstr "비활성 계정 임계값(기준)"
#: core/app_settings.py:686
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
-msgstr "마지막 로그인 날짜가 이 임계값(일 단위)을 초과한 계정은 비활성 상태로 간주됩니다."
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
+msgstr ""
+"마지막 로그인 날짜가 이 임계값(일 단위)을 초과한 계정은 비활성 상태로 간주됩"
+"니다."
#: core/app_settings.py:695
msgid "Top notifications check interval"
@@ -1790,7 +1865,9 @@ 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가 False로 설정되어 있습니다. 이는 서머타임 전환 시(예: 시계 변경으로 인해 동일한 현지 시간이 두 번 발생하는 경우) 문제를 일으킬 수 있습니다."
+msgstr ""
+"USE_TZ가 False로 설정되어 있습니다. 이는 서머타임 전환 시(예: 시계 변경으로 "
+"인해 동일한 현지 시간이 두 번 발생하는 경우) 문제를 일으킬 수 있습니다."
#: core/checks.py:19
msgid "Set `USE_TZ = True` in settings.py"
@@ -1798,7 +1875,8 @@ msgstr "settings.py에서 `USE_TZ = True`로 설정하세요."
#: core/checks.py:23
msgid "The password scheme you are using is deprecated."
-msgstr "사용 중인 비밀번호 암호화 방식은 더 이상 권장되지 않습니다(Deprecated)."
+msgstr ""
+"사용 중인 비밀번호 암호화 방식은 더 이상 권장되지 않습니다(Deprecated)."
#: core/checks.py:24
msgid "Upgrade your password scheme to a stronger one"
@@ -1808,27 +1886,34 @@ msgstr "비밀번호 암호화 방식을 더 강력한 것으로 업그레이드
msgid ""
"Oauth2 application for dovecot has not been found. Webmail and some other "
"features won't be available."
-msgstr "Dovecot용 Oauth2 애플리케이션을 찾을 수 없습니다. 웹메일 및 일부 기능을 사용할 수 없습니다."
+msgstr ""
+"Dovecot용 Oauth2 애플리케이션을 찾을 수 없습니다. 웹메일 및 일부 기능을 사용"
+"할 수 없습니다."
#: core/checks.py:34
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
-"oauth2"
-msgstr "방문 : https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
+msgstr ""
+"방문 : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
#: core/checks.py:41
msgid ""
"Oauth2 application for radicale has not been found. Calendar and some other "
"features won't be available."
-msgstr "Radicale용 Oauth2 애플리케이션을 찾을 수 없습니다. 캘린더 및 일부 기능을 사용할 수 없습니다."
+msgstr ""
+"Radicale용 Oauth2 애플리케이션을 찾을 수 없습니다. 캘린더 및 일부 기능을 사용"
+"할 수 없습니다."
#: core/checks.py:45
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
-"oauth2"
-msgstr "참조:\nhttps://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
+msgstr ""
+"참조:\n"
+"https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
#: core/constants.py:6
msgid "Simple user"
@@ -1885,7 +1970,8 @@ msgstr "수정됨"
#: core/handlers.py:41
#, python-format
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
-msgstr "사용자 %(user)s에 의해 %(object)s '%(name)s' 항목이 %(action)s되었습니다."
+msgstr ""
+"사용자 %(user)s에 의해 %(object)s '%(name)s' 항목이 %(action)s되었습니다."
#: core/handlers.py:64
#, python-format
@@ -2056,7 +2142,9 @@ msgid ""
msgid_plural ""
"\n"
" The following updates are available:\n"
-msgstr[0] "\n 다음 업데이트를 사용할 수 있습니다:\n"
+msgstr[0] ""
+"\n"
+" 다음 업데이트를 사용할 수 있습니다:\n"
#: core/utils.py:43
msgid "The core part of Modoboa"
@@ -2289,7 +2377,9 @@ 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 "폴더 필터 제외 항목에 해당하더라도 동기화에 포함할 폴더 리스트(쉼표 구분)입니다. 예: debian.user, debian.personal"
+msgstr ""
+"폴더 필터 제외 항목에 해당하더라도 동기화에 포함할 폴더 리스트(쉼표 구분)입니"
+"다. 예: debian.user, debian.personal"
#: imap_migration/apps.py:20
msgid "IMAP Migration"
@@ -2299,7 +2389,9 @@ msgstr "IMAP 마이그레이션"
msgid ""
"Automatic domain/mailbox creation is disabled which means IMAP "
"authentication won't work."
-msgstr "도메인/사서함 자동 생성이 비활성화되어 있습니다. 이는 IMAP 인증이 작동하지 않음을 의미합니다."
+msgstr ""
+"도메인/사서함 자동 생성이 비활성화되어 있습니다. 이는 IMAP 인증이 작동하지 않"
+"음을 의미합니다."
#: imap_migration/checks.py:16
msgid ""
@@ -2373,13 +2465,17 @@ msgstr "도메인 관리자"
msgid ""
"Maximum number of allowed domain administrators for a new administrator. (0 "
"to deny any creation, -1 to allow unlimited creations)"
-msgstr "새 관리자가 생성할 수 있는 도메인 관리자의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+msgstr ""
+"새 관리자가 생성할 수 있는 도메인 관리자의 최대 수입니다. (0은 생성 금지, -1"
+"은 무제한)"
#: limits/app_settings.py:41
msgid ""
"Maximum number of allowed domains for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "새 관리자가 생성할 수 있는 도메인의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+msgstr ""
+"새 관리자가 생성할 수 있는 도메인의 최대 수입니다. (0은 생성 금지, -1은 무제"
+"한)"
#: limits/app_settings.py:49 limits/app_settings.py:123 limits/constants.py:22
#: limits/constants.py:76
@@ -2388,15 +2484,19 @@ msgstr "도메인 별칭"
#: limits/app_settings.py:52
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
-msgstr "새 관리자가 생성할 수 있는 도메인 별칭의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+"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:64
msgid ""
"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "새 관리자가 생성할 수 있는 사서함의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+msgstr ""
+"새 관리자가 생성할 수 있는 사서함의 최대 수입니다. (0은 생성 금지, -1은 무제"
+"한)"
#: limits/app_settings.py:73 limits/app_settings.py:146 limits/constants.py:39
#: limits/constants.py:92
@@ -2407,7 +2507,8 @@ msgstr "사서함 별칭"
msgid ""
"Maximum number of allowed aliases for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "새 관리자가 생성할 수 있는 별칭의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+msgstr ""
+"새 관리자가 생성할 수 있는 별칭의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
#: limits/app_settings.py:84 limits/constants.py:59
msgid "Quota"
@@ -2417,7 +2518,9 @@ msgstr "할당량"
msgid ""
"The quota a reseller will be allowed to share between the domains he "
"creates. (0 means no quota)"
-msgstr "리셀러가 생성한 도메인들 간에 공유할 수 있는 할당량입니다. (0은 제한 없음을 의미)"
+msgstr ""
+"리셀러가 생성한 도메인들 간에 공유할 수 있는 할당량입니다. (0은 제한 없음을 "
+"의미)"
#: limits/app_settings.py:98
msgid "Default per-domain limits"
@@ -2433,27 +2536,33 @@ msgstr "도메인별 제한 기능을 활성화하거나 비활성화합니다."
#: limits/app_settings.py:114
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
-msgstr "새 도메인에 허용되는 도메인 관리자의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+"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:126
msgid ""
"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "새 도메인에 허용되는 도메인 별칭의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+msgstr ""
+"새 도메인에 허용되는 도메인 별칭의 최대 수입니다. (0은 생성 금지, -1은 무제"
+"한)"
#: limits/app_settings.py:138
msgid ""
"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "새 도메인에 허용되는 사서함의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+msgstr ""
+"새 도메인에 허용되는 사서함의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
#: limits/app_settings.py:149
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
-msgstr "새 도메인에 허용되는 별칭의 최대 수입니다. (0은 생성 금지, -1은 무제한)"
+"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:16
msgid "Limits"
@@ -2542,7 +2651,8 @@ msgstr "그레이리스트(Greylisted) 메시지 표시"
#: maillog/apps.py:40
msgid "Differentiate between hard and soft rejects (greylisting)"
-msgstr "강력 거부(Hard Reject)와 일시 거부(Soft Reject, 그레이리스팅)를 구분합니다."
+msgstr ""
+"강력 거부(Hard Reject)와 일시 거부(Soft Reject, 그레이리스팅)를 구분합니다."
#: maillog/apps.py:60
msgid "Statistics"
@@ -2552,63 +2662,63 @@ msgstr "통계"
msgid "Failed to locate rrdtool binary."
msgstr "rrdtool 바이너리를 찾지 못했습니다."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "평균 트래픽 (메시지/분)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "보낸 메시지"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "받은 메시지"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "반송된 메시지(Bounced)"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "거부된 메시지(Rejected)"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "바이러스 메시지"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "스팸 메시지"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "그레이리스트 메시지"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "평균 정상 트래픽 크기 (바이트/분)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "받은 크기"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "보낸 크기"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "메일 트래픽"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "평균 계정 생성 수 (계정/시간)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "새 계정"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "계정 현황"
@@ -2666,7 +2776,9 @@ msgstr "계정 생성 시에만 문서 생성"
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 "새 계정이 생성될 때만 새 문서를 생성합니다. '아니요'로 설정하면 비밀번호가 업데이트될 때마다 새 문서가 생성됩니다."
+msgstr ""
+"새 계정이 생성될 때만 새 문서를 생성합니다. '아니요'로 설정하면 비밀번호가 업"
+"데이트될 때마다 새 문서가 생성됩니다."
#: pdfcredentials/app_settings.py:84
msgid "Customization options"
@@ -2704,7 +2816,9 @@ msgstr "메일 클라이언트 연결 설정 포함"
msgid ""
"Include required SMTP and IMAP connection information to configure a mail "
"client, a tablet or a phone"
-msgstr "메일 클라이언트, 태블릿 또는 스마트폰 설정을 위해 필요한 SMTP 및 IMAP 연결 정보를 포함합니다."
+msgstr ""
+"메일 클라이언트, 태블릿 또는 스마트폰 설정을 위해 필요한 SMTP 및 IMAP 연결 정"
+"보를 포함합니다."
#: pdfcredentials/app_settings.py:123 pdfcredentials/documents.py:133
msgid "SMTP server address"
@@ -2765,7 +2879,11 @@ msgid ""
"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안녕하세요 %s님, 이 문서는 Modoboa 연결에 필요한 접속 정보를\n포함하고 있습니다. 내용을 확인하신 후 이 문서를 가급적 빨리\n파기해 주시기 바랍니다.\n"
+msgstr ""
+"\n"
+"안녕하세요 %s님, 이 문서는 Modoboa 연결에 필요한 접속 정보를\n"
+"포함하고 있습니다. 내용을 확인하신 후 이 문서를 가급적 빨리\n"
+"파기해 주시기 바랍니다.\n"
#: pdfcredentials/documents.py:95
msgid "Web panel:"
@@ -2784,7 +2902,10 @@ msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
"your contacts.\n"
-msgstr "\n여기에서 언제든지 온라인으로 이메일을 확인하고, 필터를 생성하거나\n연락처를 관리할 수 있습니다.\n"
+msgstr ""
+"\n"
+"여기에서 언제든지 온라인으로 이메일을 확인하고, 필터를 생성하거나\n"
+"연락처를 관리할 수 있습니다.\n"
#: pdfcredentials/documents.py:126
msgid "Please change your password!"
@@ -2878,9 +2999,11 @@ msgstr "키 맵(Key map) 경로"
#: rspamd/app_settings.py:21
msgid ""
-"Absolute path of the file which contains paths to DKIM private keys. Must be"
-" readable by _rspamd group or user."
-msgstr "DKIM 개인 키들의 경로가 포함된 파일의 절대 경로입니다. _rspamd 그룹 또는 사용자가 읽을 수 있어야 합니다."
+"Absolute path of the file which contains paths to DKIM private keys. Must be "
+"readable by _rspamd group or user."
+msgstr ""
+"DKIM 개인 키들의 경로가 포함된 파일의 절대 경로입니다. _rspamd 그룹 또는 사용"
+"자가 읽을 수 있어야 합니다."
#: rspamd/app_settings.py:30
msgid "Selector map path"
@@ -2890,7 +3013,9 @@ msgstr "선택기 맵(Selector map) 경로"
msgid ""
"Absolute path of the file which contains names of DKIM selectors. Must be "
"readable by _rspamd group or user."
-msgstr "DKIM 선택기들의 이름이 포함된 파일의 절대 경로입니다. _rspamd 그룹 또는 사용자가 읽을 수 있어야 합니다."
+msgstr ""
+"DKIM 선택기들의 이름이 포함된 파일의 절대 경로입니다. _rspamd 그룹 또는 사용"
+"자가 읽을 수 있어야 합니다."
#: rspamd/app_settings.py:51
msgid "Rspamd dashboard location"
@@ -2898,10 +3023,13 @@ msgstr "Rspamd 대시보드 위치"
#: rspamd/app_settings.py:53
msgid ""
-"Location of the rspamd dashboard. Can either be a relative URL (eg. "
-"'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
+"Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
+"rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
"guidance on the Super-Admin dashboard."
-msgstr "Rspamd 대시보드의 위치입니다. 상대 URL(예: '/rspamd') 또는 전체 URL(예: 'https://rspamd.domain.tld/') 모두 가능합니다. 최고 관리자 대시보드 안내용으로만 사용됩니다."
+msgstr ""
+"Rspamd 대시보드의 위치입니다. 상대 URL(예: '/rspamd') 또는 전체 URL(예: "
+"'https://rspamd.domain.tld/') 모두 가능합니다. 최고 관리자 대시보드 안내용으"
+"로만 사용됩니다."
#: rspamd/apps.py:18
msgid "Rspamd"
@@ -2980,7 +3108,7 @@ msgstr "일치함"
msgid "is not"
msgstr "일치하지 않음"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "제목"
@@ -3081,7 +3209,9 @@ msgstr "비밀번호를 잊으셨나요?"
msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
-msgstr "비밀번호 설정이 완료되었습니다. 이제 로그인하실 수 있습니다."
+msgstr ""
+"비밀번호 설정이 완료되었습니다. 이제 로그인하실 수 있"
+"습니다."
#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
@@ -3097,7 +3227,9 @@ msgstr "확인"
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
-msgstr "비밀번호 재설정 링크가 유효하지 않습니다. 이미 사용되었을 수 있으니 새로 요청해 주세요."
+msgstr ""
+"비밀번호 재설정 링크가 유효하지 않습니다. 이미 사용되었을 수 있으니 새로 요청"
+"해 주세요."
#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
@@ -3117,7 +3249,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 "입력하신 이메일과 일치하는 계정이 존재할 경우, 비밀번호 설정 안내를 이메일로 발송해 드렸습니다. 곧 메일을 받으실 수 있습니다.
만약 메일을 받지 못하셨다면, 입력한 주소가 정확한지 확인하시고 스팸 메일함도 점검해 주세요.
"
+msgstr ""
+"입력하신 이메일과 일치하는 계정이 존재할 경우, 비밀번호 설정 안내를 이메일"
+"로 발송해 드렸습니다. 곧 메일을 받으실 수 있습니다.
만약 메일을 받지 "
+"못하셨다면, 입력한 주소가 정확한지 확인하시고 스팸 메일함도 점검해 주세요."
+"p>"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -3125,14 +3261,17 @@ msgstr "
입력하신 이메일과 일치하는 계정이 존재할 경우,
msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
-msgstr "%(username)s Modoboa 계정의 비밀번호 재설정 절차를 시작하려면 아래 링크를 클릭하세요:"
+msgstr ""
+"%(username)s Modoboa 계정의 비밀번호 재설정 절차를 시작하려면 아래 링크를 클"
+"릭하세요:"
#: 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을 복사하여 새 브라우저 창에 붙여넣어 주세요."
+msgstr ""
+"위 링크가 작동하지 않으면 URL을 복사하여 새 브라우저 창에 붙여넣어 주세요."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
@@ -3161,9 +3300,11 @@ msgstr "일회용 비밀번호(OTP)"
#: templates/registration/twofactor_code_verify.html:35
msgid ""
-"Enter the code from the two-factor app on your mobile device. If you've lost"
-" your device, you may enter one of your recovery codes."
-msgstr "모바일 기기의 2단계 인증 앱에 표시된 코드를 입력하세요. 기기를 분실했다면 복구 코드 중 하나를 입력할 수 있습니다."
+"Enter the code from the two-factor app on your mobile device. If you've lost "
+"your device, you may enter one of your recovery codes."
+msgstr ""
+"모바일 기기의 2단계 인증 앱에 표시된 코드를 입력하세요. 기기를 분실했다면 복"
+"구 코드 중 하나를 입력할 수 있습니다."
#: templates/registration/twofactor_code_verify.html:42
msgid "Verify code"
@@ -3330,19 +3471,19 @@ msgstr "사용자 정의 이메일 서명"
msgid "Server response"
msgstr "서버 응답"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "첨부 파일 삭제 실패: "
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr "씀:"
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "날짜"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr "원본 메시지"
@@ -3374,19 +3515,19 @@ msgstr "예약됨"
msgid "Trash"
msgstr "휴지통"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr "예약된 메시지를 이동하는 것은 금지되어 있습니다."
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr "미래의 날짜와 시간만 허용됩니다."
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr "제공된 시간은 최소 1분 뒤의 미래여야 합니다."
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "첨부 파일이 너무 큽니다 (제한: %s)"
diff --git a/modoboa/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/locale/nl_NL/LC_MESSAGES/django.po
index 00bbdd87f..21821384f 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2024-07-17 11:46+0200\n"
"Last-Translator: J Rosier \n"
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/"
@@ -57,12 +57,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Kan niet groter zijn dan domeinquotum"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Toegang geweigerd."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -73,7 +73,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "Lijst van beheerde domeinen (alleen resellers en domeinbeheerders)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Niet toegestaan voor deze rol."
@@ -81,12 +81,12 @@ msgstr "Niet toegestaan voor deze rol."
msgid "Must be equal to mailbox full_address"
msgstr "Moet gelijk zijn aan de mailbox full_address"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Dit veld is verplicht."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Lokaal domein {} bestaat niet"
@@ -112,56 +112,56 @@ msgstr "Je hebt geen toegang tot deze mailbox."
msgid "Here is your new Modoboa password: {}"
msgstr "Hier is je nieuwe Modoboa wachtwoord:{}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "DKIM Key opslagdirectory niet geconfigureerd"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Je kunt geen onbeperkt quotum definiëren."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Gebruiker '%s' bestaat al"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Dit moet een positief geheel getal zijn."
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Map niet gevonden."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
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:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Definieer ten minste 1 geautoriseerd netwerk / adres"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
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:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
@@ -343,7 +343,7 @@ msgstr ""
"Hernoem of verwijder mailboxen op het bestandssysteem wanner ze hernoemd of "
"verwijderd worden in Modoboa."
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Standaard mailbox quota"
@@ -472,16 +472,16 @@ msgstr "[modoboa] MX problemen voor domein {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL problemen voor domein {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "domeinalias"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Accounts importeren mislukt (%s): domein bestaat niet"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Account import is mislukt (%s): verkeerde quotumwaarde"
@@ -551,17 +551,17 @@ msgstr "CSV bestand aan het lezen met %(encoding)scodering"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Kan CSV bestand niet decoderen met %(encoding)scodering"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -579,7 +579,7 @@ msgstr "adres"
msgid "The alias address."
msgstr "Het alias adres"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "actief"
@@ -618,67 +618,67 @@ msgstr "Lokale ontvanger {}@{} niet gevonden"
msgid "Invalid line: {}"
msgstr "Ongeldige regel: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "naam"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "De domeinnaam"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Verzendlimiet e-mails"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr "Aantal mails dat dit domein per dag mag verzenden"
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Selecteer om dit domein te activeren"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Schakel DNS checks in."
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
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:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Zet DKIM ondertekening aan"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Sleutellengte"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Onjuiste regel"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{}: geen goedgekeurd MX record gevonden voor dit domein"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{}: ongeldige quotumwaarde voor dit domein"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr "{}: ongeldige standaard quotumwaarde voor dit domein"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "{}: standaard mailboxquotum kan niet groter zijn dan domeinquotum"
@@ -1021,17 +1021,17 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Verbinding naar IMAP server mislukt: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Lokale ontvanger {}@{} niet gevonden"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2839,69 +2839,69 @@ msgstr "Statistieken"
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Gemiddeld verkeer per minuut (berichten)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "verstuurde berichten"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "ontvangen berichten"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "geweigerde berichten"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "geweigerde berichten"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "verstuurde berichten"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "verstuurde berichten"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "geweigerde berichten"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Gemiddelde bandbreette per minuut (bytes)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "ontvangen grootte"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "verstuurde grootte"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Mailverkeer"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -3325,7 +3325,7 @@ msgstr "is"
msgid "is not"
msgstr "is niet"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Onderwerp"
@@ -3736,21 +3736,21 @@ msgstr "Door gebruiker opgegeven e-mailhandtekening"
msgid "Server response"
msgstr "Serveradres"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to remove filter"
msgid "Failed to remove attachment: "
msgstr "Bijlage verwijderen is mislukt:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Datum"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3784,19 +3784,19 @@ msgstr ""
msgid "Trash"
msgstr "Prullenbak"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Bijlage is te groot (maximaal toegestane grootte: %s)"
diff --git a/modoboa/locale/no/LC_MESSAGES/django.po b/modoboa/locale/no/LC_MESSAGES/django.po
index 751a4c9fc..ffc0cfaa2 100644
--- a/modoboa/locale/no/LC_MESSAGES/django.po
+++ b/modoboa/locale/no/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2020-05-11 18:45+0000\n"
"Last-Translator: Nils Otto Lillegrein , 2020\n"
"Language-Team: Norwegian (https://www.transifex.com/tonio/teams/13749/no/)\n"
@@ -44,12 +44,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -60,7 +60,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -68,12 +68,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -97,56 +97,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -310,7 +310,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -431,16 +431,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -506,17 +506,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -532,7 +532,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -569,65 +569,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -920,15 +920,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2558,63 +2558,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2986,7 +2986,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3336,21 +3336,21 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "Kunne ikke opprette LDAP-konto: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3382,19 +3382,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/locale/pl_PL/LC_MESSAGES/django.po
index 2d68b67cd..d0cde2bc5 100644
--- a/modoboa/locale/pl_PL/LC_MESSAGES/django.po
+++ b/modoboa/locale/pl_PL/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:
# sin88 , 2016
# Dariusz Koryto , 2016,2026
@@ -17,25 +17,32 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Dariusz Koryto , 2016,2026\n"
-"Language-Team: Polish (Poland) (http://app.transifex.com/tonio/modoboa/language/pl_PL/)\n"
+"Language-Team: Polish (Poland) (http://app.transifex.com/tonio/modoboa/"
+"language/pl_PL/)\n"
+"Language: pl_PL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pl_PL\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"
+"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:39
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."
+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:46
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Domyślny limit przydziału w MB zastosowany do skrzynek pocztowych. Wartość 0 oznacza brak ograniczenia."
+msgstr ""
+"Domyślny limit przydziału w MB zastosowany do skrzynek pocztowych. Wartość 0 "
+"oznacza brak ograniczenia."
#: admin/api/v1/serializers.py:94
msgid "domain alias with this name already exists"
@@ -50,12 +57,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Nie może być wyższa niż limit domeny"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Odmowa dostępu."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -64,9 +71,10 @@ msgstr "To pole jest obowiązkowe"
#: admin/api/v1/serializers.py:243
msgid ""
"List of administered domains (resellers and domain administrators only)."
-msgstr "Lista administratorów domen (tylko resellerów i administratorów domen)."
+msgstr ""
+"Lista administratorów domen (tylko resellerów i administratorów domen)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Niedozwolone dla tej roli."
@@ -74,12 +82,12 @@ msgstr "Niedozwolone dla tej roli."
msgid "Must be equal to mailbox full_address"
msgstr "Musi być równe z full_address skrzynki."
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "To pole jest wymagane"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Lokalna domena {} nie istnieje"
@@ -103,56 +111,56 @@ msgstr "Nie masz dostępu do tej skrzynki."
msgid "Here is your new Modoboa password: {}"
msgstr "Twoje nowe hasło do Modoboa to: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Katalog przechowywania kluczy DKIM nie został skonfigurowany"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "To pole jest ważne, gdy typ to relaydomain"
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Nie możesz przypisać nielimitowanej przestrzeni"
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Użytkownik '%s' już istnieje"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Musi być liczbą całkowitą dodatnią"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr "Brak openssl , upewnij się że jest zainstalowany."
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Katalog nie znaleziony."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr "To pole akceptuje tylko prawidlowe adresy IP (lub sieci)"
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr "Wyłącz migracjię IMAP przed wyłączeniem tej opcji."
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Zdefiniuj przynajmniej jedną autoryzowaną sieć / adres"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr "Lewa część adresu e-mail nie może zawierać więcej niż 64 znaki."
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "Skrzynka pocztowa jest wymagana do utworzenia aliasów."
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "Nieznany status"
@@ -182,9 +190,11 @@ msgstr "Poprawne MXy"
#: admin/app_settings.py:37
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."
+"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:47
msgid "New domains must use authorized MX(s)"
@@ -194,7 +204,9 @@ msgstr "Nowe domeny muszą używać autoryzowanych rekordów MX(ów)"
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."
+msgstr ""
+"Zapobiegaj tworzeniu nowych domen jeśli ich MXy nie są jednym ze "
+"zdefiniowanych adresów."
#: admin/app_settings.py:59
msgid "Enable IPV6 checks"
@@ -234,7 +246,9 @@ msgstr "Włącz sprawdzanie poprawności autokonfiguracji"
#: admin/app_settings.py:99
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:107
msgid "Enable DNSBL checks"
@@ -252,7 +266,9 @@ msgstr "Powiadom administratora domeny o problemach DNS"
msgid ""
"Send a notification by email to domain administrators when DNS issues are "
"encountered"
-msgstr "Wyślij powiadomienie e-mail do administratorów domeny, gdy pojawią się problemy DNS"
+msgstr ""
+"Wyślij powiadomienie e-mail do administratorów domeny, gdy pojawią się "
+"problemy DNS"
#: admin/app_settings.py:128
msgid "Custom DNS server"
@@ -271,7 +287,10 @@ 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."
+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:149
msgid "Default DKIM key length"
@@ -289,7 +308,9 @@ msgstr "Domyślne ograniczenie dla domeny"
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)"
+msgstr ""
+"Domyślne ograniczenie (w MB) dla nowych domen, gdy nie zostało podane. (0 - "
+"brak ograniczenia)"
#: admin/app_settings.py:168
msgid "Default domain sending limit"
@@ -299,7 +320,9 @@ msgstr "Domyślny limit wysyłania dla domey"
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."
+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:182 limits/app_settings.py:61
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
@@ -314,9 +337,11 @@ msgstr "Postępowanie ze skrzynkami w systemie plików"
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"
+msgstr ""
+"Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub "
+"usuniętę przez Modoboa"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Domyślna przestrzeń dla konta pocztowego"
@@ -324,7 +349,9 @@ msgstr "Domyślna przestrzeń dla konta pocztowego"
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
-msgstr "Domyślna pojemność skrzynki (w MB) dla nowo tworzonych domen bez podanej wartości. 0 oznacza brak limitu."
+msgstr ""
+"Domyślna pojemność skrzynki (w MB) dla nowo tworzonych domen bez podanej "
+"wartości. 0 oznacza brak limitu."
#: admin/app_settings.py:209
msgid "Default mailbox sending limit"
@@ -334,7 +361,9 @@ msgstr "Domyślny limit wysyłania skrzynki"
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."
+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:219
msgid "Automatic account removal"
@@ -349,8 +378,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Automatyczne tworzenie domeny/skrzynki"
#: admin/app_settings.py:233
-msgid ""
-"Create a domain and a mailbox when an account is automatically created."
+msgid "Create a domain and a mailbox when an account is automatically created."
msgstr "Utwórz domenę i skrzynkę, kiedy konto jest tworzone automatycznie."
#: admin/app_settings.py:242
@@ -379,7 +407,8 @@ msgstr "Lista blokad celów aliasu"
#: admin/app_settings.py:274
msgid "A list of domains that aliases cannot target (comma separated)."
-msgstr "Lista domen, których aliasy nie mogą wskazywać (oddzielone przecinkami)."
+msgstr ""
+"Lista domen, których aliasy nie mogą wskazywać (oddzielone przecinkami)."
#: admin/app_settings.py:282
msgid "Alias target allow list"
@@ -438,16 +467,16 @@ msgstr "[modoboa] Wykryto problem(y) z MX dla domeny {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problem(y) DNSBL dla domeny {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "alias domeny"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Błąd importu (%s): domena nie istnieje"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Błąd importu (%s): błędna wartość limitu"
@@ -478,7 +507,9 @@ msgstr "Znaleziono nie działające serwery nazw"
#: admin/lib.py:237 admin/tests/test_mx.py:146
#, 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:241
msgid "DNS name is too long: {}"
@@ -513,17 +544,19 @@ msgstr "Wczytywanie pliku CSV używając kodowania %(encoding)s"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Nie potrafię zdekodować pliku CSV używając kodowania %(encoding)s"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
-msgstr "śeieżka DKIM jest niedostępna do zapisu (problem z uprawnieniami lub katalog nie istnieje)"
+msgstr ""
+"śeieżka DKIM jest niedostępna do zapisu (problem z uprawnieniami lub katalog "
+"nie istnieje)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "Nie udało się wygenerować prywatny klucz DKIM"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "Nie udało się wygenerować publiczny klucz DKIM"
@@ -539,7 +572,7 @@ msgstr "adres"
msgid "The alias address."
msgstr "Adres aliasu."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "aktywny"
@@ -576,65 +609,70 @@ msgstr "Lokalny odbiorcy {} nie znaleziony"
msgid "Invalid line: {}"
msgstr "Niewłaściwa linia: []"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "nazwa"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Nazwa domeny"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Limit wysyłania wiadomości"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
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:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Zaznacz, aby aktywować tą domenę"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Aktywuj sprawdzanie rekordów DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Zaznacz aby aktywować sprawdzanie DNS dla tej domeny"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Włącz podpisywanie DKIM"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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"
+msgstr ""
+"Jeśli włączysz tą funkcjonalność, dla tej domeny zostanie wygenerowany klucz "
+"DKIM"
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Długość klucza"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Niepoprawna linia"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
-msgstr "Niepoprawną linię: {}{}: nie znaleziono autoryzowanego rekordu MX dla domeny"
+msgstr ""
+"Niepoprawną linię: {}{}: nie znaleziono autoryzowanego rekordu MX dla domeny"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{}: niepoprawna wartość limitu dla domeny"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
-msgstr "{}: niepoprawn wartość limitu dla domeny{}: niepoprawn wartość domyślnego limitu skrzynki dla domeny"
+msgstr ""
+"{}: niepoprawn wartość limitu dla domeny{}: niepoprawn wartość domyślnego "
+"limitu skrzynki dla domeny"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "{}: limit skrzynki nie może być większy niż limit domeny"
@@ -689,19 +727,26 @@ msgstr "Skrzynka [] już istnieje"
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
-msgstr "Modoboa wykryła, że domena %(domain)s znajduje się na liście DNSBL następujących dostawców:"
+msgstr ""
+"Modoboa wykryła, że domena %(domain)s znajduje się na liście DNSBL "
+"następujących dostawcó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)."
+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/tests/test_mx.py:141
#, python-format
@@ -728,7 +773,9 @@ msgstr "Wielkość liter w nazwie użytkownika jest istotna"
#: amavis/app_settings.py:19
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
-msgstr "Wartość powinna odpowiadać zmiennej amavisd.conf $localpart_is_case_sensitiveKolory"
+msgstr ""
+"Wartość powinna odpowiadać zmiennej amavisd.conf "
+"$localpart_is_case_sensitiveKolory"
#: amavis/app_settings.py:27
msgid "Recipient delimiter"
@@ -748,7 +795,8 @@ msgstr "Maksymalny wiek wiadomości"
#: amavis/app_settings.py:49
msgid "Quarantine messages maximum age (in days) before deletion"
-msgstr "Maksymalny wiek wiadomości w kwarantannie (w dniach) przed jej usunięciem"
+msgstr ""
+"Maksymalny wiek wiadomości w kwarantannie (w dniach) przed jej usunięciem"
#: amavis/app_settings.py:60
msgid "Message releasing"
@@ -760,7 +808,8 @@ msgstr "Usuń uwolnione wiadomości"
#: amavis/app_settings.py:68
msgid "Remove messages marked as released while cleaning up the database"
-msgstr "Usuń wiadomości oznaczone jako uwolnione podczas czyszczenie bazy danych"
+msgstr ""
+"Usuń wiadomości oznaczone jako uwolnione podczas czyszczenie bazy danych"
#: amavis/app_settings.py:76
msgid "Amavis connection mode"
@@ -870,7 +919,9 @@ msgstr "Włącz ręczne uczenie per domena"
msgid ""
"Allow domain administrators to train Spamassassin (within dedicated per-"
"domain databases)"
-msgstr "Zezwól administratorom domen na trenowanie Spamassassin'a (w obrębie dedykowanych baz danych per domena)"
+msgstr ""
+"Zezwól administratorom domen na trenowanie Spamassassin'a (w obrębie "
+"dedykowanych baz danych per domena)"
#: amavis/app_settings.py:215
msgid "Enable per-user manual learning"
@@ -880,7 +931,9 @@ msgstr "Włącz ręczne uczenie per uzytkownik"
msgid ""
"Allow simple users to personally train Spamassassin (within a dedicated "
"database)"
-msgstr "Zezwól prostym użytkownikom na trenowanie Spamassassin'a (w obrębie dedykowanej bazy danych)"
+msgstr ""
+"Zezwól prostym użytkownikom na trenowanie Spamassassin'a (w obrębie "
+"dedykowanej bazy danych)"
#: amavis/app_settings.py:236 webmail/app_settings.py:155
msgid "Display"
@@ -902,13 +955,17 @@ msgstr "Amavis"
msgid ""
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
"by the Amavis database."
-msgstr "AMAVIS_DEFAULT_DATABASE_ENCODING nie jest zgodne z kodowaniem używanym przez bazę danych Amavisa."
+msgstr ""
+"AMAVIS_DEFAULT_DATABASE_ENCODING nie jest zgodne z kodowaniem używanym przez "
+"bazę danych Amavisa."
#: amavis/checks/settings_checks.py:12
msgid ""
"Check your database character encoding and set/update "
"AMAVIS_DEFAULT_DATABASE_ENCODING."
-msgstr "Sprawdź ustawienia kodowania znaków swojej bazy danych i ustaw/zaktualizuj AMAVIS_DEFAULT_DATABASE_ENCODING."
+msgstr ""
+"Sprawdź ustawienia kodowania znaków swojej bazy danych i ustaw/zaktualizuj "
+"AMAVIS_DEFAULT_DATABASE_ENCODING."
#: amavis/checks/settings_checks.py:19
msgid "Modoboa Amavis has not been tested using the selected database engine."
@@ -927,15 +984,15 @@ msgstr "Oczekujące żądania"
msgid "Connection to amavis failed: %s"
msgstr "Nieudane połączenie do amavis: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr "Nie znaleziono programu {} "
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr "Brak odbiorców"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr "Domena lokalna nieznaleziona"
@@ -961,7 +1018,9 @@ msgstr "domyślne"
#: amavis/models.py:111
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "Obejść sprawdzenia antywirusowe czy nie. Wybież 'domyślne' dla ustawienia globalnego."
+msgstr ""
+"Obejść sprawdzenia antywirusowe czy nie. Wybież 'domyślne' dla ustawienia "
+"globalnego."
#: amavis/models.py:115
msgid "Spam filter"
@@ -969,7 +1028,9 @@ msgstr "Filtr spamu"
#: amavis/models.py:125
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "Obejść sprawdzenia antyspamowe czy nie. Wybież 'domyślne' dla ustawienia globalnego."
+msgstr ""
+"Obejść sprawdzenia antyspamowe czy nie. Wybież 'domyślne' dla ustawienia "
+"globalnego."
#: amavis/models.py:129
msgid "Banned filter"
@@ -977,7 +1038,9 @@ msgstr "Filtr zakazany"
#: amavis/models.py:139
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "Obejść sprawdzenia zakazane czy nie. Wybież 'domyślne' dla ustawienia globalnego."
+msgstr ""
+"Obejść sprawdzenia zakazane czy nie. Wybież 'domyślne' dla ustawienia "
+"globalnego."
#: amavis/models.py:170
msgid "Spam marker"
@@ -985,9 +1048,11 @@ msgstr "Marker spamu"
#: amavis/models.py:176
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "Modyfikuj temat spamu wybranym tekstem. Wybież 'domyślne' dla ustawienia globalnego."
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"Modyfikuj temat spamu wybranym tekstem. Wybież 'domyślne' dla ustawienia "
+"globalnego."
#: amavis/templates/amavis/notifications/pending_requests.html:3
#, python-format
@@ -1072,7 +1137,9 @@ msgstr "Domyślny temat używany dla automatycznych autoodpowiedzi"
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."
+msgstr ""
+"Domyślna zawartość dla automatycznych auto-odpowiedzi. Macro '%(name)s' "
+"zostanie zastąpione przez pełną nazwę użytkownika."
#: autoreply/apps.py:15
msgid "Automatic replies"
@@ -1109,7 +1176,8 @@ msgstr "Adres URL serwera"
#: calendars/app_settings.py:19
msgid ""
"The URL of your Radicale server. It will be used to construct calendar URLs."
-msgstr "URL serwera radicale. Zostanie użyte podczas tworzenia ścieżki URL kalendarza"
+msgstr ""
+"URL serwera radicale. Zostanie użyte podczas tworzenia ścieżki URL kalendarza"
#: calendars/app_settings.py:31
msgid "Rights management"
@@ -1129,7 +1197,9 @@ msgstr "Zezwól na zarządzanie kalendarzami"
#: calendars/app_settings.py:48
msgid "Allow domain administrators to manage user calendars (read and write)"
-msgstr "Zezwól administratorom domeny na zarządzanie użytkownikami kalendarzy (zapis i odczyt)"
+msgstr ""
+"Zezwól administratorom domeny na zarządzanie użytkownikami kalendarzy (zapis "
+"i odczyt)"
#: calendars/app_settings.py:60 core/app_settings.py:664
#: rspamd/app_settings.py:45
@@ -1143,7 +1213,8 @@ msgstr "Maksymalny rozmiar pliku ICS"
#: calendars/app_settings.py:68
msgid ""
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
-msgstr "Maksymalny rozmiar plików ICS w bajtach (lub KB, MB, GB jeżeli określono)"
+msgstr ""
+"Maksymalny rozmiar plików ICS w bajtach (lub KB, MB, GB jeżeli określono)"
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
msgid "Calendars"
@@ -1169,7 +1240,9 @@ msgstr "Synchronizuj książkę adresów przy użyciu CardDAV"
msgid ""
"Choose to synchronize or not your address book using CardDAV. You will be "
"able to access your contacts from the outside."
-msgstr "Wybierz, czy chcesz synchronizować książkę adresów przy użyciu CardDAV. Będziesz móc dostęp do swoich kontaktów z zewnątrz."
+msgstr ""
+"Wybierz, czy chcesz synchronizować książkę adresów przy użyciu CardDAV. "
+"Będziesz móc dostęp do swoich kontaktów z zewnątrz."
#: contacts/app_settings.py:29
msgid "Synchronization frequency"
@@ -1230,7 +1303,9 @@ msgstr "2FA jest już włączone"
#: core/api/v1/serializers.py:87
#, python-format
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
-msgstr "Nie powodzieła się próba edycji ustawień autoryzacji dwuetapowej z '%(addr)s' jako użytkownik '%(user)s'"
+msgstr ""
+"Nie powodzieła się próba edycji ustawień autoryzacji dwuetapowej z "
+"'%(addr)s' jako użytkownik '%(user)s'"
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
msgid "Invalid password"
@@ -1257,8 +1332,7 @@ msgstr "Nieprawidłowa liczba rund"
msgid "This code is invalid"
msgstr "Ten kod jest nieprawidłowy"
-#: core/api/v2/serializers.py:496 core/views/auth.py:213
-#: core/views/auth.py:266
+#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Proszę użyć następującego kodu, aby odzyskać swoje hasło Modoboa: {}"
@@ -1315,7 +1389,9 @@ msgstr "Rundy"
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."
+msgstr ""
+"Liczba rund (tylko dla sha256crypt i sha512crypt). Musi się zawierać "
+"pomiędzy 1000 a 999999999 włącznie."
#: core/app_settings.py:61
msgid "Update password scheme at login"
@@ -1323,7 +1399,9 @@ msgstr "Aktualizuj schemat haseł przy logowaniu"
#: core/app_settings.py:64
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:72
msgid "Default password"
@@ -1358,7 +1436,11 @@ 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)."
+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:114
msgid "Password recovery announcement"
@@ -1366,7 +1448,8 @@ msgstr "Komunikat o odzyskiwaniu hasła"
#: core/app_settings.py:116
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:125
msgid "Enable password recovery by SMS"
@@ -1374,7 +1457,9 @@ msgstr "Włącz odzyskiwanie hasła przez SMS"
#: core/app_settings.py:128
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:136
msgid "SMS provider"
@@ -1415,7 +1500,9 @@ msgstr "Włącz dodatkowy serwer (awaryjny)"
#: core/app_settings.py:179
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"
+msgstr ""
+"Włącz dodatkowy serwer LDAP, który będzie użyty, gdy pierwszorzędny nie "
+"będzie dostępny"
#: core/app_settings.py:187
msgid "Secondary server address"
@@ -1456,9 +1543,11 @@ msgstr "Administrator grup"
#: core/app_settings.py:227
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."
+"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:236
msgid "Group type"
@@ -1504,7 +1593,9 @@ msgstr "Przypnij do DN"
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"
+msgstr ""
+"DN do użycia przy połączeniu do LDAP'a. Zostaw puste dla anonimowego "
+"podłączenia"
#: core/app_settings.py:293 core/app_settings.py:355
msgid "Bind password"
@@ -1530,7 +1621,9 @@ msgstr "Filtr wyszukiwania"
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr "Opcjonalny łańcuch filtru (np. \"(objectClass=person)\"). Aby był ważny, musi być ujęty w nawiasy."
+msgstr ""
+"Opcjonalny łańcuch filtru (np. \"(objectClass=person)\"). Aby był ważny, "
+"musi być ujęty w nawiasy."
#: core/app_settings.py:327
msgid "User DN template"
@@ -1541,7 +1634,9 @@ msgstr "Użyj szablonu DN"
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)"
+msgstr ""
+"Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden "
+"symbol zastępczy (np. %(user)s)"
#: core/app_settings.py:338
msgid "LDAP synchronization settings"
@@ -1564,7 +1659,9 @@ msgstr "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne"
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."
+msgstr ""
+"Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne, w innym "
+"przypadku zostanie ono wyłączone."
#: core/app_settings.py:389
msgid "Account DN template"
@@ -1575,7 +1672,9 @@ msgstr "Szablon konta DN"
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)"
+msgstr ""
+"Szablon używany do budowy DN konta. Powinien zawierać jeden placeholder (ie. "
+"%(user)s)"
#: core/app_settings.py:400
msgid "Enable import from LDAP"
@@ -1599,7 +1698,8 @@ msgstr "Włącz synchronizację Dovecot LDAP"
#: core/app_settings.py:445
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:453
msgid "Dovecot LDAP config file"
@@ -1608,7 +1708,8 @@ msgstr "Plik konfiguracyjny Dovecot LDAP"
#: core/app_settings.py:455
msgid ""
"Location of the configuration file which contains Dovecot LDAP settings."
-msgstr "Lokalizacja pliku konfiguracyjnego, który zawiera ustawienia Dovecot LDAP."
+msgstr ""
+"Lokalizacja pliku konfiguracyjnego, który zawiera ustawienia Dovecot LDAP."
#: core/app_settings.py:468
msgid "Dashboard"
@@ -1628,7 +1729,8 @@ msgstr "Spersonalizowany kanał RSS"
#: core/app_settings.py:485
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:494
msgid "Display custom RSS feed to super admins"
@@ -1658,7 +1760,9 @@ msgstr "Podstawowy kolor motywu"
msgid ""
"Primary color of the theme (hexadecimal code), used as the background color "
"of the left menu for example"
-msgstr "Podstawowy kolor motywu (kod szesnastkowy), używany jako kolor tła lewego menu na przykład"
+msgstr ""
+"Podstawowy kolor motywu (kod szesnastkowy), używany jako kolor tła lewego "
+"menu na przykład"
#: core/app_settings.py:536
msgid "Primary theme color (lighter version)"
@@ -1680,7 +1784,9 @@ msgstr "Wtórny kolor motywu"
msgid ""
"Secondary color of the theme (hexadecimal code), used as the background "
"color of some buttons for example"
-msgstr "Wtórny kolor motywu (kod szesnastkowy), używany jako kolor tła niektórych przycisków na przykład"
+msgstr ""
+"Wtórny kolor motywu (kod szesnastkowy), używany jako kolor tła niektórych "
+"przycisków na przykład"
#: core/app_settings.py:569
msgid "Labels theme color"
@@ -1740,7 +1846,8 @@ msgstr "Wyślij statystyki"
#: core/app_settings.py:652
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:671
msgid "Enable inactive account tracking"
@@ -1748,9 +1855,11 @@ msgstr "Włącz śledzenie nieaktywnych kont"
#: core/app_settings.py:674
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 "Zezwól administratorowi na ustawienie progu (w dniach) powyżej którego konto jest uważane za nieaktywne, jeśli użytkownik się nie zalogował"
+"Allow the administrator to set a threshold (in days) beyond which an account "
+"is considered inactive if the user hasn't logged in"
+msgstr ""
+"Zezwól administratorowi na ustawienie progu (w dniach) powyżej którego konto "
+"jest uważane za nieaktywne, jeśli użytkownik się nie zalogował"
#: core/app_settings.py:683
msgid "Inactive account threshold"
@@ -1758,9 +1867,11 @@ msgstr "Próg nieaktywności konta"
#: core/app_settings.py:686
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. "
+"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:695
msgid "Top notifications check interval"
@@ -1799,7 +1910,10 @@ 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)."
+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.py:19
msgid "Set `USE_TZ = True` in settings.py"
@@ -1817,26 +1931,28 @@ msgstr "Uaktualnij schemat hasła na bezpieczniejszy"
msgid ""
"Oauth2 application for dovecot has not been found. Webmail and some other "
"features won't be available."
-msgstr "Aplikacja OAuth2 dla dovecota nie została znaleziona. Webmail i niektóre inne funkcje nie będą dostępne."
+msgstr ""
+"Aplikacja OAuth2 dla dovecota nie została znaleziona. Webmail i niektóre "
+"inne funkcje nie będą dostępne."
#: core/checks.py:34
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
-"oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"dovecot.html#dovecot-oauth2"
msgstr "Odwiedz :"
#: core/checks.py:41
msgid ""
"Oauth2 application for radicale has not been found. Calendar and some other "
"features won't be available."
-msgstr "Aplikacja OAuth2 dla radicale nie została znaleziona. Kalendarz i niektóre inne funkcje nie będą dostępne."
+msgstr ""
+"Aplikacja OAuth2 dla radicale nie została znaleziona. Kalendarz i niektóre "
+"inne funkcje nie będą dostępne."
#: core/checks.py:45
msgid ""
-"Visit : "
-"https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
-"oauth2"
+"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
+"radicale.html#radicale-oauth2"
msgstr "Odwiedz :"
#: core/constants.py:6
@@ -2077,10 +2193,18 @@ msgid ""
msgid_plural ""
"\n"
" The following updates are available:\n"
-msgstr[0] "\nDostępna jest następująca aktualizacja:\n"
-msgstr[1] "\nDostępne są następujące aktualizacje:\n"
-msgstr[2] "\nDostępne są następujące aktualizacje:\n"
-msgstr[3] "\nDostępne są następujące aktualizacje:\n"
+msgstr[0] ""
+"\n"
+"Dostępna jest następująca aktualizacja:\n"
+msgstr[1] ""
+"\n"
+"Dostępne są następujące aktualizacje:\n"
+msgstr[2] ""
+"\n"
+"Dostępne są następujące aktualizacje:\n"
+msgstr[3] ""
+"\n"
+"Dostępne są następujące aktualizacje:\n"
#: core/utils.py:43
msgid "The core part of Modoboa"
@@ -2220,7 +2344,9 @@ msgstr "Nie znaleziono klucza w rekordzie"
#: dnstools/lib.py:213
msgid "Wrong value {} for tag {}"
-msgstr "Nieprawidłowa wartość [] dla etykiety []Nieprawidłowa wartość [] dla etykiety []"
+msgstr ""
+"Nieprawidłowa wartość [] dla etykiety []Nieprawidłowa wartość [] dla "
+"etykiety []"
#: dnstools/lib.py:228
msgid "Wrong value {} for tag {}:"
@@ -2302,7 +2428,9 @@ msgstr "Wykonanie filtrów folderu"
msgid ""
"Use a regular expression to explicitly include folders in sync. Example: "
"^Trash$|Del"
-msgstr "Użyj wyrażeń regularnych aby dokładnie zawrzeć foldery podczas synchronizacji. Przykład ^Trash$|Del"
+msgstr ""
+"Użyj wyrażeń regularnych aby dokładnie zawrzeć foldery podczas "
+"synchronizacji. Przykład ^Trash$|Del"
#: imap_migration/app_settings.py:74
msgid "Folder Filter Inclusions"
@@ -2313,7 +2441,10 @@ 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 "Lista folderów, rozdzielona przecinkami, które zostaną dołączone podczas synchronizacji, nawet jeżeli są filtrowane przez Wyjątki Filtra Folderu. Przykład: debian.user, debian.personal "
+msgstr ""
+"Lista folderów, rozdzielona przecinkami, które zostaną dołączone podczas "
+"synchronizacji, nawet jeżeli są filtrowane przez Wyjątki Filtra Folderu. "
+"Przykład: debian.user, debian.personal "
#: imap_migration/apps.py:20
msgid "IMAP Migration"
@@ -2323,12 +2454,16 @@ msgstr "Migracja IMAP"
msgid ""
"Automatic domain/mailbox creation is disabled which means IMAP "
"authentication won't work."
-msgstr "Automatyczne tworzenie domen/skrzynek jest zablokowane co oznacza że uwierzytelnianie IMAP nie będzie działać."
+msgstr ""
+"Automatyczne tworzenie domen/skrzynek jest zablokowane co oznacza że "
+"uwierzytelnianie IMAP nie będzie działać."
#: imap_migration/checks.py:16
msgid ""
"Go to the online parameters panel (admin tab) and activate this feature."
-msgstr "Przejdź do ustawień panelu online (zakładka admin) i aktywuj tą funkcjonalność."
+msgstr ""
+"Przejdź do ustawień panelu online (zakładka admin) i aktywuj tą "
+"funkcjonalność."
#: ldapsync/lib.py:82
msgid "Failed to create LDAP account: {}"
@@ -2397,13 +2532,17 @@ msgstr "Administratorzy domeny"
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ść)"
+msgstr ""
+"Maksymalna dozwolona liczba administratorów domen dla nowego administratora. "
+"(0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
#: limits/app_settings.py:41
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 tworzenia niedozwolone, -1 nielimitowana ilość)"
+msgstr ""
+"Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenia "
+"niedozwolone, -1 nielimitowana ilość)"
#: limits/app_settings.py:49 limits/app_settings.py:123 limits/constants.py:22
#: limits/constants.py:76
@@ -2412,15 +2551,19 @@ msgstr "Aliasy domen"
#: limits/app_settings.py:52
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ść)"
+"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:64
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 dla tworzenia niedozwolone, -1 nielimitowana ilość)"
+msgstr ""
+"Maksymalna dozwolona liczba skrzynek dla nowego administratora. (0 dla "
+"tworzenia niedozwolone, -1 nielimitowana ilość)"
#: limits/app_settings.py:73 limits/app_settings.py:146 limits/constants.py:39
#: limits/constants.py:92
@@ -2431,7 +2574,9 @@ msgstr "Aliasy skrzynek pocztowych"
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ść)"
+msgstr ""
+"Maksymalna dozwolona liczba aliasów dla nowego administratora. (0 - "
+"tworzenie niedozwolone, -1 nielimitowana ilość)"
#: limits/app_settings.py:84 limits/constants.py:59
msgid "Quota"
@@ -2441,7 +2586,9 @@ msgstr "Limit"
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)"
+msgstr ""
+"Pojemność jaką reseller może dzielić między domenami które utworzy. (0 "
+"oznacza brak limitu)"
#: limits/app_settings.py:98
msgid "Default per-domain limits"
@@ -2457,27 +2604,35 @@ msgstr "Włącz lub wyłącz limity na domenę"
#: limits/app_settings.py:114
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)"
+"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:126
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ść)"
+msgstr ""
+"Max liczba aliasów domen nowej domeny. (0 tworzenie niedozwolone, -1 "
+"nielimitowana ilość)"
#: limits/app_settings.py:138
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ść)"
+msgstr ""
+"Max liczba skrzynek dla nowej domeny. (0 tworzenie niedozwolone, -1 "
+"nielimitowana ilość)"
#: limits/app_settings.py:149
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ść)"
+"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:16
msgid "Limits"
@@ -2501,7 +2656,8 @@ msgstr "Maksymalna liczba aliasów skrzynek, które może stworzyć użytkownik"
#: 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:60
msgid "Quota shared between domains of this reseller"
@@ -2542,7 +2698,8 @@ msgstr "nielimitowane"
#: maillog/api/v2/serializers.py:35
msgid "You must provide start and end dates when period is custom"
-msgstr "Musisz poddać datę początkową i końcową, jeśli okres jest niestandardowy"
+msgstr ""
+"Musisz poddać datę początkową i końcową, jeśli okres jest niestandardowy"
#: maillog/apps.py:20
msgid "Path to the log file"
@@ -2576,63 +2733,63 @@ msgstr "Statystyki"
msgid "Failed to locate rrdtool binary."
msgstr "Nie znaleziono binarki rrdtool."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Średni ruch (wiadomości/minutę)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "wysłane wiadomości"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "odebrane wiadomości"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "odesłane wiadomości"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "odrzucone wiadomości"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "wiadomości zawirusowane"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "wiadomości spam"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "wiadomości opóźnione (greylisting)"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Średnia normalna wielkość ruchu (bajtów/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "ilość odebranych danych"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "ilość wysłanych danych"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Ruch e-mail"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Średnia ilość tworzonych kont (konto/godzina)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Nowe konta"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Konta"
@@ -2654,7 +2811,8 @@ msgstr "Włącz dane logowania PDF"
#: pdfcredentials/app_settings.py:21
msgid "Enabled PDF credentials document generation on account creation."
-msgstr "Włączono generowanie dokumentu PDF danych logowania przy tworzeniu konta."
+msgstr ""
+"Włączono generowanie dokumentu PDF danych logowania przy tworzeniu konta."
#: pdfcredentials/app_settings.py:32
msgid "Documents storage"
@@ -2680,7 +2838,8 @@ msgstr "Usuwaj dokumenty po ich pierwszym pobraniu"
msgid ""
"Automatically delete a document just after its first download from this "
"interface"
-msgstr "Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten interfejs"
+msgstr ""
+"Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten interfejs"
#: pdfcredentials/app_settings.py:68
msgid "Generate documents only at account creation"
@@ -2690,7 +2849,9 @@ msgstr "Generuj dokumenty tylko podczas zakładania konta"
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."
+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:84
msgid "Customization options"
@@ -2789,7 +2950,11 @@ msgid ""
"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 "\nDrogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które będzeisz potrzebował do połączenia się. Zapoznaj się z nim i usuń go najszybciej jak to możliwe.\n"
+msgstr ""
+"\n"
+"Drogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które "
+"będzeisz potrzebował do połączenia się. Zapoznaj się z nim i usuń go "
+"najszybciej jak to możliwe.\n"
#: pdfcredentials/documents.py:95
msgid "Web panel:"
@@ -2808,7 +2973,11 @@ msgid ""
"\n"
"Here you can view your emails anytime online, create filters or manage\n"
"your contacts.\n"
-msgstr "\nPod tym adresem możesz online przeczytać swoje wiadomości, stworzyć filtry lub zarządzać\n listą kontaktów.\n"
+msgstr ""
+"\n"
+"Pod tym adresem możesz online przeczytać swoje wiadomości, stworzyć filtry "
+"lub zarządzać\n"
+" listą kontaktów.\n"
#: pdfcredentials/documents.py:126
msgid "Please change your password!"
@@ -2826,7 +2995,9 @@ msgstr "Użyj tych ustawień w swoim komputerze, tablecie lub telefonie."
msgid ""
"Failed to create PDF_credentials directory. Please check the permissions or "
"the path."
-msgstr "Nie powiodło się utworzenie katalogu PDF_credentials. Sprawdź uprawnienia lub Ŝieżkę."
+msgstr ""
+"Nie powiodło się utworzenie katalogu PDF_credentials. Sprawdź uprawnienia "
+"lub Ŝieżkę."
#: pdfcredentials/handlers.py:64
msgid "Download PDF credentials"
@@ -2845,7 +3016,9 @@ msgstr "Nie można utworzyć katalogu do przechowywania PDF'ów (%s)"
msgid ""
"Failed to create PDF_credentials file. Please check the permissions or the "
"path."
-msgstr "Nie powiodło się utworzenie pliku PDF_credentials. Sprawdź uprawnienia lub Ŝieżkę."
+msgstr ""
+"Nie powiodło się utworzenie pliku PDF_credentials. Sprawdź uprawnienia lub "
+"Ŝieżkę."
#: policyd/core.py:99
msgid "Daily sending limit reached"
@@ -2902,9 +3075,11 @@ msgstr "Długość klucza"
#: rspamd/app_settings.py:21
msgid ""
-"Absolute path of the file which contains paths to DKIM private keys. Must be"
-" readable by _rspamd group or user."
-msgstr "Bezwzględna Ŝieżka do pliku zawierającego Ŝieżki do kluczy prywatnych DKIM. Musi być czytelna przez grupę _rspamd lub użytkownika."
+"Absolute path of the file which contains paths to DKIM private keys. Must be "
+"readable by _rspamd group or user."
+msgstr ""
+"Bezwzględna Ŝieżka do pliku zawierającego Ŝieżki do kluczy prywatnych DKIM. "
+"Musi być czytelna przez grupę _rspamd lub użytkownika."
#: rspamd/app_settings.py:30
msgid "Selector map path"
@@ -2914,7 +3089,9 @@ msgstr "Ŝieżka do mapy selektorów"
msgid ""
"Absolute path of the file which contains names of DKIM selectors. Must be "
"readable by _rspamd group or user."
-msgstr "Bezwzględna Ŝieżka do pliku zawierającego nazwy selektorów DKIM. Musi być czytelna przez grupę _rspamd lub użytkownika."
+msgstr ""
+"Bezwzględna Ŝieżka do pliku zawierającego nazwy selektorów DKIM. Musi być "
+"czytelna przez grupę _rspamd lub użytkownika."
#: rspamd/app_settings.py:51
msgid "Rspamd dashboard location"
@@ -2922,10 +3099,13 @@ msgstr "Lokalizacja panelu Rspamd"
#: rspamd/app_settings.py:53
msgid ""
-"Location of the rspamd dashboard. Can either be a relative URL (eg. "
-"'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
+"Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
+"rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
"guidance on the Super-Admin dashboard."
-msgstr "Lokalizacja panelu Rspamd. Może być względnym URL (np. '/rspamd') lub pełnym URL (np. 'https://rspamd.domain.tld/'). Użytkownik tylko w celu poradnika na pulpicie Super-Admin."
+msgstr ""
+"Lokalizacja panelu Rspamd. Może być względnym URL (np. '/rspamd') lub pełnym "
+"URL (np. 'https://rspamd.domain.tld/'). Użytkownik tylko w celu poradnika na "
+"pulpicie Super-Admin."
#: rspamd/apps.py:18
msgid "Rspamd"
@@ -3004,7 +3184,7 @@ msgstr "jest"
msgid "is not"
msgstr "nie jest"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Temat"
@@ -3105,7 +3285,9 @@ msgstr "Zapomniane hasło?"
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ć."
+msgstr ""
+"Twoje hasło zostało zapisane. Teraz możesz się zalogować."
#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
@@ -3121,7 +3303,9 @@ msgstr "Temat"
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. "
+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:22
msgid "Enter the code you've just received by SMS"
@@ -3141,7 +3325,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 "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.
"
+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
@@ -3149,14 +3337,18 @@ msgstr "Wysłaliśmy do Ciebie instrukcje n/t ustawienia hasła, na adres kt
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:"
+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."
+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
@@ -3185,9 +3377,11 @@ msgstr "Jednorazowe hasło"
#: templates/registration/twofactor_code_verify.html:35
msgid ""
-"Enter the code from the two-factor app on your mobile device. If you've lost"
-" your device, you may enter one of your recovery codes."
-msgstr "Wpisz kod z aplikacji uwierzytelniającej na urządzeniu mobilnym. Jeśli straciłeś urządzenie, możesz wpuścić jeden z kodów odzyskiwania."
+"Enter the code from the two-factor app on your mobile device. If you've lost "
+"your device, you may enter one of your recovery codes."
+msgstr ""
+"Wpisz kod z aplikacji uwierzytelniającej na urządzeniu mobilnym. Jeśli "
+"straciłeś urządzenie, możesz wpuścić jeden z kodów odzyskiwania."
#: templates/registration/twofactor_code_verify.html:42
msgid "Verify code"
@@ -3224,7 +3418,8 @@ msgstr "Maksymalny rozmiar załącznika"
#: webmail/app_settings.py:19
msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)"
-msgstr "Maksymalny rozmiar załącznika w bajtach (lub KB,MB, GB jeśli określone)"
+msgstr ""
+"Maksymalny rozmiar załącznika w bajtach (lub KB,MB, GB jeśli określone)"
#: webmail/app_settings.py:67
msgid "SMTP settings"
@@ -3354,19 +3549,19 @@ msgstr "Domyślny podpis użytkownika"
msgid "Server response"
msgstr "Odpowiedź serwera"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "Niepowodzenie przy usuwaniu załącznika"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr "napisał"
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Data"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr "Oryginalna wiadomość"
@@ -3398,19 +3593,19 @@ msgstr "Zaplanowany"
msgid "Trash"
msgstr "Kosz"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr "Przesuwanie zaplanowanych wiadomości jest zabronione"
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr "Dozwolona jest tylko data i czas w przyszłości"
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr "Podany czas musi być co najmniej o minutę w przyszłości"
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Załącznik jest zbyt duży (limit: %s)"
diff --git a/modoboa/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
index 67a988c89..ba0ec57fb 100644
--- a/modoboa/locale/pt_BR/LC_MESSAGES/django.po
+++ b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
@@ -26,7 +26,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Rafael Barretto Alves , "
"2013,2015-2017,2025\n"
@@ -68,12 +68,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Não pode ser maior que a cota de domínio"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Permissão negada."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -86,7 +86,7 @@ msgstr ""
"Lista de domínios administrados (somente revendedores e administradores de "
"domínio)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Não é permitido para esta função."
@@ -94,12 +94,12 @@ msgstr "Não é permitido para esta função."
msgid "Must be equal to mailbox full_address"
msgstr "Deve ser igual a full_address de caixa de correio"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Este campo é obrigatório."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Domínio local {} não existe"
@@ -123,58 +123,58 @@ msgstr "Você não tem acesso a esta caixa de correio."
msgid "Here is your new Modoboa password: {}"
msgstr "Aqui está sua nova senha do Modoboa: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Diretório de armazenamento de chaves DKIM não configurado"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Você não pode definir uma cota ilimitada."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "O usuário '%s' já existe"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Deve ser um inteiro positivo"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr "openssl não encontrado, certifique-se que está instalado."
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Diretório não encontrado."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Este campo permite apenas endereços IP válidos (ou redes)"
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr "Desative a migração imap antes de desativar esta opção."
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Defina pelo menos uma rede/endereço autorizado"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
"A parte à esquerda de um endereço de e-mail não pode ter mais de 64 "
"caracteres."
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "Uma caixa de correio é necessária para criar apelidos."
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "Status desconhecido"
@@ -356,7 +356,7 @@ msgstr ""
"Renomeie ou remova caixas de correio no sistema de arquivos quando elas "
"forem renomeadas ou removidas no Modoboa"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Cota de caixa de correio padrão"
@@ -488,16 +488,16 @@ msgstr "[modoboa] Problema(s) de MX para o domínio {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "apelido de domínio"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Falha na importação da conta (%s): o domínio não existe"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Falha na importação da conta (%s): valor de cota incorreto"
@@ -567,18 +567,18 @@ msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
"Não é possível decodificar o arquivo CSV usando a codificação %(encoding)s"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
"Caminho DKIM não gravável (problema de permissão ou o diretório não existe)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "Falha ao gerar a chave privada DKIM"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "Falha ao gerar a chave pública DKIM"
@@ -594,7 +594,7 @@ msgstr "endereço"
msgid "The alias address."
msgstr "O endereço do apelido."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "habilitado"
@@ -633,66 +633,66 @@ msgstr "Destinatário {}@{} local não encontrado"
msgid "Invalid line: {}"
msgstr "Linha inválida: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "nome"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "O nome do domínio"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Limite de envio de mensagens"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr "Número de mensagens que este domínio pode enviar por dia"
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Marque para ativar este domínio"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Habilitar verificação de DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Marque para habilitar verificações de DNS para este domínio"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Habilitar assinatura DKIM"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
"Se você ativar esse recurso, uma chave DKIM será gerada para esse domínio."
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Comprimento da chave"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linha inválida"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{}: nenhum registro MX autorizado encontrado para o domínio"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{}: valor de cota inválido para domínio"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr "{}: valor de cota de caixa de correio padrão inválido para domínio"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
"{}: a cota de caixa de correio padrão não pode ser maior que a cota de "
@@ -1043,19 +1043,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Falha na conexão com o servidor IMAP: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "Falha ao localizar o binário rrdtool."
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Destinatário {}@{} local não encontrado"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2849,63 +2849,63 @@ msgstr "Estatísticas"
msgid "Failed to locate rrdtool binary."
msgstr "Falha ao localizar o binário rrdtool."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Tráfego médio (msgs/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "mensagens recebidas"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "mensagens devolvidas"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "mensagens rejeitadas"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "mensagens com vírus"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "mensagens de spam"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "mensagens na lista cinza"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Tamanho médio do tráfego normal (bytes/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "tamanho recebido"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "tamanho enviado"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Tráfego de e-mail"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Média de criação de conta (conta/hora)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Novas contas"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Contas"
@@ -3301,7 +3301,7 @@ msgstr "é"
msgid "is not"
msgstr "não é"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Assunto"
@@ -3699,21 +3699,21 @@ msgstr "Assinatura de e-mail definida pelo usuário"
msgid "Server response"
msgstr "Endereço do servidor"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "Falha ao remover anexo:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Data"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "All messages"
msgid "Original message"
@@ -3749,19 +3749,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Anexo muito grande (limite: %s)"
diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
index bc1da653b..ea9b3240b 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: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2024-07-17 11:45+0200\n"
"Last-Translator: Mike C. \n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
@@ -60,14 +60,14 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
msgstr "Permissões"
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -78,7 +78,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -86,14 +86,14 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
#, fuzzy
#| msgid "A mailbox is required"
msgid "This field is required."
msgstr "É necessária uma caixa de correio"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
@@ -125,60 +125,60 @@ msgstr "Não tem acesso a este domínio"
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "O utilizador '%s' já existe"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Tem de ser um inteiro, positivo"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
#, fuzzy
#| msgid "Domain modified"
msgid "Directory not found."
msgstr "Domínio alterado"
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, 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:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown domain %s"
msgid "Unknown status"
@@ -350,7 +350,7 @@ msgstr ""
"Renomear ou remover as caixas de correio no sistema de ficheiros quando "
"estas são renomeadas no Modoboa"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox quota"
@@ -490,16 +490,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "'Alias' de domínio"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, 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:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importação da conta falhou (%s): valor para quota inválido"
@@ -568,17 +568,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -598,7 +598,7 @@ msgstr "endereços"
msgid "The alias address."
msgstr "O nome do 'alias'"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "ativo"
@@ -643,71 +643,71 @@ msgstr "O destinatário local %s não foi encontrado"
msgid "Invalid line: {}"
msgstr "Linha inválida: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "nome"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "O nome do domínio"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Marcar para ativar este domínio"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
#, 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:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linha inválida"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
#, 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:343
+#: admin/models/domain.py:352
#, 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:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Invalid quota value for domain '%s'"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1042,17 +1042,17 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Ligação ao servidor IMAP falhou : %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient %s not found"
msgid "No recipient found"
msgstr "O destinatário local %s não foi encontrado"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain modified"
msgid "Local domain not found"
@@ -2893,69 +2893,69 @@ msgstr "Estatísticas"
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Trafego em média (msgs/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "mensagens recebidas"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "mensagens devolvidas"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "mensagens rejeitadas"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
#, fuzzy
#| msgid "sent messages"
msgid "virus messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
#, fuzzy
#| msgid "sent messages"
msgid "spam messages"
msgstr "mensagens enviadas"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
#, fuzzy
#| msgid "rejected messages"
msgid "greylisted messages"
msgstr "mensagens rejeitadas"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Tráfego em média normal por tamanho (bytes/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "tamanho recebido"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "tamanho enviado"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Tráfego de correio"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -3352,7 +3352,7 @@ msgstr "é"
msgid "is not"
msgstr "não é"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Assunto"
@@ -3751,21 +3751,21 @@ msgstr "Assinatura de email definida pelo utilizador"
msgid "Server response"
msgstr "Endereço do Servidor"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to remove filter"
msgid "Failed to remove attachment: "
msgstr "Falha ao remover os anexos:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Data"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3799,19 +3799,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Anexo demasiado grande (limite %s)"
diff --git a/modoboa/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/locale/ro_RO/LC_MESSAGES/django.po
index 052bcea31..1cc4e7bc5 100644
--- a/modoboa/locale/ro_RO/LC_MESSAGES/django.po
+++ b/modoboa/locale/ro_RO/LC_MESSAGES/django.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+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/"
@@ -51,12 +51,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Nu poate fi mai mare decat cota domeniului"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Permisiune refuzată."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -68,7 +68,7 @@ msgid ""
msgstr ""
"Lista domenilor administrate (doar reselleri și administratori de domeniu)"
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Ne permis pentru acest rol."
@@ -76,12 +76,12 @@ msgstr "Ne permis pentru acest rol."
msgid "Must be equal to mailbox full_address"
msgstr "Trebuie să fie egal cu mailbox full_address"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Acest câmp este necesar."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Domeniu local {} nu există"
@@ -107,58 +107,58 @@ msgstr "Nu ai acces la această cutie postală"
msgid "Here is your new Modoboa password: {}"
msgstr "Aici este noua ta parolă Modoboa: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Folderul de stocare a cheilor DKIM nu este configurat"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Nu poți sa definești o cotă nelimitată"
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Utilizatorul '%s' exista deja"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Trebuie să fie un număr întreg pozitiv"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Directorul nu a fost găsit."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
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:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, 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:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -344,7 +344,7 @@ 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:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Cota implicită pentru cutia poștală"
@@ -479,16 +479,16 @@ msgstr "[modoboa] Problemă(e) MX pentru domeniul {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problemă(e) DNSBL pentru domeniul {} "
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "alias domeniu"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Importul de cont a esuat (%s): domeniul nu există"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importul de cont a esuat (%s): valuare de cotă incorectă"
@@ -557,17 +557,17 @@ msgstr "Citim fișierul CSV folosind codarea %(encoding)s"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Imposibil de decodat fișierul CSV folosind codarea %(encoding)s"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -585,7 +585,7 @@ msgstr "adresă"
msgid "The alias address."
msgstr "Adresă alias."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "activat"
@@ -626,73 +626,73 @@ msgstr "Destinatar local {}@{} nu poate fi găsit"
msgid "Invalid line: {}"
msgstr "Linie invalidă: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "nume"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Numele domeniului"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Limita de trimitere a mesajelor"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
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:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Bifează pentru a activa domeniul"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Activează verificările DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Bifează pentru a activa verificările DNS pentru acest domeniu"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Activează semnarea DKIM"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Mărime cheie"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linie invalidă"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
#, 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:337
+#: admin/models/domain.py:346
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "Valuare de cotă invalidă pentru domeniul '{}'"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
#, 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:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1046,19 +1046,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "Nu s-a gasit binarul rrdtool"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Destinatar local {}@{} nu poate fi găsit"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2874,63 +2874,63 @@ msgstr "Statistici"
msgid "Failed to locate rrdtool binary."
msgstr "Nu s-a gasit binarul rrdtool"
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Media traficului (mesaje/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "mesaje trimise"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "mesaje primite "
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "mesaje returnate"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "mesaje rejectate"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "mesaje cu virus"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "mesaje spam"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "mesaje suspecte"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Media de trafic (octecți/minut)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "mărime pentru primite"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "mărime pentru trimise"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Trafic Email"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Media creări de conturi (cont/oră)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Conturi noi"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Conturi"
@@ -3350,7 +3350,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Subiect"
@@ -3775,21 +3775,21 @@ msgstr ""
msgid "Server response"
msgstr "Adresă server"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "Nu s-a reușit crearea unui cont LDAP: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Dată"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3825,19 +3825,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/ru/LC_MESSAGES/django.po b/modoboa/locale/ru/LC_MESSAGES/django.po
index 109dc0c57..e334aed59 100644
--- a/modoboa/locale/ru/LC_MESSAGES/django.po
+++ b/modoboa/locale/ru/LC_MESSAGES/django.po
@@ -27,7 +27,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Николай Грищенков, 2025\n"
"Language-Team: Russian (http://app.transifex.com/tonio/modoboa/language/"
@@ -67,12 +67,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Не может быть больше чем квота домена"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "В доступе отказано"
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -85,7 +85,7 @@ msgstr ""
"Список администрируемых доменов (только для реселлеров и администраторов "
"доменов)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Не доступно для данной роли."
@@ -93,12 +93,12 @@ msgstr "Не доступно для данной роли."
msgid "Must be equal to mailbox full_address"
msgstr "Должен совпадать с полным адресом почтового ящика."
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Это поле обязательно для заполнения"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Локальный домен {} не существует"
@@ -122,56 +122,56 @@ msgstr "Вы не имеете права доступа к этому почт
msgid "Here is your new Modoboa password: {}"
msgstr "Вот ваш новый пароль Modoboa: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Хранилище DKIM ключей не настроено"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "Это поле действительно, когда тип — домен‑ретранслятор"
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Вы не можете установить неограниченную квоту."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Пользователь '%s' уже существует"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Значение может быть положительным целым числом"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr "openssl не найден, убедитесь, что он установлен."
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Каталог не найден."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr "В этом поле разрешены только действительные IP-адреса (или сети)."
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr "Пожалуйста, отключите миграцию imap, прежде чем отключать эту опцию."
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Определите хотя бы одну авторизованную сеть/адрес"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr "Левая часть E-Mail адреса не может быть длиннее 64 символов."
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "Для создания алиасов нужен хотя бы один почтовый ящик."
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "Неизвестный статус"
@@ -348,7 +348,7 @@ msgstr ""
"Удалять или переименовывать почтовые ящики на диске, если они удалены или "
"переименованы в Modoboa"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Квота почтового ящика по умолчанию"
@@ -475,16 +475,16 @@ msgstr "[modoboa] MX проблема(ы) для домена {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL проблема(ы) для домена {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "алиас домена"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Ошибка импорта учётной записи (%s): домен не существует "
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Ошибка импорта учётной записи (%s): неверное значение квоты"
@@ -550,18 +550,18 @@ msgstr "Читаем CSV-файл в кодировке %(encoding)s"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Не удалось прочитать CSV-файл в кодировке %(encoding)s"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
"Каталог DKIM недоступен для записи (нет прав или каталога не существует)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "Не удалось сгенерировать приватный ключ DKIM"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "Не удалось сгенерировать публичный ключ DKIM"
@@ -577,7 +577,7 @@ msgstr "адрес"
msgid "The alias address."
msgstr "Адрес алиаса"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "включён"
@@ -614,67 +614,67 @@ msgstr "Локальный получатель {}@{} не найден"
msgid "Invalid line: {}"
msgstr "Недопустимая строка: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "имя"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Имя домена"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Лимит отправки писем"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr "Количество писем, которое этот домен может отправить в сутки"
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Отметить для активации этого домена"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Включить проверки DNS"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "Отметьте, чтобы включить проверки DNS для этого домена"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Включить DKIM‑подпись"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
"Если вы включите эту функцию, для этого домена будет сгенерирован DKIM‑ключ."
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Длина ключа"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Некорректная строка"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{}: не найден ни одной разрешённой MX‑записи для домена"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr " {}: недопустимое значение квоты для домена"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
" {}: недопустимое значение квоты почтового ящика по умолчанию для домена"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
"{}: квота почтового ящика по умолчанию не может быть больше квоты домена"
@@ -985,15 +985,15 @@ msgstr "Ожидающие запросы"
msgid "Connection to amavis failed: %s"
msgstr "Не удалось подключиться к Amavis: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr "Не найден исполняемый файл {}"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr "Получатель не найден"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr "Локальный домен не найден"
@@ -2755,63 +2755,63 @@ msgstr "Статистика"
msgid "Failed to locate rrdtool binary."
msgstr "Не найден исполняемый файл rrdtool"
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Средний трафик (писем/мин)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "Отправлено писем"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "Принято писем"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "Возвращенные письма"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "Отвергнутые письма"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "Вирусные письма"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "Спам письма"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "Отложенные письма"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Средний объём обычного трафика (байт/мин)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "Принято"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "Отправлено"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "Почтовый траффик"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Среднее создание учёток (акк/час)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Новые учётные записи"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Учётные записи"
@@ -3205,7 +3205,7 @@ msgstr "равно"
msgid "is not"
msgstr "не равно"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Тема"
@@ -3573,19 +3573,19 @@ msgstr "Пользовательская подпись"
msgid "Server response"
msgstr "Ответ сервера"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "Не удалось удалить вложение:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr "написал:"
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Дата"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr "Исходное сообщение"
@@ -3617,19 +3617,19 @@ msgstr ""
msgid "Trash"
msgstr "Корзина"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Вложения слишком велики (лимит: %s)"
diff --git a/modoboa/locale/si/LC_MESSAGES/django.po b/modoboa/locale/si/LC_MESSAGES/django.po
index 297b83d6d..33cda5a56 100644
--- a/modoboa/locale/si/LC_MESSAGES/django.po
+++ b/modoboa/locale/si/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2020-05-11 18:45+0000\n"
"Last-Translator: හෙළබස, 2022\n"
"Language-Team: Sinhala (https://www.transifex.com/tonio/teams/13749/si/)\n"
@@ -44,12 +44,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -60,7 +60,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -68,12 +68,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -97,56 +97,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -310,7 +310,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -431,16 +431,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -506,17 +506,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -532,7 +532,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -569,65 +569,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -920,15 +920,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2558,63 +2558,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2986,7 +2986,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3336,21 +3336,21 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "LDAP ගිණුම සෑදීමට අසමත් විය: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3382,19 +3382,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/sk/LC_MESSAGES/django.po b/modoboa/locale/sk/LC_MESSAGES/django.po
index c46b89fe5..d6d7567a5 100644
--- a/modoboa/locale/sk/LC_MESSAGES/django.po
+++ b/modoboa/locale/sk/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -42,12 +42,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -58,7 +58,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -66,12 +66,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -95,56 +95,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -308,7 +308,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -429,16 +429,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -504,17 +504,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -530,7 +530,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -567,65 +567,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -918,15 +918,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2554,63 +2554,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2982,7 +2982,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3332,19 +3332,19 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3376,19 +3376,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/sk_SK/LC_MESSAGES/django.po b/modoboa/locale/sk_SK/LC_MESSAGES/django.po
index 265cc60d8..0505e060f 100644
--- a/modoboa/locale/sk_SK/LC_MESSAGES/django.po
+++ b/modoboa/locale/sk_SK/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2020-05-11 18:45+0000\n"
"Last-Translator: R .. , 2020\n"
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/tonio/teams/"
@@ -46,12 +46,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -62,7 +62,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -70,12 +70,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -99,56 +99,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -312,7 +312,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -433,16 +433,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -508,17 +508,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -534,7 +534,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -571,65 +571,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -922,15 +922,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2572,63 +2572,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -3000,7 +3000,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3350,21 +3350,21 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "Nepodarilo sa vytvoriť účet LDAP: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3396,19 +3396,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/sl_SI/LC_MESSAGES/django.po b/modoboa/locale/sl_SI/LC_MESSAGES/django.po
index 288e8e375..363d01fab 100644
--- a/modoboa/locale/sl_SI/LC_MESSAGES/django.po
+++ b/modoboa/locale/sl_SI/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2016-11-09 16:13+0000\n"
"Last-Translator: Gregor \n"
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/tonio/modoboa/"
@@ -43,12 +43,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -59,7 +59,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -67,12 +67,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -96,56 +96,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknow migration"
msgid "Unknown status"
@@ -311,7 +311,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -434,16 +434,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -509,17 +509,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -537,7 +537,7 @@ msgstr "Naslov strežnika"
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -576,65 +576,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -947,15 +947,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Povezava z IMAP strežnikom ni uspela: %s"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2635,63 +2635,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -3107,7 +3107,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3479,19 +3479,19 @@ msgstr ""
msgid "Server response"
msgstr "Naslov strežnika"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3523,19 +3523,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/sv/LC_MESSAGES/django.po b/modoboa/locale/sv/LC_MESSAGES/django.po
index ecef6f9c1..0a5b3bd28 100644
--- a/modoboa/locale/sv/LC_MESSAGES/django.po
+++ b/modoboa/locale/sv/LC_MESSAGES/django.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Olle Gustafsson , "
"2013,2015-2018,2020,2022-2023,2025\n"
@@ -48,12 +48,12 @@ msgid "Cannot be greater than domain quota"
msgstr "Kan inte vara större än domänkvoten"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "Åtkomst nekad."
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -66,7 +66,7 @@ msgstr ""
"Lista över administrerade domäner (endast återförsäljare och "
"domänadministratörer)."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "Inte tillåtet för denna roll."
@@ -74,12 +74,12 @@ msgstr "Inte tillåtet för denna roll."
msgid "Must be equal to mailbox full_address"
msgstr "Måste vara lika med postlådans full_adress"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "Detta fält är obligatoriskt."
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "Lokal domän {} finns inte"
@@ -103,57 +103,57 @@ msgstr "Du har inte tillgång till den här brevlådan."
msgid "Here is your new Modoboa password: {}"
msgstr "Här är ditt nya Modoboa-lösenord: {}"
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "Lagringskatalogen för DKIM-nycklar är inte konfigurerad"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr "Det här fältet är giltigt när typen är relaydomain"
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "Du kan inte definiera en obegränsad kvot."
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "Användare '%s' finns redan"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "Måste vara ett positivt heltal"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
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:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "Katalog hittades ej."
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
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:298
+#: admin/api/v2/serializers.py:308
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:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "Definiera minst ett auktoriserat nätverk/adress"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
"Den vänstra delen av en e-postadress kan inte vara längre än 64 tecken."
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr "En brevlåda krävs för att skapa alias."
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr "Okänd status"
@@ -332,7 +332,7 @@ 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:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "Standard brevlådekvota"
@@ -459,16 +459,16 @@ msgstr "[modoboa] MX-problem för domän {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] DNSBL-problem för domänen {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "domän alias"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Kontoimport misslyckades (%s): domänen existerar inte"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Kontoimport misslyckades (%s): fel kvota värde"
@@ -534,7 +534,7 @@ msgstr "Läser CSV fil med %(encoding)s kodning"
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "Det gick inte att avkoda CSV-fil med %(encoding)s kodning"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
@@ -542,11 +542,11 @@ msgstr ""
"DKIM sökväg ej skrivbar (endera rättighetsproblem eller katalogen existerar "
"inte)"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr "Misslyckades med att generera DKIM privat nyckel"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr "Det gick inte att generera offentlig DKIM-nyckel"
@@ -562,7 +562,7 @@ msgstr "adress"
msgid "The alias address."
msgstr "Alias-adressen"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "aktiverad"
@@ -601,67 +601,67 @@ msgstr "Den lokala mottagaren {}@{} hittades inte"
msgid "Invalid line: {}"
msgstr "Ogiltig rad: {}"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "namn"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "Domännamnet"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr "Gräns för sändning av meddelanden"
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
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:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "Markera för att aktivera denna domän"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "Aktivera DNS-kontroller"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
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:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "Aktivera DKIM-signering"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
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."
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "Nyckellängd"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ogiltig rad"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr "{}: ingen auktoriserad MX-post hittades för domänen"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr "{}: ogiltigt kvotvärde för domänen"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr "{}: ogiltigt standardvärde för postlådekvot för domänen"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "{}: standardpostlådekvoten kan inte vara större än domänkvoten"
@@ -1004,19 +1004,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr "Anslutning till IMAP-server misslyckades: {error}"
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "Det gick inte att hitta binär rrdtool."
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "Den lokala mottagaren {}@{} hittades inte"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2762,63 +2762,63 @@ msgstr "Statistik"
msgid "Failed to locate rrdtool binary."
msgstr "Det gick inte att hitta binär rrdtool."
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "Genomsnittlig trafik (medd/min)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "skickade meddelanden"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "mottagna meddelanden"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "studsade meddelanden"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "avvisade meddelanden"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "virus meddelanden"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "skräp meddelanden"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "grålistade meddelanden"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "Genomsnittlig normal trafikstorlek (byte/min)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "mottagen storlek"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "skickad storlek"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "E-posttrafik"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "Genomsnittligt kontoskapande (konto/timme)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "Nya konton"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "Konton"
@@ -3217,7 +3217,7 @@ msgstr "är"
msgid "is not"
msgstr "är inte"
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Ämne"
@@ -3587,19 +3587,19 @@ msgstr "Användardefinierad e-postsignatur"
msgid "Server response"
msgstr "Server adress"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr "Det gick inte att ta bort bilagan:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Datum"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "All messages"
msgid "Original message"
@@ -3633,19 +3633,19 @@ msgstr ""
msgid "Trash"
msgstr "Papperskorg"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Bilagan är för stor (gräns: %s)"
diff --git a/modoboa/locale/tr/LC_MESSAGES/django.po b/modoboa/locale/tr/LC_MESSAGES/django.po
index 88d8d2fda..3fabd03c1 100644
--- a/modoboa/locale/tr/LC_MESSAGES/django.po
+++ b/modoboa/locale/tr/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2021-12-24 20:48+0000\n"
"Last-Translator: Mustafa OYMAK\n"
"Language-Team: Turkish (http://www.transifex.com/tonio/modoboa/language/"
@@ -44,14 +44,14 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
#, fuzzy
#| msgid "Permission denied"
msgid "Permission denied."
msgstr "İzin reddedildi"
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -64,7 +64,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "Bayiler ve alan adı yöneticileri için Özellikler Aracı'nı gizle."
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -72,14 +72,14 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
#, fuzzy
#| msgid "This field is required"
msgid "This field is required."
msgstr "Bu alan gerekli"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -105,56 +105,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -336,7 +336,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -465,16 +465,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -541,17 +541,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "dize kodlaması belirlenemiyor"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -573,7 +573,7 @@ msgstr "Adresinden"
msgid "The alias address."
msgstr "Geçerli bir e-posta adresi girin."
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -616,71 +616,71 @@ msgstr ""
msgid "Invalid line: {}"
msgstr "Geçersiz satır"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
#, fuzzy
#| msgid "Username"
msgid "name"
msgstr "Kullanıcı adı"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
#, fuzzy
#| msgid "Enter a valid domain name"
msgid "The domain name"
msgstr "Geçerli bir alan adı girin"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
#, fuzzy
#| msgid "Enable API access"
msgid "Enable DNS checks"
msgstr "API erişimini etkinleştir"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Geçersiz satır"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -1010,15 +1010,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2782,69 +2782,69 @@ msgstr "İstatistikleri gönder"
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
#, fuzzy
#| msgid "Message"
msgid "sent messages"
msgstr "İleti"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
#, fuzzy
#| msgid "Message"
msgid "spam messages"
msgstr "İleti"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
#, fuzzy
#| msgid "account"
msgid "New accounts"
msgstr "Hesap"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
#, fuzzy
#| msgid "account"
msgid "Accounts"
@@ -3255,7 +3255,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Konu"
@@ -3659,21 +3659,21 @@ msgstr ""
msgid "Server response"
msgstr "Sunucu adresi"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to update password: {}"
msgid "Failed to remove attachment: "
msgstr "{} Parola güncelleme başarısız"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "Tarih"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "Message"
msgid "Original message"
@@ -3707,19 +3707,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/locale/tr_TR/LC_MESSAGES/django.po
index 686c8ec15..d39bf9bba 100644
--- a/modoboa/locale/tr_TR/LC_MESSAGES/django.po
+++ b/modoboa/locale/tr_TR/LC_MESSAGES/django.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2018-11-22 19:31+0000\n"
"Last-Translator: Ediz Duman \n"
"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/"
@@ -46,12 +46,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -62,7 +62,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -70,12 +70,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -99,56 +99,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -312,7 +312,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -433,16 +433,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -508,17 +508,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -534,7 +534,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -571,65 +571,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -948,15 +948,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2654,65 +2654,65 @@ msgstr "İstatistikleri gönder"
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
#, fuzzy
#| msgid "New account"
msgid "New accounts"
msgstr "Yeni hesap"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
#, fuzzy
#| msgid "New account"
msgid "Accounts"
@@ -3106,7 +3106,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "Konu"
@@ -3484,19 +3484,19 @@ msgstr ""
msgid "Server response"
msgstr "Sunucu adresi"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3528,19 +3528,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/uk/LC_MESSAGES/django.po b/modoboa/locale/uk/LC_MESSAGES/django.po
index aec4aac94..ea04d3af7 100644
--- a/modoboa/locale/uk/LC_MESSAGES/django.po
+++ b/modoboa/locale/uk/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2020-05-11 18:45+0000\n"
"Last-Translator: Taras Havryliuk , 2021\n"
"Language-Team: Ukrainian (https://www.transifex.com/tonio/teams/13749/uk/)\n"
@@ -47,12 +47,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -63,7 +63,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -71,12 +71,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -100,56 +100,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -313,7 +313,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -434,16 +434,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -509,17 +509,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -535,7 +535,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -572,65 +572,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -923,15 +923,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2573,63 +2573,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -3001,7 +3001,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3351,21 +3351,21 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "Не вдалося створити обліковий запис LDAP: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3397,19 +3397,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/zh/LC_MESSAGES/django.po b/modoboa/locale/zh/LC_MESSAGES/django.po
index f7c95689e..6f6ccea1d 100644
--- a/modoboa/locale/zh/LC_MESSAGES/django.po
+++ b/modoboa/locale/zh/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -41,12 +41,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -57,7 +57,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -65,12 +65,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -94,56 +94,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -307,7 +307,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -428,16 +428,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -503,17 +503,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -529,7 +529,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -566,65 +566,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -917,15 +917,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2550,63 +2550,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2978,7 +2978,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3328,19 +3328,19 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
msgid "Failed to remove attachment: "
msgstr ""
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3372,19 +3372,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/zh_CN/LC_MESSAGES/django.po b/modoboa/locale/zh_CN/LC_MESSAGES/django.po
index 082f9735b..d33ee896e 100644
--- a/modoboa/locale/zh_CN/LC_MESSAGES/django.po
+++ b/modoboa/locale/zh_CN/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2020-05-11 18:45+0000\n"
"Last-Translator: 李 正 <364109980@qq.com>, 2021\n"
"Language-Team: Chinese (China) (https://www.transifex.com/tonio/teams/13749/"
@@ -45,12 +45,12 @@ msgid "Cannot be greater than domain quota"
msgstr ""
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr ""
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -61,7 +61,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr ""
@@ -69,12 +69,12 @@ msgstr ""
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr ""
@@ -98,56 +98,56 @@ msgstr ""
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr ""
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
msgid "Unknown status"
msgstr ""
@@ -311,7 +311,7 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr ""
@@ -432,16 +432,16 @@ msgstr ""
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr ""
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr ""
@@ -507,17 +507,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
msgid "Failed to generate DKIM public key"
msgstr ""
@@ -533,7 +533,7 @@ msgstr ""
msgid "The alias address."
msgstr ""
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr ""
@@ -570,65 +570,65 @@ msgstr ""
msgid "Invalid line: {}"
msgstr ""
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr ""
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr ""
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr ""
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr ""
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr ""
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
msgid "{}: no authorized MX record found for domain"
msgstr ""
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
msgid "{}: invalid quota value for domain"
msgstr ""
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
msgid "{}: invalid default mailbox quota value for domain"
msgstr ""
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
@@ -921,15 +921,15 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
msgid "Failed to find {} binary"
msgstr ""
-#: amavis/lib.py:148
+#: amavis/lib.py:165
msgid "No recipient found"
msgstr ""
-#: amavis/lib.py:159
+#: amavis/lib.py:176
msgid "Local domain not found"
msgstr ""
@@ -2553,63 +2553,63 @@ msgstr ""
msgid "Failed to locate rrdtool binary."
msgstr ""
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr ""
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr ""
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr ""
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr ""
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr ""
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr ""
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr ""
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr ""
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr ""
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr ""
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr ""
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr ""
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr ""
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr ""
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr ""
@@ -2981,7 +2981,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr ""
@@ -3331,21 +3331,21 @@ msgstr ""
msgid "Server response"
msgstr ""
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
#| msgid "Failed to create LDAP account: {}"
msgid "Failed to remove attachment: "
msgstr "无法创建LDAP帐户: {}"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr ""
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
msgid "Original message"
msgstr ""
@@ -3377,19 +3377,19 @@ msgstr ""
msgid "Trash"
msgstr ""
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
diff --git a/modoboa/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/locale/zh_TW/LC_MESSAGES/django.po
index bc70fb48f..7f2baf1a9 100644
--- a/modoboa/locale/zh_TW/LC_MESSAGES/django.po
+++ b/modoboa/locale/zh_TW/LC_MESSAGES/django.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-04 09:30+0100\n"
+"POT-Creation-Date: 2026-02-23 16:14+0100\n"
"PO-Revision-Date: 2018-07-06 08:26+0000\n"
"Last-Translator: akong \n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/"
@@ -48,12 +48,12 @@ msgid "Cannot be greater than domain quota"
msgstr "不可以超過網域配額"
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
-#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
+#: admin/api/v2/serializers.py:581 admin/models/alias.py:45
msgid "Permission denied."
msgstr "權限不足"
-#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
-#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
+#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:91
+#: admin/api/v2/serializers.py:502 amavis/serializers.py:39
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
#: core/api/v2/serializers.py:259 transport/backends.py:40
msgid "This field is required"
@@ -64,7 +64,7 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "管理員網域列表 (只有經銷商和網域管理員)。"
-#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
+#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:563
msgid "Not allowed for this role."
msgstr "不允許這個身份"
@@ -72,12 +72,12 @@ msgstr "不允許這個身份"
msgid "Must be equal to mailbox full_address"
msgstr "必須跟信箱完整位址一樣"
-#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
+#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:615
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
msgid "This field is required."
msgstr "這個欄位是必填的"
-#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
+#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:632
msgid "Local domain {} does not exist"
msgstr "本機網域 {} 不存在"
@@ -103,58 +103,58 @@ msgstr "您不能存取這個信箱。"
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/api/v2/serializers.py:82
+#: admin/api/v2/serializers.py:83
msgid "DKIM keys storage directory not configured"
msgstr "未設置 DKIM 金鑰儲存目錄"
-#: admin/api/v2/serializers.py:94
+#: admin/api/v2/serializers.py:95
msgid "This field is valid when type is relaydomain"
msgstr ""
-#: admin/api/v2/serializers.py:101
+#: admin/api/v2/serializers.py:102
msgid "You can't define an unlimited quota."
msgstr "您不可以定義無限制配額。"
-#: admin/api/v2/serializers.py:135
+#: admin/api/v2/serializers.py:138
#, python-format
msgid "User '%s' already exists"
msgstr "使用者 '%s' 已存在"
-#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
+#: admin/api/v2/serializers.py:266 admin/api/v2/serializers.py:272
msgid "Must be a positive integer"
msgstr "必須是正整數"
-#: admin/api/v2/serializers.py:271
+#: admin/api/v2/serializers.py:281
msgid "openssl not found, please make sure it is installed."
msgstr "openssl 找不到,請確認已安裝。"
-#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
+#: admin/api/v2/serializers.py:284 pdfcredentials/api/v2/serializers.py:84
msgid "Directory not found."
msgstr "目錄不存在"
-#: admin/api/v2/serializers.py:285
+#: admin/api/v2/serializers.py:295
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:298
+#: admin/api/v2/serializers.py:308
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:311
+#: admin/api/v2/serializers.py:321
msgid "Define at least one authorized network / address"
msgstr "定義至少一個已驗證網路/位址"
-#: admin/api/v2/serializers.py:588
+#: admin/api/v2/serializers.py:598
msgid "The left part of an email address can't be more than 64 characters."
msgstr ""
-#: admin/api/v2/serializers.py:610
+#: admin/api/v2/serializers.py:620
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "信箱是必要的"
-#: admin/api/v2/serializers.py:783
+#: admin/api/v2/serializers.py:793
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -343,7 +343,7 @@ msgid ""
"removed within Modoboa"
msgstr "當他要在 Modoboa 上取得更名或移除就會在檔案系統上更名或移除信箱"
-#: admin/app_settings.py:198 admin/models/domain.py:36
+#: admin/app_settings.py:198 admin/models/domain.py:39
msgid "Default mailbox quota"
msgstr "預設信箱配額"
@@ -479,16 +479,16 @@ msgstr "[modoboa] 此網域的 MX 問題(s) {}"
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] 此網域的 DNSBL 問題(s) {}"
-#: admin/handlers.py:179
+#: admin/handlers.py:168
msgid "domain alias"
msgstr "網域別名"
-#: admin/handlers.py:227
+#: admin/handlers.py:216
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "帳號匯入失敗 (%s): 網域不存在"
-#: admin/handlers.py:246
+#: admin/handlers.py:235
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "帳號匯入失敗 (%s): 錯誤配額"
@@ -557,17 +557,17 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:30
msgid ""
"DKIM path non-writable (either a permission issue or the directory does not "
"exist)"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:52
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:55
msgid "Failed to generate DKIM private key"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:62
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:67
#, fuzzy
#| msgid "Enable communication with Modoboa public API"
msgid "Failed to generate DKIM public key"
@@ -585,7 +585,7 @@ msgstr "地址"
msgid "The alias address."
msgstr "別名位址。"
-#: admin/models/alias.py:123 admin/models/domain.py:45
+#: admin/models/alias.py:123 admin/models/domain.py:48
#: admin/models/domain_alias.py:45 autoreply/models.py:25
msgid "enabled"
msgstr "已啟用"
@@ -626,71 +626,71 @@ msgstr "本機收件人 {}@{} 未找到"
msgid "Invalid line: {}"
msgstr "無效行: %s"
-#: admin/models/domain.py:27 admin/models/domain_alias.py:33
+#: admin/models/domain.py:30 admin/models/domain_alias.py:33
msgid "name"
msgstr "名稱"
-#: admin/models/domain.py:30
+#: admin/models/domain.py:33
msgid "The domain name"
msgstr "網域名稱"
-#: admin/models/domain.py:39 admin/models/mailbox.py:92
+#: admin/models/domain.py:42 admin/models/mailbox.py:92
msgid "Message sending limit"
msgstr ""
-#: admin/models/domain.py:42
+#: admin/models/domain.py:45
msgid "Number of messages this domain can send per day"
msgstr ""
-#: admin/models/domain.py:46
+#: admin/models/domain.py:49
msgid "Check to activate this domain"
msgstr "點擊啟用這個網域"
-#: admin/models/domain.py:51
+#: admin/models/domain.py:54
msgid "Enable DNS checks"
msgstr "啟用 DNS 檢查"
-#: admin/models/domain.py:53
+#: admin/models/domain.py:56
msgid "Check to enable DNS checks for this domain"
msgstr "點擊啟用這個網域的 DNS 檢查"
-#: admin/models/domain.py:61
+#: admin/models/domain.py:65
msgid "Enable DKIM signing"
msgstr "啟用 DKIM 簽署"
-#: admin/models/domain.py:63
+#: admin/models/domain.py:67
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr "假如您啟用這個功能,DKIM 金鑰將會產生給這個網域。"
-#: admin/models/domain.py:70
+#: admin/models/domain.py:74
msgid "Key length"
msgstr "金鑰長度"
-#: admin/models/domain.py:321 admin/models/domain_alias.py:70
+#: admin/models/domain.py:330 admin/models/domain_alias.py:70
#: core/models.py:352 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "無效的線"
-#: admin/models/domain.py:331
+#: admin/models/domain.py:340
#, fuzzy
#| msgid "No authorized MX record found for domain {}"
msgid "{}: no authorized MX record found for domain"
msgstr "沒有找到這個網域已驗證過的 MX 紀錄 {}"
-#: admin/models/domain.py:337
+#: admin/models/domain.py:346
#, fuzzy
#| msgid "Invalid quota value for domain '{}'"
msgid "{}: invalid quota value for domain"
msgstr "此網域有無效的配額值 '{}'"
-#: admin/models/domain.py:343
+#: admin/models/domain.py:352
#, fuzzy
#| msgid "Invalid default mailbox quota value for domain '{}'"
msgid "{}: invalid default mailbox quota value for domain"
msgstr "此網域有無效的預設信箱配額值 '{}'"
-#: admin/models/domain.py:350
+#: admin/models/domain.py:359
#, fuzzy
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
@@ -1028,19 +1028,19 @@ msgstr ""
msgid "Connection to amavis failed: %s"
msgstr ""
-#: amavis/lib.py:133
+#: amavis/lib.py:124
#, fuzzy
#| msgid "Failed to locate rrdtool binary."
msgid "Failed to find {} binary"
msgstr "指定 rrdtools 位置失敗。"
-#: amavis/lib.py:148
+#: amavis/lib.py:165
#, fuzzy
#| msgid "Local recipient {}@{} not found"
msgid "No recipient found"
msgstr "本機收件人 {}@{} 未找到"
-#: amavis/lib.py:159
+#: amavis/lib.py:176
#, fuzzy
#| msgid "Domain not found."
msgid "Local domain not found"
@@ -2793,63 +2793,63 @@ msgstr "統計"
msgid "Failed to locate rrdtool binary."
msgstr "指定 rrdtools 位置失敗。"
-#: maillog/graphics.py:166
+#: maillog/graphics.py:174
msgid "Average traffic (msgs/min)"
msgstr "平均流量 (郵件數/分鐘)"
-#: maillog/graphics.py:169
+#: maillog/graphics.py:177
msgid "sent messages"
msgstr "已發訊息"
-#: maillog/graphics.py:170
+#: maillog/graphics.py:178
msgid "received messages"
msgstr "收到的訊息"
-#: maillog/graphics.py:171
+#: maillog/graphics.py:179
msgid "bounced messages"
msgstr "已退回郵件"
-#: maillog/graphics.py:172
+#: maillog/graphics.py:180
msgid "rejected messages"
msgstr "已拒絕郵件"
-#: maillog/graphics.py:173
+#: maillog/graphics.py:181
msgid "virus messages"
msgstr "病毒郵件"
-#: maillog/graphics.py:174
+#: maillog/graphics.py:182
msgid "spam messages"
msgstr "垃圾郵件"
-#: maillog/graphics.py:181
+#: maillog/graphics.py:189
msgid "greylisted messages"
msgstr "灰名單郵件"
-#: maillog/graphics.py:198
+#: maillog/graphics.py:206
msgid "Average normal traffic size (bytes/min)"
msgstr "平均流量大小 (位元組/分鐘)"
-#: maillog/graphics.py:201
+#: maillog/graphics.py:209
msgid "received size"
msgstr "已接收大小"
-#: maillog/graphics.py:202
+#: maillog/graphics.py:210
msgid "sent size"
msgstr "寄送大小"
-#: maillog/graphics.py:209
+#: maillog/graphics.py:217
msgid "Mail traffic"
msgstr "郵件流量"
-#: maillog/graphics.py:252
+#: maillog/graphics.py:260
msgid "Average account creation (account/hour)"
msgstr "建立帳號平均值 (帳號/小時)"
-#: maillog/graphics.py:254
+#: maillog/graphics.py:262
msgid "New accounts"
msgstr "新帳號"
-#: maillog/graphics.py:261
+#: maillog/graphics.py:269
msgid "Accounts"
msgstr "帳號"
@@ -3268,7 +3268,7 @@ msgstr ""
msgid "is not"
msgstr ""
-#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
+#: sievefilters/constants.py:23 webmail/lib/imapemail.py:315
msgid "Subject"
msgstr "主旨"
@@ -3671,20 +3671,20 @@ msgstr "使用者定義郵件簽名"
msgid "Server response"
msgstr "伺服器位址"
-#: webmail/lib/attachments.py:112
+#: webmail/lib/attachments.py:146
#, fuzzy
msgid "Failed to remove attachment: "
msgstr "移除附件失敗:"
-#: webmail/lib/imapemail.py:270
+#: webmail/lib/imapemail.py:283
msgid "wrote:"
msgstr ""
-#: webmail/lib/imapemail.py:304
+#: webmail/lib/imapemail.py:317
msgid "Date"
msgstr "日期"
-#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
+#: webmail/lib/imapemail.py:333 webmail/lib/imapemail.py:336
#, fuzzy
#| msgid "sent messages"
msgid "Original message"
@@ -3720,19 +3720,19 @@ msgstr ""
msgid "Trash"
msgstr "垃圾筒"
-#: webmail/serializers.py:220
+#: webmail/serializers.py:221
msgid "Moving scheduled messages is forbidden"
msgstr ""
-#: webmail/serializers.py:253
+#: webmail/serializers.py:254
msgid "Only datetime in the future is allowed"
msgstr ""
-#: webmail/serializers.py:258
+#: webmail/serializers.py:259
msgid "Provived datetime must be one minute in the future at least"
msgstr ""
-#: webmail/viewsets.py:359
+#: webmail/viewsets.py:392
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "附件太大 (限制: %s)"