From 7e0e39d2b664e0f28435958ec628dcc379a45fd3 Mon Sep 17 00:00:00 2001
From: Antoine Nguyen
Date: Thu, 18 Jul 2024 13:39:36 +0200
Subject: [PATCH] Updated translation files
---
frontend/src/locale/br/app.po | 188 ++--
frontend/src/locale/cs/app.po | 162 +---
frontend/src/locale/de/app.po | 194 ++--
frontend/src/locale/el/app.po | 162 +---
frontend/src/locale/en/app.po | 197 ++--
frontend/src/locale/es/app.po | 188 ++--
frontend/src/locale/fi/app.po | 208 ++---
frontend/src/locale/fr/app.po | 237 ++---
frontend/src/locale/it/app.po | 188 ++--
frontend/src/locale/ja/app.po | 162 +---
frontend/src/locale/messages.pot | 162 +---
frontend/src/locale/nl/app.po | 162 +---
frontend/src/locale/pl/app.po | 162 +---
frontend/src/locale/pt/app.po | 162 +---
frontend/src/locale/ru/app.po | 188 ++--
frontend/src/locale/sv/app.po | 233 ++---
frontend/src/locale/tr/app.po | 194 ++--
frontend/src/locale/zh/app.po | 162 +---
modoboa/locale/br/LC_MESSAGES/django.po | 878 +++++++++---------
modoboa/locale/cs/LC_MESSAGES/django.po | 659 ++++++--------
modoboa/locale/cs_CZ/LC_MESSAGES/django.po | 966 ++++++++++----------
modoboa/locale/de/LC_MESSAGES/django.po | 997 ++++++++++----------
modoboa/locale/de_DE/LC_MESSAGES/django.po | 698 +++++++-------
modoboa/locale/el_GR/LC_MESSAGES/django.po | 992 ++++++++++----------
modoboa/locale/en/LC_MESSAGES/django.po | 578 +++++-------
modoboa/locale/es/LC_MESSAGES/django.po | 965 ++++++++++----------
modoboa/locale/fi/LC_MESSAGES/django.po | 894 +++++++++---------
modoboa/locale/fr/LC_MESSAGES/django.po | 999 +++++++++++----------
modoboa/locale/hu/LC_MESSAGES/django.po | 578 +++++-------
modoboa/locale/it/LC_MESSAGES/django.po | 929 +++++++++----------
modoboa/locale/ja_JP/LC_MESSAGES/django.po | 989 ++++++++++----------
modoboa/locale/nl_NL/LC_MESSAGES/django.po | 997 ++++++++++----------
modoboa/locale/no/LC_MESSAGES/django.po | 578 +++++-------
modoboa/locale/pl_PL/LC_MESSAGES/django.po | 997 ++++++++++----------
modoboa/locale/pt_BR/LC_MESSAGES/django.po | 925 +++++++++----------
modoboa/locale/pt_PT/LC_MESSAGES/django.po | 930 +++++++++----------
modoboa/locale/ro_RO/LC_MESSAGES/django.po | 744 ++++++++-------
modoboa/locale/ru/LC_MESSAGES/django.po | 923 +++++++++----------
modoboa/locale/si/LC_MESSAGES/django.po | 578 +++++-------
modoboa/locale/sk_SK/LC_MESSAGES/django.po | 578 +++++-------
modoboa/locale/sl_SI/LC_MESSAGES/django.po | 614 ++++++-------
modoboa/locale/sv/LC_MESSAGES/django.po | 985 ++++++++++----------
modoboa/locale/tr/LC_MESSAGES/django.po | 787 ++++++++--------
modoboa/locale/tr_TR/LC_MESSAGES/django.po | 635 ++++++-------
modoboa/locale/uk/LC_MESSAGES/django.po | 578 +++++-------
modoboa/locale/zh_CN/LC_MESSAGES/django.po | 578 +++++-------
modoboa/locale/zh_TW/LC_MESSAGES/django.po | 883 +++++++++---------
47 files changed, 12298 insertions(+), 14445 deletions(-)
diff --git a/frontend/src/locale/br/app.po b/frontend/src/locale/br/app.po
index 58b0d4fea..323c67cbd 100644
--- a/frontend/src/locale/br/app.po
+++ b/frontend/src/locale/br/app.po
@@ -56,7 +56,7 @@ msgstr ""
msgid "account"
msgstr "Kont"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -173,7 +173,7 @@ msgstr "Chomlec'h"
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -217,7 +217,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -345,7 +345,7 @@ msgstr "Domanioù meret"
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -407,10 +407,6 @@ msgstr "Stumm Ereet/anvet"
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Cheñch ger-tremen"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -474,7 +470,7 @@ msgstr "Serriñ"
msgid "Conditions"
msgstr "Kadarnadur"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -514,7 +510,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -574,7 +570,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Taolenn-stur"
@@ -805,7 +801,7 @@ msgstr ""
msgid "domain's default value"
msgstr "Implijout un dalvoudegezh domani dre-ziouer"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Domanioù"
@@ -826,7 +822,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
#, fuzzy
msgid "Edit account"
msgstr "Kont nevez"
@@ -872,16 +868,11 @@ msgstr ""
msgid "Email address"
msgstr "Chomlec'h postel"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
#, fuzzy
msgid "Email providers"
msgstr "Chomlec'h postel"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -925,21 +916,6 @@ msgstr ""
msgid "Enter an email address"
msgstr "Chomlec'h postel"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -1012,7 +988,7 @@ msgstr "Profil hizivaet"
msgid "Filter updated"
msgstr "Profil hizivaet"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1023,13 +999,6 @@ msgstr ""
msgid "First name"
msgstr "Anv klok"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Ger-tremen ankouaeet?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Treuzkas"
@@ -1133,12 +1102,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identelezhioù"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1150,7 +1119,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1182,11 +1151,7 @@ msgstr "Emporzhiañ identelezhioù"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Titouroù"
@@ -1214,10 +1179,6 @@ msgstr "Ger-tremen dre-zegouezh"
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1282,7 +1243,7 @@ msgstr ""
msgid "Logger"
msgstr "Enroller"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Digevreañ"
@@ -1337,7 +1298,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1346,7 +1307,7 @@ msgstr ""
msgid "Migration deleted"
msgstr "Deiziad krouidigezh"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
#, fuzzy
msgid "Migrations"
@@ -1364,7 +1325,7 @@ msgstr "Aozet"
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1472,7 +1433,7 @@ msgstr "Chomlec'h postel"
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Da-heul"
@@ -1486,7 +1447,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1551,11 +1512,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1591,7 +1547,7 @@ msgstr "Dibarzhioù"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
#, fuzzy
msgid "Parameters updated"
msgstr "Profil hizivaet"
@@ -1623,11 +1579,6 @@ msgstr ""
msgid "Password mismatch"
msgstr "Disklotadurioù gerioù-tremen"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Ger-tremen"
-
#: src/components/account/ProfileForm.vue:143
#, fuzzy
msgid "Password updated"
@@ -1661,11 +1612,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1847,10 +1793,6 @@ msgstr "Serriñ"
msgid "Reseller"
msgstr "Eilgwerzher"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1864,20 +1806,6 @@ msgstr "Mammennoù"
msgid "Resources usage"
msgstr "Implij mammennoù"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1972,7 +1900,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Arventennoù"
@@ -2005,7 +1933,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
#, fuzzy
@@ -2021,15 +1949,8 @@ msgstr "Statud"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Kas"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Berradenn"
@@ -2080,22 +2001,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr "Hollad"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2116,11 +2026,6 @@ msgstr "Mammennoù fizius"
msgid "Two-factor auth"
msgstr "O vezañ anavezet"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "O vezañ anavezet"
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2200,15 +2105,6 @@ msgstr "Kont nevez"
msgid "Use domain default value"
msgstr "Implijout un dalvoudegezh domani dre-ziouer"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Dizanv"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2228,10 +2124,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2242,7 +2134,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2280,7 +2172,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
@@ -2320,6 +2212,28 @@ msgstr ""
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Cheñch ger-tremen"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Ger-tremen ankouaeet?"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Ger-tremen"
+
+#~ msgid "Submit"
+#~ msgstr "Kas"
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "O vezañ anavezet"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Dizanv"
+
#, fuzzy
#~ msgid "Enable 2FA"
#~ msgstr "Enaouet"
diff --git a/frontend/src/locale/cs/app.po b/frontend/src/locale/cs/app.po
index 5c108aacc..d03d8a323 100644
--- a/frontend/src/locale/cs/app.po
+++ b/frontend/src/locale/cs/app.po
@@ -56,7 +56,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -168,7 +168,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -210,7 +210,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -328,7 +328,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -366,7 +366,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -390,10 +390,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -452,7 +448,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -492,7 +488,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -550,7 +546,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -773,7 +769,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -794,7 +790,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -834,15 +830,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -884,21 +875,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -966,7 +942,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -976,12 +952,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1079,12 +1049,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1096,7 +1066,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1128,11 +1098,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1158,10 +1124,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1225,7 +1187,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1276,7 +1238,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1284,7 +1246,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1301,7 +1263,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1404,7 +1366,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1418,7 +1380,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1480,11 +1442,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1518,7 +1475,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1548,10 +1505,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1584,11 +1537,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1754,10 +1702,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1771,20 +1715,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1875,7 +1805,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1908,7 +1838,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1923,15 +1853,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1982,22 +1905,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2016,10 +1928,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2093,14 +2001,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2119,10 +2019,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2133,7 +2029,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2171,7 +2067,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/frontend/src/locale/de/app.po b/frontend/src/locale/de/app.po
index 66c73fbd8..73f08515c 100644
--- a/frontend/src/locale/de/app.po
+++ b/frontend/src/locale/de/app.po
@@ -57,7 +57,7 @@ msgstr ""
msgid "account"
msgstr "Konto"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -174,7 +174,7 @@ msgstr "Adresse"
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -218,7 +218,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -346,7 +346,7 @@ msgstr "Administrierte Domains"
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -384,7 +384,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -408,10 +408,6 @@ msgstr "Gebundenes Format"
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Passwort ändern"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -473,7 +469,7 @@ msgstr "Schließen"
msgid "Conditions"
msgstr "Bestätigung"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -516,7 +512,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -576,7 +572,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Dashboard"
@@ -806,7 +802,7 @@ msgstr ""
msgid "domain's default value"
msgstr "Standardwert der Domain verwenden"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Domains"
@@ -827,7 +823,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
#, fuzzy
msgid "Edit account"
msgstr "Neues Konto"
@@ -873,16 +869,11 @@ msgstr ""
msgid "Email address"
msgstr "E-Mail Adresse"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
#, fuzzy
msgid "Email providers"
msgstr "E-Mail Adresse"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -926,21 +917,6 @@ msgstr ""
msgid "Enter an email address"
msgstr "E-Mail Adresse"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr "Gib den Code der per SMS zugestellt wurde"
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -1012,7 +988,7 @@ msgstr "Profil aktualisiert"
msgid "Filter updated"
msgstr "Profil aktualisiert"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1023,13 +999,6 @@ msgstr ""
msgid "First name"
msgstr "Vollständiger Name"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Passwort vergessen?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Weiterleiten"
@@ -1132,12 +1101,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identitäten"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1149,7 +1118,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1181,11 +1150,7 @@ msgstr "Identitäten importieren"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Information"
@@ -1213,10 +1178,6 @@ msgstr "Zufälliges Passwort"
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1281,7 +1242,7 @@ msgstr ""
msgid "Logger"
msgstr "Logger"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Logout"
@@ -1336,7 +1297,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1345,7 +1306,7 @@ msgstr ""
msgid "Migration deleted"
msgstr "Erstellungsdatum"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
#, fuzzy
msgid "Migrations"
@@ -1363,7 +1324,7 @@ msgstr "Verändert"
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1471,7 +1432,7 @@ msgstr "Neue Wiederherstellungscodes"
msgid "New recovery codes"
msgstr "Neue Wiederherstellungscodes"
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Weiter"
@@ -1485,7 +1446,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1553,11 +1514,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1593,7 +1549,7 @@ msgstr "Optionen"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
#, fuzzy
msgid "Parameters updated"
msgstr "Profil aktualisiert"
@@ -1625,11 +1581,6 @@ msgstr ""
msgid "Password mismatch"
msgstr "Passwörter stimmen nicht überein"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Passwort"
-
#: src/components/account/ProfileForm.vue:143
#, fuzzy
msgid "Password updated"
@@ -1663,11 +1614,6 @@ msgstr "Pincode"
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr "Bitte die Primäre Email-Adresse eingeben"
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1849,10 +1795,6 @@ msgstr "Schließen"
msgid "Reseller"
msgstr "Reseller"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr "Setze Wiederherstellungscodes zurück"
@@ -1866,20 +1808,6 @@ msgstr "Ressourcen"
msgid "Resources usage"
msgstr "Ressourcen-Verbrauch"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1975,7 +1903,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Einstellungen"
@@ -2008,7 +1936,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
#, fuzzy
@@ -2024,15 +1952,8 @@ msgstr "Status"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Abschicken"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Zusammenfassung"
@@ -2083,22 +2004,11 @@ msgstr ""
msgid "To"
msgstr "Bis"
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr "Total"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2119,11 +2029,6 @@ msgstr "Vertraute Quellen"
msgid "Two-factor auth"
msgstr "Authentifizierung"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "Authentifizierung"
-
#: src/components/account/TotpAuthForm.vue:109
#, fuzzy
msgid ""
@@ -2209,15 +2114,6 @@ msgstr "Neues Konto"
msgid "Use domain default value"
msgstr "Standardwert der Domain verwenden"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Unbekannt"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2237,10 +2133,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2251,7 +2143,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2289,7 +2181,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
@@ -2329,6 +2221,34 @@ msgstr ""
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Passwort ändern"
+
+#~ msgid "Enter the code you've just received by SMS"
+#~ msgstr "Gib den Code der per SMS zugestellt wurde"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Passwort vergessen?"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Passwort"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Bitte die Primäre Email-Adresse eingeben"
+
+#~ msgid "Submit"
+#~ msgstr "Abschicken"
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "Authentifizierung"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Unbekannt"
+
#~ msgid "Enable 2FA"
#~ msgstr "Aktiviere 2FA"
diff --git a/frontend/src/locale/el/app.po b/frontend/src/locale/el/app.po
index b7ecf1c7b..95f397d32 100644
--- a/frontend/src/locale/el/app.po
+++ b/frontend/src/locale/el/app.po
@@ -56,7 +56,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -168,7 +168,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -210,7 +210,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -328,7 +328,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -366,7 +366,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -390,10 +390,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -452,7 +448,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -492,7 +488,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -550,7 +546,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -773,7 +769,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -794,7 +790,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -834,15 +830,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -884,21 +875,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -966,7 +942,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -976,12 +952,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1079,12 +1049,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1096,7 +1066,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1128,11 +1098,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1158,10 +1124,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1225,7 +1187,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1276,7 +1238,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1284,7 +1246,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1301,7 +1263,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1404,7 +1366,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1418,7 +1380,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1480,11 +1442,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1518,7 +1475,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1548,10 +1505,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1584,11 +1537,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1754,10 +1702,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1771,20 +1715,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1875,7 +1805,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1908,7 +1838,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1923,15 +1853,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1982,22 +1905,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2016,10 +1928,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2093,14 +2001,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2119,10 +2019,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2133,7 +2029,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2171,7 +2067,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/frontend/src/locale/en/app.po b/frontend/src/locale/en/app.po
index cd83fea21..cd35e20fe 100644
--- a/frontend/src/locale/en/app.po
+++ b/frontend/src/locale/en/app.po
@@ -50,7 +50,7 @@ msgstr "Absolute time range"
msgid "account"
msgstr "Account"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -168,7 +168,7 @@ msgstr "Address"
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -212,7 +212,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr "Alarms"
@@ -342,7 +342,7 @@ msgstr "Administered domains"
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr "Audit trail"
@@ -380,7 +380,7 @@ msgstr "autodiscover record (Microsoft) not found"
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "autodiscover record (Microsoft): %{ value }"
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr "Back"
@@ -404,11 +404,6 @@ msgstr "Bind/named format. Click to copy"
msgid "Cancel"
msgstr "Cancel"
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-#, fuzzy
-msgid "Change password"
-msgstr "Random password"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -474,7 +469,7 @@ msgstr "Close"
msgid "Conditions"
msgstr "Information"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr "Confirm and create"
@@ -517,7 +512,7 @@ msgstr "Copy to clipboard"
msgid "Copy token to clipboard"
msgstr "Copy to clipboard"
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -579,7 +574,7 @@ msgstr "Message sending limit"
msgid "Daily sending limit"
msgstr "Daily sending limit"
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Dashboard"
@@ -819,7 +814,7 @@ msgstr "Domain updated"
msgid "domain's default value"
msgstr "Domain deleted"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Domains"
@@ -840,7 +835,7 @@ msgstr ""
msgid "Edit"
msgstr "Edit"
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
#, fuzzy
msgid "Edit account"
msgstr "Account"
@@ -887,15 +882,10 @@ msgstr ""
msgid "Email address"
msgstr "Specify an email address"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr "Email providers"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr "Empty"
@@ -939,23 +929,6 @@ msgstr ""
msgid "Enter an email address"
msgstr "Specify an email address"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -1029,7 +1002,7 @@ msgstr "Domain updated"
msgid "Filter updated"
msgstr "Domain updated"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1040,13 +1013,6 @@ msgstr ""
msgid "First name"
msgstr "Full name"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Forgot password"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Forward"
@@ -1150,12 +1116,12 @@ msgstr ""
msgid "Identification"
msgstr "Identification"
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identities"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1171,7 +1137,7 @@ msgstr ""
"If you configured it recently, please wait for the first report to be "
"received and processed."
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr "IMAP Migration"
@@ -1205,11 +1171,7 @@ msgstr "Identities"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Information"
@@ -1236,10 +1198,6 @@ msgstr "Random password"
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1305,7 +1263,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Logout"
@@ -1362,7 +1320,7 @@ msgstr "Message sending limit"
msgid "messages"
msgstr "messages"
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr "Messages"
@@ -1371,7 +1329,7 @@ msgstr "Messages"
msgid "Migration deleted"
msgstr "Domain deleted"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr "Migrations"
@@ -1390,7 +1348,7 @@ msgstr "Modify"
msgid "Modify"
msgstr "Modify"
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr "Monitoring"
@@ -1500,7 +1458,7 @@ msgstr "Email providers"
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Next"
@@ -1514,7 +1472,7 @@ msgstr "no"
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr "No"
@@ -1579,11 +1537,6 @@ msgid ""
msgstr ""
"Number of messages this domain can send per day. Leave empty for no limit."
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr "OK"
@@ -1619,7 +1572,7 @@ msgstr "Options"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1650,11 +1603,6 @@ msgstr "Password copied to clipboard"
msgid "Password mismatch"
msgstr "Password"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Password"
-
#: src/components/account/ProfileForm.vue:143
#, fuzzy
msgid "Password updated"
@@ -1690,11 +1638,6 @@ msgstr "Verify code"
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1871,10 +1814,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1888,20 +1827,6 @@ msgstr "Resources"
msgid "Resources usage"
msgstr "Resources usage"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1997,7 +1922,7 @@ msgstr "Service"
msgid "Service: "
msgstr "Service: "
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Settings"
@@ -2031,7 +1956,7 @@ msgstr "SPF record not found"
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -2047,15 +1972,8 @@ msgstr "DNS status"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Summary"
@@ -2109,22 +2027,11 @@ msgstr ""
msgid "To"
msgstr "To"
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr "Total"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2144,10 +2051,6 @@ msgstr "Trusted sources"
msgid "Two-factor auth"
msgstr "Two-factor authentication"
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr "Two-factor authentication"
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2226,15 +2129,6 @@ msgstr "Account"
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Unknown"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2254,10 +2148,6 @@ msgstr "Valid"
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr "Verify code"
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr "warning"
@@ -2268,7 +2158,7 @@ msgstr "warning"
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr "Warning"
@@ -2306,7 +2196,7 @@ msgstr "yes"
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr "Yes"
@@ -2346,6 +2236,35 @@ msgstr ""
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#, fuzzy
+#~ msgid "Change password"
+#~ msgstr "Random password"
+
+#~ msgid ""
+#~ "Enter the code from the two-factor app on your mobile device. If you have "
+#~ "lost your device, you may enter one of your recovery codes."
+#~ msgstr ""
+#~ "Enter the code from the two-factor app on your mobile device. If you have "
+#~ "lost your device, you may enter one of your recovery codes."
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Forgot password"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Password"
+
+#~ msgid "Two-factor authentication"
+#~ msgstr "Two-factor authentication"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Unknown"
+
+#~ msgid "Verify code"
+#~ msgstr "Verify code"
+
#~ msgid "Connect"
#~ msgstr "Connect"
diff --git a/frontend/src/locale/es/app.po b/frontend/src/locale/es/app.po
index 93c4eb895..3125e45c8 100644
--- a/frontend/src/locale/es/app.po
+++ b/frontend/src/locale/es/app.po
@@ -57,7 +57,7 @@ msgstr ""
msgid "account"
msgstr "Cuenta"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -174,7 +174,7 @@ msgstr "Dirección"
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -218,7 +218,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -346,7 +346,7 @@ msgstr "Dominios administrados"
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -384,7 +384,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -408,10 +408,6 @@ msgstr "Formato inválido"
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Cambiar contraseña"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -473,7 +469,7 @@ msgstr ""
msgid "Conditions"
msgstr "Confirmación"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -513,7 +509,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -573,7 +569,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Panel de Control"
@@ -803,7 +799,7 @@ msgstr ""
msgid "domain's default value"
msgstr "Usar el valor por defecto del dominio"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Dominios"
@@ -824,7 +820,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
#, fuzzy
msgid "Edit account"
msgstr "Nueva cuenta"
@@ -870,16 +866,11 @@ msgstr ""
msgid "Email address"
msgstr "Dirección de email"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
#, fuzzy
msgid "Email providers"
msgstr "Dirección de email"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -923,21 +914,6 @@ msgstr ""
msgid "Enter an email address"
msgstr "Dirección de email"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -1009,7 +985,7 @@ msgstr "Perfil actualizado"
msgid "Filter updated"
msgstr "Perfil actualizado"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1020,13 +996,6 @@ msgstr ""
msgid "First name"
msgstr "Nombre completo"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "¿Ha olvidado su contraseña?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Siguiente"
@@ -1129,12 +1098,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identidades"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1146,7 +1115,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1178,11 +1147,7 @@ msgstr "Importar identidades"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Información"
@@ -1210,10 +1175,6 @@ msgstr "Dirección aleatoria"
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1278,7 +1239,7 @@ msgstr ""
msgid "Logger"
msgstr "Logger"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Salir"
@@ -1333,7 +1294,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1342,7 +1303,7 @@ msgstr ""
msgid "Migration deleted"
msgstr "Fecha de creación"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
#, fuzzy
msgid "Migrations"
@@ -1360,7 +1321,7 @@ msgstr "Modificado"
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1468,7 +1429,7 @@ msgstr "Dirección de email"
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Siguiente"
@@ -1482,7 +1443,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1547,11 +1508,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1587,7 +1543,7 @@ msgstr "Opciones"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
#, fuzzy
msgid "Parameters updated"
msgstr "Perfil actualizado"
@@ -1619,11 +1575,6 @@ msgstr ""
msgid "Password mismatch"
msgstr "Las contraseñas no coinciden"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Contraseña"
-
#: src/components/account/ProfileForm.vue:143
#, fuzzy
msgid "Password updated"
@@ -1657,11 +1608,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1839,10 +1785,6 @@ msgstr ""
msgid "Reseller"
msgstr "Revendedor"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1856,20 +1798,6 @@ msgstr "Recursos"
msgid "Resources usage"
msgstr "Uso de recursos"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1964,7 +1892,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Configuración"
@@ -1997,7 +1925,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
#, fuzzy
@@ -2013,15 +1941,8 @@ msgstr "Estatus"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Enviar"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Resumen"
@@ -2072,22 +1993,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2108,11 +2018,6 @@ msgstr "Recursos"
msgid "Two-factor auth"
msgstr "Autenticación"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "Autenticación"
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2192,15 +2097,6 @@ msgstr "Nueva cuenta"
msgid "Use domain default value"
msgstr "Usar el valor por defecto del dominio"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Desconocido"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2220,10 +2116,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2234,7 +2126,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2272,7 +2164,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
@@ -2312,6 +2204,28 @@ msgstr ""
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Cambiar contraseña"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "¿Ha olvidado su contraseña?"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Contraseña"
+
+#~ msgid "Submit"
+#~ msgstr "Enviar"
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "Autenticación"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Desconocido"
+
#, fuzzy
#~ msgid "Enable 2FA"
#~ msgstr "Activado"
diff --git a/frontend/src/locale/fi/app.po b/frontend/src/locale/fi/app.po
index d7fcca5ef..3728a0cb1 100644
--- a/frontend/src/locale/fi/app.po
+++ b/frontend/src/locale/fi/app.po
@@ -64,7 +64,7 @@ msgstr "Määrämittainen aikaraja"
msgid "account"
msgstr "Tili"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -182,7 +182,7 @@ msgstr "Osoite"
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -228,7 +228,7 @@ msgid "Alarm re-opened"
msgstr "Verkkotunnuksen alias poistettu"
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr "Hälytykset"
@@ -359,7 +359,7 @@ msgstr "Hallinnoidut verkkotunnukset"
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr "Tarkastusketju"
@@ -397,7 +397,7 @@ msgstr "autodiscover-tietuetta (Microsoft) ei löydy"
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "autodiscover-tietue (Microsoft): %{ value }"
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr "Takaisin"
@@ -421,11 +421,6 @@ msgstr "Bind/nimetty muoto. Kopioi klikkaamalla"
msgid "Cancel"
msgstr "Peruuta"
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-#, fuzzy
-msgid "Change password"
-msgstr "Vaihda salasana"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -492,7 +487,7 @@ msgstr "Suljettu"
msgid "Conditions"
msgstr "Vahvistus"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr "Vahvista ja luo"
@@ -534,7 +529,7 @@ msgstr "Kopioi leikepöydälle"
msgid "Copy token to clipboard"
msgstr "Kopioi turvatunnus leikepöydälle"
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -593,7 +588,7 @@ msgstr "Päivittäinen viestien lähetysraja"
msgid "Daily sending limit"
msgstr "Päivittäinen lähetysraja"
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Työpöytä"
@@ -829,7 +824,7 @@ msgstr "Verkkotunnus päivitetty"
msgid "domain's default value"
msgstr "verkkotunnuksen oletusarvo"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia"
@@ -850,7 +845,7 @@ msgstr ""
msgid "Edit"
msgstr "Muokkaa"
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr "Muokkaa tiliä"
@@ -894,16 +889,11 @@ msgstr "Sähköposti"
msgid "Email address"
msgstr "Sähköpostiosoite"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
#, fuzzy
msgid "Email providers"
msgstr "Sähköpostiosoite"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr "Tyhjä"
@@ -946,23 +936,6 @@ msgstr "Anna yksinkertainen käyttäjätunnus tai sähköpostiosoite"
msgid "Enter an email address"
msgstr "Syötä oikean muotoinen sähköpostiosoite"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-"Syötä koodi mobiililaitteesi kaksivaiheisen tunnistuksen sovelluksesta. Jos "
-"olet hukannut laitteesi, voit syöttää yhden palautuskoodeistasi."
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr "Kirjoita tekstiviestillä saamasi koodi"
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr "Esim: 10 MB. Jätä tyhjäksi, jos et halua rajoitusta"
@@ -1037,7 +1010,7 @@ msgstr "Parametrit päivitetty"
msgid "Filter updated"
msgstr "Profiili päivitetty"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1047,13 +1020,6 @@ msgstr ""
msgid "First name"
msgstr "Etunimi"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Unohditko salasanasi?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Välitä"
@@ -1156,12 +1122,12 @@ msgstr ""
msgid "Identification"
msgstr "Tunniste"
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identiteetit"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1173,7 +1139,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
#, fuzzy
msgid "IMAP Migration"
msgstr "Automaattinen asetusten määrittäminen"
@@ -1207,11 +1173,7 @@ msgstr "Tuo identiteetit"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr "Ilmoita yksi tai useampi vastaanottaja pilkulla (,) erotettuna"
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
#, fuzzy
msgid "Information"
msgstr "Tiedot"
@@ -1244,10 +1206,6 @@ msgstr "Virheellinen salasana"
msgid "Invalid port number"
msgstr "Virheellinen salasana"
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1316,7 +1274,7 @@ msgstr ""
msgid "Logger"
msgstr "Lokikirja"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Kirjaudu ulos"
@@ -1370,7 +1328,7 @@ msgstr "Viestien lähetysraja"
msgid "messages"
msgstr "viestit"
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr "Viestit"
@@ -1379,7 +1337,7 @@ msgstr "Viestit"
msgid "Migration deleted"
msgstr "Luontipäivä"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
#, fuzzy
msgid "Migrations"
@@ -1397,7 +1355,7 @@ msgstr "Muokattu"
msgid "Modify"
msgstr "Muokkaa"
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1506,7 +1464,7 @@ msgstr "Uudet palautuskoodit"
msgid "New recovery codes"
msgstr "Uudet palautuskoodit"
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Seuraava"
@@ -1520,7 +1478,7 @@ msgstr "ei"
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr "Ei"
@@ -1590,11 +1548,6 @@ msgstr ""
"Viestien määrä, jonka tämä postilaatikko voi lähettää päivässä. Jätä "
"tyhjäksi, jos et halua rajoitusta."
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr "OK"
@@ -1631,7 +1584,7 @@ msgstr "Vaihtoehdot"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr "Parametrit päivitetty"
@@ -1662,11 +1615,6 @@ msgstr "Salasana kopioitu leikepöydälle"
msgid "Password mismatch"
msgstr "Salasanat eivät täsmää"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Salasana"
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr "Salasana päivitetty"
@@ -1699,11 +1647,6 @@ msgstr "Pin-koodi"
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr "Täytä ensisijainen sähköpostiosoitteesi"
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1886,10 +1829,6 @@ msgstr "Avatut hälytykset"
msgid "Reseller"
msgstr "Jälleenmyyjä"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
#, fuzzy
msgid "Reset recovery codes"
@@ -1904,20 +1843,6 @@ msgstr "Resurssit"
msgid "Resources usage"
msgstr "Resurssien käyttö"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -2014,7 +1939,7 @@ msgstr "Palvelu"
msgid "Service: "
msgstr "Palvelu:"
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Asetukset"
@@ -2048,7 +1973,7 @@ msgstr "SPF-tietuetta ei löydy"
msgid "Start typing a name here..."
msgstr "Aloita nimen kirjoittaminen tästä..."
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
#, fuzzy
@@ -2064,15 +1989,8 @@ msgstr "Tila"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Lähetä"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Yhteenveto"
@@ -2131,22 +2049,11 @@ msgstr "Tämä sivu on vielä rakenteilla."
msgid "To"
msgstr "Vastaanottaja"
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2167,11 +2074,6 @@ msgstr "Resurssit"
msgid "Two-factor auth"
msgstr "Kaksivaiheinent tunnistus"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "Kaksivaiheinent tunnistus"
-
#: src/components/account/TotpAuthForm.vue:109
#, fuzzy
msgid ""
@@ -2251,15 +2153,6 @@ msgstr "Uusi tili"
msgid "Use domain default value"
msgstr "Käytä verkkotunnuksen oletusarvoa"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Tuntematon"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2278,10 +2171,6 @@ msgstr "Kelvollinen"
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr "Tarkista koodi"
-
#: src/components/admin/domains/DNSDetail.vue:217
#, fuzzy
msgid "warning"
@@ -2293,7 +2182,7 @@ msgstr "Varoitus"
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr "Varoitus"
@@ -2331,7 +2220,7 @@ msgstr "kyllä"
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr "Kyllä"
@@ -2371,6 +2260,45 @@ msgstr "API-pääsytunnisteesi on:"
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#, fuzzy
+#~ msgid "Change password"
+#~ msgstr "Vaihda salasana"
+
+#~ msgid ""
+#~ "Enter the code from the two-factor app on your mobile device. If you have "
+#~ "lost your device, you may enter one of your recovery codes."
+#~ msgstr ""
+#~ "Syötä koodi mobiililaitteesi kaksivaiheisen tunnistuksen sovelluksesta. "
+#~ "Jos olet hukannut laitteesi, voit syöttää yhden palautuskoodeistasi."
+
+#~ msgid "Enter the code you've just received by SMS"
+#~ msgstr "Kirjoita tekstiviestillä saamasi koodi"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Unohditko salasanasi?"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Salasana"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Täytä ensisijainen sähköpostiosoitteesi"
+
+#~ msgid "Submit"
+#~ msgstr "Lähetä"
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "Kaksivaiheinent tunnistus"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Tuntematon"
+
+#~ msgid "Verify code"
+#~ msgstr "Tarkista koodi"
+
#~ msgid "Connect"
#~ msgstr "Yhdistä"
diff --git a/frontend/src/locale/fr/app.po b/frontend/src/locale/fr/app.po
index b3814960c..c46c58666 100644
--- a/frontend/src/locale/fr/app.po
+++ b/frontend/src/locale/fr/app.po
@@ -63,7 +63,7 @@ msgstr "Plage de temps absolue"
msgid "account"
msgstr "compte"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -178,7 +178,7 @@ msgstr "Adresse"
msgid "Address (hostname or IP)"
msgstr "Adresse (nom d'hôte ou IP)"
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -220,7 +220,7 @@ msgid "Alarm re-opened"
msgstr "Alarme ré-ouverte"
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr "Alarmes"
@@ -342,7 +342,7 @@ msgstr "Domaines associés"
msgid "Attempting to log you in."
msgstr "Retour à la connexion"
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr "Journal des modifications"
@@ -380,7 +380,7 @@ msgstr "Enregistrement autodiscover (Microsoft) non trouvé"
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "Enregistrement autodiscover (Microsoft): %{ value }"
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr "Retour"
@@ -404,10 +404,6 @@ msgstr "Format bind/named. Cliquez pour copier"
msgid "Cancel"
msgstr "Annuler"
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Modifier le mot de passe"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr "Vérifier la connexion :"
@@ -472,7 +468,7 @@ msgstr "Fermé"
msgid "Conditions"
msgstr "Confirmation"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr "Confirmer et créer"
@@ -516,7 +512,7 @@ msgstr "Copier dans le presse-papiers"
msgid "Copy token to clipboard"
msgstr "Copier le jeton dans la presse-papiers"
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr "Impossible de sauvegarder les paramètres"
@@ -575,7 +571,7 @@ msgstr "Limite quotidienne d'envoi de messages"
msgid "Daily sending limit"
msgstr "Limite d'envoi quotidienne"
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Tableau de bord"
@@ -805,7 +801,7 @@ msgstr "Domaine mise à jour"
msgid "domain's default value"
msgstr "La valeur par défaut du domaine"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Domaines"
@@ -826,7 +822,7 @@ msgstr ""
msgid "Edit"
msgstr "Modifier"
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr "Modifier le compte"
@@ -869,15 +865,10 @@ msgstr "E-mail"
msgid "Email address"
msgstr "Adresse email"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr "Fournisseurs de messagerie"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr "Email envoyé, veuillez vérifier votre boite aux lettres"
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr "Vide"
@@ -920,24 +911,6 @@ msgstr "Entrer un nom d'utilisateur simple ou une adresse e-mail"
msgid "Enter an email address"
msgstr "Entrer une adresse e-mail"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-"Entrez le code de l'application à double facteur sur votre téléphone mobile. "
-"Si vous avez perdu votre appareil, vous pouvez entrez l'un de vos code de "
-"récupération."
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr "Entrez le code que vous venez de recevoir par SMS"
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr "Erreur"
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr "Ex: 10MB. Laisser vide pour aucune limite"
@@ -1011,7 +984,7 @@ msgstr "Paramètres mis à jour"
msgid "Filter updated"
msgstr "Profil mis à jour"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1021,12 +994,6 @@ msgstr ""
msgid "First name"
msgstr "Prénom"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr "Mot de passe oublié ?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Transfert"
@@ -1128,12 +1095,12 @@ msgstr ""
msgid "Identification"
msgstr "Identification"
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identités"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1149,7 +1116,7 @@ msgstr ""
"Si vous l'avez récemment configuré, veuillez attendre que le premier rapport "
"soit reçu et traité. "
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr "Migration IMAP"
@@ -1181,11 +1148,7 @@ msgstr "Importer des identités"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr "Indiquer un ou plusieurs destinataires séparés par une virgule (,) "
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr "Info"
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Information"
@@ -1215,10 +1178,6 @@ msgstr "Mot de passe incorrect"
msgid "Invalid port number"
msgstr "Numéro de port incorrect"
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr "Jeton de réinitialisation incorrect."
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1286,7 +1245,7 @@ msgstr "Domaine local (optionnel)"
msgid "Logger"
msgstr "Logger"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Déconnexion"
@@ -1338,7 +1297,7 @@ msgstr "Limite d'envoi des messages"
msgid "messages"
msgstr "messages"
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr "Messages"
@@ -1346,7 +1305,7 @@ msgstr "Messages"
msgid "Migration deleted"
msgstr "Migration supprimée"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr "Migrations"
@@ -1363,7 +1322,7 @@ msgstr "Modifié"
msgid "Modify"
msgstr "Modifier"
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr "Supervision"
@@ -1468,7 +1427,7 @@ msgstr "Nouveau fournisseur"
msgid "New recovery codes"
msgstr "Nouveaux codes de récupération"
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Suivant"
@@ -1482,7 +1441,7 @@ msgstr "non"
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr "Non"
@@ -1550,11 +1509,6 @@ msgstr ""
"Nombre de messages que cette boîte aux lettres peut envoyer par jour. "
"Laisser vide pour aucune limite."
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr "Ok"
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr "OK"
@@ -1589,7 +1543,7 @@ msgstr "Options"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr "Paramètres mis à jour"
@@ -1619,10 +1573,6 @@ msgstr "Mot de passe copié dans la presse-papier"
msgid "Password mismatch"
msgstr "Le mot de passe est différent"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr "Récupération de mot de passe"
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr "Mot de passe mis à jour"
@@ -1655,11 +1605,6 @@ msgstr "Code Pin"
msgid "Please add at least one recipient."
msgstr "Veuillez ajouter au moins un destinataire"
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr "Veillez renseigner votre adresse e-mail principale"
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1833,10 +1778,6 @@ msgstr "Ré-ouvrir l'alarme"
msgid "Reseller"
msgstr "Revendeur"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr "Renvoyer le SMS."
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr "Rénitialiser les codes de récupération"
@@ -1850,20 +1791,6 @@ msgstr "Ressources"
msgid "Resources usage"
msgstr "Utilisation des ressources"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr "Réessayer la rénitialisation"
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr "Retour à la connexion"
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1955,7 +1882,7 @@ msgstr "Service"
msgid "Service: "
msgstr "Service :"
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Paramètres"
@@ -1989,7 +1916,7 @@ msgstr "Enregistrement SPF introuvable"
msgid "Start typing a name here..."
msgstr "Commencer à saisir un nom ici..."
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -2004,15 +1931,8 @@ msgstr "Statut"
msgid "Subject"
msgstr "Sujet"
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Soumettre"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Résumé"
@@ -2073,22 +1993,11 @@ msgstr "Cette page est en cours de construction."
msgid "To"
msgstr "A"
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr "Trop de tentatives sans succès, veuillez réessayer plus tard"
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr "Total"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr "TOTP envoyé."
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2108,10 +2017,6 @@ msgstr "Sources de confiance"
msgid "Two-factor auth"
msgstr "Authentification à double facteur"
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr "Authentification à double facteur"
-
#: src/components/account/TotpAuthForm.vue:109
#, fuzzy
msgid ""
@@ -2190,16 +2095,6 @@ msgstr "Nouveau compte"
msgid "Use domain default value"
msgstr "Utiliser la valeur par défaut du domaine"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-"L'utilisateur semble erroné, revenez à la connexion ou redémarrer "
-"réinitialisez le processus "
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr "Utilisateur inconnu."
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2218,10 +2113,6 @@ msgstr "Valide"
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr "Vérifier le code"
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr "Avertissement"
@@ -2232,7 +2123,7 @@ msgstr "Avertissement"
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr "Avertissement"
@@ -2270,7 +2161,7 @@ msgstr "oui"
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr "Oui"
@@ -2310,6 +2201,76 @@ msgstr "Votre jeton API est :"
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Modifier le mot de passe"
+
+#~ msgid "Email sent, please check your inbox"
+#~ msgstr "Email envoyé, veuillez vérifier votre boite aux lettres"
+
+#~ msgid ""
+#~ "Enter the code from the two-factor app on your mobile device. If you have "
+#~ "lost your device, you may enter one of your recovery codes."
+#~ msgstr ""
+#~ "Entrez le code de l'application à double facteur sur votre téléphone "
+#~ "mobile. Si vous avez perdu votre appareil, vous pouvez entrez l'un de vos "
+#~ "code de récupération."
+
+#~ msgid "Enter the code you've just received by SMS"
+#~ msgstr "Entrez le code que vous venez de recevoir par SMS"
+
+#~ msgid "Error"
+#~ msgstr "Erreur"
+
+#~ msgid "Forgot password?"
+#~ msgstr "Mot de passe oublié ?"
+
+#~ msgid "Info"
+#~ msgstr "Info"
+
+#~ msgid "Invalid reset token."
+#~ msgstr "Jeton de réinitialisation incorrect."
+
+#~ msgid "Ok"
+#~ msgstr "Ok"
+
+#~ msgid "Password recovery"
+#~ msgstr "Récupération de mot de passe"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Veillez renseigner votre adresse e-mail principale"
+
+#~ msgid "Resend SMS."
+#~ msgstr "Renvoyer le SMS."
+
+#~ msgid "Retry reset"
+#~ msgstr "Réessayer la rénitialisation"
+
+#~ msgid "Return to login"
+#~ msgstr "Retour à la connexion"
+
+#~ msgid "Submit"
+#~ msgstr "Soumettre"
+
+#~ msgid "Too many unsuccessful attempts, please try later."
+#~ msgstr "Trop de tentatives sans succès, veuillez réessayer plus tard"
+
+#~ msgid "TOTP resent."
+#~ msgstr "TOTP envoyé."
+
+#~ msgid "Two-factor authentication"
+#~ msgstr "Authentification à double facteur"
+
+#~ msgid "User seems wrong, return to login or restart reset the process?"
+#~ msgstr ""
+#~ "L'utilisateur semble erroné, revenez à la connexion ou redémarrer "
+#~ "réinitialisez le processus "
+
+#~ msgid "User unknown."
+#~ msgstr "Utilisateur inconnu."
+
+#~ msgid "Verify code"
+#~ msgstr "Vérifier le code"
+
#~ msgid "Connect"
#~ msgstr "Connexion"
diff --git a/frontend/src/locale/it/app.po b/frontend/src/locale/it/app.po
index e6ef8343a..8c6a19004 100644
--- a/frontend/src/locale/it/app.po
+++ b/frontend/src/locale/it/app.po
@@ -57,7 +57,7 @@ msgstr ""
msgid "account"
msgstr "Account"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -174,7 +174,7 @@ msgstr "Indirizzo"
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -218,7 +218,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -346,7 +346,7 @@ msgstr "Domini amministrati"
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -384,7 +384,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -408,10 +408,6 @@ msgstr "Formato bind/named"
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Cambia password"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -474,7 +470,7 @@ msgstr "Chiudi"
msgid "Conditions"
msgstr "Conferma"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -514,7 +510,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -574,7 +570,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -806,7 +802,7 @@ msgstr ""
msgid "domain's default value"
msgstr "Usa il valore predefinito"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Domini"
@@ -827,7 +823,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
#, fuzzy
msgid "Edit account"
msgstr "Nuovo account"
@@ -873,16 +869,11 @@ msgstr ""
msgid "Email address"
msgstr "Indirizzo email"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
#, fuzzy
msgid "Email providers"
msgstr "Indirizzo email"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -926,21 +917,6 @@ msgstr ""
msgid "Enter an email address"
msgstr "Indirizzo email"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -1013,7 +989,7 @@ msgstr "Profilo aggiornato"
msgid "Filter updated"
msgstr "Profilo aggiornato"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1024,13 +1000,6 @@ msgstr ""
msgid "First name"
msgstr "Nome completo"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Password dimenticata?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Inoltra"
@@ -1134,12 +1103,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identità"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1151,7 +1120,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1183,11 +1152,7 @@ msgstr "Identità di importazione"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Informazioni"
@@ -1215,10 +1180,6 @@ msgstr "Password casuale"
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1283,7 +1244,7 @@ msgstr ""
msgid "Logger"
msgstr "Logger"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Esci"
@@ -1338,7 +1299,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1347,7 +1308,7 @@ msgstr ""
msgid "Migration deleted"
msgstr "Data di creazione"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
#, fuzzy
msgid "Migrations"
@@ -1365,7 +1326,7 @@ msgstr "Modificato"
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1473,7 +1434,7 @@ msgstr "Indirizzo email"
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Successivo"
@@ -1487,7 +1448,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1552,11 +1513,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1592,7 +1548,7 @@ msgstr "Opzioni"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
#, fuzzy
msgid "Parameters updated"
msgstr "Profilo aggiornato"
@@ -1624,11 +1580,6 @@ msgstr ""
msgid "Password mismatch"
msgstr "Le password non corrispondono"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Password"
-
#: src/components/account/ProfileForm.vue:143
#, fuzzy
msgid "Password updated"
@@ -1662,11 +1613,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1848,10 +1794,6 @@ msgstr "Chiudi"
msgid "Reseller"
msgstr "Rivenditore"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1865,20 +1807,6 @@ msgstr "Risorse"
msgid "Resources usage"
msgstr "Utilizzo risorse"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1973,7 +1901,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Impostazioni"
@@ -2006,7 +1934,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
#, fuzzy
@@ -2022,15 +1950,8 @@ msgstr "Stato"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Invia"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Sommario"
@@ -2081,22 +2002,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr "Totale"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2117,11 +2027,6 @@ msgstr "Fonti attendibili"
msgid "Two-factor auth"
msgstr "Autenticazione"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "Autenticazione"
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2201,15 +2106,6 @@ msgstr "Nuovo account"
msgid "Use domain default value"
msgstr "Usa il valore predefinito"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Sconosciuto"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2229,10 +2125,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2243,7 +2135,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2281,7 +2173,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
@@ -2321,6 +2213,28 @@ msgstr ""
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Cambia password"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Password dimenticata?"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Password"
+
+#~ msgid "Submit"
+#~ msgstr "Invia"
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "Autenticazione"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Sconosciuto"
+
#, fuzzy
#~ msgid "Enable 2FA"
#~ msgstr "Abilitato"
diff --git a/frontend/src/locale/ja/app.po b/frontend/src/locale/ja/app.po
index 83fa83780..0313cffdf 100644
--- a/frontend/src/locale/ja/app.po
+++ b/frontend/src/locale/ja/app.po
@@ -56,7 +56,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -168,7 +168,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -210,7 +210,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -328,7 +328,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -366,7 +366,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -390,10 +390,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -452,7 +448,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -492,7 +488,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -550,7 +546,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -773,7 +769,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -794,7 +790,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -834,15 +830,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -884,21 +875,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -966,7 +942,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -976,12 +952,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1079,12 +1049,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1096,7 +1066,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1128,11 +1098,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1158,10 +1124,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1225,7 +1187,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1276,7 +1238,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1284,7 +1246,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1301,7 +1263,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1404,7 +1366,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1418,7 +1380,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1480,11 +1442,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1518,7 +1475,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1548,10 +1505,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1584,11 +1537,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1754,10 +1702,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1771,20 +1715,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1875,7 +1805,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1908,7 +1838,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1923,15 +1853,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1982,22 +1905,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2016,10 +1928,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2093,14 +2001,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2119,10 +2019,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2133,7 +2029,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2171,7 +2067,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/frontend/src/locale/messages.pot b/frontend/src/locale/messages.pot
index c31a69e25..d7e71790f 100644
--- a/frontend/src/locale/messages.pot
+++ b/frontend/src/locale/messages.pot
@@ -34,7 +34,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -146,7 +146,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -188,7 +188,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -304,7 +304,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -342,7 +342,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -366,10 +366,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -428,7 +424,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -466,7 +462,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -524,7 +520,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -743,7 +739,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -764,7 +760,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -804,15 +800,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -854,19 +845,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -934,7 +912,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -944,12 +922,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1045,12 +1017,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid "If you close this form now, your modifications won't be saved. Do you confirm?"
msgstr ""
@@ -1058,7 +1030,7 @@ msgstr ""
msgid "If you configured it recently, please wait for the first report to be received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1090,11 +1062,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245
+#: src/layouts/dashboard/NavBar.vue:246
#: src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1119,10 +1087,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1184,7 +1148,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1235,7 +1199,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1243,7 +1207,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1260,7 +1224,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1364,7 +1328,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1378,7 +1342,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1438,11 +1402,6 @@ msgstr ""
msgid "Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1476,7 +1435,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1506,10 +1465,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1542,11 +1497,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1707,10 +1657,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1724,20 +1670,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1828,8 +1760,8 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239
-#: src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240
+#: src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1862,7 +1794,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1877,15 +1809,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1927,22 +1852,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -1961,10 +1875,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid "Two-factor authentication (2FA) using one-time passwords is not yet activated for your account."
msgstr ""
@@ -2034,14 +1944,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2060,10 +1962,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2074,7 +1972,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2112,7 +2010,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/frontend/src/locale/nl/app.po b/frontend/src/locale/nl/app.po
index d1cfde2b7..ce15f9b9a 100644
--- a/frontend/src/locale/nl/app.po
+++ b/frontend/src/locale/nl/app.po
@@ -56,7 +56,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -168,7 +168,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -210,7 +210,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -328,7 +328,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -366,7 +366,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -390,10 +390,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -452,7 +448,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -492,7 +488,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -550,7 +546,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -773,7 +769,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -794,7 +790,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -834,15 +830,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -884,21 +875,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -966,7 +942,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -976,12 +952,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1079,12 +1049,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1096,7 +1066,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1128,11 +1098,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1158,10 +1124,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1225,7 +1187,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1276,7 +1238,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1284,7 +1246,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1301,7 +1263,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1404,7 +1366,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1418,7 +1380,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1480,11 +1442,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1518,7 +1475,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1548,10 +1505,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1584,11 +1537,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1754,10 +1702,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1771,20 +1715,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1875,7 +1805,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1908,7 +1838,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1923,15 +1853,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1982,22 +1905,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2016,10 +1928,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2093,14 +2001,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2119,10 +2019,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2133,7 +2029,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2171,7 +2067,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/frontend/src/locale/pl/app.po b/frontend/src/locale/pl/app.po
index fa52138ef..89b93467d 100644
--- a/frontend/src/locale/pl/app.po
+++ b/frontend/src/locale/pl/app.po
@@ -57,7 +57,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -169,7 +169,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -211,7 +211,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -329,7 +329,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -367,7 +367,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -391,10 +391,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -453,7 +449,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -493,7 +489,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -551,7 +547,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -774,7 +770,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -795,7 +791,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -835,15 +831,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -885,21 +876,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -967,7 +943,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -977,12 +953,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1080,12 +1050,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1097,7 +1067,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1129,11 +1099,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1159,10 +1125,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1226,7 +1188,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1277,7 +1239,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1285,7 +1247,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1302,7 +1264,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1405,7 +1367,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1419,7 +1381,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1481,11 +1443,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1519,7 +1476,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1549,10 +1506,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1585,11 +1538,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1755,10 +1703,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1772,20 +1716,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1876,7 +1806,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1909,7 +1839,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1924,15 +1854,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1983,22 +1906,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2017,10 +1929,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2094,14 +2002,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2120,10 +2020,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2134,7 +2030,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2172,7 +2068,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/frontend/src/locale/pt/app.po b/frontend/src/locale/pt/app.po
index b4060aa8f..a2f9e032d 100644
--- a/frontend/src/locale/pt/app.po
+++ b/frontend/src/locale/pt/app.po
@@ -56,7 +56,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -168,7 +168,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -210,7 +210,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -328,7 +328,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -366,7 +366,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -390,10 +390,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -452,7 +448,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -492,7 +488,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -550,7 +546,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -773,7 +769,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -794,7 +790,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -834,15 +830,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -884,21 +875,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -966,7 +942,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -976,12 +952,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1079,12 +1049,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1096,7 +1066,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1128,11 +1098,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1158,10 +1124,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1225,7 +1187,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1276,7 +1238,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1284,7 +1246,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1301,7 +1263,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1404,7 +1366,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1418,7 +1380,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1480,11 +1442,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1518,7 +1475,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1548,10 +1505,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1584,11 +1537,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1754,10 +1702,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1771,20 +1715,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1875,7 +1805,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1908,7 +1838,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1923,15 +1853,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1982,22 +1905,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2016,10 +1928,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2093,14 +2001,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2119,10 +2019,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2133,7 +2029,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2171,7 +2067,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/frontend/src/locale/ru/app.po b/frontend/src/locale/ru/app.po
index 74c0a640e..2c0e4c519 100644
--- a/frontend/src/locale/ru/app.po
+++ b/frontend/src/locale/ru/app.po
@@ -58,7 +58,7 @@ msgstr ""
msgid "account"
msgstr "Добавить аккаунт"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -175,7 +175,7 @@ msgstr "Адрес"
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -219,7 +219,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -347,7 +347,7 @@ msgstr "Список квот"
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -385,7 +385,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -409,10 +409,6 @@ msgstr "Неверный формат"
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Изменить пароль"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -472,7 +468,7 @@ msgstr ""
msgid "Conditions"
msgstr "Подтверждение"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -512,7 +508,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -572,7 +568,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Приборная панель"
@@ -801,7 +797,7 @@ msgstr ""
msgid "domain's default value"
msgstr "Используются значения домена по умолчанию "
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Домены"
@@ -822,7 +818,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
#, fuzzy
msgid "Edit account"
msgstr "Новый аккаунт"
@@ -868,16 +864,11 @@ msgstr ""
msgid "Email address"
msgstr "Е-майл адрес"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
#, fuzzy
msgid "Email providers"
msgstr "Е-майл адрес"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -921,21 +912,6 @@ msgstr ""
msgid "Enter an email address"
msgstr "Е-майл адрес"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -1007,7 +983,7 @@ msgstr "Профиль обновлен"
msgid "Filter updated"
msgstr "Профиль обновлен"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1018,13 +994,6 @@ msgstr ""
msgid "First name"
msgstr "Имя файла"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Забыли пароль?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Перенаправленые"
@@ -1129,12 +1098,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Пользователи"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1146,7 +1115,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1178,11 +1147,7 @@ msgstr "Импорт информации о пользователях"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Информация"
@@ -1210,10 +1175,6 @@ msgstr "Ошибочный запрос"
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1278,7 +1239,7 @@ msgstr ""
msgid "Logger"
msgstr "Логгер"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Завершить сеанс"
@@ -1333,7 +1294,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1342,7 +1303,7 @@ msgstr ""
msgid "Migration deleted"
msgstr "Дата создания"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
#, fuzzy
msgid "Migrations"
@@ -1360,7 +1321,7 @@ msgstr "Синоним изменен"
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1468,7 +1429,7 @@ msgstr "Е-майл адрес"
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Следующая"
@@ -1482,7 +1443,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1547,11 +1508,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1587,7 +1543,7 @@ msgstr "Опции"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
#, fuzzy
msgid "Parameters updated"
msgstr "Профиль обновлен"
@@ -1619,11 +1575,6 @@ msgstr ""
msgid "Password mismatch"
msgstr "Пароли не совпадают"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Пароль"
-
#: src/components/account/ProfileForm.vue:143
#, fuzzy
msgid "Password updated"
@@ -1657,11 +1608,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1839,10 +1785,6 @@ msgstr ""
msgid "Reseller"
msgstr "Реселлер"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1856,20 +1798,6 @@ msgstr "Ресурсы"
msgid "Resources usage"
msgstr "Использование ресурсов"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1964,7 +1892,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Настройки"
@@ -1997,7 +1925,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
#, fuzzy
@@ -2013,15 +1941,8 @@ msgstr "Статистика"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Подтвердить"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -2072,22 +1993,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2108,11 +2018,6 @@ msgstr "Ресурсы"
msgid "Two-factor auth"
msgstr "Аутентификация"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "Аутентификация"
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2191,15 +2096,6 @@ msgstr "Новый аккаунт"
msgid "Use domain default value"
msgstr "Используются значения домена по умолчанию "
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Неизвестное"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2219,10 +2115,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2233,7 +2125,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2271,7 +2163,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
@@ -2311,6 +2203,28 @@ msgstr ""
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Изменить пароль"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Забыли пароль?"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Пароль"
+
+#~ msgid "Submit"
+#~ msgstr "Подтвердить"
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "Аутентификация"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Неизвестное"
+
#, fuzzy
#~ msgid "Enable 2FA"
#~ msgstr "Разрешено"
diff --git a/frontend/src/locale/sv/app.po b/frontend/src/locale/sv/app.po
index 264962871..6cb0a623b 100644
--- a/frontend/src/locale/sv/app.po
+++ b/frontend/src/locale/sv/app.po
@@ -64,7 +64,7 @@ msgstr "Absolut tidsintervall"
msgid "account"
msgstr "Konto"
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -182,7 +182,7 @@ msgstr "Adress"
msgid "Address (hostname or IP)"
msgstr "Adress (värdnamn eller IP)"
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -225,7 +225,7 @@ msgid "Alarm re-opened"
msgstr "Larm öppnat på nytt"
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr "Larm"
@@ -355,7 +355,7 @@ msgstr "Associerade domäner"
msgid "Attempting to log you in."
msgstr "Återgå till inloggning"
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr "Verifieringskedja"
@@ -393,7 +393,7 @@ msgstr "autodiscover-post (Microsoft) hittades inte"
msgid "autodiscover record (Microsoft): %{ value }"
msgstr "autodiscover-post (Microsoft): %{ value }"
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr "Tillbaka"
@@ -417,10 +417,6 @@ msgstr "Bind/named formatterat. Klicka för att kopiera"
msgid "Cancel"
msgstr "Avbryt"
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Ändra lösenord"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr "Kontrollera anslutning:"
@@ -484,7 +480,7 @@ msgstr "Stängd"
msgid "Conditions"
msgstr "Bekräftelse"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr "Bekräfta och skapa"
@@ -527,7 +523,7 @@ msgstr "Kopiera till urklipp"
msgid "Copy token to clipboard"
msgstr "Kopiera token till urklipp"
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr "Kunde inte spara parametrar"
@@ -586,7 +582,7 @@ msgstr "Daglig sändningsgräns för meddelanden"
msgid "Daily sending limit"
msgstr "Daglig sändningsgräns"
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Instrumentbräda"
@@ -820,7 +816,7 @@ msgstr "Domän uppdaterad"
msgid "domain's default value"
msgstr "domänens standardvärde"
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr "Domäner"
@@ -841,7 +837,7 @@ msgstr ""
msgid "Edit"
msgstr "Redigera"
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr "Redigera konto"
@@ -884,15 +880,10 @@ msgstr "E-post"
msgid "Email address"
msgstr "E-postadress"
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr "E-postleverantörer"
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr "Tom"
@@ -935,23 +926,6 @@ msgstr "Ange ett enkelt användarnamn eller en e-postadress"
msgid "Enter an email address"
msgstr "Ange en e-postadress"
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-"Ange koden från tvåfaktorsappen på din mobila enhet. Om du har tappat bort "
-"din enhet kan du ange en av dina återställningskoder."
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr "Ange koden du precis har fått via SMS"
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr "Fel"
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr "Ex: 10MB. Lämna tomt för ingen gräns"
@@ -1026,7 +1000,7 @@ msgstr "Parametrar uppdaterade"
msgid "Filter updated"
msgstr "Profil uppdaterad"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1036,13 +1010,6 @@ msgstr ""
msgid "First name"
msgstr "Förnamn"
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Glömt lösenord?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr "Vidarebefordra"
@@ -1143,12 +1110,12 @@ msgstr ""
msgid "Identification"
msgstr "Identifikation"
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr "Identiteter"
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1164,7 +1131,7 @@ msgstr ""
"Om du konfigurerade det nyligen, vänta tills den första rapporten tas emot "
"och behandlas."
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr "IMAP migrering"
@@ -1196,11 +1163,7 @@ msgstr "Importera identiteter"
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr "Ange en eller flera mottagare separerade med kommatecken (,)"
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Information"
@@ -1231,10 +1194,6 @@ msgstr "Ogiltigt lösenord"
msgid "Invalid port number"
msgstr "Ange ett giltigt portnummer"
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr "Ogiltigt återställningstoken."
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr "Är IMAP-anslutningen säker med SSL/TLS eller StartTLS"
@@ -1303,7 +1262,7 @@ msgstr "Lokal domän (valfritt)§"
msgid "Logger"
msgstr "Logger"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Logga ut"
@@ -1357,7 +1316,7 @@ msgstr "Begränsning för meddelandesändning"
msgid "messages"
msgstr "meddelanden"
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr "Meddelanden"
@@ -1365,7 +1324,7 @@ msgstr "Meddelanden"
msgid "Migration deleted"
msgstr "Migrering raderad"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr "Migreringar"
@@ -1382,7 +1341,7 @@ msgstr "Ändrad"
msgid "Modify"
msgstr "Ändra"
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1489,7 +1448,7 @@ msgstr "Ny leverantör"
msgid "New recovery codes"
msgstr "Nya återställningskoder"
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Nästa"
@@ -1503,7 +1462,7 @@ msgstr "nej"
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr "Nej"
@@ -1573,11 +1532,6 @@ msgstr ""
"Antal meddelanden som denna brevlåda kan skicka per dag. Lämna tomt för "
"ingen begränsning."
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr "Ok"
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr "OK"
@@ -1612,7 +1566,7 @@ msgstr "Alternativ"
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr "Parametrar uppdaterade"
@@ -1643,10 +1597,6 @@ msgstr "Lösenord kopierat till urklipp"
msgid "Password mismatch"
msgstr "Lösenord matchar ej"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr "Lösenordsåterställning"
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr "Lösenord uppdaterat"
@@ -1679,11 +1629,6 @@ msgstr "Pinkod"
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr "Var vänlig fyll i din primära e-postadress"
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1857,10 +1802,6 @@ msgstr "Återöppna larmet"
msgid "Reseller"
msgstr "Återförsäljare"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr "Skicka SMS på nytt."
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr "Återställ återställningskoder"
@@ -1874,20 +1815,6 @@ msgstr "Resurser"
msgid "Resources usage"
msgstr "Resursanvändning"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr "Försök återställning igen"
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr "Återgå till inloggning"
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1983,7 +1910,7 @@ msgstr "Tjänst"
msgid "Service: "
msgstr "Tjänst:"
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Inställningar"
@@ -2017,7 +1944,7 @@ msgstr "SPF post saknas"
msgid "Start typing a name here..."
msgstr "Börja skriva ett namn här..."
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -2032,15 +1959,8 @@ msgstr "Status"
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Skicka"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr "Sammanfattning"
@@ -2098,22 +2018,11 @@ msgstr "Denna sida är fortfarande under konstruktion."
msgid "To"
msgstr "Till"
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr "För många misslyckade försök, försök igen senare."
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr "Totalt"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr "TOTP skickat igen."
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2133,11 +2042,6 @@ msgstr "Pålitliga källor"
msgid "Two-factor auth"
msgstr "Tvåfaktorsautentisering"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "Tvåfaktorsautentisering"
-
#: src/components/account/TotpAuthForm.vue:109
#, fuzzy
msgid ""
@@ -2217,16 +2121,6 @@ msgstr "Nytt konto"
msgid "Use domain default value"
msgstr "Använd domänens standardvärde"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-"Användare verkar felaktig, återgå till inloggning eller börja om "
-"återsällningsprocessen?"
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr "Okänd användare."
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2245,10 +2139,6 @@ msgstr "Giltig"
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr "Verifikationskod"
-
#: src/components/admin/domains/DNSDetail.vue:217
#, fuzzy
msgid "warning"
@@ -2260,7 +2150,7 @@ msgstr "Varning"
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr "Varning"
@@ -2298,7 +2188,7 @@ msgstr "ja"
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr "Ja"
@@ -2338,6 +2228,71 @@ msgstr "Ditt API token är:"
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Ändra lösenord"
+
+#~ msgid ""
+#~ "Enter the code from the two-factor app on your mobile device. If you have "
+#~ "lost your device, you may enter one of your recovery codes."
+#~ msgstr ""
+#~ "Ange koden från tvåfaktorsappen på din mobila enhet. Om du har tappat "
+#~ "bort din enhet kan du ange en av dina återställningskoder."
+
+#~ msgid "Enter the code you've just received by SMS"
+#~ msgstr "Ange koden du precis har fått via SMS"
+
+#~ msgid "Error"
+#~ msgstr "Fel"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Glömt lösenord?"
+
+#~ msgid "Invalid reset token."
+#~ msgstr "Ogiltigt återställningstoken."
+
+#~ msgid "Ok"
+#~ msgstr "Ok"
+
+#~ msgid "Password recovery"
+#~ msgstr "Lösenordsåterställning"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Var vänlig fyll i din primära e-postadress"
+
+#~ msgid "Resend SMS."
+#~ msgstr "Skicka SMS på nytt."
+
+#~ msgid "Retry reset"
+#~ msgstr "Försök återställning igen"
+
+#~ msgid "Return to login"
+#~ msgstr "Återgå till inloggning"
+
+#~ msgid "Submit"
+#~ msgstr "Skicka"
+
+#~ msgid "Too many unsuccessful attempts, please try later."
+#~ msgstr "För många misslyckade försök, försök igen senare."
+
+#~ msgid "TOTP resent."
+#~ msgstr "TOTP skickat igen."
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "Tvåfaktorsautentisering"
+
+#~ msgid "User seems wrong, return to login or restart reset the process?"
+#~ msgstr ""
+#~ "Användare verkar felaktig, återgå till inloggning eller börja om "
+#~ "återsällningsprocessen?"
+
+#~ msgid "User unknown."
+#~ msgstr "Okänd användare."
+
+#~ msgid "Verify code"
+#~ msgstr "Verifikationskod"
+
#~ msgid "Connect"
#~ msgstr "Anslut"
diff --git a/frontend/src/locale/tr/app.po b/frontend/src/locale/tr/app.po
index 6df58fc65..2d8819582 100644
--- a/frontend/src/locale/tr/app.po
+++ b/frontend/src/locale/tr/app.po
@@ -56,7 +56,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -170,7 +170,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -213,7 +213,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -334,7 +334,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -372,7 +372,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -396,10 +396,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr "Parolayı değiştirin"
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -462,7 +458,7 @@ msgstr "Kapat"
msgid "Conditions"
msgstr "Onayla"
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -505,7 +501,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -565,7 +561,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr "Gösterge Paneli"
@@ -790,7 +786,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -811,7 +807,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -854,15 +850,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -905,21 +896,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr "Az önce SMS ile aldığınız kodu giriniz"
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -992,7 +968,7 @@ msgstr "Profil güncellendi"
msgid "Filter updated"
msgstr "Profil güncellendi"
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -1002,13 +978,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-#, fuzzy
-msgid "Forgot password?"
-msgstr "Parolanızı mı unuttunuz?"
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1109,12 +1078,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1126,7 +1095,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1158,11 +1127,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr "Bilgi"
@@ -1190,10 +1155,6 @@ msgstr "Parolayı değiştirin"
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1258,7 +1219,7 @@ msgstr ""
msgid "Logger"
msgstr "Kayıtçı"
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr "Çıkış Yapın"
@@ -1311,7 +1272,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1320,7 +1281,7 @@ msgstr ""
msgid "Migration deleted"
msgstr "Onayla"
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
#, fuzzy
msgid "Migrations"
@@ -1338,7 +1299,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1446,7 +1407,7 @@ msgstr "Yeni kurtarma kodları"
msgid "New recovery codes"
msgstr "Yeni kurtarma kodları"
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr "Sonraki"
@@ -1460,7 +1421,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr "Hayır"
@@ -1525,11 +1486,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1564,7 +1520,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
#, fuzzy
msgid "Parameters updated"
msgstr "Profil güncellendi"
@@ -1596,11 +1552,6 @@ msgstr ""
msgid "Password mismatch"
msgstr "Parolalar uyuşmuyor"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-#, fuzzy
-msgid "Password recovery"
-msgstr "Parola"
-
#: src/components/account/ProfileForm.vue:143
#, fuzzy
msgid "Password updated"
@@ -1634,11 +1585,6 @@ msgstr "Pin kodu"
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr "Lütfen birincil e-posta adresinizi girin"
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1812,10 +1758,6 @@ msgstr "Kapat"
msgid "Reseller"
msgstr "Bayii"
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr "Kurtarma kodlarını sıfırla"
@@ -1829,20 +1771,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1934,7 +1862,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr "Ayarlar"
@@ -1967,7 +1895,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1982,15 +1910,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr "Gönder"
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -2042,22 +1963,11 @@ msgstr ""
msgid "To"
msgstr "Kime"
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2077,11 +1987,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr "Kimlik Doğrulama"
-#: src/components/login/TwofaForm.vue:6
-#, fuzzy
-msgid "Two-factor authentication"
-msgstr "Kimlik Doğrulama"
-
#: src/components/account/TotpAuthForm.vue:109
#, fuzzy
msgid ""
@@ -2164,15 +2069,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-#, fuzzy
-msgid "User unknown."
-msgstr "Bilinmeyen"
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2192,10 +2088,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2206,7 +2098,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2244,7 +2136,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr "Evet"
@@ -2284,6 +2176,34 @@ msgstr ""
msgid "Your browser does not seem compatible with WebAuthN"
msgstr ""
+#~ msgid "Change password"
+#~ msgstr "Parolayı değiştirin"
+
+#~ msgid "Enter the code you've just received by SMS"
+#~ msgstr "Az önce SMS ile aldığınız kodu giriniz"
+
+#, fuzzy
+#~ msgid "Forgot password?"
+#~ msgstr "Parolanızı mı unuttunuz?"
+
+#, fuzzy
+#~ msgid "Password recovery"
+#~ msgstr "Parola"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Lütfen birincil e-posta adresinizi girin"
+
+#~ msgid "Submit"
+#~ msgstr "Gönder"
+
+#, fuzzy
+#~ msgid "Two-factor authentication"
+#~ msgstr "Kimlik Doğrulama"
+
+#, fuzzy
+#~ msgid "User unknown."
+#~ msgstr "Bilinmeyen"
+
#, fuzzy
#~ msgid "Forgot password"
#~ msgstr "Parolanızı mı unuttunuz?"
diff --git a/frontend/src/locale/zh/app.po b/frontend/src/locale/zh/app.po
index 2afdcb78c..d2b7c7424 100644
--- a/frontend/src/locale/zh/app.po
+++ b/frontend/src/locale/zh/app.po
@@ -55,7 +55,7 @@ msgstr ""
msgid "account"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:253
+#: src/layouts/dashboard/NavBar.vue:254
#: src/views/admin/identities/AccountView.vue:4
#: src/views/admin/identities/IdentitiesView.vue:33
msgid "Account"
@@ -167,7 +167,7 @@ msgstr ""
msgid "Address (hostname or IP)"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:267
+#: src/layouts/dashboard/NavBar.vue:268
msgid "Admin"
msgstr ""
@@ -209,7 +209,7 @@ msgid "Alarm re-opened"
msgstr ""
#: src/components/admin/domains/DomainList.vue:309
-#: src/layouts/dashboard/NavBar.vue:194
+#: src/layouts/dashboard/NavBar.vue:195
msgid "Alarms"
msgstr ""
@@ -327,7 +327,7 @@ msgstr ""
msgid "Attempting to log you in."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:209
+#: src/layouts/dashboard/NavBar.vue:210
#: src/views/admin/monitoring/AuditTrailView.vue:3
msgid "Audit trail"
msgstr ""
@@ -365,7 +365,7 @@ msgstr ""
msgid "autodiscover record (Microsoft): %{ value }"
msgstr ""
-#: src/components/tools/CreationForm.vue:61
+#: src/components/tools/CreationForm.vue:62
msgid "Back"
msgstr ""
@@ -389,10 +389,6 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:17
-msgid "Change password"
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:33
msgid "Check connection:"
msgstr ""
@@ -451,7 +447,7 @@ msgstr ""
msgid "Conditions"
msgstr ""
-#: src/components/tools/CreationForm.vue:91
+#: src/components/tools/CreationForm.vue:92
msgid "Confirm and create"
msgstr ""
@@ -491,7 +487,7 @@ msgstr ""
msgid "Copy token to clipboard"
msgstr ""
-#: src/views/admin/ParametersView.vue:160
+#: src/views/admin/ParametersView.vue:162
msgid "Could not save parameters"
msgstr ""
@@ -549,7 +545,7 @@ msgstr ""
msgid "Daily sending limit"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:176
+#: src/layouts/dashboard/NavBar.vue:177
msgid "Dashboard"
msgstr ""
@@ -772,7 +768,7 @@ msgstr ""
msgid "domain's default value"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:182
+#: src/layouts/dashboard/NavBar.vue:183
#: src/views/admin/domains/DomainsView.vue:4
msgid "Domains"
msgstr ""
@@ -793,7 +789,7 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: src/views/admin/identities/AccountEditView.vue:2
+#: src/views/admin/identities/AccountEditView.vue:3
msgid "Edit account"
msgstr ""
@@ -833,15 +829,10 @@ msgstr ""
msgid "Email address"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:226
+#: src/layouts/dashboard/NavBar.vue:227
msgid "Email providers"
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:104
-#: src/views/login/PasswordRecoveryForm.vue:103
-msgid "Email sent, please check your inbox"
-msgstr ""
-
#: src/components/tools/CreationSummary.vue:45
msgid "Empty"
msgstr ""
@@ -883,21 +874,6 @@ msgstr ""
msgid "Enter an email address"
msgstr ""
-#: src/components/login/TwofaForm.vue:11
-msgid ""
-"Enter the code from the two-factor app on your mobile device. If you have "
-"lost your device, you may enter one of your recovery codes."
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:16
-msgid "Enter the code you've just received by SMS"
-msgstr ""
-
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:70
-#: src/views/login/PasswordRecoveryForm.vue:121
-msgid "Error"
-msgstr ""
-
#: src/components/admin/identities/form_steps/AccountMailboxForm.vue:13
msgid "Ex: 10MB. Leave empty for no limit"
msgstr ""
@@ -965,7 +941,7 @@ msgstr ""
msgid "Filter updated"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:278
+#: src/layouts/dashboard/NavBar.vue:279
msgid "Filters"
msgstr ""
@@ -975,12 +951,6 @@ msgstr ""
msgid "First name"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:11
-#: src/components/login/PasswordRecoveryForm.vue:12
-#: src/views/login/PasswordRecoveryForm.vue:17
-msgid "Forgot password?"
-msgstr ""
-
#: src/views/account/SettingsView.vue:14
msgid "Forward"
msgstr ""
@@ -1078,12 +1048,12 @@ msgstr ""
msgid "Identification"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:188
+#: src/layouts/dashboard/NavBar.vue:189
#: src/views/admin/identities/IdentitiesView.vue:4
msgid "Identities"
msgstr ""
-#: src/components/tools/CreationForm.vue:129
+#: src/components/tools/CreationForm.vue:130
msgid ""
"If you close this form now, your modifications won't be saved. Do you "
"confirm?"
@@ -1095,7 +1065,7 @@ msgid ""
"received and processed."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:222
+#: src/layouts/dashboard/NavBar.vue:223
msgid "IMAP Migration"
msgstr ""
@@ -1127,11 +1097,7 @@ msgstr ""
msgid "Indicate one or more recipients separated by a comma (,)"
msgstr ""
-#: src/views/login/PasswordRecoveryForm.vue:102
-msgid "Info"
-msgstr ""
-
-#: src/layouts/dashboard/NavBar.vue:245 src/views/admin/InformationView.vue:4
+#: src/layouts/dashboard/NavBar.vue:246 src/views/admin/InformationView.vue:4
msgid "Information"
msgstr ""
@@ -1157,10 +1123,6 @@ msgstr ""
msgid "Invalid port number"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:117
-msgid "Invalid reset token."
-msgstr ""
-
#: src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue:27
msgid "Is the IMAP connection secured using SSL/TLS or StartTLS"
msgstr ""
@@ -1224,7 +1186,7 @@ msgstr ""
msgid "Logger"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:259
+#: src/layouts/dashboard/NavBar.vue:260
msgid "Logout"
msgstr ""
@@ -1275,7 +1237,7 @@ msgstr ""
msgid "messages"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:214
+#: src/layouts/dashboard/NavBar.vue:215
msgid "Messages"
msgstr ""
@@ -1283,7 +1245,7 @@ msgstr ""
msgid "Migration deleted"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:231
+#: src/layouts/dashboard/NavBar.vue:232
#: src/views/admin/imap_migration/MigrationsView.vue:4
msgid "Migrations"
msgstr ""
@@ -1300,7 +1262,7 @@ msgstr ""
msgid "Modify"
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:200
+#: src/layouts/dashboard/NavBar.vue:201
msgid "Monitoring"
msgstr ""
@@ -1403,7 +1365,7 @@ msgstr ""
msgid "New recovery codes"
msgstr ""
-#: src/components/tools/CreationForm.vue:68
+#: src/components/tools/CreationForm.vue:69
msgid "Next"
msgstr ""
@@ -1417,7 +1379,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:248
#: src/components/admin/identities/IdentityList.vue:209
#: src/components/admin/identities/IdentityList.vue:235
-#: src/components/tools/CreationForm.vue:135
+#: src/components/tools/CreationForm.vue:136
msgid "No"
msgstr ""
@@ -1479,11 +1441,6 @@ msgid ""
"Number of messages this mailbox can send per day. Leave empty for no limit."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:76
-#: src/views/login/PasswordRecoveryForm.vue:75
-msgid "Ok"
-msgstr ""
-
#: src/components/tools/ConfirmDialog.vue:56
msgid "OK"
msgstr ""
@@ -1517,7 +1474,7 @@ msgstr ""
msgid "or suggest a new language"
msgstr ""
-#: src/views/admin/ParametersView.vue:151
+#: src/views/admin/ParametersView.vue:153
msgid "Parameters updated"
msgstr ""
@@ -1547,10 +1504,6 @@ msgstr ""
msgid "Password mismatch"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:12
-msgid "Password recovery"
-msgstr ""
-
#: src/components/account/ProfileForm.vue:143
msgid "Password updated"
msgstr ""
@@ -1583,11 +1536,6 @@ msgstr ""
msgid "Please add at least one recipient."
msgstr ""
-#: src/components/login/PasswordRecoveryForm.vue:16
-#: src/views/login/PasswordRecoveryForm.vue:21
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: src/components/admin/imap_migration/ProviderCreationForm.vue:55
#: src/components/admin/imap_migration/ProvidersList.vue:98
msgid "Port"
@@ -1753,10 +1701,6 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:39
-msgid "Resend SMS."
-msgstr ""
-
#: src/components/account/BackupCodeAuthForm.vue:35
msgid "Reset recovery codes"
msgstr ""
@@ -1770,20 +1714,6 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:73
-msgid "Retry reset"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:47
-#: src/components/login/PasswordRecoveryForm.vue:38
-#: src/components/login/PasswordRecoveryForm.vue:77
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:44
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:72
-#: src/views/login/PasswordRecoveryForm.vue:43
-#: src/views/login/PasswordRecoveryForm.vue:76
-msgid "Return to login"
-msgstr ""
-
#: src/components/admin/identities/AccountCreationForm.vue:163
#: src/components/admin/identities/AccountCreationForm.vue:92
#: src/components/admin/identities/AccountCreationForm.vue:93
@@ -1874,7 +1804,7 @@ msgstr ""
msgid "Service: "
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:239 src/layouts/dashboard/NavBar.vue:284
+#: src/layouts/dashboard/NavBar.vue:240 src/layouts/dashboard/NavBar.vue:285
msgid "Settings"
msgstr ""
@@ -1907,7 +1837,7 @@ msgstr ""
msgid "Start typing a name here..."
msgstr ""
-#: src/layouts/dashboard/NavBar.vue:204
+#: src/layouts/dashboard/NavBar.vue:205
#: src/views/admin/domains/DomainView.vue:24
#: src/views/admin/monitoring/StatisticsView.vue:3
msgid "Statistics"
@@ -1922,15 +1852,8 @@ msgstr ""
msgid "Subject"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:42
-#: src/components/login/PasswordRecoveryForm.vue:33
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:34
-#: src/views/login/PasswordRecoveryForm.vue:38
-msgid "Submit"
-msgstr ""
-
-#: src/components/tools/CreationForm.vue:20
-#: src/components/tools/CreationForm.vue:74
+#: src/components/tools/CreationForm.vue:21
+#: src/components/tools/CreationForm.vue:75
msgid "Summary"
msgstr ""
@@ -1981,22 +1904,11 @@ msgstr ""
msgid "To"
msgstr ""
-#: src/components/login/PasswordRecoveryChangeForm.vue:128
-#: src/components/login/PasswordRecoveryForm.vue:125
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:103
-#: src/views/login/PasswordRecoveryForm.vue:124
-msgid "Too many unsuccessful attempts, please try later."
-msgstr ""
-
#: src/components/admin/dmarc/DmarcAligmentChart.vue:140
#: src/components/admin/dmarc/DmarcSourceTable.vue:12
msgid "Total"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:89
-msgid "TOTP resent."
-msgstr ""
-
#: src/components/admin/domains/DomainCreationForm.vue:151
#: src/components/admin/domains/DomainCreationForm.vue:214
#: src/components/admin/domains/DomainEditForm.vue:113
@@ -2015,10 +1927,6 @@ msgstr ""
msgid "Two-factor auth"
msgstr ""
-#: src/components/login/TwofaForm.vue:6
-msgid "Two-factor authentication"
-msgstr ""
-
#: src/components/account/TotpAuthForm.vue:109
msgid ""
"Two-factor authentication (2FA) using one-time passwords is not yet "
@@ -2092,14 +2000,6 @@ msgstr ""
msgid "Use domain default value"
msgstr ""
-#: src/components/login/PasswordRecoverySmsTotpForm.vue:97
-msgid "User seems wrong, return to login or restart reset the process?"
-msgstr ""
-
-#: src/components/login/PasswordRecoveryChangeForm.vue:119
-msgid "User unknown."
-msgstr ""
-
#: src/components/admin/domains/DomainAdminList.vue:106
#: src/components/admin/identities/AccountCreationForm.vue:98
#: src/components/admin/identities/form_steps/AccountGeneralForm.vue:3
@@ -2118,10 +2018,6 @@ msgstr ""
msgid "Value"
msgstr ""
-#: src/components/login/TwofaForm.vue:31
-msgid "Verify code"
-msgstr ""
-
#: src/components/admin/domains/DNSDetail.vue:217
msgid "warning"
msgstr ""
@@ -2132,7 +2028,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:242
#: src/components/admin/identities/IdentityList.vue:204
#: src/components/admin/identities/IdentityList.vue:230
-#: src/components/tools/CreationForm.vue:128
+#: src/components/tools/CreationForm.vue:129
msgid "Warning"
msgstr ""
@@ -2170,7 +2066,7 @@ msgstr ""
#: src/components/admin/domains/DomainList.vue:249
#: src/components/admin/identities/IdentityList.vue:208
#: src/components/admin/identities/IdentityList.vue:234
-#: src/components/tools/CreationForm.vue:134
+#: src/components/tools/CreationForm.vue:135
msgid "Yes"
msgstr ""
diff --git a/modoboa/locale/br/LC_MESSAGES/django.po b/modoboa/locale/br/LC_MESSAGES/django.po
index bf080247b..54bd9aa26 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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"
@@ -17,7 +17,11 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"
+"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !"
+"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && "
+"(n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 "
+"> 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != "
+"0 && n % 1000000 == 0) ? 3 : 4);\n"
#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
msgid ""
@@ -41,13 +45,13 @@ msgstr "Enrolladenn MX aotreet ebet kavet evit an domani-mañ"
msgid "Cannot be greater than domain quota"
msgstr "N'hall ket bezañ brasoc'h evit kota an domani"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Aotreadur nac'het"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -60,41 +64,40 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "Listenn domanioù meret (eilgwerzherien ha merourien zomani hepken)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Neket aotreet evit ar rol-mañ."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
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:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Ar vaezienn-mañ a zo rekiset."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "N'eus ket eus an domani lec'hel {}"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Ul listenn resevourien"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "An implijer \"%s\" a zo anezhañ endeo"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "N'ho peus moned ebet d'an domani-mañ."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "N'ho peus moned ebet d'ar voest-posteloù-mañ."
@@ -113,40 +116,33 @@ msgstr "An implijer \"%s\" a zo anezhañ endeo"
msgid "Must be a positive integer"
msgstr "Rankout a ra bezañ un anterin pozitivel"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Neket bet kavet an domani."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Neket bet kavet an domani."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "n'heller ket kavout openssl, bezit asur emañ staliet."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Termeniñ da vihanañ ur rouedad / chomlec'h aotreet"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, 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:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -190,8 +186,8 @@ msgstr "MXs talvoudus"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
"Ul listennad chomlec'hioù IP pe rouedad hag a rank bezañ doujet gant kement "
"enrolladenn MX Ur c'hemenn-diwall a vo kaset seul wech ma ne vo ket doujet "
@@ -293,9 +289,9 @@ msgid ""
"sure this directory belongs to root user and is not readable by the outside "
"world."
msgstr ""
-"Hent absolut ar c'havlec'h a vo stoket an alc'hwezioù DKIM ennañ. Bezit asur"
-" e vez perc'hennet ar c'havlec'h-mañ gant an implijer gwrizienn ha n'hall "
-"ket bezañ lennet gant an dud diavaez."
+"Hent absolut ar c'havlec'h a vo stoket an alc'hwezioù DKIM ennañ. Bezit asur "
+"e vez perc'hennet ar c'havlec'h-mañ gant an implijer gwrizienn ha n'hall ket "
+"bezañ lennet gant an dud diavaez."
#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
@@ -314,8 +310,8 @@ msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
msgstr ""
-"Kota dre-ziouer (e Mo) arloet d'an domanioù krouet hep talvoudegezh spisaet."
-" Un dalvoudegezh 0 a dalvez n'eus kota ebet."
+"Kota dre-ziouer (e Mo) arloet d'an domanioù krouet hep talvoudegezh spisaet. "
+"Un dalvoudegezh 0 a dalvez n'eus kota ebet."
#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
@@ -333,7 +329,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Boest-posteloù"
@@ -349,9 +345,8 @@ msgstr ""
"Adenvel pe zilemel boest-posteloù war ar restr-sistem pa vezont adanvet pe "
"dilamet diwar Modoboa"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Kota boest-posteloù dre-ziouer"
@@ -392,8 +387,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Em-grouidigezh domani/boest-postel"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 "Krouit un domani hag ur voest-posteloù pa vez em-grouet ur gont."
#: admin/app_settings.py:182 admin/app_settings.py:500
@@ -406,6 +400,10 @@ msgstr ""
"Krouiñ un alias en ur implijout ar chomlec'h pa vez adanvet ar voest-"
"posteloù."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Neket bet kavet an domani."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -422,28 +420,28 @@ msgstr ""
msgid "Administration"
msgstr "Melestradurezh"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domani"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Domani a-eil"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Serriñ"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Anv implier"
@@ -452,8 +450,8 @@ msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
msgstr ""
-"An anv implijer. Rankout a ra bezañ ur voest-posteloù reizh evit an implijer"
-" eeun pe ar verourien gant ur voest-posteloù."
+"An anv implijer. Rankout a ra bezañ ur voest-posteloù reizh evit an implijer "
+"eeun pe ar verourien gant ur voest-posteloù."
#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
@@ -480,11 +478,11 @@ msgstr ""
"Genel ur ger-tremen dre-zegouezh. M'emaoc'h oc'h hizivaat ar gont-mañ hag e "
"kochit ar c'hombodig-mañ, ur ger-tremen nevez a vo ganet."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Ger-tremen"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Kadarnaat"
@@ -525,9 +523,9 @@ msgstr "Kota"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Kota evit ar voest-posteloù-mañ. Gellout a ra bezañ ezpleget e Ko, Mo "
"(diouer) pe Go c'hoazh. Termeniñ un dalvoudegezh ispisial pe implijit "
@@ -600,7 +598,8 @@ msgstr "Domani(où) meret gant an implijer"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Hollek"
@@ -671,8 +670,8 @@ msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
msgstr ""
-"Alias(où) an domani-mañ. Spisait un anv dre enmont hepken, pouezit war KAS"
-" evit ouzhpennañ un emnont nevez."
+"Alias(où) an domani-mañ. Spisait un anv dre enmont hepken, pouezit war KAS "
+"evit ouzhpennañ un emnont nevez."
#: admin/forms/domain.py:43
msgid "Key selector"
@@ -721,8 +720,7 @@ msgstr "Em-grouit ur merour evit an domani-mañ"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Anv"
@@ -791,8 +789,7 @@ msgstr "Mirout eiladennoù lec'hel"
#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
msgstr ""
-"Treuzkas kemennadennoù ha stokiñ eiladennoù e-barzh ar voest-posteloù "
-"lec'hel"
+"Treuzkas kemennadennoù ha stokiñ eiladennoù e-barzh ar voest-posteloù lec'hel"
#: admin/forms/import_.py:10
msgid "Select a file"
@@ -853,45 +850,45 @@ msgstr "N'hoc'h ket aotreet da emporzhiañ domanioù"
msgid "You are not allowed to import domain aliases."
msgstr "N'hoc'h ket aotreet da emporzhiañ aliasoù domani."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "Enrolladenn DNS ebet kavet evit %s"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "Enrolladenn MX ebet evit %s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "N'eus bet kavet anv servijer ebet hag az afe en-dro"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
"Prantad gortoz spister DNS, n'heller ket sevel ar reked %s evit ar mare"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Stumm chomlec'h IP direizh evit {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Objed a zo anezhañ dija: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objed emporzhiet gant berzh"
@@ -912,10 +909,22 @@ 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:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Enaouiñ ar c'hehentiñ dre API foran Modoboa "
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1037,7 +1046,7 @@ msgid "Key length"
msgstr "Padelezh an alc'hwez"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linenn direizh"
@@ -1107,9 +1116,8 @@ msgstr "Kota an domani dibaseet"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Serriñ"
@@ -1371,8 +1379,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1416,9 +1423,6 @@ msgstr "Statud DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Oberioù"
@@ -1478,7 +1482,6 @@ msgstr "Em-dreuzkas ar posteloù betek ur chomlec'h postel all"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Hizivaat"
@@ -1505,22 +1508,21 @@ msgid ""
"use a different character as separator.
"
msgstr ""
"Pourvezit ur restr CSV el lec'h ma touj al linennoù unan eus ar stummoù da-"
-"heul: - domani; anv; kota; boes-postel kota dre-ziouer; "
-"enaouet
- domani-alias; anv; domani bukeet; "
-"enaouet
- domain a-eil; anv; herbrec'hier bukenn; porzh "
-"bukenn; servij; enaouet; gwiriañ ar resevourien
Elfenn "
-"gentañ pep linenn a vez ret hag e rank bezañ par ouzh unan eus an "
-"talvoudegezhioù kent.
Gellout a rit implijout un arouezenn evel "
-"skejer.
"
+"heul: - domani; anv; kota; boes-postel kota dre-ziouer; enaouet"
+"em>
- domani-alias; anv; domani bukeet; enaouet
"
+"- domain a-eil; anv; herbrec'hier bukenn; porzh bukenn; servij; "
+"enaouet; gwiriañ ar resevourien
Elfenn gentañ pep linenn "
+"a vez ret hag e rank bezañ par ouzh unan eus an talvoudegezhioù kent.
"
+"Gellout a rit implijout un arouezenn evel skejer.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Pourvezit ur restr CSV el lec'h ma touj al linennoù unan eus ar stummoù da-"
"heul: - kont; anv-kevreañ; ger-tremen; anv bihan; anv familh; "
@@ -1668,7 +1670,7 @@ msgstr "Enrolladenn MX ebet evit %s"
msgid "Alias with this name already exists"
msgstr "Un alias gant an anv-mañ zo anezhañ dija"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Krouiñ"
@@ -1759,13 +1761,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Ger-tremen kozh"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1788,12 +1790,11 @@ msgstr "Sintaks direizh"
msgid "Invalid rounds number"
msgstr "Niveroù ront direizh"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1894,8 +1895,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Arventennoù LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Chomlec'h ar servijer"
@@ -1903,8 +1905,9 @@ msgstr "Chomlec'h ar servijer"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "Chomlec'h IP pe anv DNS ar servijer LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Porzh ar servijer"
@@ -1937,7 +1940,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Ober gant ur gevreadenn suraet"
@@ -1960,8 +1964,8 @@ msgstr "Strolladoù merañ"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Izili ar strolladoù LDAP Posix a vo krouet evel bezañ merourien domani. "
"Implijit an arouezoù ';' evit gellet skejañ ar strolladoù."
@@ -2191,8 +2195,7 @@ msgstr "Enaouiñ ar c'hehentiñ dre API foran Modoboa "
msgid "Check new versions"
msgstr "Klask stummoù nevez"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Em-wiriañ ma vez ur stumm nevez hegerz"
@@ -2235,8 +2238,8 @@ msgstr "Treuzoù ar c'hontoù dioberiant"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2245,8 +2248,8 @@ msgstr "Treuzoù ar c'hontoù dioberiant"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Ur gont gant un deiziad kevreañ koshoc'h evit an treuzoù-se (e devezhioù) a "
"vo kontet evel bezañ dioberiant"
@@ -2325,35 +2328,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Ger-tremen kozh"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Ger-termen nevez"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Disklotadurioù ar ger-tremen kozh"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Disklotadurioù gerioù-tremen"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Aotren moned an API"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2424,30 +2423,30 @@ msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
"Gallout a reer ober gant un eil chomlec'h postel evit ezhommoù adtapout"
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Hizivadur ger-tremen c'hwitet: modulenn LDAP nann-staliet"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "kont"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Dizanv"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
"N'hallit ket emporzhiañ ur gont gant ur rol pouezusoc'h evit hoc'h hini "
"deoc'h-c'hwi"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "An implijer eeun '%s' a rank kaout ur chomlec'h postel reizh"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2715,8 +2714,8 @@ msgstr "Drekleur implijet evit bezañ anavezet"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2812,28 +2811,22 @@ msgstr "Lodenn greiz Modoboa"
msgid "Parameters saved"
msgstr "Arventennoù enrollet"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Dizemglev gant brastres ar ger-tremen. Oc'h hizivat ar ger-tremen %s"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Implijer '%s' kevreet gant berzh"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Hoc'h anv-implijer hag ho ker-tremen na genglotont ket. Klaskit en-dro, mar "
-"plij."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Dizemglev gant brastres ar ger-tremen. Oc'h hizivat ar ger-tremen %s"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Implijer '{}' digevreet gant berzh"
@@ -3107,8 +3100,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3197,8 +3190,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3215,7 +3208,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3286,9 +3279,9 @@ msgstr "Ebarzhiñ un anv domani reizh"
msgid "Enter a valid email address."
msgstr "Ebarzhit ur chomlec'h postel reizh."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Kas"
@@ -3314,8 +3307,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Enaouiñ pe lazhañ ar bevennoù dre-verour"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Merourien domani"
@@ -3332,13 +3325,13 @@ msgid ""
"Maximum number of allowed domains for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
msgstr ""
-"Niver brasañ a zomanioù aotreet evit ur merour nevez anezhañ. (0 evit berzañ"
-" kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
+"Niver brasañ a zomanioù aotreet evit ur merour nevez anezhañ. (0 evit berzañ "
+"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Niver brasañ a aliasoù domani aotreet evit ur merour nevez anezhañ. (0 evit "
"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
@@ -3381,8 +3374,8 @@ msgstr "Enaouiñ pe lazhañ ar bevennoù dre-zomani"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Niver brasañ a verourien zomani aotreet evit un domani nevez (0 evit berzañ "
"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
@@ -3405,8 +3398,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
"Niver brasañ a aliasoù aotreet evit un domani nevez anezhañ. (0 evit berzañ "
"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)"
@@ -3912,19 +3905,45 @@ msgstr "%s: bevenn tizhet"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Rekis eo leuniañ ar vaezienn"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "N'hall ket bezañ brasoc'h evit kota an domani"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3950,27 +3969,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3986,13 +3988,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4058,34 +4053,92 @@ msgstr "porzhioù herbrec'hiañ bukenn"
msgid "verify recipients"
msgstr "gwiriit ar reseverien"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "An implijer \"%s\" a zo anezhañ endeo"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "DNS settings"
+msgid "ManageSieve settings"
+msgstr "Arventennoù DNS"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Doare dilesañ"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Doare dilesañ"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Arventennoù LDAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+"Implijit ur gevreadenn SSL/STARTTLS evit gellet tizhout ar servijer LDAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Sil klask"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Sil klask"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "Message"
msgid "All messages"
@@ -4161,275 +4214,58 @@ msgstr "Kemennadenn"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Kochiñ evit enaouiñ an alias-mañ"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Anv restr"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "DNS settings"
-msgid "ManageSieve settings"
-msgstr "Arventennoù DNS"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Doare dilesañ"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Doare dilesañ"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Arventennoù LDAP"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-"Implijit ur gevreadenn SSL/STARTTLS evit gellet tizhout ar servijer LDAP"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create aliases"
msgid "Trash folder"
msgstr "Krouiñ aliasoù"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create aliases"
msgid "Sent folder"
msgstr "Krouiñ aliasoù"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create aliases"
msgid "Drafts folder"
msgstr "Krouiñ aliasoù"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Ket trawalc'h a vammennoù"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Kadarnaat"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Implijerien oberiant"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Ket termenet"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Sil klask"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Sil klask"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Implijerien oberiant"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Dilemel an aotre-mañ"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Dilemel an aotre-mañ"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Dilemel an aotre-mañ"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "N'heller ket adsevel lec'hiadur ar voest-posteloù (%s)"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Alias krouet"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "kemmet"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Arventennoù enrollet"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Alias krouet"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Alias dilemet"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "Ya"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Digarez"
@@ -4481,15 +4317,23 @@ msgstr "Domani nevez"
msgid "Welcome to Modoboa"
msgstr "Degemer mat e-barzh Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Kemennadennoù"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Derc'hel soñj ac'hanon"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Kevreañ"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Ger-tremen ankouaeet?"
@@ -4503,11 +4347,11 @@ msgstr ""
"Termenet eo bet ho ker-tremen. Gellout a rit mont war-raok ha kevreañ bremañ."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Cheñch ger-tremen"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4516,24 +4360,28 @@ msgstr ""
"bet implijet endeo. Goulennit war-lerc'h un adderaouekadur ger-tremen nevez "
"mar plij."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"
We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
"If you don't receive an email, please make sure you've entered your "
"primary address, and check your spam folder.
"
msgstr ""
-"Postelet hon eus deoc'h pazennoù evit diazezañ ker-tremen, ma vez ur gont"
-" gant ar postel ho peus ebarzhet. Resevet e vint ganeoc'h a-benn nebeud.
"
-" Ma ne resevit tamm postel ebet, bezit asur da vezañ bet skrivet ho "
+"
Postelet hon eus deoc'h pazennoù evit diazezañ ker-tremen, ma vez ur gont "
+"gant ar postel ho peus ebarzhet. Resevet e vint ganeoc'h a-benn nebeud.
"
+"Ma ne resevit tamm postel ebet, bezit asur da vezañ bet skrivet ho "
"chomlec'h postel pennañ, ha taolit ur sell ouzh an doser strob.
"
#: templates/registration/password_reset_email.html:4
@@ -4552,22 +4400,57 @@ msgid ""
"If clicking the link above doesn't work, please copy and paste the URL in a "
"new browser window instead."
msgstr ""
-"Ma ne 'z a ket en-dro klikañ war al liamm dindan, eilit pe pegit an URL "
-"e-barzh ur prenestr merdeer nevez e-plas."
+"Ma ne 'z a ket en-dro klikañ war al liamm dindan, eilit pe pegit an URL e-"
+"barzh ur prenestr merdeer nevez e-plas."
#: templates/registration/password_reset_email.html:14
#: templates/registration/password_reset_email_v2.html:14
msgid "Sincerely, The Modoboa Team."
msgstr "A galon, skipailh Modoboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Ger-tremen Modoboa adderaouekaet"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "Kemennadennoù"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Ger-tremen kozh"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Talvoudegezh direizh"
@@ -4584,6 +4467,107 @@ msgstr "servij"
msgid "next hop"
msgstr "lamm da-heul"
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Neket bet kavet an domani."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Hoc'h anv-implijer hag ho ker-tremen na genglotont ket. Klaskit en-dro, "
+#~ "mar plij."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Kochiñ evit enaouiñ an alias-mañ"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Anv restr"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Kadarnaat"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Implijerien oberiant"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Ket termenet"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Sil klask"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Sil klask"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Implijerien oberiant"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Dilemel an aotre-mañ"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Dilemel an aotre-mañ"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Dilemel an aotre-mañ"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "N'heller ket adsevel lec'hiadur ar voest-posteloù (%s)"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Alias krouet"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "kemmet"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Arventennoù enrollet"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Alias krouet"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Alias dilemet"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "Ya"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Un alias gant an anv-mañ zo anezhañ dija"
diff --git a/modoboa/locale/cs/LC_MESSAGES/django.po b/modoboa/locale/cs/LC_MESSAGES/django.po
index 50d48eaf3..38e39d222 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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"
@@ -19,7 +19,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
+"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
msgid ""
@@ -39,13 +40,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -58,39 +59,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -109,36 +109,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -180,8 +175,8 @@ msgstr ""
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
#: admin/app_settings.py:43 admin/app_settings.py:317
@@ -293,7 +288,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -307,9 +302,8 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr ""
@@ -342,8 +336,7 @@ msgid "Automatic domain/mailbox creation"
msgstr ""
#: admin/app_settings.py:177 admin/app_settings.py:491
-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:182 admin/app_settings.py:500
@@ -354,6 +347,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -364,26 +361,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -416,11 +413,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -461,9 +458,9 @@ msgstr ""
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
#: admin/forms/account.py:254 admin/models/domain.py:39
@@ -525,7 +522,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -638,8 +636,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -766,42 +763,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -820,8 +817,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -937,7 +944,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -995,9 +1002,8 @@ msgstr ""
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr ""
@@ -1250,8 +1256,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1295,9 +1300,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1357,7 +1359,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1387,11 +1388,11 @@ msgstr ""
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1521,7 +1522,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1607,11 +1608,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1634,12 +1635,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1736,8 +1736,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1745,8 +1746,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1779,7 +1781,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -1801,8 +1804,8 @@ msgstr ""
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
#: core/app_settings.py:192 core/app_settings.py:915
@@ -2020,8 +2023,7 @@ msgstr ""
msgid "Check new versions"
msgstr ""
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr ""
@@ -2060,8 +2062,8 @@ msgstr ""
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2070,8 +2072,8 @@ msgstr ""
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
#: core/app_settings.py:460 core/app_settings.py:1289
@@ -2145,35 +2147,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2243,30 +2241,30 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "Nepodařilo se aktualizovat LDAP účet: {}"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2517,8 +2515,8 @@ msgstr ""
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2605,26 +2603,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2890,8 +2884,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -2972,8 +2966,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -2988,7 +2982,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3056,9 +3050,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3086,8 +3080,8 @@ msgid "Enable or disable per-admin limits"
msgstr ""
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr ""
@@ -3105,8 +3099,8 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
#: limits/app_settings.py:58 limits/app_settings.py:198
@@ -3141,8 +3135,8 @@ msgstr ""
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
#: limits/app_settings.py:104 limits/app_settings.py:260
@@ -3159,8 +3153,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
#: limits/apps.py:13 limits/apps.py:17
@@ -3613,15 +3607,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3645,27 +3665,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3679,13 +3682,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3747,29 +3743,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3829,219 +3872,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4091,15 +3965,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4111,25 +3991,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4157,14 +4041,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
index 173e4dc3b..4cffd9d5a 100644
--- a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
+++ b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
@@ -11,15 +11,17 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
-"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/language/cs_CZ/)\n"
+"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/"
+"modoboa/language/cs_CZ/)\n"
"Language: cs_CZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
+"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
msgid ""
@@ -41,13 +43,13 @@ msgstr "Nebyly nalezeny žádné autorizované MX záznamy pro tuto doménu"
msgid "Cannot be greater than domain quota"
msgstr "Nemůže být vyšší než kvóta domény"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Přístup zamítnut."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -60,41 +62,40 @@ 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:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Není povoleno pro tuto roli."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Musí být rovno hodnote schránky celá_adresa"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Toto pole je vyžadováno."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Lokální doména {} neexistuje"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Seznam příjemců"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Uživatel '%s' již existuje"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "K této doméně nemáte přístup."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "K této schránce nemáte přístup."
@@ -113,40 +114,33 @@ msgstr "Uživatel '%s' již existuje"
msgid "Must be a positive integer"
msgstr "Musí se jednat o kladné číslo"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Složka nenalezena."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Složka nenalezena."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl nenalezeno, prosím ujistěte se, že je nainstalováno."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definujte alespoň jednu autorizovanou síť / adresu"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, 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:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -190,11 +184,11 @@ msgstr "Platné MX záznamy"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
-"Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud"
-" toto záznam nerespektuje, bude odesláno varování."
+"Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud "
+"toto záznam nerespektuje, bude odesláno varování."
#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
@@ -332,7 +326,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Schránky"
@@ -348,9 +342,8 @@ 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:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Výchozí kvóta schránky"
@@ -392,8 +385,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Automatické vytvoření domény/schránky"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 "Při založení účtu automaticky vytvořit doménu a schránku."
#: admin/app_settings.py:182 admin/app_settings.py:500
@@ -406,6 +398,10 @@ msgstr ""
"Vytvořit alias použitím původní adresy, pokud je mailová schránka "
"přejmenována."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Složka nenalezena."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -423,28 +419,28 @@ msgstr ""
msgid "Administration"
msgstr "Správa"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Doména"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Relay doména"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Zavřít"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Uživatelské jméno"
@@ -481,11 +477,11 @@ msgstr ""
"Vygenerovat náhodné heslo. Pokud upravujete tento účet a zaškrtnete tuto "
"položku, bude vygenerováno nové heslo."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Heslo"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Potvrzení"
@@ -526,9 +522,9 @@ msgstr "Kvóta"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Kvóta pro tuto poštovní schránku může být vyjádřena v KB, MB (výchozí) nebo "
"GB. Definujte vlastní hodnotu nebo použijte výchozí pro doménu. Nechte "
@@ -560,8 +556,8 @@ msgid ""
"(@domain.tld)."
msgstr ""
"Alias(y) této schránky. V rámci vstupu vložte pouze jeden alias, stiskněte "
-"ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' "
-"(např. *@domena.cz)."
+"ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte "
+"'*' (např. *@domena.cz)."
#: admin/forms/account.py:275
msgid "Sender addresses"
@@ -573,9 +569,9 @@ msgid ""
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
msgstr ""
-"Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat "
-"e-maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci"
-" vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy."
+"Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat e-"
+"maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci "
+"vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy."
#: admin/forms/account.py:339 admin/forms/alias.py:95
#: admin/models/mailbox.py:308
@@ -599,7 +595,8 @@ msgstr "Doména(y) pod správou uživatele"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Obecné"
@@ -669,8 +666,8 @@ msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
msgstr ""
-"Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího"
-" aliasu stiskněte po vložení ENTER."
+"Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího "
+"aliasu stiskněte po vložení ENTER."
#: admin/forms/domain.py:43
msgid "Key selector"
@@ -719,8 +716,7 @@ msgstr "Automaticky vytvořit správce této domény"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Jméno"
@@ -848,44 +844,44 @@ msgstr "Nemáte oprávnění pro import domén"
msgid "You are not allowed to import domain aliases."
msgstr "Nemáte oprávnění pri import doménových aliasů"
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "Nenalezeny žádné DNS záznamy pro %s"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "Žádný MX záznam pro %s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Nenalezeny žádné funkční DNS servery"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "Vypršel časový limit DNS požadavku, nelze získat %s v tuto chvíli"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Neplatný formát IP adresy pro {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Objekt již existuje: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objektů úspěšně importováno"
@@ -904,10 +900,22 @@ 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:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Povolit komunikaci s veřejným Modoboa API rozhraním"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1028,7 +1036,7 @@ msgid "Key length"
msgstr "Délka klíče"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Neplatný řádek"
@@ -1096,9 +1104,8 @@ msgstr "Kvóta domény byla překročena"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Zavřít"
@@ -1360,8 +1367,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1405,9 +1411,6 @@ msgstr "DNS stav"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Akce"
@@ -1467,7 +1470,6 @@ msgstr "Automaticky přesměrovat emaily na jinou adresu"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Aktualizovat"
@@ -1494,24 +1496,30 @@ msgid ""
"use a different character as separator."
msgstr ""
"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených "
-"formátů: - doména; název; kvóta, výchotí_kvóta schránky; "
-"povoleno
- doménový_alias; název; cílová_doména; "
-"povoleno
- relay_doména; název; cílový_host; cílový_port; "
-"služba; povoleno; ověřit_příjemce
První element každého "
-"řádku je povinný a musí být shodný s některou z předchozích "
-"hodnot.
Můžete také použít jiný oddělovač hodnot.
"
+"formátů: - doména; název; kvóta, výchotí_kvóta schránky; povoleno"
+"em>
- doménový_alias; název; cílová_doména; povoleno"
+"li>
- relay_doména; název; cílový_host; cílový_port; služba; povoleno; "
+"ověřit_příjemce
První element každého řádku je povinný a "
+"musí být shodný s některou z předchozích hodnot.
Můžete také použít "
+"jiný oddělovač hodnot.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
-"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených formátů:\n"
-" - domainalias; name; targeted domain; enabled"
+"li>
- relaydomain; name; target host; target port; service; enabled; "
+"verify recipients
Das erste Element jeder Zeile ist "
+"erforderlich und muss einem der vorherigen Werte entsprechen.
Sie "
+"können ein anderes Zeichen als Trennzeichen verwenden.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Verwenden Sie eine CSV-Datei, deren Zeilen einem der folgenden Formate "
"entsprechen: - account; loginname; password; first name; last "
@@ -1648,7 +1647,7 @@ msgstr "Kein MX Eintrag für %s"
msgid "Alias with this name already exists"
msgstr "Ein Alias mit diesem Namen existiert bereits"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Erstellen"
@@ -1729,11 +1728,11 @@ msgstr "2FA ist bereits aktiviert"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr "Fehlgeschlagener Verbindungsversuch von '%s' als Benutzer '%s'"
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr "Ungültiges Passwort"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "2-Faktor-Authentifizierung ist nicht aktiviert"
@@ -1756,16 +1755,15 @@ msgstr "Ungültiger Syntax"
msgid "Invalid rounds number"
msgstr "Ungültige Zahl für Runden"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Dieser Code ist Falsch"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
-"Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen:"
-" {}"
+"Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen: "
+"{}"
#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
@@ -1835,10 +1833,9 @@ msgid ""
"password. It applies only to non local users, ie. those automatically "
"created after a successful external authentication (LDAP, SMTP)."
msgstr ""
-"Die URL der externen Webseite wo Benutzer ihr Kennwort aktualisieren können."
-" Diese Einstellung trifft nur auf nicht lokale Benutzer zu, z.B: Benutzer "
-"die nach erfolgreicher externer Authentifizierung angelegt wurden (LDAP, "
-"SMTP)."
+"Die URL der externen Webseite wo Benutzer ihr Kennwort aktualisieren können. "
+"Diese Einstellung trifft nur auf nicht lokale Benutzer zu, z.B: Benutzer die "
+"nach erfolgreicher externer Authentifizierung angelegt wurden (LDAP, SMTP)."
#: core/app_settings.py:104 core/app_settings.py:793
msgid "Password recovery announcement"
@@ -1872,8 +1869,9 @@ msgstr "Wähle einen Anbieter für das verschicken der Wiederherstellungs-SMS"
msgid "LDAP settings"
msgstr "LDAP-Einstellungen"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Server-Adresse"
@@ -1881,8 +1879,9 @@ msgstr "Server-Adresse"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP-Adresse oder Hostname des LDAP-Servers"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Server-Port"
@@ -1917,7 +1916,8 @@ msgstr "Ausfallsserver-Port"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Der TCP Port des sekundären LDAP-Servers"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Benutze eine sichere Verbindung"
@@ -1939,8 +1939,8 @@ msgstr "Administrator-Gruppen"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren "
"angelegt werden. Nutzen Sie ';', um Gruppen zu separieren."
@@ -2062,8 +2062,8 @@ msgstr "Export zu LDAP aktivieren"
msgid ""
"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-"Automatische Synchronisation zwischen lokaler Datenbank und LDAP Verzeichnis"
-" aktivieren"
+"Automatische Synchronisation zwischen lokaler Datenbank und LDAP Verzeichnis "
+"aktivieren"
#: core/app_settings.py:308 core/app_settings.py:1056
msgid "Delete remote LDAP account when local account is deleted"
@@ -2179,8 +2179,7 @@ msgstr "Verbindung mit Modoboa public API aktivieren"
msgid "Check new versions"
msgstr "Prüfe auf neue Versionen"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Prüft automatisch ob eine neuere Version verfügbar ist."
@@ -2223,12 +2222,12 @@ msgstr "Verfolgung inaktiver Konten aktivieren"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"Allow the administrator to set a threshold (in days) beyond which an account "
+"is considered inactive if the user hasn't logged in"
msgstr ""
"Dem Administrator die Möglichkeit geben, einen Schwellenwert (in Tagen) "
-"festzulegen, ab dem ein Konto als inaktiv gilt, wenn sich der Benutzer nicht"
-" angemeldet hat."
+"festzulegen, ab dem ein Konto als inaktiv gilt, wenn sich der Benutzer nicht "
+"angemeldet hat."
#: core/app_settings.py:451 core/app_settings.py:1277
msgid "Inactive account threshold"
@@ -2236,8 +2235,8 @@ msgstr "Schwellwert für inaktive Konten"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Ein Konto mit einem Datum des letzten Logins, das größer als dieser "
"Schwellenwert ist (in Tagen), wird als inaktiv betrachtet."
@@ -2316,35 +2315,31 @@ msgstr "Wähle einen Provider"
msgid "Dummy"
msgstr "Platzhalter"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr "Fehlende 2FA-Verifizierung."
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Altes Passwort"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Neues Passwort"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Altes Passwort stimmt nicht überein"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Passwörter stimmen nicht überein"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "API Zugriff aktivieren"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Bestätigungscode"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Ungültiger Code"
@@ -2415,29 +2410,29 @@ msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
"Eine alternative E-Mail-Adresse welche Wiederherstellungszwecken dient."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Konnte Passwort nicht aktualisieren: LDAP-Modul nicht installiert"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "Konto"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Unbekannt"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
"Sie können kein Konto mit einer höheren Rolle als Ihrer eigenen importieren"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Der normale Benutzer '%s' muss eine gültige E-Mail-Adresse besitzen"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "Benutzername und E-Mail für '%s' dürfen sich nicht unterscheiden"
@@ -2689,8 +2684,8 @@ msgstr "Zwei-Faktor-Authentifizierung"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
"Installiere ein soft-token Authenticator, wie FreeOTP oder Google "
"Authenticator vom Appstore und scannen Sie den QR-Code."
@@ -2718,8 +2713,8 @@ msgid ""
"to save them in a safe place, otherwise you won't be able to access your "
"account anymore."
msgstr ""
-"Die folgenden Wiederherstellungscodes können einmalig benutzt werden, um den"
-" Zugriff auf ihr Konto wiederherzustellen, wenn sie zum Beispiel ihr "
+"Die folgenden Wiederherstellungscodes können einmalig benutzt werden, um den "
+"Zugriff auf ihr Konto wiederherzustellen, wenn sie zum Beispiel ihr "
"Mobiltelefon verlieren. Achten sie darauf diese sicher aufzubewahren, sonst "
"werden sie keine Möglichkeit mehr haben auf den Account zuzugreifen"
@@ -2748,7 +2743,8 @@ msgid ""
"Two-Factor Authentication (2FA) is not yet activated for your account. "
"Enabling this feature will increase your account's security."
msgstr ""
-"Zwei-Faktor-Authentifizierung (2FA) ist noch nicht für diesen Account aktiviert.\n"
+"Zwei-Faktor-Authentifizierung (2FA) ist noch nicht für diesen Account "
+"aktiviert.\n"
"Aktiviere dieses Feature, um die Account-Sicherheit zu erhöhen."
#: core/templates/core/user_security.html:73
@@ -2789,28 +2785,22 @@ msgstr "Der Kern von Modoboa"
msgid "Parameters saved"
msgstr "Parameter gespeichert"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Fehlanpassung des Passwortschemas. Passwort von %s wird aktualisiert"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Passwort-Hash Parameter Unterschied. Aktualisiere %s Passwort"
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Benutzer '%s' hat sich erfolgreich angemeldet"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es "
-"noch einmal."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Fehlanpassung des Passwortschemas. Passwort von %s wird aktualisiert"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr "Passwort-Hash Parameter Unterschied. Aktualisiere %s Passwort"
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Benutzer '{}' erfolgreich abgemeldet"
@@ -3077,8 +3067,8 @@ msgstr "Ein DNS-Eintrag wurde gefunden, aber seine Syntax ist ungültig:"
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
"Hier ist ein Beispiel für die DNS-Konfiguration (Bind-Format). Ersetzen Sie "
"den Wert zwischen [ ] durch die entsprechenden Werte."
@@ -3154,8 +3144,8 @@ msgid ""
"Use a regular expression to explicitly include folders in sync. Example: "
"^Trash$|Del"
msgstr ""
-"Benutze eine RegExp, um explizit Odner in die Synchronisation einzubeziehen."
-" Beispiel: ^Trash$|Del"
+"Benutze eine RegExp, um explizit Odner in die Synchronisation einzubeziehen. "
+"Beispiel: ^Trash$|Del"
#: imap_migration/app_settings.py:78 imap_migration/app_settings.py:135
msgid "Folder Filter Inclusions"
@@ -3164,11 +3154,11 @@ msgstr "Ordnerfilter einbeziehen"
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
-"Eine kommaseparierte Liste von Ordnern, die explizit in die Synchronisierung"
-" einbezogen werden sollen, auch wenn sie durch die Ordnerfilter-Ausschlüsse "
+"Eine kommaseparierte Liste von Ordnern, die explizit in die Synchronisierung "
+"einbezogen werden sollen, auch wenn sie durch die Ordnerfilter-Ausschlüsse "
"gefiltert wurden. Beispiel: debian.user, debian.personal "
#: imap_migration/app_settings.py:107
@@ -3183,7 +3173,7 @@ msgstr "OfflineIMAP Filter Einstellungen"
msgid "IMAP Migration"
msgstr "IMAP-Migration"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Verbindung zum IMAP-Server gescheitert: %s"
@@ -3255,9 +3245,9 @@ msgstr "Geben Sie einen gültigen Domain-Namen an"
msgid "Enter a valid email address."
msgstr "Geben Sie eine gültige E-Mail-Adresse ein."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Abschicken"
@@ -3283,8 +3273,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Aktiviere oder deaktiviere Grenzen je Admin"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Domain-Administratoren"
@@ -3294,8 +3284,7 @@ msgid ""
"to deny any creation, -1 to allow unlimited creations)"
msgstr ""
"Maximale Anzahl Domänenadministratoren, die ein neuer Administrator "
-"erstellen darf. (0 für generelles Verbieten, -1 für unbeschränktes "
-"Erstellen)"
+"erstellen darf. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)"
#: limits/app_settings.py:39 limits/app_settings.py:175
msgid ""
@@ -3307,11 +3296,11 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
-"Maximale Anzahl an erlaubten Domänen-Alias für einen neuen Administrator. (0"
-" für generelles Verbieten, -1 für unbeschränktes Erstellen)"
+"Maximale Anzahl an erlaubten Domänen-Alias für einen neuen Administrator. (0 "
+"für generelles Verbieten, -1 für unbeschränktes Erstellen)"
#: limits/app_settings.py:58 limits/app_settings.py:198
msgid ""
@@ -3351,8 +3340,8 @@ msgstr "Aktiviere oder deaktiviere Grenzen je Domäne"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Maximale Anzahl der zulässigen Domänenadministratoren für eine neue Domäne. "
"(0 für generelles Verbieten, -1 für unbeschränktes Erstellen)"
@@ -3375,11 +3364,11 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
-"Maximale Anzahl der erlaubten Aliase für eine neue Domäne. (0 für generelles"
-" Verbieten, -1 für unbeschränktes Erstellen)"
+"Maximale Anzahl der erlaubten Aliase für eine neue Domäne. (0 für generelles "
+"Verbieten, -1 für unbeschränktes Erstellen)"
#: limits/apps.py:13 limits/apps.py:17
msgid "Limits"
@@ -3666,8 +3655,8 @@ msgid ""
"Generate a new document only when a new account is created. If set to no, a "
"new document will be created each time a password is updated."
msgstr ""
-"Erzeuge ein neues Dokument nur wenn ein neues Konto erstellt wurde. Wenn die"
-" Option auf Nein steht wird jedes Mal ein neues Dokument erstellt, wenn ein "
+"Erzeuge ein neues Dokument nur wenn ein neues Konto erstellt wurde. Wenn die "
+"Option auf Nein steht wird jedes Mal ein neues Dokument erstellt, wenn ein "
"Passwort aktualisiert wurde."
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
@@ -3782,7 +3771,9 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
"\n"
-"Liebe/r %s, dieses Dokument enthält die Anmeldeinformationen, die Du benötigst um Dich mit Modoboa zu verbinden. Präge Dir bitte die Informationen ein und lösche anschliessend dieses Dokument.\n"
+"Liebe/r %s, dieses Dokument enthält die Anmeldeinformationen, die Du "
+"benötigst um Dich mit Modoboa zu verbinden. Präge Dir bitte die "
+"Informationen ein und lösche anschliessend dieses Dokument.\n"
#: pdfcredentials/documents.py:95
msgid "Web panel:"
@@ -3808,8 +3799,7 @@ msgstr "PC/Tablet/Smartphone Konfiguration:"
#: pdfcredentials/documents.py:153
msgid "Use those settings for your computer, tablet or phone."
msgstr ""
-"Verwenden Sie diese Einstellungen für Ihren Computer, Ihr Tablet oder "
-"Telefon"
+"Verwenden Sie diese Einstellungen für Ihren Computer, Ihr Tablet oder Telefon"
#: pdfcredentials/handlers.py:35
msgid ""
@@ -3859,19 +3849,45 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
msgstr "Dieser Code ist Falsch"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Kann nicht größer als Domain Kontingent sein"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3897,27 +3913,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3933,13 +3932,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4005,34 +3997,99 @@ msgstr "Ziel-Host Port"
msgid "verify recipients"
msgstr "Empfänger verifizieren"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Benutzer %s existiert bereits"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "DNS settings"
+msgid "ManageSieve settings"
+msgstr "ManageSieve-Einstellungen"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Adresse Ihres MANAGESIEVE-Servers"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "TCP-Port Ihres MANAGESIEVE-Servers"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "STARTTLS für Verbindungsaufbau nutzen"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "STARTTLS benutzen"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Authentifizierungsmechanismus"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "Bevorzugte Authentifizierungsmethode"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "IMAP-Einstellungen"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your IMAP server"
+msgstr "Addresse Ihres IMAP-Servers"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Benutze eine gesicherte Verbindung zum Zugriff auf den IMAP Server"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your IMAP server"
+msgstr "TCPIP Port Ihres IMAP Servers"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "SIEVE-Filter"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message logs"
msgid "Message filters"
msgstr "Nachrichten-Filter"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Alle der folgenden"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Irgendeines der folgenden"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4110,127 +4167,51 @@ msgstr "E-Mail ablehnen"
msgid "Stop processing"
msgstr "Stoppe Bearbeitung"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Häkchen setzen, um den Filter-Satz zu aktivieren"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr "Vergleichte Typ"
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr "Falscher Filtername"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "DNS settings"
-msgid "ManageSieve settings"
-msgstr "ManageSieve-Einstellungen"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Adresse Ihres MANAGESIEVE-Servers"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "TCP-Port Ihres MANAGESIEVE-Servers"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "STARTTLS für Verbindungsaufbau nutzen"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "STARTTLS benutzen"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Authentifizierungsmechanismus"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "Bevorzugte Authentifizierungsmethode"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "IMAP-Einstellungen"
-
-#: sievefilters/forms.py:344
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your IMAP server"
-msgstr "Addresse Ihres IMAP-Servers"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Benutze eine gesicherte Verbindung zum Zugriff auf den IMAP Server"
-
-#: sievefilters/forms.py:356
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your IMAP server"
-msgstr "TCPIP Port Ihres IMAP Servers"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Editor-Modus"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Wählen Sie den Modus aus, in dem der Editor arbeiten soll"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create Folders"
msgid "Trash folder"
msgstr "Papierkorb-Ordner"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Ordner, in den gelöschte Nachrichten gehen"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create Folders"
msgid "Sent folder"
msgstr "Gesendet-Ordner"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Ordner, in den Kopien gesendeter Nachrichten gehen"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create Folders"
msgid "Drafts folder"
msgstr "Entwürfe-Ordner"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Ordner für Entwürfe"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
@@ -4238,160 +4219,12 @@ msgstr ""
"Verbindung zu MANAGESIEVE-Server fehlgeschlagen. Überprüfen Sie Ihre "
"Konfiguration."
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Kein weiterer Platz auf Server verfügbar"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Bedingungen"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Aktiv"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Noch keine Filter definiert"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Filter-Sätze"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "aktiv"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Noch keine Filter-Sätze definiert. Sie müssen einen Satz erstellen, um "
-"diesem Filter hinzufügen zu können."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Neuer Filter-Satz"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Neuer Filter"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Filter-Satz speichern"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Filter-Satz aktivieren"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Filter-Satz entfernen"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Herunterladen"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Filter bearbeiten"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Filter entfernen"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Filter nach oben verschieben"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Filter nach unten verschieben"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Konnte Filter-Satz nicht laden"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filter erstellt"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filter verändert"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filter entfernt"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Konnte Filter nicht entfernen"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Filter-Satz gespeichert"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Filter-Satz erstellt"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Neuen Filter-Satz erstellen"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Filter-Satz entfernt"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Filter-Satz aktiviert"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "Ja"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "Nein"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Entschuldigung"
@@ -4441,15 +4274,23 @@ msgstr "Neuer Administrator"
msgid "Welcome to Modoboa"
msgstr "Willkommen zu Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Benachrichtigungen"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "An mich erinnern"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Anmelden"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Passwort vergessen?"
@@ -4463,11 +4304,11 @@ msgstr ""
"Ihr Passwort wurde geändert. Sie können sich jetzt anmelden ."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Passwort ändern"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4475,25 +4316,29 @@ msgstr ""
"Der Link zum Zurücksetzen des Passwortes war ungültig, möglicherweise wurde "
"er schon verwendet. Bitte fordern Sie einen neuen Link an."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Gib den Code der per SMS zugestellt wurde"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Code erneut senden"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"
We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
"If you don't receive an email, please make sure you've entered your "
"primary address, and check your spam folder.
"
msgstr ""
-"Wir haben Ihnen eine E-Mail mit Anweisungen zum Festlegen Ihres Passworts"
-" geschickt, falls ein Konto mit der von Ihnen eingegebenen E-Mail-Adresse "
-"vorhanden ist. Sie sollten sie in Kürze erhalten.
Wenn Sie keine "
-"E-Mail erhalten, vergewissern Sie sich, dass Sie Ihre primäre Adresse "
+"
Wir haben Ihnen eine E-Mail mit Anweisungen zum Festlegen Ihres Passworts "
+"geschickt, falls ein Konto mit der von Ihnen eingegebenen E-Mail-Adresse "
+"vorhanden ist. Sie sollten sie in Kürze erhalten.
Wenn Sie keine E-"
+"Mail erhalten, vergewissern Sie sich, dass Sie Ihre primäre Adresse "
"eingegeben haben und überprüfen Sie Ihren Spamordner.
"
#: templates/registration/password_reset_email.html:4
@@ -4503,8 +4348,8 @@ msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
msgstr ""
-"Um das Passwort für Ihr %(username)s Modoboa Konto zurück zu setzen, klicken"
-" Sie bitte auf den folgenden Link:"
+"Um das Passwort für Ihr %(username)s Modoboa Konto zurück zu setzen, klicken "
+"Sie bitte auf den folgenden Link:"
#: templates/registration/password_reset_email.html:10
#: templates/registration/password_reset_email_v2.html:10
@@ -4520,14 +4365,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Mit freundlichen Grüßen, das Modoboa Team."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Bitte die Primäre Email-Adresse eingeben"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa Passwort zurücksetzen"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Bestätigungscode"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Altes Passwort"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Bestätigungscode"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Ungültiger Wert"
@@ -4544,6 +4426,155 @@ msgstr "Dienst"
msgid "next hop"
msgstr "nächster Hop"
+#~ msgid "Directory non-writable"
+#~ msgstr "Verzeichnis ist nicht schreibbar"
+
+#~ msgid "DKIM path non-writable"
+#~ msgstr "DKIM Pfad nicht beschreibbar"
+
+#~ msgid "Missing 2FA verification."
+#~ msgstr "Fehlende 2FA-Verifizierung."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie "
+#~ "es noch einmal."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Häkchen setzen, um den Filter-Satz zu aktivieren"
+
+#~ msgid "Match type"
+#~ msgstr "Vergleichte Typ"
+
+#~ msgid "Wrong filter name"
+#~ msgstr "Falscher Filtername"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Bedingungen"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Aktiv"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Noch keine Filter definiert"
+
+#~ msgid "Filter sets"
+#~ msgstr "Filter-Sätze"
+
+#~ msgid "active"
+#~ msgstr "aktiv"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Noch keine Filter-Sätze definiert. Sie müssen einen Satz erstellen, um "
+#~ "diesem Filter hinzufügen zu können."
+
+#~ msgid "New filters set"
+#~ msgstr "Neuer Filter-Satz"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Neuer Filter"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Filter-Satz speichern"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Filter-Satz aktivieren"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Filter-Satz entfernen"
+
+#~ msgid "Download"
+#~ msgstr "Herunterladen"
+
+#~ msgid "Edit filter"
+#~ msgstr "Filter bearbeiten"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Filter entfernen"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Filter nach oben verschieben"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Filter nach unten verschieben"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Konnte Filter-Satz nicht laden"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filter erstellt"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filter verändert"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filter entfernt"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Konnte Filter nicht entfernen"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Filter-Satz gespeichert"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Filter-Satz erstellt"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Neuen Filter-Satz erstellen"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Filter-Satz entfernt"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Filter-Satz aktiviert"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "Ja"
+
+#~ msgid "no"
+#~ msgstr "Nein"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Bitte die Primäre Email-Adresse eingeben"
+
#, python-format
#~ msgid "Failed connection attempt from '%s' as user '%s'"
#~ msgstr "Fehlgeschlagener Verbindungsversuch von '%s' als Benutzer '%s'"
diff --git a/modoboa/locale/de_DE/LC_MESSAGES/django.po b/modoboa/locale/de_DE/LC_MESSAGES/django.po
index 4219ce23d..ff74bd20a 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/"
@@ -39,15 +39,15 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
#, fuzzy
#| msgid "Permission denied"
msgid "Permission denied."
msgstr "Zugriff verweigert"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -62,43 +62,42 @@ 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:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
#, fuzzy
#| msgid "This field is required"
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "Enter a valid email address."
msgid "This alias already exists"
msgstr "Geben Sie eine gültige E-Mail-Adresse ein."
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -117,38 +116,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory to store RRD files"
-msgid "Directory non-writable"
-msgstr "Ablageverzeichnis für RRD-Dateien"
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
@@ -323,7 +315,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -384,6 +376,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -396,30 +392,30 @@ msgstr ""
msgid "Administration"
msgstr "Administratorgruppen"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
#, fuzzy
#| msgid "Search a domain"
msgid "Relay domain"
msgstr "Suche eine Domäne"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Schließen"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Benutzername"
@@ -454,11 +450,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Passwort"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Neues Passwort wiederholen"
@@ -571,7 +567,8 @@ msgstr "Domain-Administrator"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Allgemein"
@@ -702,8 +699,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Name"
@@ -846,42 +842,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -901,10 +897,22 @@ 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:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Aktivieren Sie die Kommunikation mit der öffentlichen API von Modoboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1036,7 +1044,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ungültige Zeile"
@@ -1427,9 +1435,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
#, fuzzy
#| msgid "Applications"
msgid "Actions"
@@ -1495,7 +1500,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Aktualisieren"
@@ -1674,7 +1678,7 @@ msgstr "Kein Mechanismus gefunden"
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1766,13 +1770,13 @@ msgstr "2FA ist bereits aktiviert"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Altes Passwort"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "2FA ist nicht aktiviert"
@@ -1795,11 +1799,11 @@ msgstr "Ungültige Syntax"
msgid "Invalid rounds number"
msgstr "Ungültige Anzahl Runden"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Dieser Code ist ungültig"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
"Bitte verwenden Sie den folgenden Code, um Ihr Modoboa-Passwort "
@@ -1911,8 +1915,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "LDAP-Einstellungen"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Serveradresse"
@@ -1920,8 +1925,9 @@ msgstr "Serveradresse"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP-Adresse oder Hostname des LDAP-Servers"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Server Port"
@@ -1956,7 +1962,8 @@ msgstr "Ausfallserver-Port"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Der TCP Port des zweiten LDAP-Servers"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Verwende eine gesicherte Verbindung"
@@ -2358,35 +2365,31 @@ msgstr "Wähle einen Anbieter"
msgid "Dummy"
msgstr "Platzhalter"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Altes Passwort"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Neues Passwort"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Altes Passwort stimmt nicht überein"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Passwörter stimmen nicht überein"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "API-Zugriff aktivieren"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Bestätigungscode"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Ungültiger Code"
@@ -2458,30 +2461,30 @@ msgstr ""
"Eine alternative E-Mail-Adresse kann für die Wiederherstellung verwendet "
"werden."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr ""
"Kennwort konnte nicht aktualisiert werden: LDAP-Modul nicht installiert"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "Konto"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Unbekannt"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
"Sie können kein Konto mit einer höheren Rolle als Ihrer eigenen importieren"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Der normale Benutzer '%s' muss eine gültige E-Mail-Adresse besitzen"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "Benutzername und E-Mail für '%s' dürfen sich nicht unterscheiden"
@@ -2836,28 +2839,23 @@ msgstr "Der Kern von Modoboa"
msgid "Parameters saved"
msgstr "Parameter gespeichert"
-#: core/views/auth.py:67
+#: core/views/auth.py:66
+#, python-format
+msgid "User '%s' successfully logged in"
+msgstr "Benutzer '%s' erfolgreich angemeldet"
+
+#: core/views/auth.py:104
#, python-format
msgid "Password scheme mismatch. Updating %s password"
msgstr "Kennwortschema stimmt nicht überein. Aktualisiere %s Passwort"
-#: core/views/auth.py:75
+#: core/views/auth.py:111
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
"Passwort-Hash-Parameter stimmen nicht überein. Aktualisiere %s Passwort"
-#: core/views/auth.py:89
-#, python-format
-msgid "User '%s' successfully logged in"
-msgstr "Benutzer '%s' erfolgreich angemeldet"
-
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Benutzername und Passwort stimmen nicht überein. Bitte versuche es erneut."
-
-#: core/views/auth.py:144
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Benutzer '{}' erfolgreich abgemeldet"
@@ -3241,7 +3239,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr "Automatische Konfiguration"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3312,9 +3310,9 @@ msgstr "Geben Sie einen gültigen Domänennamen ein"
msgid "Enter a valid email address."
msgstr "Geben Sie eine gültige E-Mail-Adresse ein."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Abschicken"
@@ -3898,17 +3896,43 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
msgstr "Dieser Code ist ungültig"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Automatic replies"
@@ -3934,27 +3958,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3968,13 +3975,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4046,34 +4046,95 @@ msgstr ""
msgid "verify recipients"
msgstr "Empfänger"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "Enter a valid email address."
msgid "Filter %s already exists"
msgstr "Geben Sie eine gültige E-Mail-Adresse ein."
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "LDAP-Einstellungen"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "IP-Adresse Ihres Modoboa-Servers"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Authentifizierungsmethode"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "LDAP-Authentifizierungseinstellungen"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "LDAP-Einstellungen"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your IMAP server"
+msgstr "IP-Adresse Ihres Modoboa-Servers"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Suchfilter"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message"
msgid "Message filters"
msgstr "Nachricht"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4147,257 +4208,52 @@ msgstr "Abgewiesene Nachrichten"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "LDAP-Einstellungen"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "IP-Adresse Ihres Modoboa-Servers"
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Authentifizierungsmethode"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "LDAP-Authentifizierungseinstellungen"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "LDAP-Einstellungen"
-
-#: sievefilters/forms.py:344
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your IMAP server"
-msgstr "IP-Adresse Ihres Modoboa-Servers"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Abgewiesene Nachrichten"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Neues Passwort wiederholen"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Aktive Benutzer"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Domain administrator"
-msgid "No filter defined yet"
-msgstr "Domain-Administrator"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Suchfilter"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Suchfilter"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Aktive Benutzer"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Account DN template"
-msgid "Filter created"
-msgstr "Konto-DN-Vorlage"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "geändert"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Parameter gespeichert"
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "deleted"
-msgid "Filters set deleted"
-msgstr "gelöscht"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "Ja"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Entschuldigung"
@@ -4447,15 +4303,23 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr "Willkommen bei Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Benachrichtigungen"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Login speichern"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Anmelden"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Passwort vergessen?"
@@ -4469,11 +4333,11 @@ msgstr ""
"Ihr Passwort wurde geändert. Sie können sich jetzt anmelden."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Passwort ändern"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4481,15 +4345,19 @@ msgstr ""
"Der Link zum Zurücksetzen des Passwortes war ungültig, möglicherweise wurde "
"er schon verwendet. Bitte fordern Sie einen neuen Link an."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Geben Sie den Code ein, den Sie soeben per SMS erhalten haben"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Code erneut senden"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4526,14 +4394,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Mit freundlichen Grüßen, das Modoboa Team."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Bitte geben Sie Ihre primäre E-Mail-Adresse ein"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa Passwort zurücksetzen"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Bestätigungscode"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Altes Passwort"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Bestätigungscode"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
#, fuzzy
#| msgid "Invalid line"
@@ -4551,3 +4456,70 @@ msgstr ""
#: transport/models.py:17
msgid "next hop"
msgstr ""
+
+#, fuzzy
+#~| msgid "Directory to store RRD files"
+#~ msgid "Directory non-writable"
+#~ msgstr "Ablageverzeichnis für RRD-Dateien"
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Benutzername und Passwort stimmen nicht überein. Bitte versuche es erneut."
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Neues Passwort wiederholen"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Aktive Benutzer"
+
+#, fuzzy
+#~| msgid "Domain administrator"
+#~ msgid "No filter defined yet"
+#~ msgstr "Domain-Administrator"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Suchfilter"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Suchfilter"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Aktive Benutzer"
+
+#, fuzzy
+#~| msgid "Account DN template"
+#~ msgid "Filter created"
+#~ msgstr "Konto-DN-Vorlage"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "geändert"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Parameter gespeichert"
+
+#, fuzzy
+#~| msgid "deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "gelöscht"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "Ja"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Bitte geben Sie Ihre primäre E-Mail-Adresse ein"
diff --git a/modoboa/locale/el_GR/LC_MESSAGES/django.po b/modoboa/locale/el_GR/LC_MESSAGES/django.po
index 8d7fcb6ad..7f90c9fe0 100644
--- a/modoboa/locale/el_GR/LC_MESSAGES/django.po
+++ b/modoboa/locale/el_GR/LC_MESSAGES/django.po
@@ -9,10 +9,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2017-10-12 19:37+0000\n"
"Last-Translator: Kostas Moumouris \n"
-"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/language/el_GR/)\n"
+"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/"
+"language/el_GR/)\n"
"Language: el_GR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -44,13 +45,13 @@ msgstr "Δεν υπάρχουν ΜΧ έγραφες για αυτό το domain
msgid "Cannot be greater than domain quota"
msgstr "Δεν μπορεί να είναι μεγαλύτερο από το domain quota."
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Η άδεια απορρίφθηκε."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -65,43 +66,42 @@ msgstr ""
"Λίστα διαχειριζόμενων domains (αφορά μόνο μεταπωλητές και διαχειριστές "
"domain)"
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Δεν επιτρέπεται για αυτόν τον ρόλο."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Πρέπει να είναι ίσο με την full_address του γραμματοκιβωτίου"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Αυτό το πεδίο απαιτείτε."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Το τοπικός domain {} δεν υπάρχει"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Λίστα παραληπτών"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Ο χρήστης '%s' υπάρχει ήδη"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "Δεν έχετε πρόσβαση σε αυτό το domain"
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
@@ -122,42 +122,33 @@ msgstr "Ο χρήστης '%s' υπάρχει ήδη"
msgid "Must be a positive integer"
msgstr "Πρέπει να είναι θετικός ακέραιος"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-#, fuzzy
-#| msgid "Domain not found."
-msgid "Directory not found."
-msgstr "To domain δεν βρέθηκε."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Domain not found."
-msgid "Directory non-writable"
-msgstr "To domain δεν βρέθηκε."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Ορίστε τουλάχιστον μια εξουσιοδοτημένη διεύθυνση / δίκτυο"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Απαιτείται γραμματοκιβώτιο"
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -201,8 +192,8 @@ msgstr "Έγκυρα MXς"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
"Μια λίστα από IP ή δικτυακές διευθύνσεις που κάθε εγράφη MX πρέπει να "
"ταιριάζει. "
@@ -216,8 +207,8 @@ msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
msgstr ""
-"Αποτροπή δημιουργίας νέου domain, εάν η εγράφη MX χρησιμοποιεί μια από τις"
-" είδη ορισμένες διευθύνσεις."
+"Αποτροπή δημιουργίας νέου domain, εάν η εγράφη MX χρησιμοποιεί μια από τις "
+"είδη ορισμένες διευθύνσεις."
#: admin/app_settings.py:52 admin/app_settings.py:329
#, fuzzy
@@ -340,7 +331,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Γραμματοκιβώτια"
@@ -356,9 +347,8 @@ msgstr ""
"Μετονομασία και διαγραφή γραμματοκιβωτίων στο σύστημα αρχείων, όταν "
"μετονομάζονται ή διαγράφονται από το Medaboa "
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Προκαθορισμένο quota γραμματοκιβωτίου "
@@ -372,8 +362,7 @@ msgid ""
"value specified. A value of 0 means no quota."
msgstr ""
"Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα "
-"domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota."
-" "
+"domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. "
#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
@@ -394,16 +383,14 @@ msgstr "Αυτόματη αφαίρεση λογαριασμών"
#: admin/app_settings.py:169 admin/app_settings.py:479
msgid "When a mailbox is removed, also remove the associated account"
msgstr ""
-"Όταν αφαιρείται ένα γραμματοκιβώτιο, να αφαιρείται και ο σχετικός "
-"λογαριασμός"
+"Όταν αφαιρείται ένα γραμματοκιβώτιο, να αφαιρείται και ο σχετικός λογαριασμός"
#: admin/app_settings.py:174 admin/app_settings.py:488
msgid "Automatic domain/mailbox creation"
msgstr "Αυτόματη δημιουργία domain/γραμματοκιβωτίων"
#: admin/app_settings.py:177 admin/app_settings.py:491
-msgid ""
-"Create a domain and a mailbox when an account is automatically created."
+msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
"Δημιουργία domain και γραμματοκιβωτίου κατά την αυτόματη δημιουργία "
"λογαριασμού"
@@ -418,6 +405,12 @@ msgstr ""
"Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση όταν "
"μετονομάζεται ένα γραμματοκιβώτιο."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+#, fuzzy
+#| msgid "Domain not found."
+msgid "Directory not found."
+msgstr "To domain δεν βρέθηκε."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -428,33 +421,32 @@ msgid ""
"value specified. A value of 0 means no quota."
msgstr ""
"Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα "
-"domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota."
-" "
+"domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. "
#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "Διαχείριση"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domain"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Relay domain"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Όνομα Χρήστη"
@@ -491,11 +483,11 @@ msgstr ""
"Δημιουργία ενός τυχαίου κωδικού. Εάν ενημερώνεται αυτό το λογαριασμό και "
"επιλέξετε το box, ένας νέος τυχαίος κωδικός θα δημιουργηθεί. "
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Κωδικός"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Επιβεβαίωση"
@@ -537,13 +529,13 @@ msgstr "Quota"
#: admin/forms/account.py:244
#, fuzzy
#| msgid ""
-#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
-#| "one. Leave empty to define an unlimited value (not allowed for domain "
-#| "administrators)."
+#| "Quota in MB for this mailbox. Define a custom value or use domain's "
+#| "default one. Leave empty to define an unlimited value (not allowed for "
+#| "domain administrators)."
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"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 σε ΜΒ για γραμματοκιβώτια. Ορίστε μια προσαρμοσμένη τιμή ή "
"χρησιμοποιήστε την προεπιλεγμένη του τομέα. Αφήστε το κενό για να μη βάλετε "
@@ -575,8 +567,8 @@ msgid ""
"(@domain.tld)."
msgstr ""
"Ψευδώνυμο(μα) αυτού του mailbox. Εισάγεται μόνο μια διεύθυνση τη φορά, "
-"πατήστε ENTER για να προσθέσετε επιπλέον. Για να δημιουργήσετε ένα catchall"
-" ψευδώνυμο, εισάγετε το όνομα τομέα (@domain.tld)."
+"πατήστε ENTER για να προσθέσετε επιπλέον. Για να δημιουργήσετε ένα catchall "
+"ψευδώνυμο, εισάγετε το όνομα τομέα (@domain.tld)."
#: admin/forms/account.py:275
msgid "Sender addresses"
@@ -615,7 +607,8 @@ msgstr "Τα domains που ο χρήστης διαχειρίζεται"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Γενικά"
@@ -739,8 +732,7 @@ msgstr "Αυτόματη δημιουργία διαχειριστή για αυ
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Όνομα"
@@ -871,45 +863,45 @@ msgstr "Δεν έχετε δικαίωμα εισαγωγής domain"
msgid "You are not allowed to import domain aliases."
msgstr "Δεν επιτρέπεται να εισαγάγετε ψευδώνυμα στο domain."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No DNS record found for %s"
msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. "
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "MX records of {}"
msgid "No %(type)s record for %(name)s"
msgstr "Έγραφες MX από{}"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '{}'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Μη έγκυρη τιμή quota για το domain '{}'"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Το αντικείμενο υπάρχει ήδη: %s'"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d αντικείμενα εισήχθησαν με επιτυχία"
@@ -928,10 +920,22 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Ενεργοποίηση επικοινωνίας με δημόσιο API του Modaboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1051,7 +1055,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Λάθος γραμμή"
@@ -1079,8 +1083,8 @@ msgstr ""
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
-"Το προεπιλεγμένο quota για το γραμματοκιβώτιο δεν πρέπει να είναι μεγαλύτερο"
-" από το domain quota. "
+"Το προεπιλεγμένο quota για το γραμματοκιβώτιο δεν πρέπει να είναι μεγαλύτερο "
+"από το domain quota. "
#: admin/models/domain_alias.py:36
msgid "The alias name"
@@ -1122,9 +1126,8 @@ msgstr "Υπέρβαση του domain quota"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Κλείσιμο"
@@ -1386,8 +1389,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1433,9 +1435,6 @@ msgstr "Κατάσταση DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Ενέργειες"
@@ -1495,7 +1494,6 @@ msgstr "Αυτόματη προώθηση των email σε άλλη διεύθ
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Ενημέρωση"
@@ -1521,24 +1519,31 @@ msgid ""
"mandatory and must be equal to one of the previous values. You can "
"use a different character as separator.
"
msgstr ""
-"Εισάγετε ένα αρχείο CSV όπου οι γραμμές ακολουθούν μία από τις παρακάτω μορφές:- \n"
-"domain; όνομα; quota; προεπιλεγμένο quota γραμματοκιβωτίου;ενεργοποιημένα
- domains; όνομα; target domain; ενεργοποιημένα
- relaydomain; όνομα; target host;target port;υπηρεσία; ενεργοποιημένη; επαλήθευση παραληπτών
Το πρώτο στοιχείο κάθε γραμμής είναι υποχρεωτικό και πρέπει να είναι ίσο με μία από τις προηγούμενες τιμές.
Μπορείτε να χρησιμοποιήσετε διαφορετικό χαρακτήρα ως διαχωριστικό.
"
+"Εισάγετε ένα αρχείο CSV όπου οι γραμμές ακολουθούν μία από τις παρακάτω "
+"μορφές:- \n"
+"domain; όνομα; quota; προεπιλεγμένο quota γραμματοκιβωτίου;ενεργοποιημένα"
+"em>
- domains; όνομα; target domain; ενεργοποιημένα"
+"li>
- relaydomain; όνομα; target host;target port;υπηρεσία; "
+"ενεργοποιημένη; επαλήθευση παραληπτών
Το πρώτο στοιχείο "
+"κάθε γραμμής είναι υποχρεωτικό και πρέπει να είναι ίσο με μία από τις "
+"προηγούμενες τιμές.
Μπορείτε να χρησιμοποιήσετε διαφορετικό χαρακτήρα "
+"ως διαχωριστικό.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Εισάγεται ένα αρχείο CSV όπου οι γραμμές ακολουθούν μία από τις ακόλουθες "
"μορφές:- account; login name; Κωδικός πρόσβασης; όνομα; επίθετο; "
"ενεργοποιημένος; ομάδα; διεύθυνση; quota; [, domain, ...]
- "
-"ψευδώνυμο; διεύθυνση; ενεργοποιημένος; παραλήπτης; παραλήπτης; "
-"...
Το πρώτο στοιχείο κάθε γραμμής είναι υποχρεωτικό και "
-"πρέπει να είναι ίδιο με μία από τις προηγούμενες τιμές.
Μπορείτε να "
+"ψευδώνυμο; διεύθυνση; ενεργοποιημένος; παραλήπτης; παραλήπτης; ...
"
+"li>
Το πρώτο στοιχείο κάθε γραμμής είναι υποχρεωτικό και πρέπει να "
+"είναι ίδιο με μία από τις προηγούμενες τιμές.
Μπορείτε να "
"χρησιμοποιήσετε διαφορετικό χαρακτήρα ως διαχωριστικό."
#: admin/templates/admin/importform.html:6
@@ -1568,8 +1573,8 @@ msgstr "Ενημερώθηκε"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
msgstr ""
-"Αυτή η διεύθυνση IP δεν αντιστοιχεί σε κανένα από τα έγκυρο MX που ορίζονται"
-" στις παραμέτρους"
+"Αυτή η διεύθυνση IP δεν αντιστοιχεί σε κανένα από τα έγκυρο MX που ορίζονται "
+"στις παραμέτρους"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1592,8 +1597,8 @@ msgid ""
msgstr ""
"Η φήμη (reputation) του domain θα επηρεαστεί και υπάρχει πιθανότητα τα "
"μηνύματα ηλεκτρονικού ταχυδρομείου που προέρχονται από αυτό να θεωρούνται "
-"ανεπιθύμητα. Θα πρέπει να επικοινωνήσετε με αυτούς τους παροχους και να τους"
-" ζητήσετε να σας βγάλουν από τη λίστα ανεπιθύμητων διευθύνσεων IP."
+"ανεπιθύμητα. Θα πρέπει να επικοινωνήσετε με αυτούς τους παροχους και να τους "
+"ζητήσετε να σας βγάλουν από τη λίστα ανεπιθύμητων διευθύνσεων IP."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -1681,7 +1686,7 @@ msgstr "Έγραφες MX από{}"
msgid "Alias with this name already exists"
msgstr "Υπάρχει είδη αυτό το ψευδώνυμο"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Δημιουργία"
@@ -1763,13 +1768,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Παλιός κωδικός"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1792,12 +1797,11 @@ msgstr "Μη έγκυρη σύνταξη"
msgid "Invalid rounds number"
msgstr "Λάθος αριθμός επαναλήψεων "
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1902,8 +1906,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Ρυθμίσεις LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Διεύθυνση εξυπηρετητή"
@@ -1911,8 +1916,9 @@ msgstr "Διεύθυνση εξυπηρετητή"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "Η IP διεύθυνση ή το DNS όνομα του εξυπηρετητή LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Πόρτα εξυπηρετητή"
@@ -1953,15 +1959,16 @@ msgstr "Πόρτα εξυπηρετητή"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Η TCP πόρτα λειτουργίας του εξυπηρετητή LDAP"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Χρησιμοποιήστε μια ασφαλή σύνδεση"
#: core/app_settings.py:171 core/app_settings.py:888
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
msgstr ""
-"Χρησιμοποιήστε μια σύνδεση SSL / STARTTLS για να συνδεθήκατε στον διακομιστή"
-" LDAP"
+"Χρησιμοποιήστε μια σύνδεση SSL / STARTTLS για να συνδεθήκατε στον διακομιστή "
+"LDAP"
#: core/app_settings.py:176 core/app_settings.py:895
msgid "Active Directory"
@@ -1977,11 +1984,11 @@ msgstr "Groups Διαχειριστών"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
-"Τα μέλη αυτών των LDAP Posix ομάδων χρηστών θα δημιουργηθούν ως διαχειριστές"
-" domain. Χρησιμοποιείστε τον χαραχτήρα ';' για να ξεχωρίσετε τις ομάδες."
+"Τα μέλη αυτών των LDAP Posix ομάδων χρηστών θα δημιουργηθούν ως διαχειριστές "
+"domain. Χρησιμοποιείστε τον χαραχτήρα ';' για να ξεχωρίσετε τις ομάδες."
#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
@@ -2075,8 +2082,8 @@ msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
msgstr ""
-"Προαιρετικό φίλτρο (π.χ. '(objectClass=person)'). Για να είναι έγκυρο πρέπει"
-" να περικλείεται σε παρενθέσεις."
+"Προαιρετικό φίλτρο (π.χ. '(objectClass=person)'). Για να είναι έγκυρο πρέπει "
+"να περικλείεται σε παρενθέσεις."
#: core/app_settings.py:266 core/app_settings.py:1006
msgid "User DN template"
@@ -2223,8 +2230,7 @@ msgstr "Ενεργοποίηση επικοινωνίας με δημόσιο AP
msgid "Check new versions"
msgstr "Έλεγχος ενημερώσεων"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Αυτόματος έλεγχος διαθέσιμων ενημερώσεων"
@@ -2267,8 +2273,8 @@ msgstr "Όριο απενεργοποιημένων λογαριασμών "
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2277,8 +2283,8 @@ msgstr "Όριο απενεργοποιημένων λογαριασμών "
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr "Όριο (σε ημέρες) για να απενεργοποιηθεί ένας Λογαριασμός."
#: core/app_settings.py:460 core/app_settings.py:1289
@@ -2354,37 +2360,33 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Παλιός κωδικός"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Νέος κωδικός"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Αναντιστοιχία παλιού κωδικού"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Αναντιστοιχία κωδικών"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Ενεργοποίηση πρόσβασης API"
-#: core/forms.py:170
+#: core/forms.py:176
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "Υπενθύμιση "
-#: core/forms.py:181
+#: core/forms.py:187
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2462,31 +2464,30 @@ msgstr ""
"Μια εναλλακτική e-mail διεύθυνση, μπορεί να χρησιμοποιηθεί για λόγους "
"ανάκτησης."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-"Σφάλμα κατά την ενημέρωση του κωδικού: το LDAP module δεν είναι "
-"εγκατεστημένο"
+"Σφάλμα κατά την ενημέρωση του κωδικού: το LDAP module δεν είναι εγκατεστημένο"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "λογαριασμός"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Άγνωστη"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
"Δεν μπορείτε να εισάγετε έναν λογαριασμό με ρόλο μεγαλύτερο από τον δικό σας"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Ο απλός χρήστης '%s' πρέπει να έχει μια έγκυρη email διεύθυνση"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2750,8 +2751,8 @@ msgstr "Το backend που χρησιμοποιείται για πιστοπο
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2849,26 +2850,22 @@ msgstr "Το βασικό μέρος του Modoboa"
msgid "Parameters saved"
msgstr "Οι παράμετροι αποθηκεύτηκαν"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Επιτυχής είσοδος του χρήστη '%s'"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Λάθος όνομα χρήστη ή κωδικός. Παρακαλώ δοκιμάστε ξανά."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Ο χρήστης '{}' αποσυνδέθηκε επιτυχώς"
@@ -3140,8 +3137,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3232,8 +3229,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3252,7 +3249,7 @@ msgstr "Ρυθμίσεις OfflineIMAP"
msgid "IMAP Migration"
msgstr "Μετάβαση IMAP"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Η σύνδεση στο διακομιστή IMAP απέτυχε:%s"
@@ -3321,9 +3318,9 @@ msgstr "Εισάγετε ένα έγκυρο όνομα domain"
msgid "Enter a valid email address."
msgstr "Εισαγωγή μιας πραγματικής διεύθυνσης email."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Αποστολή"
@@ -3349,8 +3346,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Ενεργοποίηση ή απενεργοποίηση ορίων ανά διαχειριστή"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Διαχειριστές domain"
@@ -3372,8 +3369,8 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για domain, για νέους "
"διαχειριστές. (Το 0 δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) "
@@ -3399,8 +3396,8 @@ msgid ""
"The quota a reseller will be allowed to share between the domains he "
"creates. (0 means no quota)"
msgstr ""
-"To quota που ένας μεταπωλητής επιτρέπεται να μοιράζει μεταξύ των domains που"
-" δημιουργεί. (0 σημαίνει χωρίς quota)"
+"To quota που ένας μεταπωλητής επιτρέπεται να μοιράζει μεταξύ των domains που "
+"δημιουργεί. (0 σημαίνει χωρίς quota)"
#: limits/app_settings.py:82 limits/app_settings.py:232
msgid "Default per-domain limits"
@@ -3416,8 +3413,8 @@ msgstr "Ενεργοποίηση ή απενεργοποίηση ορίων αν
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Μέγιστος αριθμός από επιτρεπόμενους διαχειριστές domain για ένα νέο domain. "
"(0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
@@ -3440,8 +3437,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
"Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για ένα νέο domain. (0 "
"απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)"
@@ -3496,8 +3493,8 @@ msgstr ""
#: limits/constants.py:93
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-"Μέγιστος αριθμός από ψευδώνυμα γραμματοκιβωτίων που επιτρέπονται για αυτό το"
-" domain. "
+"Μέγιστος αριθμός από ψευδώνυμα γραμματοκιβωτίων που επιτρέπονται για αυτό το "
+"domain. "
#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
@@ -3881,7 +3878,8 @@ msgid ""
"your contacts.\n"
msgstr ""
"\n"
-"Εδώ μπορείτε να προβάλετε τα ηλεκτρονικά σας μηνύματα σε πραγματικό χρόνο, να δημιουργήσετε φίλτρα ή να διαχειριστείτε\n"
+"Εδώ μπορείτε να προβάλετε τα ηλεκτρονικά σας μηνύματα σε πραγματικό χρόνο, "
+"να δημιουργήσετε φίλτρα ή να διαχειριστείτε\n"
" τις επαφές σας.\n"
#: pdfcredentials/documents.py:126
@@ -3916,19 +3914,18 @@ msgstr "Διαπιστευτήρια PDF"
#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid ""
-#| "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr ""
-"Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων"
-" (%s)"
+"Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων "
+"(%s)"
#: pdfcredentials/lib.py:34
#, python-format
msgid "Failed to create the directory that will contain PDF documents (%s)"
msgstr ""
-"Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων"
-" (%s)"
+"Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων "
+"(%s)"
#: pdfcredentials/lib.py:81
msgid ""
@@ -3953,19 +3950,51 @@ msgstr "%s: χρήση ορίου"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Αυτή η ημερομηνία έχει παρέλθει"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Πρέπει να είναι μεγαλύτερη από την ημερομηνία έναρξης"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Χρονικό όριο λήξης αυτόματης απάντησης"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Χρονικό όριο λήξης σε δευτερόλεπτα μεταξύ δύο αυτόματων απαντήσεων προς τον "
+"ίδιο παραλήπτη"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Προεπιλεγμένος τίτλος"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Προκαθορισμένο θέμα που θα χρησιμοποιείται όταν δημιουργούνται αυτόματες "
+"απαντήσεις μηνυμάτων"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Το προεπιλεγμένο κείμενο που θα χρησιμοποιείται στις αυτόματες απαντήσεις. "
+"Το macro '%(name)s' αντικαθίσταται από το όνομα του χρήστη. "
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3974,8 +4003,8 @@ msgstr "Αυτόματες απαντήσεις"
#: postfix_autoreply/forms.py:23
msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
msgstr ""
-"Ενεργοποίηση της αυτόματης απάντησης από αυτήν την ημερομηνία. Μορφή : "
-"YYYY-MM-DD HH:mm:ss"
+"Ενεργοποίηση της αυτόματης απάντησης από αυτήν την ημερομηνία. Μορφή : YYYY-"
+"MM-DD HH:mm:ss"
#: postfix_autoreply/forms.py:28
msgid "Until"
@@ -3995,31 +4024,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Χρονικό όριο λήξης αυτόματης απάντησης"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-"Χρονικό όριο λήξης σε δευτερόλεπτα μεταξύ δύο αυτόματων απαντήσεων προς τον "
-"ίδιο παραλήπτη"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Προεπιλεγμένος τίτλος"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Λείπω"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-"Προκαθορισμένο θέμα που θα χρησιμοποιείται όταν δημιουργούνται αυτόματες "
-"απαντήσεις μηνυμάτων"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -4039,15 +4047,6 @@ msgstr ""
"Φιλικά,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"Το προεπιλεγμένο κείμενο που θα χρησιμοποιείται στις αυτόματες απαντήσεις. "
-"Το macro '%(name)s' αντικαθίσταται από το όνομα του χρήστη. "
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4115,34 +4114,93 @@ msgstr "Θύρα κεντρικού host"
msgid "verify recipients"
msgstr "επιβεβαίωση παραληπτών"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Ο χρήστης '%s' υπάρχει ήδη"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "DNS settings"
+msgid "ManageSieve settings"
+msgstr "Ρυθμίσεις ManageSieve"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "Address of your IMAP server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Η διεύθυνση του εξυπηρετητή MANAGESIEVE"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of your IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Η πόρτα λειτουργίας του MANAGESIEVE εξυπηρετητή σας"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Σύνδεση με χρήση STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Χρήση του extension STARTTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Μηχανισμός πιστοποίησης"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Επιλεγμένος μηχανισμός πιστοποίησης"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "ρύθμισης IMAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr "Διεύθυνση του διακομιστή IMAP"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr "Χρησιμοποιήστε μια ασφαλή σύνδεση για πρόσβαση στον διακομιστή IMAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr "Η θύρα που ακούει ο IMAP server σας"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Φίλτρα Sieve"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Φίλτρα μηνυμάτων"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Όλα τα παρακάτω"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Οποιοδήποτε από τα παρακάτων"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4197,8 +4255,6 @@ msgid "Move message to"
msgstr "Μετακίνηση μηνυμάτων προς"
#: sievefilters/constants.py:46 sievefilters/constants.py:60
-#, fuzzy
-#| msgid "Keep local copies"
msgid "Keep local copy"
msgstr ""
@@ -4218,277 +4274,57 @@ msgstr "Απόρριψη μηνύματος"
msgid "Stop processing"
msgstr "Ακύρωση επεξεργασίας"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Επιλέξτε για να ενεργοποιηθεί αυτό το σετ φίλτρων"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Λάθος όνομα φίλτρου"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "DNS settings"
-msgid "ManageSieve settings"
-msgstr "Ρυθμίσεις ManageSieve"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "Address of your IMAP server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Η διεύθυνση του εξυπηρετητή MANAGESIEVE"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of your IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Η πόρτα λειτουργίας του MANAGESIEVE εξυπηρετητή σας"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Σύνδεση με χρήση STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Χρήση του extension STARTTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Μηχανισμός πιστοποίησης"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Επιλεγμένος μηχανισμός πιστοποίησης"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "ρύθμισης IMAP"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr "Διεύθυνση του διακομιστή IMAP"
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr "Χρησιμοποιήστε μια ασφαλή σύνδεση για πρόσβαση στον διακομιστή IMAP"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr "Η θύρα που ακούει ο IMAP server σας"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Λειτουργία συντάκτη"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Επιλέξτε τη λειτουργία στην οποία θέλετε να εργάζεται ο συντάκτης"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr "Φάκελος σκουπιδιών"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Φάκελος που πηγαίνουν τα σβησμένα μηνύματα"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr "Φάκελος απεσταλμένων"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Φάκελος όπου πηγαίνουν αντίγραφα των απεσταλμένων μηνυμάτων"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr "Φάκελος πρόχειρων"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Ο φάκελος που θα πηγαίνουν τα πρόχειρα"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Αποτυχία κατά την ανάκτηση της οροθετημένης ιεραρχίας"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
"Η σύνδεση με τον εξυπηρετητή MANAGESIEVE απέτυχε, ελέγξτε τις ρυθμίσεις σας "
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Δεν υπάρχει διαθέσιμος χώρος στον εξυπηρετητή"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Συνθήκες"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Ενεργό"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Δεν υπάρχει καθορισμένο φίλτρο"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Σετ φίλτρων"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "ενεργό"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Δεν έχουν οριστεί ακόμη φίλτρα. Πρέπει να δημιουργήσετε τουλάχιστον ένα για "
-"να καθοριστούν τα φίλτρα"
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Νέο σετ φίλτρων"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Νέο φίλτρο"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Αποθήκευση του σετ φίλτρων"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Ενεργοποίηση του σετ φίλτρων"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Αφαίρεση του σετ φίλτρων"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Λήψη"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Επεξεργασία φίλτρου"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Αφαίρεση αυτού του φίλτρου"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Μετακίνηση αυτού του φίλτρου πάνω"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Μετακίνηση αυτού του φίλτρου κάτω"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Σφάλμα κατά την την λήψη του σετ φίλτρων"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Το φίλτρο δημιουργήθηκε"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Το φίλτρο άλλαξε"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Το φίλτρο αφαιρέθηκε "
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Σφάλμα κατά την αφαίρεση του φίλτρου"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Το σετ φίλτρων αποθηκεύτηκε"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Το σετ φίλτρων δημιουργήθηκε"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Δημιουργία νέου σετ φίλτρων"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Το σετ φίλτρων διαγράφηκε"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Το σετ φίλτρων ενεργοποιήθηκε"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "ναι"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "όχι"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Συγνώμη"
@@ -4540,15 +4376,23 @@ msgstr "Νέο domain"
msgid "Welcome to Modoboa"
msgstr "Καλώς ορίσατε στο Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Υπενθύμιση "
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Να με θυμάσαι"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Είσοδος Χρήστη"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Ξέχασα των κωδικό;"
@@ -4562,27 +4406,31 @@ msgstr ""
"Ο κωδικός σου έχει οριστεί. Για να εισαγωγή πηγαίνετε στο ."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Αλλαγή κωδικού"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-"Ο σύνδεσμος για την επαναφορά του κωδικού ήταν άκυρος, πιθανότατα γιατί είχε"
-" είδη χρησιμοποιηθεί. Παρακαλώ ζητήστε μια νέα επαναφορά κωδικού."
+"Ο σύνδεσμος για την επαναφορά του κωδικού ήταν άκυρος, πιθανότατα γιατί είχε "
+"είδη χρησιμοποιηθεί. Παρακαλώ ζητήστε μια νέα επαναφορά κωδικού."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"
We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4592,8 +4440,8 @@ msgstr ""
"Σας έχουμε αποστείλει με ηλεκτρονικό ταχυδρομείο οδηγίες για να ορίσετε των "
"κωδικό σας, εφόσον υπάρχει ένας λογαριασμός με το διεύθυνση ηλεκτρονικής "
"αλληλογραφίας που καταχωρήσατε. Θα πρέπει να το λάβετε σύντομα. Εάν "
-"δεν λάβατε το email, παρακαλώ συγουρευτείτε ότι εισάγατε σωστά την διεύθυνση"
-" σας και ελέγξτε τον φάκελο τον Spam σας.
"
+"δεν λάβατε το email, παρακαλώ συγουρευτείτε ότι εισάγατε σωστά την διεύθυνση "
+"σας και ελέγξτε τον φάκελο τον Spam σας. "
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -4619,14 +4467,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Με εκτίμηση, Η ομάδα του Modaboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Ο κωδικός του Μοdaboa επαναφέρθηκε"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "Υπενθύμιση "
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verify code"
+msgstr "Υπενθύμιση "
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Διεύθυνση κεντρικού υπολογιστή target host"
@@ -4643,6 +4528,145 @@ msgstr ""
msgid "next hop"
msgstr ""
+#, fuzzy
+#~| msgid "Domain not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "To domain δεν βρέθηκε."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "Λάθος όνομα χρήστη ή κωδικός. Παρακαλώ δοκιμάστε ξανά."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Επιλέξτε για να ενεργοποιηθεί αυτό το σετ φίλτρων"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Λάθος όνομα φίλτρου"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Συνθήκες"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Ενεργό"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Δεν υπάρχει καθορισμένο φίλτρο"
+
+#~ msgid "Filter sets"
+#~ msgstr "Σετ φίλτρων"
+
+#~ msgid "active"
+#~ msgstr "ενεργό"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Δεν έχουν οριστεί ακόμη φίλτρα. Πρέπει να δημιουργήσετε τουλάχιστον ένα "
+#~ "για να καθοριστούν τα φίλτρα"
+
+#~ msgid "New filters set"
+#~ msgstr "Νέο σετ φίλτρων"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Νέο φίλτρο"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Αποθήκευση του σετ φίλτρων"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Ενεργοποίηση του σετ φίλτρων"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Αφαίρεση του σετ φίλτρων"
+
+#~ msgid "Download"
+#~ msgstr "Λήψη"
+
+#~ msgid "Edit filter"
+#~ msgstr "Επεξεργασία φίλτρου"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Αφαίρεση αυτού του φίλτρου"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Μετακίνηση αυτού του φίλτρου πάνω"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Μετακίνηση αυτού του φίλτρου κάτω"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Σφάλμα κατά την την λήψη του σετ φίλτρων"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Το φίλτρο δημιουργήθηκε"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Το φίλτρο άλλαξε"
+
+#~ msgid "Filter removed"
+#~ msgstr "Το φίλτρο αφαιρέθηκε "
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Σφάλμα κατά την αφαίρεση του φίλτρου"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Το σετ φίλτρων αποθηκεύτηκε"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Το σετ φίλτρων δημιουργήθηκε"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Δημιουργία νέου σετ φίλτρων"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Το σετ φίλτρων διαγράφηκε"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Το σετ φίλτρων ενεργοποιήθηκε"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "ναι"
+
+#~ msgid "no"
+#~ msgstr "όχι"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Υπάρχει είδη αυτό το ψευδώνυμο"
@@ -4753,8 +4777,8 @@ msgstr ""
#~ msgid "Quota in MB shared between mailboxes. A value of 0 means no quota."
#~ msgstr ""
-#~ "Κοινόχρηστο quota σε MB μεταξύ γραμματοκιβωτίων. Μια τιμή 0 σημαίνει ότι δεν"
-#~ " υπάρχει quota. "
+#~ "Κοινόχρηστο quota σε MB μεταξύ γραμματοκιβωτίων. Μια τιμή 0 σημαίνει ότι "
+#~ "δεν υπάρχει quota. "
#, fuzzy
#~ msgid "No DNS records found without MX for %s"
diff --git a/modoboa/locale/en/LC_MESSAGES/django.po b/modoboa/locale/en/LC_MESSAGES/django.po
index 63ae469da..2926c8e27 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -35,13 +35,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -54,39 +54,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -105,36 +104,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -289,7 +283,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -348,6 +342,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -358,26 +356,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -410,11 +408,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -519,7 +517,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -632,8 +631,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -760,42 +758,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -814,8 +812,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -931,7 +939,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1287,9 +1295,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1349,7 +1354,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1513,7 +1517,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1593,11 +1597,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1620,11 +1624,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1721,8 +1725,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1730,8 +1735,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1764,7 +1770,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2129,35 +2136,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2227,28 +2230,28 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2577,26 +2580,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2960,7 +2959,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3028,9 +3027,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3583,15 +3582,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3615,27 +3640,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3649,13 +3657,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3717,29 +3718,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3799,219 +3847,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4061,15 +3940,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4081,25 +3966,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4127,14 +4016,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/es/LC_MESSAGES/django.po b/modoboa/locale/es/LC_MESSAGES/django.po
index 985686b15..a79061236 100644
--- a/modoboa/locale/es/LC_MESSAGES/django.po
+++ b/modoboa/locale/es/LC_MESSAGES/django.po
@@ -16,10 +16,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
-"Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/es/)\n"
+"Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/"
+"es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -51,13 +52,13 @@ msgstr "No se encontró ningún registro MX para este dominio."
msgid "Cannot be greater than domain quota"
msgstr "No puede superar la cuota de dominio"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permiso denegado."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -72,43 +73,42 @@ msgstr ""
"Lista de dominios administrados (sólo distribuidores y administradores de "
"dominio)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "No estás autorizado para esta función."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
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:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Este campo es obligatorio."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "El dominio local {} no existe"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Lista de destinatarios"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "El usuario '%s' ya existe"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "No tienes acceso a este dominio"
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
@@ -129,42 +129,33 @@ msgstr "El usuario '%s' ya existe"
msgid "Must be a positive integer"
msgstr "Debe ser un entero positivo"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-#, fuzzy
-#| msgid "Domain not found."
-msgid "Directory not found."
-msgstr "Dominio no encontrado."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Domain not found."
-msgid "Directory non-writable"
-msgstr "Dominio no encontrado."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, 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:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -208,8 +199,8 @@ msgstr "MX Validos"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
"Una lista de IP o dirección de red, cada registro MX debe coincidir. Se "
"enviará una advertencia si un registro no la respeta."
@@ -326,9 +317,8 @@ msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
msgstr ""
-"Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que"
-" no tuvieran un valor especificado. Un valor de 0 significa que no hay "
-"cuota."
+"Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que "
+"no tuvieran un valor especificado. Un valor de 0 significa que no hay cuota."
#: admin/app_settings.py:128 admin/app_settings.py:426
#, fuzzy
@@ -346,7 +336,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Mailboxes"
@@ -362,9 +352,8 @@ msgstr ""
"Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean "
"renombrados o eliminados dentro de Modoboa"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Cuota de mailbox por defecto"
@@ -405,10 +394,8 @@ msgid "Automatic domain/mailbox creation"
msgstr "Creación automática de dominio/buzón"
#: admin/app_settings.py:177 admin/app_settings.py:491
-msgid ""
-"Create a domain and a mailbox when an account is automatically created."
-msgstr ""
-"Crear un dominio y un buzón cuando se cree automáticamente una cuenta."
+msgid "Create a domain and a mailbox when an account is automatically created."
+msgstr "Crear un dominio y un buzón cuando se cree automáticamente una cuenta."
#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
@@ -418,6 +405,12 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+#, fuzzy
+#| msgid "Domain not found."
+msgid "Directory not found."
+msgstr "Dominio no encontrado."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -434,27 +427,27 @@ msgstr ""
msgid "Administration"
msgstr "Administración"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Dominio"
-#: admin/constants.py:24
+#: admin/constants.py:22
#, fuzzy
msgid "Relay domain"
msgstr "Nuevo dominio"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nombre de usuario"
@@ -491,11 +484,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Contraseña"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Confirmación"
@@ -537,13 +530,13 @@ msgstr "Cuota"
#: admin/forms/account.py:244
#, fuzzy
#| msgid ""
-#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
-#| "one. Leave empty to define an unlimited value (not allowed for domain "
-#| "administrators)."
+#| "Quota in MB for this mailbox. Define a custom value or use domain's "
+#| "default one. Leave empty to define an unlimited value (not allowed for "
+#| "domain administrators)."
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Cuota en MB para este mailbox. Defina un valor por defecto o use el del "
"dominio por defecto. Déjelo vacío para definir un valor ilimitado (no "
@@ -615,7 +608,8 @@ msgstr "Dominio(s) que el usuario administra"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "General"
@@ -657,8 +651,8 @@ msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
-"La dirección del alias. Para crear un alias catchall, simplemente ingrese el"
-" nombre de dominio (@ domain.tld)."
+"La dirección del alias. Para crear un alias catchall, simplemente ingrese el "
+"nombre de dominio (@ domain.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
@@ -738,8 +732,7 @@ msgstr "Automáticamente crear una administrador para este dominio"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nombre"
@@ -872,45 +865,45 @@ msgstr "No está autorizado para importar dominios"
msgid "You are not allowed to import domain aliases."
msgstr "No está autorizado para importar alias de dominio."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No DNS record found for %s"
msgstr "No se encontró ningún registro MX para este dominio."
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "MX records of {}"
msgid "No %(type)s record for %(name)s"
msgstr "Registros MX de {}"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '{}'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Cuota inválida para dominio '{}'"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "El objeto ya existe: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objetos importados con éxito"
@@ -929,10 +922,22 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Establecer comunicación con la API publica de Modoboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1052,7 +1057,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Línea inválida"
@@ -1120,9 +1125,8 @@ msgstr "Cuota de dominio excedida"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Cerrar"
@@ -1384,8 +1388,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1431,9 +1434,6 @@ msgstr "Estado de DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Acciones"
@@ -1495,7 +1495,6 @@ msgstr "Reenvía automáticamente los correos a otra dirección"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Actualizar"
@@ -1527,25 +1526,25 @@ msgstr ""
"orientado al dominio; habilitadoDominio de retransmisión; "
"nombre; servidor de destino; puerto de destino; servicio; habilitado; "
"verificar los destinatariosEl primer elemento de cada "
-"línea es obligatorio y debe ser igual a uno de los valores anteriores. "
-"
Puede utilizar un carácter diferente como Separador.
"
+"línea es obligatorio y debe ser igual a uno de los valores anteriores. "
+"p> Puede utilizar un carácter diferente como Separador.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Proporcione un archivo CSV donde las líneas respeten uno de los siguientes "
"formatos: - cuenta; nombre de inicio de sesión; contraseña; "
-"primer nombre; apellido; habilitado; grupo; dirección; cuota; [, dominio, "
-"...] em> li>
- alias; dirección; habilitado; receptor; "
+"primer nombre; apellido; habilitado; grupo; dirección; cuota; [, "
+"dominio, ...] em> li>
- alias; dirección; habilitado; receptor; "
"receptor; ... em> li> ul>
El primer elemento de cada línea es "
-"obligatorio y debe ser igual a uno de los valores anteriores. p>
Puede"
-" utilizar un carácter diferente como separador. p>"
+"obligatorio y debe ser igual a uno de los valores anteriores. p>
Puede "
+"utilizar un carácter diferente como separador. p>"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1574,8 +1573,8 @@ msgstr "Actualizado"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
msgstr ""
-"Esta IP no coincide con ninguno de los registros MX válidos definidos en los"
-" parámetros"
+"Esta IP no coincide con ninguno de los registros MX válidos definidos en los "
+"parámetros"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1587,8 +1586,8 @@ msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
msgstr ""
-"Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los"
-" siguientes proveedores DNSBL:"
+"Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los "
+"siguientes proveedores DNSBL:"
#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
@@ -1597,16 +1596,16 @@ msgid ""
"and ask them to unlist detected IP address(es)."
msgstr ""
"La reputación de los dominios se verán afectados y existe la posibilidad de "
-"que los mensajes de correo electrónico procedentes de él se consideren spam."
-" Debe comunicarse con estos proveedores y pedirles que elimine la(s) "
+"que los mensajes de correo electrónico procedentes de él se consideren spam. "
+"Debe comunicarse con estos proveedores y pedirles que elimine la(s) "
"dirección(es) IP detectada(s)."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
msgstr ""
-"Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los"
-" siguientes proveedores DNSBL:"
+"Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los "
+"siguientes proveedores DNSBL:"
#: admin/templates/admin/searchform.html:6
msgid "Search"
@@ -1688,7 +1687,7 @@ msgstr "Registros MX de {}"
msgid "Alias with this name already exists"
msgstr "Ya existe un alias con este nombre"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Crear"
@@ -1770,13 +1769,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Contraseña anterior"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1799,12 +1798,11 @@ msgstr "Sintaxis inválida"
msgid "Invalid rounds number"
msgstr "Número de rondas inváldo"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1837,8 +1835,8 @@ msgid ""
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
"between 1000 and 999999999, inclusive."
msgstr ""
-"Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe"
-" estar entre 1000 y 999999999, incluído."
+"Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe "
+"estar entre 1000 y 999999999, incluído."
#: core/app_settings.py:71 core/app_settings.py:752
msgid "Update password scheme at login"
@@ -1905,8 +1903,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Configuración de LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Dirección del servidor"
@@ -1914,8 +1913,9 @@ msgstr "Dirección del servidor"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "La dirección IP del servidor de nombres (DNS) del servidor LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Puerto del servidor"
@@ -1948,7 +1948,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Usar una conexión segura"
@@ -1970,11 +1971,11 @@ msgstr "Administrador de grupos"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
-"Los miembros de esos grupos Posix LDAP serán creados como administradores de"
-" dominio. Use caracteres \";\" para separar los grupos."
+"Los miembros de esos grupos Posix LDAP serán creados como administradores de "
+"dominio. Use caracteres \";\" para separar los grupos."
#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
@@ -2031,8 +2032,8 @@ msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
msgstr ""
-"El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació"
-" para una unión anónima"
+"El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació "
+"para una unión anónima"
#: core/app_settings.py:237 core/app_settings.py:289 core/app_settings.py:972
#: core/app_settings.py:1034
@@ -2203,8 +2204,7 @@ msgstr "Establecer comunicación con la API publica de Modoboa"
msgid "Check new versions"
msgstr "Comprobar nuevas versiones"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Verificar automáticamente si hay una nueva versión disponible"
@@ -2247,8 +2247,8 @@ msgstr "Límite para cuentas inactivas"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2257,8 +2257,8 @@ msgstr "Límite para cuentas inactivas"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Una cuenta inactiva con una fecha de inicio de sesión previa a este límite "
"(en días) se considerará como cuenta inactiva"
@@ -2306,9 +2306,9 @@ msgid ""
"between summer/winter time (ie the same local time occuring twice due to "
"clock change)."
msgstr ""
-"A fijado USE_TZ como falso, lo que puede llevar a problemas en la transición"
-" entre los horarios de verano e invierno (p.ej., que la misma hora exista "
-"dos veces debido a cambios del reloj)."
+"A fijado USE_TZ como falso, lo que puede llevar a problemas en la transición "
+"entre los horarios de verano e invierno (p.ej., que la misma hora exista dos "
+"veces debido a cambios del reloj)."
#: core/checks/settings_checks.py:11
msgid "Set `USE_TZ = True` in settings.py"
@@ -2338,35 +2338,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Contraseña anterior"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nueva contraseña"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "La contraseña no concuerda con la anterior"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Las contraseñas no coinciden"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Habilitar acceso al API"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2436,28 +2432,28 @@ msgstr "Idioma preferido para mostrar las páginas"
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Email alternativo, puede ser usado para recuperación."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Falló al actualizar la contraseña: módulo LDAP no instalado"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "cuenta"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Desconocido"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "No puede importar una cuenta con un rol mayor que el suyo"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "El usuario normal '%s' debe tener una dirección de email válida"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2710,8 +2706,8 @@ msgstr "El sistema usado para autenticación"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2807,29 +2803,23 @@ msgstr "El núcleo de Modoboa"
msgid "Parameters saved"
msgstr "Parámetros guardados"
-#: core/views/auth.py:67
+#: core/views/auth.py:66
+#, python-format
+msgid "User '%s' successfully logged in"
+msgstr "Usuario '%s' ha entrado con éxito"
+
+#: core/views/auth.py:104
#, python-format
msgid "Password scheme mismatch. Updating %s password"
msgstr ""
"No se ajusta al esquema de contraseña. Actualizando la contraseña de %s "
-#: core/views/auth.py:75
+#: core/views/auth.py:111
#, python-format
msgid "Password hash parameter missmatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:89
-#, python-format
-msgid "User '%s' successfully logged in"
-msgstr "Usuario '%s' ha entrado con éxito"
-
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de "
-"nuevo."
-
-#: core/views/auth.py:144
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Usuario '{}' ha salido con éxito"
@@ -3115,8 +3105,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3205,8 +3195,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3223,7 +3213,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Falló la conexión con el servidor IMAP: %s"
@@ -3294,9 +3284,9 @@ msgstr "Introduzca un nombre dominio válido"
msgid "Enter a valid email address."
msgstr "Intriduzca un email válido"
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Enviar"
@@ -3324,8 +3314,8 @@ msgid "Enable or disable per-admin limits"
msgstr ""
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Administradores del dominio"
@@ -3350,11 +3340,10 @@ msgstr "Número máximo de dominios permitidos para un nuevo administrador"
#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Número máximo permitido de alias de dominio para un nuevo administrador"
@@ -3399,16 +3388,15 @@ msgstr ""
#| msgid ""
#| "Maximum number of allowed domain administrators for a new administrator"
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Número máximo de dominios permitido de administradores para un nuevo "
"administrador"
#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
@@ -3427,8 +3415,8 @@ msgstr "Número máximo de mailboxes permitidas para un nuevo administrador"
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr "Número máxido de alias permitidos para un nuevo administrador"
#: limits/apps.py:13 limits/apps.py:17
@@ -3923,19 +3911,50 @@ msgstr "%s: límete alcanzado"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Esta fecha ha pasado"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Debe ser posterior a la fecha inicial"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Tiempo de caducidad de respuestas automáticas"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "Tiempo en segundos entre dos autorespuestas para el mismo emisor"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Asunto por defecto"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"El asunto por defecto es usado cuando un mensaje de autorespuesta es creado "
+"automáticamente"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"El contenido por defecto es usado cuando un mensaje de autorespuesta es "
+"creado automáticamente. La macro '%(name)s' será reemplazada por el nombre "
+"completo del usuario."
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3952,8 +3971,7 @@ msgstr "Hasta"
#: postfix_autoreply/forms.py:31
msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
-msgstr ""
-"Activar su autorepuesta hasta esta fecha. Formato: YYYY-MM-DD HH:mm:ss"
+msgstr "Activar su autorepuesta hasta esta fecha. Formato: YYYY-MM-DD HH:mm:ss"
#: postfix_autoreply/forms.py:39
#, python-format
@@ -3963,32 +3981,13 @@ msgid ""
"%(untildate)s"
msgstr ""
"El contenido de su respuesta. Puede utilizar las siguientes variable, que "
-"serán reemplazados automáticamente por su valor apropiado: "
-"%(name)s,%(fromdate)s,%(untildate)s"
-
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Tiempo de caducidad de respuestas automáticas"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr "Tiempo en segundos entre dos autorespuestas para el mismo emisor"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Asunto por defecto"
+"serán reemplazados automáticamente por su valor apropiado: %(name)s,"
+"%(fromdate)s,%(untildate)s"
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Estoy fuera"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-"El asunto por defecto es usado cuando un mensaje de autorespuesta es creado "
-"automáticamente"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -4008,16 +4007,6 @@ msgstr ""
"Saludos cordiales,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"El contenido por defecto es usado cuando un mensaje de autorespuesta es "
-"creado automáticamente. La macro '%(name)s' será reemplazada por el nombre "
-"completo del usuario."
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4088,34 +4077,91 @@ msgstr "objetivo"
msgid "verify recipients"
msgstr "Destinatarios"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "El usuario '%s' ya existe"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "Configuración de ManageSieve"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr "Dirección de su servidor MANAGESIEVE"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Puerto a la escucha de su servidor MANAGESIEVE"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Conectar usando STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Usar la extensión STARTTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Mecanismos de autenticación"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Mecanismo de autenticación preferido"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Configuración de IMAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr "Dirección de su servidor IMAP"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Usar una conexión segura para acceder al servidor IMAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr "Puerto de su servidor IMAP"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "filtros Sieve"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Filtros de mensajes"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Todos los siguientes"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Cualquiera de los siguientes"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4170,8 +4216,6 @@ msgid "Move message to"
msgstr "Mover el mensaje a"
#: sievefilters/constants.py:46 sievefilters/constants.py:60
-#, fuzzy
-#| msgid "Keep local copies"
msgid "Keep local copy"
msgstr ""
@@ -4191,279 +4235,60 @@ msgstr "Bloquear mensaje"
msgid "Stop processing"
msgstr "Detener procesamiento"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Marcar para activar este conjunto de filtros"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Nombre de filtro erróneo"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "Configuración de ManageSieve"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr "Dirección de su servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Puerto a la escucha de su servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Conectar usando STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Usar la extensión STARTTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Mecanismos de autenticación"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Mecanismo de autenticación preferido"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Configuración de IMAP"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr "Dirección de su servidor IMAP"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Usar una conexión segura para acceder al servidor IMAP"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr "Puerto de su servidor IMAP"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Modo editor"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Seleccione el modo en el que desea que el editor trabaje"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create aliases"
msgid "Trash folder"
msgstr "Carpeta de basura"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Carpeta dónde van los mensajes eliminados"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create aliases"
msgid "Sent folder"
msgstr "Carpeta de enviados"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Carpeta dónde van las copias de los correos enviados"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create aliases"
msgid "Drafts folder"
msgstr "Carpeta de borradores"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Carpeta dónde van los borradores"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Fallo al recuperar el delimitador jerárquico"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
-msgstr ""
-"La conexión al servidor MANAGESIEVE falló, verifique su configuración."
+msgstr "La conexión al servidor MANAGESIEVE falló, verifique su configuración."
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "No hay suficiente espacio en el servidor"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Condiciones"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Activo"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "No hay un filtro definido aún"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Conjunto de filtros"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "activo"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"No hay un conjunto de filtros definido aún. Debe crear uno para poder "
-"definir filtros."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Nuevo conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Nuevo filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Guardar conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Activar conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Eliminar conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Descargar"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Editar filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Eliminar este filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Subir este filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Bajar este filtro"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Fallo en la recuperación de un conjunto de filtros"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filtro creado"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filtro modificado"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filtro eliminado"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "La eliminación del filtro falló"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Filtros guardados"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Conjunto de filtros creado"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Crear un nuevo conjunto de filtros"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Conjunto de filtros eliminado"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Conjunto de filtros activado"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "sí"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "no"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Lo siento"
@@ -4515,15 +4340,23 @@ msgstr "Nuevo dominio"
msgid "Welcome to Modoboa"
msgstr "Bienvenido a Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Notificaciones"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Recuerdame"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Entrar"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "¿Ha olvidado su contraseña?"
@@ -4537,11 +4370,11 @@ msgstr ""
"Ha cambiado su contraseña. Proceda e inicie sesión "
"ahora."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Cambiar contraseña"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4549,15 +4382,19 @@ msgstr ""
"El enlace de restauración de contraseña es inválido, tal vez ya fue "
"utilizado. Por favor solicite la restauración de contraseña de nuevo."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"
We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4565,10 +4402,10 @@ msgid ""
"primary address, and check your spam folder."
msgstr ""
"Si existe una cuenta con el correo electrónico introducido, recibirá en "
-"breves instantes instrucciones via email para cambiar su "
-"contraseña.
Si no recibe el correo, por favor compruebe que la "
-"dirección de correo electrónico introducida es su dirección principal y "
-"revise su directorio de correo basura.
"
+"breves instantes instrucciones via email para cambiar su contraseña."
+"p>Si no recibe el correo, por favor compruebe que la dirección de correo "
+"electrónico introducida es su dirección principal y revise su directorio de "
+"correo basura.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -4594,14 +4431,49 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Saludos cordiales, el equipo de Modoboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Restauración de contraseña de Modoboa"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "Notificaciones"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Contraseña anterior"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
#, fuzzy
#| msgid "Invalid line"
@@ -4620,6 +4492,147 @@ msgstr ""
msgid "next hop"
msgstr ""
+#, fuzzy
+#~| msgid "Domain not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Dominio no encontrado."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de "
+#~ "nuevo."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Marcar para activar este conjunto de filtros"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Nombre de filtro erróneo"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Condiciones"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Activo"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "No hay un filtro definido aún"
+
+#~ msgid "Filter sets"
+#~ msgstr "Conjunto de filtros"
+
+#~ msgid "active"
+#~ msgstr "activo"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "No hay un conjunto de filtros definido aún. Debe crear uno para poder "
+#~ "definir filtros."
+
+#~ msgid "New filters set"
+#~ msgstr "Nuevo conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Nuevo filtro"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Guardar conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Activar conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Eliminar conjunto de filtros"
+
+#~ msgid "Download"
+#~ msgstr "Descargar"
+
+#~ msgid "Edit filter"
+#~ msgstr "Editar filtro"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Eliminar este filtro"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Subir este filtro"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Bajar este filtro"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Fallo en la recuperación de un conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filtro creado"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filtro modificado"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filtro eliminado"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "La eliminación del filtro falló"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Filtros guardados"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Conjunto de filtros creado"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Crear un nuevo conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Conjunto de filtros eliminado"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Conjunto de filtros activado"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "sí"
+
+#~ msgid "no"
+#~ msgstr "no"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Ya existe un alias con este nombre"
diff --git a/modoboa/locale/fi/LC_MESSAGES/django.po b/modoboa/locale/fi/LC_MESSAGES/django.po
index 915b023e2..845fda149 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2023-02-17 22:03+0200\n"
"Last-Translator: Ossi Mäntylahti \n"
"Language-Team: \n"
@@ -41,13 +41,13 @@ msgstr "Tälle verkkotunnukselle ei löytynyt valtuutettua MX-tietuetta"
msgid "Cannot be greater than domain quota"
msgstr "Ei voi olla suurempi kuin verkkotunnuksen kiintiö"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Lupa evätty."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -62,41 +62,40 @@ msgstr ""
"Luettelo hallinnoiduista verkkotunnuksista (vain jälleenmyyjät ja "
"verkkotunnusten ylläpitäjät)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Ei sallittu tässä roolissa."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Täytyy olla yhtä suuri kuin postilaatikon koko osoite"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Tämä kenttä on pakollinen."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Paikallista verkkotunnusta {} ei ole olemassa"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Luettelo vastaanottajista"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Käyttäjä '%s' on jo olemassa"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Sinulla ei ole pääsyä tähän verkkotunnukseen."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Sinulla ei ole pääsyä tähän postilaatikkoon."
@@ -115,40 +114,33 @@ msgstr "Käyttäjä '%s' on jo olemassa"
msgid "Must be a positive integer"
msgstr "Täytyy olla positiivinen kokonaisluku"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Hakemistoa ei löydy."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Hakemistoa ei löydy."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl ei löydy, varmista, että se on asennettu."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Määritä vähintään yksi valtuutettu verkko/osoite"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Tarvitaan postilaatikko"
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
@@ -193,8 +185,8 @@ msgstr "Voimassa olevat MX:t"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
"Luettelo IP- tai verkko-osoitteista, joita jokaisen MX-tietueen pitäisi "
"vastata. Varoitus lähetetään, jos tietue ei noudata sitä."
@@ -286,8 +278,8 @@ msgid ""
"sure this directory belongs to root user and is not readable by the outside "
"world."
msgstr ""
-"Absoluuttinen polku, johon DKIM:n yksityiset avaimet tallennetaan. Varmista,"
-" että tämä hakemisto kuuluu root-käyttäjälle eikä ole ulkomaailman "
+"Absoluuttinen polku, johon DKIM:n yksityiset avaimet tallennetaan. Varmista, "
+"että tämä hakemisto kuuluu root-käyttäjälle eikä ole ulkomaailman "
"luettavissa."
#: admin/app_settings.py:112 admin/app_settings.py:407
@@ -319,14 +311,14 @@ msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
msgstr ""
-"Viestien määrä, jonka juuri luodut verkkotunnukset saavat lähettää päivässä."
-" Jätä tyhjäksi, jos et halua rajoitusta."
+"Viestien määrä, jonka juuri luodut verkkotunnukset saavat lähettää päivässä. "
+"Jätä tyhjäksi, jos et halua rajoitusta."
#: admin/app_settings.py:136 admin/app_settings.py:440
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Postilaatikot"
@@ -342,9 +334,8 @@ msgstr ""
"Nimeä uudelleen tai poista postilaatikot tiedostojärjestelmästä, kun ne "
"nimetään uudelleen tai poistetaan Modoboassa"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Oletuspostilaatikkokiintiö"
@@ -382,8 +373,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Automaattinen verkkotunnuksen/sähköpostilaatikon luominen"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 "Luo verkkotunnus ja postilaatikko, kun tili luodaan automaattisesti."
#: admin/app_settings.py:182 admin/app_settings.py:500
@@ -396,11 +386,15 @@ msgstr ""
"Luo alias, joka käyttää vanhaa osoitetta, kun postilaatikko nimetään "
"uudelleen."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Hakemistoa ei löydy."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
-#| "Default mailbox quota (in MB) applied to freshly created mailboxes with no "
-#| "value specified. A value of 0 means no quota."
+#| "Default mailbox quota (in MB) applied to freshly created mailboxes with "
+#| "no value specified. A value of 0 means no quota."
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
@@ -413,26 +407,26 @@ msgstr ""
msgid "Administration"
msgstr "Hallinnointinäkymä"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Verkkotunnus"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Relay-välitystunnus"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr "Avattu"
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr "Suljettu"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Käyttäjätunnus"
@@ -466,14 +460,14 @@ msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
msgstr ""
-"Luo satunnainen salasana. Jos päivität tätä tiliä ja valitset tämän, Modoboa"
-" luo uuden salasanan."
+"Luo satunnainen salasana. Jos päivität tätä tiliä ja valitset tämän, Modoboa "
+"luo uuden salasanan."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Salasana"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Vahvistus"
@@ -514,9 +508,9 @@ msgstr "Kiintiö"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Tämän postilaatikon kiintiö, joka voidaan ilmaista kilotavuina, megatavuina "
"(oletus) tai gigatavuina. Määritä oma arvo tai käytä toimialueen "
@@ -563,8 +557,8 @@ msgid ""
"one address per input. Press ENTER to add a new input."
msgstr ""
"Tämän tilin lisälähetysosoite(et). Käyttäjä saa lähettää sähköposteja "
-"käyttämällä tätä osoitetta, vaikka sitä ei olisikaan olemassa paikallisesti."
-" Ilmoita yksi osoite per rivi. Lisää uusi rivi painamalla enter."
+"käyttämällä tätä osoitetta, vaikka sitä ei olisikaan olemassa paikallisesti. "
+"Ilmoita yksi osoite per rivi. Lisää uusi rivi painamalla enter."
#: admin/forms/account.py:339 admin/forms/alias.py:95
#: admin/models/mailbox.py:308
@@ -588,7 +582,8 @@ msgstr "Käyttäjän hallinnoima verkkotunnus(kset)"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Yleiset"
@@ -630,8 +625,8 @@ msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
-"Alias-osoite. Jos haluat luoda catchall-aliaksen, kirjoita vain verkkotunnus"
-" (@verkkotunnus.tld)."
+"Alias-osoite. Jos haluat luoda catchall-aliaksen, kirjoita vain verkkotunnus "
+"(@verkkotunnus.tld)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
@@ -659,8 +654,8 @@ msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
msgstr ""
-"Tämän verkkotunnuksen aliakset. Ilmoita vain yksi nimi per rivi, paina enter"
-" lisätäksesi uuden rivin."
+"Tämän verkkotunnuksen aliakset. Ilmoita vain yksi nimi per rivi, paina enter "
+"lisätäksesi uuden rivin."
#: admin/forms/domain.py:43
msgid "Key selector"
@@ -672,8 +667,7 @@ msgid ""
"GB. A value of 0 means no quota."
msgstr ""
"Postilaatikoihin sovellettava oletuskiintiö. Voidaan ilmaista kilotavuina, "
-"megatavuina (oletus) tai gigatavuina. Arvo 0 tarkoittaa, ettei kiintiötä "
-"ole."
+"megatavuina (oletus) tai gigatavuina. Arvo 0 tarkoittaa, ettei kiintiötä ole."
#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
@@ -710,8 +704,7 @@ msgstr "Luo automaattisesti järjestelmänvalvojan tälle verkkotunnukselle"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nimi"
@@ -842,42 +835,42 @@ msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia"
msgid "You are not allowed to import domain aliases."
msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "DNS-tietuetta ei löytynyt %s"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Ei %(type)s-tietueelle %(name)s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Toimivia nimipalvelimia ei löytynyt"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS-kyselyn aikakatkaisu, kysely %s ei onnistu tällä hetkellä"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Virheellinen IP-osoiteformaatti {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Kohde on jo olemassa: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objektit tuotu onnistuneesti"
@@ -896,10 +889,22 @@ 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:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Ota käyttöön viestintä Modoboan julkisen API:n kanssa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} DNSBL-palveluntarjoajan listaama {}"
@@ -1016,7 +1021,7 @@ msgid "Key length"
msgstr "Avaimen pituus"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Virheellinen rivi"
@@ -1085,9 +1090,8 @@ msgstr "Verkkotunnuksen kiintiö ylitetty"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Sulje"
@@ -1342,8 +1346,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1387,9 +1390,6 @@ msgstr "DNS-tila"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Toiminnot"
@@ -1449,7 +1449,6 @@ msgstr "Lähetä sähköpostit automaattisesti eteenpäin toiseen osoitteeseen"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Päivitä"
@@ -1476,29 +1475,28 @@ msgid ""
"use a different character as separator."
msgstr ""
"Lähetä CSV-tiedosto, jonka rivit ovat jossakin seuraavista muodoista: "
-"- verkkotunnus; kiintiö; oletuspostilaatikon kiintiö; "
-"käytössä
- verkkotunnuksen alias; nimi; kohteena oleva "
-"verkkotunnus; käytössä
- välitysverkkotunnus; nimi; kohde-"
-"isäntä; kohde-portti; palvelu; käytössä; tarkista vastaanottajat
"
-"
Kunkin rivin ensimmäinen elementti on pakollinen, ja sen on oltava "
-"yhtä suuri kuin jokin edellisistä arvoista.
Voit käyttää erottimena "
-"eri merkkiä.
"
+"- verkkotunnus; kiintiö; oletuspostilaatikon kiintiö; käytössä"
+"li>
- verkkotunnuksen alias; nimi; kohteena oleva verkkotunnus; "
+"käytössä
- välitysverkkotunnus; nimi; kohde-isäntä; kohde-"
+"portti; palvelu; käytössä; tarkista vastaanottajat
Kunkin "
+"rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä suuri kuin "
+"jokin edellisistä arvoista.
Voit käyttää erottimena eri merkkiä.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Lähetä CSV-tiedosto, jonka rivit ovat jossakin seuraavista muodoista: "
"- tili; kirjautumistunnus; salasana; etunimi; sukunimi; käytössä; "
"ryhmä; osoite; kiintiö; [, verkkotunnus, ...]
- alias; "
-"osoite; käytössä; vastaanottaja; vastaanottaja; ...
Kunkin"
-" rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä suuri kuin"
-" jokin edellisistä arvoista.
Voit käyttää erottimena eri merkkiä.
"
+"osoite; käytössä; vastaanottaja; vastaanottaja; ... Kunkin "
+"rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä suuri kuin "
+"jokin edellisistä arvoista.
Voit käyttää erottimena eri merkkiä.
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1540,8 +1538,8 @@ msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
msgstr ""
-"Modoboa havaitsi, että verkkotunnus %(domain)s on listattu seuraavilla "
-"DNSBL-palveluntarjoajilla:"
+"Modoboa havaitsi, että verkkotunnus %(domain)s on listattu seuraavilla DNSBL-"
+"palveluntarjoajilla:"
#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
@@ -1551,8 +1549,7 @@ msgid ""
msgstr ""
"Verkkotunnuksen maine kärsii, ja on mahdollista, että siitä tulevia "
"sähköposteja pidetään roskapostina. Sinun tulisi ottaa yhteyttä näihin "
-"palveluntarjoajiin ja pyytää heitä poistamaan havaitut IP-osoitteet "
-"listalta."
+"palveluntarjoajiin ja pyytää heitä poistamaan havaitut IP-osoitteet listalta."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -1638,7 +1635,7 @@ msgstr "Ei MX-tietuetta %s"
msgid "Alias with this name already exists"
msgstr "Alias tällä nimellä on jo olemassa"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Luo"
@@ -1718,13 +1715,13 @@ msgstr "Kaksivaiheinen tunnistus (2FA) on jo käytössä"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Vanha salasana"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "Kaksivaiheinen tunnistautuminen (2FA) ei ole käytössä"
@@ -1747,12 +1744,11 @@ msgstr "Virheellinen syntaksi"
msgid "Invalid rounds number"
msgstr "Virheellinen kierrosluku"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Tämä koodi on virheellinen"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Käytä seuraavaa koodia saadaksesi takaisin Modoboa-salasanasi: {}"
@@ -1859,8 +1855,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "LDAP-asetukset"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Palvelimen osoite"
@@ -1868,8 +1865,9 @@ msgstr "Palvelimen osoite"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "LDAP-palvelimen IP-osoite tai DNS-nimi"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Palvelimen portti"
@@ -1904,7 +1902,8 @@ msgstr "Toisen palvelimen portti"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "LDAP:n toissijaisen palvelimen käyttämä TCP-portin numero"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Käytä suojattua yhteyttä"
@@ -1926,8 +1925,8 @@ msgstr "Järjestelmänvalvojien ryhmät"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Näiden LDAP Posix -ryhmien jäsenet luodaan verkkotunnuksen "
"järjestelmänvalvojiksi. Käytä ';'-merkkejä ryhmien erottamiseen."
@@ -2086,8 +2085,7 @@ msgstr "Ota käyttöön tuonti LDAP:stä"
#: core/app_settings.py:330 core/app_settings.py:1081
msgid "Enable account synchronization from LDAP directory to local database"
msgstr ""
-"Tilien synkronoinnin käyttöönotto LDAP-hakemistosta paikalliseen "
-"tietokantaan"
+"Tilien synkronoinnin käyttöönotto LDAP-hakemistosta paikalliseen tietokantaan"
#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
@@ -2165,8 +2163,7 @@ msgstr "Ota käyttöön viestintä Modoboan julkisen API:n kanssa"
msgid "Check new versions"
msgstr "Tarkista uudet versiot"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Tarkistaa automaattisesti, onko uudempi versio saatavana"
@@ -2210,8 +2207,8 @@ msgstr "Inaktiivisen tilin kynnysarvo"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2220,8 +2217,8 @@ msgstr "Inaktiivisen tilin kynnysarvo"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Tiliä, jonka viimeisin kirjautumispäivä on suurempi kuin tämä kynnysarvo "
"(päivinä), pidetään inaktiivisena"
@@ -2302,35 +2299,31 @@ msgstr "Valitse palveluntarjoaja"
msgid "Dummy"
msgstr "Harjoitus"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Vanha salasana"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Uusi salasana"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Vanhat salasanat eivät vastaa toisiaan"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Salasanat eivät täsmää"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Ota API-yhteys käyttöön"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Tarkistuskoodi"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Virheellinen koodi"
@@ -2400,29 +2393,29 @@ msgstr "Suositeltava kieli sivujen näyttämiseen."
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Vaihtoehtoista sähköpostiosoitetta voidaan käyttää palautukseen."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Salasanan päivittäminen epäonnistui: LDAP-moduulia ei ole asennettu"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "tili"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Tuntematon"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Et voi tuoda tiliä, jonka rooli on suurempi kuin omasi"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
"Yksinkertaisella käyttäjällä '%s' on oltava voimassa oleva sähköpostiosoite"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2675,8 +2668,8 @@ msgstr "Kaksivaiheinen tunnistus"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
"Asenna soft token -autentikointiohjelma, kuten FreeOTP tai Google\n"
" Authenticator sovelluskaupasta ja käytä \n"
@@ -2774,26 +2767,22 @@ msgstr "Modoboan ydinosa"
msgid "Parameters saved"
msgstr "Tallennetut parametrit"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Salasanajärjestelmä ei vastaa toisiaan. Salasanan %s päivittäminen"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Salasanan hash-parametrit eivät täsmää. Salasanan %s päivittäminen"
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Käyttäjä '%s' kirjautui onnistuneesti sisään"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Käyttäjätunnuksesi ja salasanasi eivät täsmää. Yritä uudelleen."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Salasanajärjestelmä ei vastaa toisiaan. Salasanan %s päivittäminen"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr "Salasanan hash-parametrit eivät täsmää. Salasanan %s päivittäminen"
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Käyttäjä '{}' kirjautui onnistuneesti ulos"
@@ -3081,8 +3070,8 @@ msgstr "DNS-tietue on löydetty, mutta sen syntaksi ei ole oikein:"
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
"Tässä on esimerkki DNS-konfiguraatiosta (bind-muodossa). Korvaa [ ]:n "
"välissä olevat arvot sopivilla arvoilla."
@@ -3173,8 +3162,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3193,7 +3182,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr "Automaattinen asetusten määrittäminen"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3264,9 +3253,9 @@ msgstr "Syötä kelvollinen verkkotunnus"
msgid "Enter a valid email address."
msgstr "Syötä oikean muotoinen sähköpostiosoite."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Lähetä"
@@ -3293,8 +3282,8 @@ msgstr ""
"Ota käyttöön tai poista käytöstä järjestelmänvalvojakohtaiset rajoitukset"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Verkkotunnuksen ylläpitäjät"
@@ -3303,9 +3292,9 @@ msgid ""
"Maximum number of allowed domain administrators for a new administrator. (0 "
"to deny any creation, -1 to allow unlimited creations)"
msgstr ""
-"Uuden järjestelmänvalvojan sallittujen verkkotunnusten järjestelmänvalvojien"
-" enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman "
-"määrän luomisen)"
+"Uuden järjestelmänvalvojan sallittujen verkkotunnusten järjestelmänvalvojien "
+"enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän "
+"luomisen)"
#: limits/app_settings.py:39 limits/app_settings.py:175
msgid ""
@@ -3317,8 +3306,8 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Uuden järjestelmänvalvojan sallittujen verkkotunnusten enimmäismäärä. (0 "
"kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
@@ -3361,8 +3350,8 @@ msgstr "Ota käyttöön tai poista käytöstä verkkotunnuskohtaiset rajoitukset
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Uuden verkkotunnuksen sallittujen ylläpitäjien enimmäismäärä. (0 kieltää "
"kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
@@ -3380,13 +3369,13 @@ msgid ""
"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
msgstr ""
-"Uuden verkkotunnuksen sallittujen postilaatikoiden enimmäismäärä. (0 kieltää"
-" kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
+"Uuden verkkotunnuksen sallittujen postilaatikoiden enimmäismäärä. (0 kieltää "
+"kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)"
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
"Uuden verkkotunnuksen sallittujen aliasten enimmäismäärä. (0 kieltää kaiken "
"luomisen, -1 sallii rajoittamattoman määrän luomisen)"
@@ -3870,19 +3859,45 @@ msgstr "[modoboa] Lähetysraja saavutettu"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr "Seuraavien %(ltype)s päivittäinen raja on saavutettu: %(name)s."
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
msgstr "Tämä koodi on virheellinen"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Ei voi olla suurempi kuin verkkotunnuksen kiintiö"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3908,27 +3923,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3944,13 +3942,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4016,34 +4007,95 @@ msgstr "kohde-isännän portti"
msgid "verify recipients"
msgstr "tarkistaa vastaanottajat"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Käyttäjä '%s' on jo olemassa"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "LDAP-asetukset"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Modoboa-palvelimen IP-osoite"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Tunnistusmenetelmä"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "LDAP-todennusasetukset"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "LDAP-asetukset"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your IMAP server"
+msgstr "Modoboa-palvelimen IP-osoite"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Käytä SSL/STARTTLS-yhteyttä LDAP-palvelimen käyttämiseen"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Etsi suodatin"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message logs"
msgid "Message filters"
msgstr "Viestilokit"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4121,278 +4173,60 @@ msgstr "hylätyt viestit"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Ota käyttöön tämän aliaksen aktivointi"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "LDAP-asetukset"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Modoboa-palvelimen IP-osoite"
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Tunnistusmenetelmä"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "LDAP-todennusasetukset"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "LDAP-asetukset"
-
-#: sievefilters/forms.py:344
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your IMAP server"
-msgstr "Modoboa-palvelimen IP-osoite"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Käytä SSL/STARTTLS-yhteyttä LDAP-palvelimen käyttämiseen"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create aliases"
msgid "Trash folder"
msgstr "Luo aliaksia"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "hylätyt viestit"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create aliases"
msgid "Sent folder"
msgstr "Luo aliaksia"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create aliases"
msgid "Drafts folder"
msgstr "Luo aliaksia"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Resurssit eivät riitä"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Vahvistus"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Aktiiviset käyttäjät"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Ei määritelty"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Etsi suodatin"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Etsi suodatin"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Aktiiviset käyttäjät"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Poista tämä lupa"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Poista tämä lupa"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Poista tämä lupa"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Postilaatikon haku epäonnistui sijainnista (%s)"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Alias luotu"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "muokattu"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Tallennetut parametrit"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Alias luotu"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Alias poistettu"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "Kyllä"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Pahoittelut"
@@ -4444,15 +4278,23 @@ msgstr "Uusi verkkotunnus"
msgid "Welcome to Modoboa"
msgstr "Tervetuloa Modoboaan"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Ilmoitukset"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Muista minut"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Kirjaudu sisään"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Unohditko salasanasi?"
@@ -4465,26 +4307,30 @@ msgid ""
msgstr ""
"Salasanasi on asetettu. Voit nyt kirjautua sisään."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Vaihda salasana"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
"Salasananvaihtolinkkisi vaikuttaa vialliselta. Tilaa uusi vaihtolinkki."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Kirjoita tekstiviestillä saamasi koodi"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Lähetä koodi uudelleen"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4520,14 +4366,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Ystävällisin terveisin, Modoboa Team."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Täytä ensisijainen sähköpostiosoitteesi"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa-salasanan palautus"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Tarkistuskoodi"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Vanha salasana"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Tarkistuskoodi"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Virheellinen arvo"
@@ -4544,6 +4427,103 @@ msgstr "palvelu"
msgid "next hop"
msgstr "seuraava hyppy"
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Hakemistoa ei löydy."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "Käyttäjätunnuksesi ja salasanasi eivät täsmää. Yritä uudelleen."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Ota käyttöön tämän aliaksen aktivointi"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Vahvistus"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Aktiiviset käyttäjät"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Ei määritelty"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Etsi suodatin"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Etsi suodatin"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Aktiiviset käyttäjät"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Poista tämä lupa"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Poista tämä lupa"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Poista tämä lupa"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Postilaatikon haku epäonnistui sijainnista (%s)"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Alias luotu"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "muokattu"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Tallennetut parametrit"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Alias luotu"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Alias poistettu"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "Kyllä"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Täytä ensisijainen sähköpostiosoitteesi"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Alias tällä nimellä on jo olemassa"
diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po
index 0fac5900b..a30298ed6 100644
--- a/modoboa/locale/fr/LC_MESSAGES/django.po
+++ b/modoboa/locale/fr/LC_MESSAGES/django.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
"Last-Translator: Antoine Nguyen , 2016-2017,2020,2023\n"
"Language-Team: French (http://app.transifex.com/tonio/modoboa/language/fr/)\n"
@@ -23,7 +23,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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:42 admin/forms/domain.py:49
msgid ""
@@ -47,13 +48,13 @@ msgstr "Aucun enregistrement MX autorisé trouvé pour ce domaine"
msgid "Cannot be greater than domain quota"
msgstr "Ne peut pas être supérieur au quota du domaine"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permission refusée."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -68,41 +69,40 @@ msgstr ""
"Liste des domaines administrés (revendeurs et administrateurs de domaine "
"seulement)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Non autorisé pour ce rôle."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Doit être égale au champ full_address dans mailbox"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Ce champ est requis."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Le domaine local {} n'existe pas"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Une liste de destinataire"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "L'utilisateur '%s' existe déjà"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Vous n'avez pas accès à ce domaine."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Vous n'avez pas accès à cette boîtes aux lettres."
@@ -121,39 +121,32 @@ msgstr "L'utilisateur '%s' existe déjà"
msgid "Must be a positive integer"
msgstr "Doit être un entier positif"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Répertoire introuvable."
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr "Répertoire inaccessible en écriture"
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-"impossible de trouver openssl, veuillez vous assurer vous qu'il est "
-"installé."
+"impossible de trouver openssl, veuillez vous assurer vous qu'il est installé."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Ce champ n'autorise que des adresses IP correctes (ou des réseaux)"
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
-msgstr ""
-"Veuillez désactiver la migration IMAP avant de désactiver cette option"
+msgstr "Veuillez désactiver la migration IMAP avant de désactiver cette option"
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Définissez au moins un réseau / une adresse autorisé"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
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:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr "Statut inconnu"
@@ -195,8 +188,8 @@ msgstr "MX(s) valide(s)"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"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 "
@@ -328,7 +321,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Boîtes aux lettres"
@@ -341,12 +334,11 @@ 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"
+"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:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Quota par défaut pour une boîte aux lettres"
@@ -355,8 +347,8 @@ msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
msgstr ""
-"Quota par défaut utilisé pour les boîtes aux lettres nouvellement créés. Une"
-" valeur à 0 signifie pas de quota."
+"Quota par défaut utilisé pour les boîtes aux lettres nouvellement créés. Une "
+"valeur à 0 signifie pas de quota."
#: admin/app_settings.py:157 admin/app_settings.py:467
msgid "Default mailbox sending limit"
@@ -385,8 +377,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Création automatique de domaine/boite aux lettres"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 ""
"Créer un domaine et une boite aux lettres quand un compte est créé "
"automatiquement."
@@ -401,6 +392,10 @@ msgstr ""
"Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres "
"est renommée."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Répertoire introuvable."
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -413,26 +408,26 @@ msgstr ""
msgid "Administration"
msgstr "Administration"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domaine"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Domaine relais"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr "Ouverte"
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr "Fermée"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nom d'utilisateur"
@@ -469,11 +464,11 @@ msgstr ""
"Générer un mot de passe aléatoire. Si vous modifiez ce compte et cochez "
"cette case, un nouveau mot de passe sera généré."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Mot de passe"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Confirmation"
@@ -514,9 +509,9 @@ msgstr "Quota"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"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 "
@@ -549,8 +544,8 @@ msgid ""
"(@domain.tld)."
msgstr ""
"Alias de cette boîte aux lettres. Indiquer une adresse par champ, appuyer "
-"sur ENTREE pour ajouter un nouveau champ. Pour créer un alias 'fourre-tout',"
-" entrer seulement le nom du domaine (@domain.tld)."
+"sur ENTREE pour ajouter un nouveau champ. Pour créer un alias 'fourre-tout', "
+"entrer seulement le nom du domaine (@domain.tld)."
#: admin/forms/account.py:275
msgid "Sender addresses"
@@ -564,8 +559,8 @@ msgid ""
msgstr ""
"Adresse(s) d'envoi supplémentaire(s) pour ce compte. L'utilisateur sera "
"autorisé à envoyer des e-mails en utilisant la/les adresse(s) déclarée(s), "
-"même si elle(s) n'existe(nt) pas localement. Indiquer une adresse par champ."
-" Appuyer sur ENTREE pour ajouter un nouveau champ."
+"même si elle(s) n'existe(nt) pas localement. Indiquer une adresse par champ. "
+"Appuyer sur ENTREE pour ajouter un nouveau champ."
#: admin/forms/account.py:339 admin/forms/alias.py:95
#: admin/models/mailbox.py:308
@@ -589,7 +584,8 @@ msgstr "Domaine(s) que cet utilisateur administre"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Général"
@@ -660,8 +656,8 @@ msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
msgstr ""
-"Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE"
-" pour ajouter un nouveau champ."
+"Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE "
+"pour ajouter un nouveau champ."
#: admin/forms/domain.py:43
msgid "Key selector"
@@ -710,8 +706,7 @@ msgstr "Créer automatiquement un administrateur pour ce domaine"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nom"
@@ -781,8 +776,7 @@ msgstr "Conserver des copies locales"
#: admin/forms/forward.py:21
msgid "Forward messages and store copies into your local mailbox"
-msgstr ""
-"Transférer les messages et conserver une copie dans votre boite locale"
+msgstr "Transférer les messages et conserver une copie dans votre boite locale"
#: admin/forms/import_.py:10
msgid "Select a file"
@@ -803,8 +797,8 @@ msgstr "Chiffrer les mots de passe"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
msgstr ""
-"Cocher cette option si les mots de passe contenus dans votre fichier ne sont"
-" pas chiffrés"
+"Cocher cette option si les mots de passe contenus dans votre fichier ne sont "
+"pas chiffrés"
#: admin/handlers.py:233
#, python-format
@@ -843,42 +837,42 @@ msgstr "Vous n'êtes pas autorisé à importer des domaines"
msgid "You are not allowed to import domain aliases."
msgstr "Vous n'êtes pas autorisé à importer des alias de domaine."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Aucun enregistrement DNS trouvé pour %s."
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Aucun enregistrement %(type)s trouvé pour %(name)s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Aucun serveur de noms fonctionnel trouvé"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "Timeout de résolution DNS, impossible de requêter %s pour l'instant"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr "Le nom DNS est trop long : %s"
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Format d'adresse IP incorrect pour {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "L'objet existe déjà : %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objets importés avec succès"
@@ -900,9 +894,21 @@ msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
"Impossible de décoder le fichier CSV en utilisant l'encodage %(encoding)s"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
-msgstr "Chemin d'accès DKIM non accessible en écriture"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Failed to communicate with public API: %s"
+msgid "Failed to generate DKIM public key"
+msgstr "Impossible de communiquer avec l'API : %s"
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
@@ -1019,7 +1025,7 @@ msgid "Key length"
msgstr "Taille de la clé"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ligne invalide"
@@ -1081,9 +1087,8 @@ msgstr "{} : quota du domaine dépassé"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Fermer"
@@ -1336,10 +1341,8 @@ msgid "Warning"
msgstr "Attention"
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
-msgstr ""
-"Des clés DKIM existent déjà pour ce domaine. Voulez vous les écraser ?"
+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 ?"
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
#: lib/form_utils.py:400
@@ -1382,9 +1385,6 @@ msgstr "Statut DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Actions"
@@ -1444,7 +1444,6 @@ msgstr "Transférer automatiquement les messages vers une autre adresse"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Mettre à jour"
@@ -1471,25 +1470,25 @@ msgid ""
"use a different character as separator."
msgstr ""
"Fournir un fichier CSV dans lequel les lignes respectent un des formats "
-"suivants : - domain; name; quota; default mailbox quota; "
-"enabled
- domainalias; name; targeted domain; "
-"enabled
- relaydomain; name; target host; target port; "
-"service; enabled; verify recipients
The first element of "
-"each line is mandatory and must be equal to one of the previous values.
"
-"Vous pouvez utiliser un caractère différent comme séparateur.
"
+"suivants : - domain; name; quota; default mailbox quota; enabled"
+"em>
- domainalias; name; targeted domain; enabled
"
+"- relaydomain; name; target host; target port; service; enabled; "
+"verify recipients
The first element of each line is "
+"mandatory and must be equal to one of the previous values.
Vous "
+"pouvez utiliser un caractère différent comme séparateur.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Fournissez un fichier CSV dans lequel les lignes respectent un des formats "
-"suivants : - account; loginname; password; first name; last name;"
-" enabled; group; address; quota; [, domain, ...]
- alias; "
+"suivants :
- account; loginname; password; first name; last name; "
+"enabled; group; address; quota; [, domain, ...]
- alias; "
"address; enabled; recipient; recipient; ...
Le premier "
"élément de chaque ligne est obligatoire et doit être égal à l'une des "
"valeurs présentées.
Vous pouvez utiliser un caractère différent en "
@@ -1632,7 +1631,7 @@ msgstr "Aucun enregistrement MX trouvé pour %s"
msgid "Alias with this name already exists"
msgstr "Un alias de ce nom existe déjà"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Créer"
@@ -1716,11 +1715,11 @@ msgstr "2FA est déjà activf"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr "Tentative de connexion infructueuse depuis '%s' en tant que '%s'"
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr "Mot de passe incorrect"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "Authentification 2 facteurs non activée"
@@ -1743,16 +1742,15 @@ msgstr "Syntaxe invalide"
msgid "Invalid rounds number"
msgstr "Nombre invalide de tours"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Ce code n'est pas valide"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
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 "
-": {}"
+"Veuillez utiliser le code suivant pour récupérer votre mot de passe "
+"Modoboa : {}"
#: core/app_settings.py:44 core/app_settings.py:716
msgid "Authentication"
@@ -1789,8 +1787,7 @@ msgstr ""
#: core/app_settings.py:71 core/app_settings.py:752
msgid "Update password scheme at login"
-msgstr ""
-"Mettre à jour la méthode de chiffrement du mot de passe à la connexion"
+msgstr "Mettre à jour la méthode de chiffrement du mot de passe à la connexion"
#: core/app_settings.py:74 core/app_settings.py:755
msgid "Update user password at login to use the default password scheme"
@@ -1824,8 +1821,8 @@ msgid ""
"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 à "
+"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:104 core/app_settings.py:793
@@ -1835,8 +1832,8 @@ msgstr "Annonce pour la récupération de mot de passe"
#: core/app_settings.py:109 core/app_settings.py:795
msgid "A temporary message that will be displayed on the reset password page."
msgstr ""
-"Un message temporaire qui sera affiché sur la page de récupération de mot de"
-" passe"
+"Un message temporaire qui sera affiché sur la page de récupération de mot de "
+"passe"
#: core/app_settings.py:114 core/app_settings.py:804
msgid "Enable password recovery by SMS"
@@ -1861,8 +1858,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Paramètres LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Adresse du serveur"
@@ -1870,8 +1868,9 @@ msgstr "Adresse du serveur"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "L'adresse IP ou le nom DNS du serveur LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Port utilisé par le serveur"
@@ -1906,7 +1905,8 @@ msgstr "Port du serveur secondaire"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Le numéro du port TCP utilisé par le serveur LDAP secondaire"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Utiliser une connexion sécurisée"
@@ -1928,8 +1928,8 @@ msgstr "Groupes administrateurs"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"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 "
@@ -2004,8 +2004,8 @@ msgstr "Mot de passe de connexion"
#: core/app_settings.py:1036
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr ""
-"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de"
-" connexion')"
+"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de "
+"connexion')"
#: core/app_settings.py:247 core/app_settings.py:335 core/app_settings.py:984
#: core/app_settings.py:1089
@@ -2179,8 +2179,7 @@ msgstr "Activer la communication avec l'API publique de Modoboa"
msgid "Check new versions"
msgstr "Vérifier les nouvelles versions"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Vérifie automatiquement si une nouvelle version est disponible"
@@ -2223,8 +2222,8 @@ msgstr "Activer le suivi des comptes inactifs"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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é"
@@ -2235,8 +2234,8 @@ msgstr "Seuil des comptes inactifs"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"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"
@@ -2316,35 +2315,31 @@ msgstr "Choisir un fournisseur"
msgid "Dummy"
msgstr "Test"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr "La vérification 2FA est manquante"
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Ancien mot de passe"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nouveau mot de passe"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "L'ancien mot de passe est incorrect"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Les mots de passe diffèrent"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Activer l'accès API"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Code de vérification"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Code incorrect"
@@ -2414,29 +2409,29 @@ msgstr "Langage préféré pour afficher les pages"
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Une adresse e-mail alternative ou de secours."
-#: core/models.py:135
+#: core/models.py:136
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é"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "compte"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Inconnu"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Vous ne pouvez pas importer un compte avec un rôle supérieur au votre"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "L'utilisateur simple '%s' doit avoir une adresse email valide"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "Les champs username et email de '%s' ne doivent pas différer"
@@ -2695,8 +2690,8 @@ msgstr "Authentification à deux facteurs"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
"Installez une application d'authentification par jetons comme FreeOTP ou "
"Google Authenticator à partir de votre appstore et utilisez-la pour scanner "
@@ -2797,32 +2792,26 @@ msgstr "Le coeur de Modoboa"
msgid "Parameters saved"
msgstr "Paramètres enregistrés"
-#: core/views/auth.py:67
+#: core/views/auth.py:66
+#, python-format
+msgid "User '%s' successfully logged in"
+msgstr "Utiliseur '%s' connecté avec succès"
+
+#: core/views/auth.py:104
#, 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"
-#: core/views/auth.py:75
+#: core/views/auth.py:111
#, 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"
-#: core/views/auth.py:89
-#, python-format
-msgid "User '%s' successfully logged in"
-msgstr "Utiliseur '%s' connecté avec succès"
-
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez "
-"réessayer."
-
-#: core/views/auth.py:144
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Utilisateur '{}' déconnecté avec succès"
@@ -3090,8 +3079,8 @@ msgstr "Un enregistrement DNS a été trouvé mais sa syntaxe est incorrecte :"
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
"Voici un exemple de configuration DNS (format bind). Remplacez les valeurs "
"entre [ ] par celles appropriées."
@@ -3176,8 +3165,8 @@ msgstr "Filtre d'inclusion de dossier"
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"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 "
@@ -3195,7 +3184,7 @@ msgstr "Paramètres de filtragre OfflineIMAP"
msgid "IMAP Migration"
msgstr "Migration IMAP"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Échec de connexion au serveur IMAP : %s"
@@ -3267,9 +3256,9 @@ msgstr "Entrer un nom de domaine valide"
msgid "Enter a valid email address."
msgstr "Entrez une adresse email valide."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Soumettre"
@@ -3295,8 +3284,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Activer ou désactiver les limites par administrateur"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Admins de domaine"
@@ -3318,8 +3307,8 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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)"
@@ -3362,8 +3351,8 @@ msgstr "Activer ou désactiver les limites par domaine"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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 "
@@ -3374,8 +3363,8 @@ 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)"
+"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:114 limits/app_settings.py:272
msgid ""
@@ -3387,8 +3376,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"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)"
@@ -3435,8 +3424,7 @@ msgstr "Nombre maximal d'alias autorisés pour ce domaine."
#: limits/constants.py:102
msgid "Maximum number of domain admins allowed for this domain."
-msgstr ""
-"Nombre maximal d'administrateurs de domaine autorisés pour ce domaine."
+msgstr "Nombre maximal d'administrateurs de domaine autorisés pour ce domaine."
#: limits/forms.py:38 limits/forms.py:88
msgid "Invalid limit"
@@ -3662,8 +3650,8 @@ 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"
+"Supprimer automatiquement un document juste après son premier "
+"téléchargement depuis cette interface"
#: pdfcredentials/app_settings.py:78 pdfcredentials/app_settings.py:223
msgid "Generate documents only at account creation"
@@ -3675,8 +3663,8 @@ msgid ""
"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é."
+"défini à non, un nouveau document sera généré chaque fois qu'un mot de passe "
+"est changé."
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
@@ -3805,7 +3793,8 @@ msgid ""
"your 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"
+"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!"
@@ -3846,8 +3835,7 @@ msgstr ""
#, 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)"
+"Echec lors de la création du répertoire qui contiendra les documents PDF (%s)"
#: pdfcredentials/lib.py:81
msgid ""
@@ -3868,15 +3856,47 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr "Cette date est dépassée"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr "Doit être supérieure à la date de démarrage"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Délai d'expiration d'une réponse automatique"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Timeout en secondes entre deux réponses automatiques pour le même "
+"destinataire"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Sujet par défaut"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Sujet par défaut utilisé quand un message d'absence est créé automatiquement"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Contenu par défaut utilisé quand un message d'absence est créé "
+"automatiquement.La macro '%(name)s' sera remplacée par le nom complet de "
+"l'utilisateur."
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr "Réponses automatiques"
@@ -3893,8 +3913,8 @@ msgstr "Jusqu'à"
#: postfix_autoreply/forms.py:31
msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
msgstr ""
-"Activer votre réponse automatique jusqu'à cette date. Format : YYYY-MM-DD "
-"HH:mm:ss"
+"Activer votre réponse automatique jusqu'à cette date. Format : YYYY-MM-DD HH:"
+"mm:ss"
#: postfix_autoreply/forms.py:39
#, python-format
@@ -3907,30 +3927,10 @@ msgstr ""
"qui seront automatiquement remplacées par des valeurs appropriées : "
"%(name)s, %(fromdate)s, %(untildate)s"
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Délai d'expiration d'une réponse automatique"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-"Timeout en secondes entre deux réponses automatiques pour le même "
-"destinataire"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Sujet par défaut"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Je suis absent"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-"Sujet par défaut utilisé quand un message d'absence est créé automatiquement"
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr "Contenu par défaut"
@@ -3948,16 +3948,6 @@ msgstr ""
"Cordialement,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"Contenu par défaut utilisé quand un message d'absence est créé "
-"automatiquement.La macro '%(name)s' sera remplacée par le nom complet de "
-"l'utilisateur."
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -4019,34 +4009,99 @@ msgstr "Port de l'hôte cible"
msgid "verify recipients"
msgstr "Vérifier les destinataires"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "L'utilisateur '%s' existe déjà"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "DNS settings"
+msgid "ManageSieve settings"
+msgstr "Paramètres ManageSieve"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Adresse de votre serveur ManageSieve"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Port d'écoute de votre serveur ManageSieve"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Se connecter en utilisant STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Utiliser l'extension STARTTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Méthode d'authentification"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "Méthode d'authentification préférée"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Paramètres IMAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your IMAP server"
+msgstr "Adresse de votre serveur IMAP"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Utiliser une connexion sécurisée pour accéder au serveur IMAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your IMAP server"
+msgstr "Port d'écoute de votre serveur IMAP"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Filtres Sieve"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message logs"
msgid "Message filters"
msgstr "Filtres de messages"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Toutes les conditions suivantes"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Au moins une des conditions suivantes"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4124,287 +4179,63 @@ msgstr "Rejeter le message"
msgid "Stop processing"
msgstr "Arrêter le traitement"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Cocher pour activer ce jeu de filtres"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr "Correspondance"
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr "Nom de filtre invalide"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "DNS settings"
-msgid "ManageSieve settings"
-msgstr "Paramètres ManageSieve"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Adresse de votre serveur ManageSieve"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Port d'écoute de votre serveur ManageSieve"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Se connecter en utilisant STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Utiliser l'extension STARTTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Méthode d'authentification"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "Méthode d'authentification préférée"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Paramètres IMAP"
-
-#: sievefilters/forms.py:344
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your IMAP server"
-msgstr "Adresse de votre serveur IMAP"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Utiliser une connexion sécurisée pour accéder au serveur IMAP"
-
-#: sievefilters/forms.py:356
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your IMAP server"
-msgstr "Port d'écoute de votre serveur IMAP"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Mode de l'editeur"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Sélectionner le mode de fonctionnement de l'éditeur"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create Folders"
msgid "Trash folder"
msgstr "Dossier corbeille"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Dossier où vont les messages supprimés"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create Folders"
msgid "Sent folder"
msgstr "Dossier d'envoi"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Dossier où sont copiés les messages envoyés"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create Folders"
msgid "Drafts folder"
msgstr "Dossier brouillon"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Dossier où sont stockés les brouillons"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Impossible de récupérer le délimiteur de hierarchie"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
"La connexion au serveur ManageSieve a échoué, vérifiez votre configuration"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Pas assez d'espace sur le serveur"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Conditions"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Actif"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Aucun filtre défini."
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Jeux de filtres"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "actif"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Aucun jeu de filtres défini. Vous devez en créer un pour pouvoir définir des"
-" filtres."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Nouveau jeu de filtres"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Nouveau filtre"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Sauvegarder le jeu de filtres"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Activer le jeu de filtres"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Supprimer le jeu de filtres"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Télécharger"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Editer le filtre"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Supprimer ce filtre"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Déplacer ce filtre vers le haut"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Déplacer ce filtre vers le bas"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Impossible de récuperer le jeu de filtres"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filtre créé"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filtre modifié"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filtre supprimé"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Impossible de supprimer le filtre"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Jeu de filtres sauvegardé"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Jeu de filtres créé"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Créer un nouveau jeu de filtres"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Jeu de filtres supprimé"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Jeu de filtres activé"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "oui"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "non"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Désolé"
@@ -4454,15 +4285,23 @@ msgstr "Nouvelle admin"
msgid "Welcome to Modoboa"
msgstr "Bienvenue dans Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Notifications"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Se souvenir de moi"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Se connecter"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Mot de passe oublié ?"
@@ -4476,11 +4315,11 @@ msgstr ""
"Votre mot de passe a été défini. Vous pouvez continuer et vous connecter dès maintenant."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Changer le mot de passe"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4489,15 +4328,19 @@ msgstr ""
"parce qu'il a déjà été utilisé. Merci de demander une nouvelle "
"réinitialisation de mot de passe."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Entrez le code que vous venez de recevoir par SMS"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Envoyer de nouveau le code"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"
We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4505,9 +4348,9 @@ msgid ""
"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 "
+"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
@@ -4534,14 +4377,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Cordialement, l'équipe Modoboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Veuillez remplir votre adresse de courriel principale"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Réinitialisation du mot de passe Modoboa"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Code de vérification"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Ancien mot de passe"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Code de vérification"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Mauvaise valeur"
@@ -4558,6 +4438,155 @@ msgstr "service"
msgid "next hop"
msgstr "saut suivant"
+#~ msgid "Directory non-writable"
+#~ msgstr "Répertoire inaccessible en écriture"
+
+#~ msgid "DKIM path non-writable"
+#~ msgstr "Chemin d'accès DKIM non accessible en écriture"
+
+#~ msgid "Missing 2FA verification."
+#~ msgstr "La vérification 2FA est manquante"
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez "
+#~ "réessayer."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Cocher pour activer ce jeu de filtres"
+
+#~ msgid "Match type"
+#~ msgstr "Correspondance"
+
+#~ msgid "Wrong filter name"
+#~ msgstr "Nom de filtre invalide"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Conditions"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Actif"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Aucun filtre défini."
+
+#~ msgid "Filter sets"
+#~ msgstr "Jeux de filtres"
+
+#~ msgid "active"
+#~ msgstr "actif"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Aucun jeu de filtres défini. Vous devez en créer un pour pouvoir définir "
+#~ "des filtres."
+
+#~ msgid "New filters set"
+#~ msgstr "Nouveau jeu de filtres"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Nouveau filtre"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Sauvegarder le jeu de filtres"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Activer le jeu de filtres"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Supprimer le jeu de filtres"
+
+#~ msgid "Download"
+#~ msgstr "Télécharger"
+
+#~ msgid "Edit filter"
+#~ msgstr "Editer le filtre"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Supprimer ce filtre"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Déplacer ce filtre vers le haut"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Déplacer ce filtre vers le bas"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Impossible de récuperer le jeu de filtres"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filtre créé"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filtre modifié"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filtre supprimé"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Impossible de supprimer le filtre"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Jeu de filtres sauvegardé"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Jeu de filtres créé"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Créer un nouveau jeu de filtres"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Jeu de filtres supprimé"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Jeu de filtres activé"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "oui"
+
+#~ msgid "no"
+#~ msgstr "non"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Veuillez remplir votre adresse de courriel principale"
+
#, python-format
#~ msgid "Failed connection attempt from '%s' as user '%s'"
#~ msgstr "Tentative de connexion infructueuse depuis '%s' en tant que '%s'"
diff --git a/modoboa/locale/hu/LC_MESSAGES/django.po b/modoboa/locale/hu/LC_MESSAGES/django.po
index cfda199c3..889508e9c 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -36,13 +36,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -55,39 +55,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -106,36 +105,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -290,7 +284,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -349,6 +343,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -359,26 +357,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -411,11 +409,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -520,7 +518,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -633,8 +632,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -761,42 +759,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -815,8 +813,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -932,7 +940,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1288,9 +1296,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1350,7 +1355,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1514,7 +1518,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1594,11 +1598,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1621,11 +1625,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1722,8 +1726,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1731,8 +1736,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1765,7 +1771,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2130,35 +2137,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2228,28 +2231,28 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2578,26 +2581,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2961,7 +2960,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3029,9 +3028,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3584,15 +3583,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3616,27 +3641,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3650,13 +3658,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3718,29 +3719,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3800,219 +3848,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4062,15 +3941,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4082,25 +3967,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4128,14 +4017,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/it/LC_MESSAGES/django.po b/modoboa/locale/it/LC_MESSAGES/django.po
index d7352ef7c..66cd25721 100644
--- a/modoboa/locale/it/LC_MESSAGES/django.po
+++ b/modoboa/locale/it/LC_MESSAGES/django.po
@@ -11,10 +11,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2018-11-01 16:31+0000\n"
"Last-Translator: marcotrevisan \n"
-"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/it/)\n"
+"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/"
+"it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -44,13 +45,13 @@ msgid "Cannot be greater than domain quota"
msgstr ""
"Non può essere maggiore dello spazio massimo definito a livello di dominio"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permesso negato."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -65,41 +66,40 @@ msgstr ""
"Lista dei domini amministrati (solo per rivenditori e amministratori di "
"dominio)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Non consentito per questo ruolo."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Deve essere uguale a full_address della casella di posta"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Questo campo è obbligatorio."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Il dominio locale {} non esiste"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Una lista di destinatari"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "L'utente '%s' esiste già"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Non hai accesso a questo dominio"
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Non hai accesso a questa casella di posta."
@@ -118,40 +118,33 @@ msgstr "L'utente '%s' esiste già"
msgid "Must be a positive integer"
msgstr "Dev'essere un intero positivo"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Cartella non trovata."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Cartella non trovata."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl non trovato, assicurarsi che sia installato."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definire almeno una rete / indirizzo autorizzato"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "É necessaria una casella"
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -195,8 +188,8 @@ msgstr "MX validi"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"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. "
@@ -298,8 +291,8 @@ msgid ""
"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."
+"salvate. Assicurarsi che questa cartella sia di proprietà dell'utente root e "
+"che non sia leggibile da altri."
#: admin/app_settings.py:112 admin/app_settings.py:407
msgid "Default DKIM key length"
@@ -337,7 +330,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Caselle di posta"
@@ -353,9 +346,8 @@ msgstr ""
"Rinomina o rimuovi le caselle di posta nel filesystem quando vengono "
"rinominate o cancellate in Modoboa "
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Dimensione massima predefinita per le mailbox"
@@ -397,8 +389,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Creazione automatica del domini/casella di posta elettronica"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 ""
"Crea un dominio ed una casella di posta elettronica quando si crea un "
"account utente"
@@ -412,6 +403,10 @@ 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."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Cartella non trovata."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -428,28 +423,28 @@ msgstr ""
msgid "Administration"
msgstr "Amministrazione"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Dominio"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Dominio di relay"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Chiudi"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nome utente"
@@ -486,11 +481,11 @@ msgstr ""
"Genera una password casuale. Selezionando questa casella durante "
"l'aggioenamento dell'account, verrà generata una nuova password."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Password"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Conferma"
@@ -532,9 +527,9 @@ msgstr "Quota"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"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 "
@@ -566,9 +561,9 @@ msgid ""
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
-"Alias di questa mailbox. Indicare un solo indirizzo per inserimento, premere"
-" ENTER per effettuare un nuovo inserimento. Per creare un alias "
-"\"intercetta-tutto\", inserire semplicemente il nome dominio (@domain.tld)."
+"Alias di questa mailbox. Indicare un solo indirizzo per inserimento, premere "
+"ENTER per effettuare un nuovo inserimento. Per creare un alias \"intercetta-"
+"tutto\", inserire semplicemente il nome dominio (@domain.tld)."
#: admin/forms/account.py:275
msgid "Sender addresses"
@@ -580,9 +575,9 @@ msgid ""
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
msgstr ""
-"Indirizzo(/i) mittente aggiuntivo per questo account. L'utente potrà inviare"
-" email usando questo indirizzo/i, anche se non esiste localmente. Indicare "
-"un indirizzo per inserimento. Premere ENTER per un nuovo inserimento."
+"Indirizzo(/i) mittente aggiuntivo per questo account. L'utente potrà inviare "
+"email usando questo indirizzo/i, anche se non esiste localmente. Indicare un "
+"indirizzo per inserimento. Premere ENTER per un nuovo inserimento."
#: admin/forms/account.py:339 admin/forms/alias.py:95
#: admin/models/mailbox.py:308
@@ -606,7 +601,8 @@ msgstr "Dominio(i) amministrato(i) dall'utente"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Generale"
@@ -728,8 +724,7 @@ msgstr "Crea automaticamente un amministratore per questo dominio"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nome"
@@ -860,46 +855,46 @@ msgstr "Non hai i permessi di importare domini"
msgid "You are not allowed to import domain aliases."
msgstr "Non hai i permessi di importare gli alias dominio"
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "Nessun record DNS trovato per %s"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "Nessun record MX per %s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Nessun DNS server funzionante trovato"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-"Timeout nella risoluzione DNS del nome, problema momentaneo nell'interrogare"
-" %s "
+"Timeout nella risoluzione DNS del nome, problema momentaneo nell'interrogare "
+"%s "
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Formato di indirizzo IP non valido per {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "L'oggetto esiste già: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d oggetti importati correttamente"
@@ -919,10 +914,22 @@ msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
"Impossibile decodificare il file CSV utilizzando la codifica %(encoding)s"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Abilita la comunicazione con l'API pubblica di modoboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1043,7 +1050,7 @@ msgid "Key length"
msgstr "Lunghezza della chiave"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Riga non valida"
@@ -1113,9 +1120,8 @@ msgstr "Superato lo spazio massimo per il dominio"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Chiudi"
@@ -1377,8 +1383,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1422,9 +1427,6 @@ msgstr "Stato del DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Azioni"
@@ -1484,7 +1486,6 @@ msgstr "Inoltra automaticamente le e-mail ad un altro indirizzo"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Aggiorna"
@@ -1522,15 +1523,15 @@ msgstr ""
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Fornire un file CSV le cui linee rispettino uno dei seguenti formati: "
-"- account; nomeutente; password; nome; cognome; abilitato; gruppo;"
-" indirizzo; dimensioni massime; [, dominio, ...]
- alias; "
+"
- account; nomeutente; password; nome; cognome; abilitato; gruppo; "
+"indirizzo; dimensioni massime; [, dominio, ...]
- alias; "
"indirizzo; abilitato; destinatario; destinatario; ...
Il "
"primo elemento di ciascuna linea è obbligatorio e deve essere uguale ad uno "
"dei precedenti valori.
Si può utilizzare un diverso separatore.
"
@@ -1674,7 +1675,7 @@ msgstr "Nessun record MX per %s"
msgid "Alias with this name already exists"
msgstr "Un alias con questo nome esiste già"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Crea"
@@ -1756,13 +1757,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Vecchia password"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1785,12 +1786,11 @@ msgstr "Sintassi errata"
msgid "Invalid rounds number"
msgstr "Numero di cicli non valido"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1896,8 +1896,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Impostazioni LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Indirizzo del server"
@@ -1905,8 +1906,9 @@ msgstr "Indirizzo del server"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "L'indirizzo IP o il DNS name del server LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Porta del server"
@@ -1947,7 +1949,8 @@ msgstr "Porta del server"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Il numero della porta TCP utilizzata dal server LDAP"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Utilizza connessione sicura"
@@ -1969,8 +1972,8 @@ msgstr "Gruppi degli amministratori"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"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 "
@@ -2218,8 +2221,7 @@ msgstr "Abilita la comunicazione con l'API pubblica di modoboa"
msgid "Check new versions"
msgstr "Controlla nuove versioni"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Controlla automaticamente se è disponibile una nuova versione"
@@ -2262,8 +2264,8 @@ msgstr "Soglia account inattivo"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2272,8 +2274,8 @@ msgstr "Soglia account inattivo"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"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"
@@ -2351,37 +2353,33 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Vecchia password"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nuova password"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "La vecchia password non corrisponde"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Le password non corrispondono"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Abilita accesso API"
-#: core/forms.py:170
+#: core/forms.py:176
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "Notifiche"
-#: core/forms.py:181
+#: core/forms.py:187
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2458,28 +2456,28 @@ msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
"Un indirizzo email alternativo, da utilizzare per il recupero password."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Aggiornamento della password fallito: il modulo LDAP non è installato"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "account"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Sconosciuto"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Non puoi importare un account con un ruolo superiore al tuo"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "L'utente '%s' deve avere un indirizzo email valido"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "I campi nome utente e email di '%s' devono avere lo stesso valore"
@@ -2511,8 +2509,7 @@ msgstr[1] "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."
+"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"
@@ -2740,8 +2737,8 @@ msgstr "Il backend utilizzato per l'autenticazione"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2839,26 +2836,22 @@ msgstr "Parte centrale di Modoboa"
msgid "Parameters saved"
msgstr "Parametri salvati"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "L'utente '%s' è correttamente registrato"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Il tuo username e/o la tua password non corrispondono. Riprova."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Utente '{}' disconnesso"
@@ -3130,8 +3123,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3222,8 +3215,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3242,7 +3235,7 @@ msgstr "Impostazioni OfflineIMAP"
msgid "IMAP Migration"
msgstr "Migrazione IMAP"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Connessione al server IMAP fallita: %s"
@@ -3311,9 +3304,9 @@ msgstr "Inserisci un nome di dominio valido"
msgid "Enter a valid email address."
msgstr "Inserisci un indirizzo email valido."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Invia"
@@ -3339,8 +3332,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Abilita o disabilita i limiti per amministratore"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Amministratori di domini"
@@ -3357,13 +3350,13 @@ 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)"
+"Il numero massimo di domini per nuovi amministratori. (0 per disabilitare la "
+"creazione, -1 per permettere la creazione illimitata)"
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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)"
@@ -3406,11 +3399,11 @@ msgstr "Abilita o disabilita i limiti per dominio"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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)"
+"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:104 limits/app_settings.py:260
msgid ""
@@ -3430,8 +3423,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"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)"
@@ -3735,8 +3728,8 @@ msgid ""
"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."
+"impostato su no , un nuovo documento verrà creato ogni volta che la password "
+"viene aggiornata."
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
@@ -3775,8 +3768,8 @@ 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"
+"Includi le informazioni di connessione SMTP e IMAP richieste per configurare "
+"un client di posta, un tablet o telefono"
#: pdfcredentials/app_settings.py:133 pdfcredentials/app_settings.py:260
#: pdfcredentials/documents.py:133
@@ -3900,8 +3893,7 @@ msgstr "Credenziali PDF"
#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid ""
-#| "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Impossibile creare la cartella che conterrà i documenti PDF (%s)"
@@ -3933,19 +3925,49 @@ msgstr "%s: raggiunto il limite"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Questa data è passata"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Dev'essere successiva alla data di inizio"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Tempo massimo della risposta automatica"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Tempo massimo in secondi tra due risposte automatiche al medesimo "
+"destinatario"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Oggetto predefinito"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Oggetto predefinito utilizzato nei messaggi di risposta automatica"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Corpo del messaggio predefinito per i messaggi di risposta automatica. La "
+"macro '%(name)s' verrà sostituita con il nome dell'utente. "
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3971,29 +3993,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Tempo massimo della risposta automatica"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-"Tempo massimo in secondi tra due risposte automatiche al medesimo "
-"destinatario"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Oggetto predefinito"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Sono via"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr "Oggetto predefinito utilizzato nei messaggi di risposta automatica"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -4013,15 +4016,6 @@ msgstr ""
"Distinti saluti,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"Corpo del messaggio predefinito per i messaggi di risposta automatica. La "
-"macro '%(name)s' verrà sostituita con il nome dell'utente. "
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4087,34 +4081,93 @@ msgstr "Porta dell'host di destinazione"
msgid "verify recipients"
msgstr "Verifica destinatari"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "L'utente '%s' esiste già"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "Connection settings"
+msgid "ManageSieve settings"
+msgstr "Impostazioni ManageSieve"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "Address of your IMAP server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Indirizzo del tuo server MANAGESIEVE"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of your IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Porta di ascolto del tuo servere MANAGESIEVE"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Connetti utilizzando STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Usa l'estensione STARTTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Meccanismo di autenticazione"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Meccanismo di autenticazione preferito"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Impostazioni IMAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr "Indirizzo del server IMAP"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr "Utilizza una connessione sicura per l'accesso al server IMAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr "Porta in ascolto del server IMAP"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Filtri Sieve"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Filtri messaggi"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Tutti i seguenti"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Alcuni dei seguenti"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4190,277 +4243,57 @@ msgstr "Rifiuta il messaggio"
msgid "Stop processing"
msgstr "Termina l'elaborazione"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Seleziona per attivare questo insieme di filtri"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr "Tipo di confronto"
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Nome del filtro errato"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "Connection settings"
-msgid "ManageSieve settings"
-msgstr "Impostazioni ManageSieve"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "Address of your IMAP server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Indirizzo del tuo server MANAGESIEVE"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of your IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Porta di ascolto del tuo servere MANAGESIEVE"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Connetti utilizzando STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Usa l'estensione STARTTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Meccanismo di autenticazione"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Meccanismo di autenticazione preferito"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Impostazioni IMAP"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr "Indirizzo del server IMAP"
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr "Utilizza una connessione sicura per l'accesso al server IMAP"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr "Porta in ascolto del server IMAP"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Modo editor"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Seleziona la modalità di lavoro che desideri per l'editor"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr "Cestino"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Cartella dove finiscono i messaggi eliminati"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr "Inviati"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Cartella dove finiscono le copie dei messaggi spediti"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr "Bozze"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Cartella dove finiscono le bozze"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Impossibile recuperare il delimitatore delle gerarchie"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
"Connessione al server MANAGESIEVE fallita, controlla la tua configurazione"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Non c'è spazio sufficiente nel server"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Condizioni"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Attivo"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Non ci sono ancora filtri definiti"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Impostazioni dei filtri"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "attivo"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Non è ancora stato definito alcun gruppo di filtri. Devi crearne uno per "
-"definire dei filtri"
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Nuovo gruppo di filtri"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Nuovo filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Salva il gruppo di filtri"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Attiva gruppo di filtri"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Elimina gruppo di filtri"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Download"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Modifica filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Elimina questo filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Sposta questo filtro in alto"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Sposta questo filtro in basso "
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Recupero delle impostazioni di filtro fallito"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filtro creato"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filtro modificato"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filtro eliminato"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Rimozione del filtro fallita"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Gruppo filtri salvato"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Gruppo filtri creato"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Crea un nuovo gruppo di filtri"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Gruppo filtri eliminato"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Gruppo filtri attivato"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "si"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "no"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Spiacente"
@@ -4512,15 +4345,23 @@ msgstr "Nuovo dominio"
msgid "Welcome to Modoboa"
msgstr "Benvenuti in Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Notifiche"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Ricordami"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Registrati"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Password dimenticata?"
@@ -4531,14 +4372,13 @@ msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
msgstr ""
-"La tua password è stata impostata. Ora puoi accedere."
+"La tua password è stata impostata. Ora puoi accedere."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Cambia password"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4546,15 +4386,19 @@ msgstr ""
"Il link per il reset della password non era valido, probabilmente perché è "
"già stato uitilizzato. Richiedi un altro reset della password."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4591,14 +4435,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Cordialmente, il Team Modoboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa password reset"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "Notifiche"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Vecchia password"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verify code"
+msgstr "Notifiche"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Valore non valido"
@@ -4615,6 +4496,148 @@ msgstr "servizio"
msgid "next hop"
msgstr "prossimo salto"
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Cartella non trovata."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "Il tuo username e/o la tua password non corrispondono. Riprova."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Seleziona per attivare questo insieme di filtri"
+
+#~ msgid "Match type"
+#~ msgstr "Tipo di confronto"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Nome del filtro errato"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Condizioni"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Attivo"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Non ci sono ancora filtri definiti"
+
+#~ msgid "Filter sets"
+#~ msgstr "Impostazioni dei filtri"
+
+#~ msgid "active"
+#~ msgstr "attivo"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Non è ancora stato definito alcun gruppo di filtri. Devi crearne uno per "
+#~ "definire dei filtri"
+
+#~ msgid "New filters set"
+#~ msgstr "Nuovo gruppo di filtri"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Nuovo filtro"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Salva il gruppo di filtri"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Attiva gruppo di filtri"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Elimina gruppo di filtri"
+
+#~ msgid "Download"
+#~ msgstr "Download"
+
+#~ msgid "Edit filter"
+#~ msgstr "Modifica filtro"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Elimina questo filtro"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Sposta questo filtro in alto"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Sposta questo filtro in basso "
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Recupero delle impostazioni di filtro fallito"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filtro creato"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filtro modificato"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filtro eliminato"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Rimozione del filtro fallita"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Gruppo filtri salvato"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Gruppo filtri creato"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Crea un nuovo gruppo di filtri"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Gruppo filtri eliminato"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Gruppo filtri attivato"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "si"
+
+#~ msgid "no"
+#~ msgstr "no"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Un alias con questo nome esiste già"
diff --git a/modoboa/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/locale/ja_JP/LC_MESSAGES/django.po
index 2d3af4392..3e023c951 100644
--- a/modoboa/locale/ja_JP/LC_MESSAGES/django.po
+++ b/modoboa/locale/ja_JP/LC_MESSAGES/django.po
@@ -9,10 +9,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2016-09-14 17:06+0000\n"
"Last-Translator: Antoine Nguyen \n"
-"Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/language/ja_JP/)\n"
+"Language-Team: Japanese (Japan) (http://www.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"
@@ -28,7 +29,8 @@ msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
msgstr ""
-"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
+"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適"
+"用されます。\n"
"値が0の場合は、クォータ制限はありません。"
#: admin/api/v1/serializers.py:49
@@ -38,7 +40,8 @@ msgstr ""
#| "specified. A value of 0 means no quota."
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
msgstr ""
-"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
+"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適"
+"用されます。\n"
"値が0の場合は、クォータ制限はありません。"
#: admin/api/v1/serializers.py:97 admin/forms/domain.py:118
@@ -51,13 +54,13 @@ msgstr "このドメインに関する情報がありません。"
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "アクセス拒否"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -70,45 +73,44 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "管理しているドメインのリスト (リセーラーとドメイン管理者のみ)"
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "このロールには許可されていません"
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "メールボックス full_address に等しくなければなりません"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
#, fuzzy
#| msgid "A mailbox is required"
msgid "This field is required."
msgstr "メールボックスは必須です"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "ローカルドメイン {} は、存在しません"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "ユーザー %s はすでに存在します"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "このドメインにアクセスする権限がありません"
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
@@ -129,42 +131,33 @@ msgstr "ユーザー %s はすでに存在します"
msgid "Must be a positive integer"
msgstr "正の整数でなければいけません"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-#, fuzzy
-#| msgid "Domain not found."
-msgid "Directory not found."
-msgstr "ドメインが見つかりません"
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Domain not found."
-msgid "Directory non-writable"
-msgstr "ドメインが見つかりません"
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "メールボックスは必須です"
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown domain %s"
msgid "Unknown status"
@@ -208,8 +201,8 @@ msgstr ""
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
#: admin/app_settings.py:43 admin/app_settings.py:317
@@ -320,7 +313,8 @@ msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
msgstr ""
-"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
+"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適"
+"用されます。\n"
"値が0の場合は、クォータ制限はありません。"
#: admin/app_settings.py:128 admin/app_settings.py:426
@@ -339,7 +333,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "メールボックス"
@@ -351,11 +345,12 @@ 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:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox quota"
@@ -370,7 +365,8 @@ msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
msgstr ""
-"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
+"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適"
+"用されます。\n"
"値が0の場合は、クォータ制限はありません。"
#: admin/app_settings.py:157 admin/app_settings.py:467
@@ -398,9 +394,9 @@ msgid "Automatic domain/mailbox creation"
msgstr "ドメインとメールボックスを自動作成"
#: admin/app_settings.py:177 admin/app_settings.py:491
-msgid ""
-"Create a domain and a mailbox when an account is automatically created."
-msgstr "アカウントが自動的に作成されたとき、ドメインとメールボックを作成します。"
+msgid "Create a domain and a mailbox when an account is automatically created."
+msgstr ""
+"アカウントが自動的に作成されたとき、ドメインとメールボックを作成します。"
#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
@@ -410,6 +406,12 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+#, fuzzy
+#| msgid "Domain not found."
+msgid "Directory not found."
+msgstr "ドメインが見つかりません"
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -419,33 +421,34 @@ msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
msgstr ""
-"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
+"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適"
+"用されます。\n"
"値が0の場合は、クォータ制限はありません。"
#: admin/app_settings.py:522 admin/app_settings.py:527
msgid "Administration"
msgstr "管理"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "ドメイン"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "リレードメイン"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "ユーザ名"
@@ -455,7 +458,8 @@ msgid ""
"administrators with a mailbox."
msgstr ""
"ユーザーの名前。\n"
-"メールボックスを持つユーザーもしくは管理者の有効な電子メールアドレスでなければなりません。"
+"メールボックスを持つユーザーもしくは管理者の有効な電子メールアドレスでなけれ"
+"ばなりません。"
#: admin/forms/account.py:36 admin/templates/admin/account_detail.html:29
#: core/templates/core/information.html:37
@@ -482,11 +486,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "パスワード"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "確認"
@@ -528,13 +532,13 @@ msgstr "クォータ"
#: admin/forms/account.py:244
#, fuzzy
#| msgid ""
-#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
-#| "one. Leave empty to define an unlimited value (not allowed for domain "
-#| "administrators)."
+#| "Quota in MB for this mailbox. Define a custom value or use domain's "
+#| "default one. Leave empty to define an unlimited value (not allowed for "
+#| "domain administrators)."
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"このメールボックスのクォータ (MB)\n"
"カスタム値またはドメインのデフォルト値を定義します\n"
@@ -563,17 +567,19 @@ msgstr "エイリアス"
#: admin/forms/account.py:269
#, fuzzy
#| msgid ""
-#| "Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-#| "to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-#| "*@domain.tld)."
+#| "Alias(es) of this mailbox. Indicate only one address per input, press "
+#| "ENTER to add a new input. Use the '*' character to create a 'catchall' "
+#| "alias (ex: *@domain.tld)."
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
"メールボックスのエイリアス\n"
-"input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追加します\n"
-" 「キャッチオール」エイリアスを作成するには、 ' * '文字を使用してください (例: *@domain.tld)"
+"input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追"
+"加します\n"
+" 「キャッチオール」エイリアスを作成するには、 ' * '文字を使用してください "
+"(例: *@domain.tld)"
#: admin/forms/account.py:275
msgid "Sender addresses"
@@ -608,7 +614,8 @@ msgstr "ユーザーに管理されたドメイン"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "全般"
@@ -653,7 +660,8 @@ msgid ""
"(@domain.tld)."
msgstr ""
"エイリアスアドレス\n"
-"キャッチオールエイリアスを作成するためには、ドメイン名だけを入力します (@domain.tld)"
+"キャッチオールエイリアスを作成するためには、ドメイン名だけを入力します "
+"(@domain.tld)"
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
@@ -665,7 +673,8 @@ msgid ""
"press ENTER to add a new input."
msgstr ""
"アドレスはこのエイリアスが指し示すます。\n"
-"input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追加します"
+"input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追"
+"加します"
#: admin/forms/alias.py:119
msgid "No recipient defined"
@@ -682,7 +691,8 @@ msgid ""
"add a new input."
msgstr ""
"このドメインのエイリアス \n"
-"input ごとに1つの名前を入力して、 ENTER キーを押して、新しい input を追加します"
+"input ごとに1つの名前を入力して、 ENTER キーを押して、新しい input を追加しま"
+"す"
#: admin/forms/domain.py:43
msgid "Key selector"
@@ -697,7 +707,8 @@ msgid ""
"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
"GB. A value of 0 means no quota."
msgstr ""
-"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
+"デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適"
+"用されます。\n"
"値が0の場合は、クォータ制限はありません。"
#: admin/forms/domain.py:106 admin/handlers.py:185
@@ -735,8 +746,7 @@ msgstr "自動的にドメインの管理者を作成する"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "名前"
@@ -830,7 +840,9 @@ msgstr "パスワード暗号化"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "ファイルに含まれるパスワードが暗号化されていない場合は、このオプションをチェックしてください"
+msgstr ""
+"ファイルに含まれるパスワードが暗号化されていない場合は、このオプションを"
+"チェックしてください"
#: admin/handlers.py:233
#, python-format
@@ -869,45 +881,45 @@ msgstr "ドメインのインポートは許可されていません"
msgid "You are not allowed to import domain aliases."
msgstr "ドメインエイリアスのインポートは許可されていません"
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No information available for this domain."
msgid "No DNS record found for %s"
msgstr "このドメインに関する情報がありません。"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "No information available for this domain."
msgid "No %(type)s record for %(name)s"
msgstr "このドメインに関する情報がありません。"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '%s'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "不正なドメイン %s のクォータ値"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "オブジェクトはすでに存在します: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d オブジェクトのインポートに成功しました"
@@ -926,8 +938,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -1051,7 +1073,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "不正な行"
@@ -1119,9 +1141,8 @@ msgstr "ドメインが作成されました"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "閉じる"
@@ -1388,8 +1409,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1435,9 +1455,6 @@ msgstr "ステータス"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "アション"
@@ -1499,7 +1516,6 @@ msgstr "電子メールをほかのアドレスへ自動的に転送します"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "更新"
@@ -1524,7 +1540,8 @@ msgstr "フルネーム / 受信者"
#| " - domainalias; name; targeted domain; enabled
\n"
#| " %s\n"
#| "
\n"
-#| "The first element of each line is mandatory and must be equal to one of the previous values.
\n"
+#| "The first element of each line is mandatory and must be equal to one "
+#| "of the previous values.
\n"
#| "You can use a different character as separator.
\n"
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
@@ -1553,15 +1570,16 @@ msgstr ""
#| " - domainalias; name; targeted domain; enabled
\n"
#| " %s\n"
#| "
\n"
-#| "The first element of each line is mandatory and must be equal to one of the previous values.
\n"
+#| "The first element of each line is mandatory and must be equal to one "
+#| "of the previous values.
\n"
#| "You can use a different character as separator.
\n"
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"次のどちらかのフォーマットに従った CSV ファイルを用意してください:\n"
"\n"
@@ -1613,7 +1631,9 @@ 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 ""
@@ -1621,7 +1641,9 @@ msgid ""
"coming from it are considered as spam. You should contact those providers "
"and ask them to unlist detected IP address(es)."
msgstr ""
-"ドメインのレピュテーションが影響を受けることになりますし、それから来るメールはスパムと見なされる可能性があります。あなたは、これらのプロバイダーに連絡して、検出されたIPアドレスを登録解除してもらう必要があります。"
+"ドメインのレピュテーションが影響を受けることになりますし、それから来るメール"
+"はスパムと見なされる可能性があります。あなたは、これらのプロバイダーに連絡し"
+"て、検出されたIPアドレスを登録解除してもらう必要があります。"
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -1708,7 +1730,7 @@ msgstr "このドメインに関する情報がありません。"
msgid "Alias with this name already exists"
msgstr "このエイリアス名がすでに存在しています"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "作成"
@@ -1787,13 +1809,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "現在のパスワード"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1818,12 +1840,11 @@ msgstr "不正な構文"
msgid "Invalid rounds number"
msgstr "不正なラウンド数"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1930,8 +1951,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "LDAP 設定"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "サーバーアドレス"
@@ -1939,8 +1961,9 @@ msgstr "サーバーアドレス"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "LDAP サーバーの IP アドレス、または DNS 名"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "サーバーポート"
@@ -1981,7 +2004,8 @@ msgstr "サーバーポート"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "LDAP サーバーの TCP ポート番号"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "セキュアな接続を使う"
@@ -2005,10 +2029,11 @@ msgstr "管理者グループ"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
-"これらの LDAP の Posix グループのメンバーは、ドメイン管理者として作成されます。\n"
+"これらの LDAP の Posix グループのメンバーは、ドメイン管理者として作成されま"
+"す。\n"
"\";\" 文字を使って、複数グループを書けます。"
#: core/app_settings.py:192 core/app_settings.py:915
@@ -2079,7 +2104,8 @@ msgstr "Bind パスワード"
#: core/app_settings.py:240 core/app_settings.py:292 core/app_settings.py:974
#: core/app_settings.py:1036
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
-msgstr "(\"Bind DN\" を使って) LDAPサーバにバインドするときに使用するパスワード"
+msgstr ""
+"(\"Bind DN\" を使って) LDAPサーバにバインドするときに使用するパスワード"
#: core/app_settings.py:247 core/app_settings.py:335 core/app_settings.py:984
#: core/app_settings.py:1089
@@ -2114,7 +2140,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:276 core/app_settings.py:1017
#, fuzzy
@@ -2155,7 +2183,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:327 core/app_settings.py:1079
msgid "Enable import from LDAP"
@@ -2241,8 +2271,7 @@ msgstr ""
msgid "Check new versions"
msgstr "新しいバージョンをチェックする"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "新しいバージョンが利用可能かどうか、自動的にチェックする"
@@ -2281,8 +2310,8 @@ msgstr ""
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2291,8 +2320,8 @@ msgstr ""
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
#: core/app_settings.py:460 core/app_settings.py:1289
@@ -2325,7 +2354,9 @@ msgstr "デフォルトのリダイレクト先"
#: core/app_settings.py:482 core/app_settings.py:1319
msgid "The default redirection used when no application is specified"
-msgstr "アプリケーションが指定されていないときのデフォルトのリダイレクト先に使用されます"
+msgstr ""
+"アプリケーションが指定されていないときのデフォルトのリダイレクト先に使用され"
+"ます"
#: core/app_settings.py:830
msgid "LDAP"
@@ -2366,37 +2397,33 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "現在のパスワード"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "新しいパスワード"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "現在のパスワードが一致しません"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "パスワード不一致"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "API アクセスを有効にします"
-#: core/forms.py:170
+#: core/forms.py:176
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "通知"
-#: core/forms.py:181
+#: core/forms.py:187
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2471,28 +2498,31 @@ msgstr "ページの表示に優先言語を使う"
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "別の電子メールアドレスは、回復の必要のために使用することができます。"
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
-msgstr "パスワードの更新に失敗しました : LDAP モジュールがインストールされていません。"
+msgstr ""
+"パスワードの更新に失敗しました : LDAP モジュールがインストールされていませ"
+"ん。"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "アカウント"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "あなた以上のロールを持ったアカウントはインポートできません"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
-msgstr "ユーザー \"%s\" は、正しい電子メールアドレスを持っていなければいけません"
+msgstr ""
+"ユーザー \"%s\" は、正しい電子メールアドレスを持っていなければいけません"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "\"%s\" のユーザー名と電子メールフィールドが同一である必要があります。"
@@ -2639,7 +2669,9 @@ msgstr "1つ以上のアップデートが利用できます!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr "更新することができるコンポーネントを見つけるために以下のリストをチェックしてください。"
+msgstr ""
+"更新することができるコンポーネントを見つけるために以下のリストをチェックして"
+"ください。"
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2742,8 +2774,8 @@ msgstr "認証に使用されるバックエンド"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2840,26 +2872,22 @@ msgstr "Modoboaのコア部分"
msgid "Parameters saved"
msgstr "パラメータが保存されました"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "ユーザー \"%s\" がログインに成功しました"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "ユーザー名とパスワードが一致しません。やり直してください。"
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
#, fuzzy
#| msgid "User '%s' successfully logged in"
msgid "User '{}' successfully logged out"
@@ -3133,8 +3161,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3225,8 +3253,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3245,7 +3273,7 @@ msgstr "オフライン IMAP 設定"
msgid "IMAP Migration"
msgstr "IMAP マイグレーション"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "IMAP サーバーへの接続に失敗しました: %s"
@@ -3313,9 +3341,9 @@ msgstr "正しいドメイン名を入力してください"
msgid "Enter a valid email address."
msgstr "正しいメールアドレスを入力してください"
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "送信"
@@ -3341,8 +3369,8 @@ msgid "Enable or disable per-admin limits"
msgstr "管理者あたりの制限を有効もしくは無効にする"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "ドメイン管理者"
@@ -3350,31 +3378,41 @@ 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:39 limits/app_settings.py:175
msgid ""
"Maximum number of allowed domains for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に許可されたドメインの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
+msgstr ""
+"新しい管理者に許可されたドメインの最大数 (0は作成を拒否、-1は無制限の作成を許"
+"可)"
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に許可されたドメインエイリアスの最大数 (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:58 limits/app_settings.py:198
msgid ""
"Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
+msgstr ""
+"新しい管理者に許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の作"
+"成を許可)"
#: limits/app_settings.py:67 limits/app_settings.py:210
msgid ""
"Maximum number of allowed aliases for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しい管理者に許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
+msgstr ""
+"新しい管理者に許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を"
+"許可)"
#: limits/app_settings.py:76 limits/app_settings.py:220
msgid ""
@@ -3396,27 +3434,35 @@ msgstr "ドメインあたりの制限を有効もしくは無効にする"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
-msgstr "新しいドメインに許可されたドメイン管理者の最大数 (0は作成を拒否、-1は無制限の作成を許可)"
+"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:104 limits/app_settings.py:260
msgid ""
"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しいドメインに許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
+msgstr ""
+"新しいドメインに許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制"
+"限の作成を許可)"
#: limits/app_settings.py:114 limits/app_settings.py:272
msgid ""
"Maximum number of allowed mailboxes for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
-msgstr "新しいドメインに許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の作成を許可)"
+msgstr ""
+"新しいドメインに許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の"
+"作成を許可)"
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
-msgstr "新しいドメインに許可されたエイリアスの最大数 (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:13 limits/apps.py:17
msgid "Limits"
@@ -3697,7 +3743,9 @@ msgstr "最初のダウンロードの後にドキュメントを削除する"
msgid ""
"Automatically delete a document just after its first download from this "
"interface"
-msgstr "このインターフェースから最初にダウンロードされたあとにドキュメントを自動的に削除する"
+msgstr ""
+"このインターフェースから最初にダウンロードされたあとにドキュメントを自動的に"
+"削除する"
#: pdfcredentials/app_settings.py:78 pdfcredentials/app_settings.py:223
msgid "Generate documents only at account creation"
@@ -3709,7 +3757,8 @@ msgid ""
"new document will be created each time a password is updated."
msgstr ""
"アカウントの作成されたときだけ、新しいドキュメントを生成します。\n"
-"もし「いいえ」設定すれば、新しい文書は、パスワードが更新されるたびに作成されます。"
+"もし「いいえ」設定すれば、新しい文書は、パスワードが更新されるたびに作成され"
+"ます。"
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
@@ -3825,7 +3874,8 @@ msgstr ""
"\n"
"%s さん\n"
"\n"
-"このドキュメントには、Modoboa へ接続するための必要な認証情報が書かれています。\n"
+"このドキュメントには、Modoboa へ接続するための必要な認証情報が書かれていま"
+"す。\n"
"内容を理解したら、すみやかに廃棄してください。\n"
#: pdfcredentials/documents.py:95
@@ -3869,8 +3919,7 @@ msgstr "PDF 認証情報"
#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid ""
-#| "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "PDFドキュメントを格納するディレクトリの作成に失敗しました (%s)"
@@ -3902,17 +3951,46 @@ msgstr "%s: 制限に達しました"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "この日付は過ぎています"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr "開始日時より大きくなければいけません"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "自動応答間隔"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "同じ受信者へ自動応答する間隔 (秒)"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "デフォルトの件名"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"自動応答メッセージが自動的に作成されたときにデフォルトの件名を使用しました。"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"自動応答メッセージが作成されたときにデフォルトのコンテンツを使用しました。\n"
+"\"%(name)s\" のマクロは、ユーザーのフルネームに置き換えられます。"
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3942,27 +4020,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "自動応答間隔"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr "同じ受信者へ自動応答する間隔 (秒)"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "デフォルトの件名"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "不在"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr "自動応答メッセージが自動的に作成されたときにデフォルトの件名を使用しました。"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3983,15 +4044,6 @@ msgstr ""
"よろしくお願いします。\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"自動応答メッセージが作成されたときにデフォルトのコンテンツを使用しました。\n"
-"\"%(name)s\" のマクロは、ユーザーのフルネームに置き換えられます。"
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -4061,34 +4113,93 @@ msgstr "ターゲットホスト"
msgid "verify recipients"
msgstr "受信者を確認"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "ユーザー %s はすでに存在します"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "Connection settings"
+msgid "ManageSieve settings"
+msgstr "接続設定"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "Address of your IMAP server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "IMAP サーバーのアドレス"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of your IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "IMAP サーバーの待受ポート"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "認証方法"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "認証方法"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "LDAP 設定"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr "IMAP サーバーのアドレス"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr "IMAP サーバーへのアクセスにセキュアな接続を使う"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr "IMAP サーバーの待受ポート"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "検索フィルター"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "検索フィルター"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4164,271 +4275,56 @@ msgstr "拒否メッセージ"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "このエイリアスをアクティブにするために確認してください"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "ファイル名"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "Connection settings"
-msgid "ManageSieve settings"
-msgstr "接続設定"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "Address of your IMAP server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "IMAP サーバーのアドレス"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of your IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "IMAP サーバーの待受ポート"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "認証方法"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "認証方法"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "LDAP 設定"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr "IMAP サーバーのアドレス"
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr "IMAP サーバーへのアクセスにセキュアな接続を使う"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr "IMAP サーバーの待受ポート"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "拒否メッセージ"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "IMAP サーバーへの接続に失敗しました: %s"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "リソースが足りません"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "確認"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "アクティブユーザー"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "No recipient defined"
-msgid "No filter defined yet"
-msgstr "受信者が定義されていません"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "検索フィルター"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "検索フィルター"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "アクティブユーザー"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "このパーミッションを削除"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "このパーミッションを削除"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "このパーミッションを削除"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "メールボックスの場所の取得に失敗しました (%s)"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "エイリアスが作成されました"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "修正しました"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "パラメータが保存されました"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "エイリアスが作成されました"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "はい"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "すみません"
@@ -4480,15 +4376,23 @@ msgstr "新しいドメイン"
msgid "Welcome to Modoboa"
msgstr "Modoboa へようこそ"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "通知"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "記憶する"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "ログイン"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
#, fuzzy
#| msgid "password"
@@ -4502,27 +4406,31 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
#, fuzzy
#| msgid "New password"
msgid "Change password"
msgstr "新しいパスワード"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4550,14 +4458,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "通知"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verify code"
+msgstr "通知"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
#, fuzzy
#| msgid "Invalid line"
@@ -4576,6 +4521,99 @@ msgstr ""
msgid "next hop"
msgstr ""
+#, fuzzy
+#~| msgid "Domain not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "ドメインが見つかりません"
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "ユーザー名とパスワードが一致しません。やり直してください。"
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "このエイリアスをアクティブにするために確認してください"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "ファイル名"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "確認"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "アクティブユーザー"
+
+#, fuzzy
+#~| msgid "No recipient defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "受信者が定義されていません"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "検索フィルター"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "検索フィルター"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "アクティブユーザー"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "このパーミッションを削除"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "このパーミッションを削除"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "このパーミッションを削除"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "メールボックスの場所の取得に失敗しました (%s)"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "エイリアスが作成されました"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "修正しました"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "パラメータが保存されました"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "エイリアスが作成されました"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "はい"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "このエイリアス名がすでに存在しています"
@@ -4639,7 +4677,9 @@ msgstr ""
#~ msgstr "グループ名"
#~ msgid "Graphical statistics about emails traffic using RRDtool"
-#~ msgstr "RRDtool を使用して、電子メールトラフィックに関するグラフィカルな統計情報を表示します。"
+#~ msgstr ""
+#~ "RRDtool を使用して、電子メールトラフィックに関するグラフィカルな統計情報を"
+#~ "表示します。"
#~ msgid "Postfix's master.cf path"
#~ msgstr "Postfix の master.cf へのパス"
@@ -4675,10 +4715,12 @@ msgstr ""
#~ msgid ""
#~ "\n"
-#~ "- relaydomain; name; target host; service; enabled; verify recipients
\n"
+#~ "- relaydomain; name; target host; service; enabled; verify "
+#~ "recipients
\n"
#~ msgstr ""
#~ "\n"
-#~ "- relaydomain; name; target host; service; enabled; verify recipients
\n"
+#~ "- relaydomain; name; target host; service; enabled; verify "
+#~ "recipients
\n"
#~ msgid "Mailboxes owner"
#~ msgstr "メールボックス所有者"
@@ -4709,7 +4751,8 @@ msgstr ""
#, fuzzy
#~ msgid "Quota in MB shared between mailboxes. A value of 0 means no quota."
#~ msgstr ""
-#~ "デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに適用されます。\n"
+#~ "デフォルトのクォータ (MB) が、値を指定しないで、新しく作成されたドメインに"
+#~ "適用されます。\n"
#~ "値が0の場合は、クォータ制限はありません。"
#, fuzzy
diff --git a/modoboa/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/locale/nl_NL/LC_MESSAGES/django.po
index 6f900cc30..c18711fb9 100644
--- a/modoboa/locale/nl_NL/LC_MESSAGES/django.po
+++ b/modoboa/locale/nl_NL/LC_MESSAGES/django.po
@@ -19,10 +19,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/language/nl_NL/)\n"
+"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/"
+"language/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -49,13 +50,13 @@ msgstr "Geen geauthoriseerd MX record gevonden voor dit domein"
msgid "Cannot be greater than domain quota"
msgstr "Kan niet groter zijn dan domeinquotum"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Toegang geweigerd."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -68,41 +69,40 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "Lijst van beheerde domeinen (alleen resellers en domeinbeheerders)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Niet toegestaan voor deze rol."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Moet gelijk zijn aan de mailbox full_address"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Dit veld is verplicht."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Lokaal domein {} bestaat niet"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Lijst ontvangers."
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Gebruiker '%s' bestaat al"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Je hebt geen toegang tot dit domein."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Je hebt geen toegang tot deze mailbox."
@@ -121,38 +121,31 @@ msgstr "Gebruiker '%s' bestaat al"
msgid "Must be a positive integer"
msgstr "Dit moet een positief geheel getal zijn."
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Map niet gevonden."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Map niet gevonden."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "Openssl kan niet gevonden worden. Controleer of dit geïnstalleerd is."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Dit veld laat alleen geldige IP-adressen (of netwerken) toe"
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definieer ten minste 1 geautoriseerd netwerk / adres"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
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:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown tag {}"
msgid "Unknown status"
@@ -196,11 +189,11 @@ msgstr "Geldige MX'en"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
-"Een lijst van IP-adressen waaraan alle MX-records moeten voldoen. Er zal een"
-" waarschuwing getoond worden voor records die niet overeenkomen."
+"Een lijst van IP-adressen waaraan alle MX-records moeten voldoen. Er zal een "
+"waarschuwing getoond worden voor records die niet overeenkomen."
#: admin/app_settings.py:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
@@ -323,7 +316,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -339,9 +332,8 @@ msgstr ""
"Hernoem of verwijder mailboxen op het bestandssysteem wanner ze hernoemd of "
"verwijderd worden in Modoboa."
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Standaard mailbox quota"
@@ -379,11 +371,9 @@ msgid "Automatic domain/mailbox creation"
msgstr "Domein en mailbox automatisch aanmaken"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 ""
-"Maak een domein en mailbox aan wanneer een account automatisch is "
-"aangemaakt."
+"Maak een domein en mailbox aan wanneer een account automatisch is aangemaakt."
#: admin/app_settings.py:182 admin/app_settings.py:500
msgid "Create an alias when a mailbox is renamed"
@@ -391,8 +381,11 @@ msgstr "Maak een alias aan als een mailbox hernoemd wordt."
#: admin/app_settings.py:185 admin/app_settings.py:503
msgid "Create an alias using the old address when a mailbox is renamed."
-msgstr ""
-"Maak een alias aan voor het oude adres als een mailbox hernoemd wordt."
+msgstr "Maak een alias aan voor het oude adres als een mailbox hernoemd wordt."
+
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Map niet gevonden."
#: admin/app_settings.py:458
msgid ""
@@ -406,26 +399,26 @@ msgstr ""
msgid "Administration"
msgstr "Beheer"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domein"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Doorstuurdomein"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr "Geopend"
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr "Gesloten"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Gebruikersnaam"
@@ -462,11 +455,11 @@ msgstr ""
"Genereer een willekeurig wachtwoord. Als je dit account bijwerkt en deze "
"optie aanvinkt wordt er een nieuw wachtwoord gegenereerd."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Wachtwoord"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Bevestiging"
@@ -507,13 +500,13 @@ msgstr "Quota"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
-"Quotum voor deze mailbox; kan uitgedrukt worden in kB, MB (standaard) of GB."
-" Geef een aangepaste waarde of gebruik de standaard voor dit domein. Laat "
-"dit leeg voor een ongelimiteerde waarde (niet toegestaan voor "
+"Quotum voor deze mailbox; kan uitgedrukt worden in kB, MB (standaard) of GB. "
+"Geef een aangepaste waarde of gebruik de standaard voor dit domein. Laat dit "
+"leeg voor een ongelimiteerde waarde (niet toegestaan voor "
"domeinadministrators)."
#: admin/forms/account.py:254 admin/models/domain.py:39
@@ -542,8 +535,8 @@ msgid ""
"(@domain.tld)."
msgstr ""
"Alias(en) van deze mailbox. Geef slechts een adres per regel op, en toets "
-"ENTER om een nieuwe regel te krijgen. Om een 'catch-all'-adres te maken voer"
-" je alleen het domein in (bijvoorbeeld: @domein.tld)."
+"ENTER om een nieuwe regel te krijgen. Om een 'catch-all'-adres te maken voer "
+"je alleen het domein in (bijvoorbeeld: @domein.tld)."
#: admin/forms/account.py:275
msgid "Sender addresses"
@@ -557,8 +550,8 @@ msgid ""
msgstr ""
"Extra afzenderadres(sen) voor dit account. De gebruiker wordt toegestaan om "
"dit adres als verzender te gebruiken voor uitgaande berichten, ook al "
-"bestaat dit adres niet lokaal. Geef slechts een adres per regel op, en toets"
-" ENTER om een nieuwe regel te krijgen."
+"bestaat dit adres niet lokaal. Geef slechts een adres per regel op, en toets "
+"ENTER om een nieuwe regel te krijgen."
#: admin/forms/account.py:339 admin/forms/alias.py:95
#: admin/models/mailbox.py:308
@@ -582,7 +575,8 @@ msgstr "Domein(en) die gebruiker mag beheren"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Algemeen"
@@ -624,8 +618,8 @@ msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
-"Het alias-adres. Om een 'catch-all'-adres te maken voer je alleen het domein"
-" in (bijvoorbeeld: @domein.nl)."
+"Het alias-adres. Om een 'catch-all'-adres te maken voer je alleen het domein "
+"in (bijvoorbeeld: @domein.nl)."
#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
msgid "Recipients"
@@ -636,8 +630,8 @@ msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
msgstr ""
-"Adressen waarnaar deze alias zal verwijzen. Geef slechts een adres per regel"
-" op, en toets ENTER om een nieuwe regel te krijgen."
+"Adressen waarnaar deze alias zal verwijzen. Geef slechts een adres per regel "
+"op, en toets ENTER om een nieuwe regel te krijgen."
#: admin/forms/alias.py:119
msgid "No recipient defined"
@@ -703,8 +697,7 @@ msgstr "Automatisch een beheerder aanmaken voor dit domein"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Naam"
@@ -832,42 +825,42 @@ msgstr "Je mag geen domeinen importeren"
msgid "You are not allowed to import domain aliases."
msgstr "Je hebt geen rechten om domeinaliassen te importeren."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Geen DNS record gevonden voor %s "
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Geen %(type)s record voor %(name)s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Geen werkende nameservers gevonden"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS timeout, het was niet mogelijk om %s op te zoeken"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr "DNS naam is te lang: %s"
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Ongeldig IP-adres format voor {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Object bestaat al: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objecten succesvol geïmporteerd"
@@ -888,10 +881,22 @@ 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:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Communicatie met publieke Modoboa API toestaan"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} getoond door DNSBL provider {}"
@@ -1007,7 +1012,7 @@ msgid "Key length"
msgstr "Sleutellengte"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Onjuiste regel"
@@ -1065,9 +1070,8 @@ msgstr "{}: domeinquotum overschreden"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Sluiten"
@@ -1320,8 +1324,7 @@ msgid "Warning"
msgstr "Waarschuwing"
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr "DKIM sleutels bestaan al voor dit domein. Wil je ze overschrijven?"
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1365,9 +1368,6 @@ msgstr "DNS status"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Acties"
@@ -1427,7 +1427,6 @@ msgstr "Mail automatisch doorsturen naar een ander adres"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Toepassen"
@@ -1455,29 +1454,32 @@ msgid ""
msgstr ""
"Lever een CSV bestand en zorg ervoor dat de regels voldoen aan een van de "
"volgende formaten: - domain; name; quota; default mailbox quota; "
-"enabled
- domainalias; name; targeted domain; "
-"enabled
- relaydomain; name; target host; target port; "
-"service; enabled; verify recipients
Het eerste element "
-"van elke regel is verplicht en moet gelijk zijn aan een van de vorige "
-"waarden.
Je kan een eigen scheidingsteken gebruiken.
"
+"enabled
- domainalias; name; targeted domain; enabled"
+"li>
- relaydomain; name; target host; target port; service; enabled; "
+"verify recipients
Het eerste element van elke regel is "
+"verplicht en moet gelijk zijn aan een van de vorige waarden.
Je kan "
+"een eigen scheidingsteken gebruiken.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
-"Lever een CSV bestand en zorg ervoor dat de regels voldoen aan een van de volgende formaten:\n"
+"Lever een CSV bestand en zorg ervoor dat de regels voldoen aan een van de "
+"volgende formaten:\n"
"\n"
-"- account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...]
\n"
+"- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
\n"
"- alias; address; enabled; internal recipient
\n"
"- forward; address; enabled; external recipient
\n"
"- dlist; address; enabled; recipient; recipient; ...
\n"
"
\n"
-"Het eerste element van elke regel is verplicht en moet gelijk zijn aan een van de vorige waarden.
\n"
+"Het eerste element van elke regel is verplicht en moet gelijk zijn aan "
+"een van de vorige waarden.
\n"
"Je kan een eigen scheidingsteken gebruiken.
"
#: admin/templates/admin/importform.html:6
@@ -1529,8 +1531,8 @@ msgid ""
"coming from it are considered as spam. You should contact those providers "
"and ask them to unlist detected IP address(es)."
msgstr ""
-"De reputatie van dit domein wordt hierdoor aangetast er bestaat een kans dat"
-" e-mail van dit domein als spam wordt gezien. Je zou contact moeten opnemen "
+"De reputatie van dit domein wordt hierdoor aangetast er bestaat een kans dat "
+"e-mail van dit domein als spam wordt gezien. Je zou contact moeten opnemen "
"met deze providers en hun vragen om deze IP adressen van de lijst te halen."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1617,7 +1619,7 @@ msgstr "Geen MX record voor %s"
msgid "Alias with this name already exists"
msgstr "Een alias met deze naam bestaat al"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Aanmaken"
@@ -1699,13 +1701,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Oud wachtwoord"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1728,12 +1730,11 @@ msgstr "Ongeldige zinsbouw"
msgid "Invalid rounds number"
msgstr "Ongeldig nummer van rondes"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Gebruik de volgende code om het Modoboa wachtwoord te herstellen: {}"
@@ -1839,8 +1840,9 @@ msgstr "Kies een provider voor het sturen van een SMS voor wachtwoordherstel."
msgid "LDAP settings"
msgstr "LDAP instellingen"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Server adres"
@@ -1848,8 +1850,9 @@ msgstr "Server adres"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "Het IP-adres of de hostname van LDAP-server"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Server poort"
@@ -1883,7 +1886,8 @@ msgstr "secundaire-serverpoort"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "TCP poortnummer van de secundaire LDAP server"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -1905,8 +1909,8 @@ msgstr "Beheerdergroepen"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Leden van deze LDAP POSIX-groepen zullen aangemaakt worden als "
"domeinbeheerders. Gebruik ';' karakters om groepen te scheiden."
@@ -2030,8 +2034,7 @@ msgstr "Activeer export naar LDAP"
msgid ""
"Enable automatic synchronization between local database and LDAP directory"
msgstr ""
-"Activeer automatische synchronisatie tussen lokale database en LDAP "
-"directory"
+"Activeer automatische synchronisatie tussen lokale database en LDAP directory"
#: core/app_settings.py:308 core/app_settings.py:1056
msgid "Delete remote LDAP account when local account is deleted"
@@ -2064,8 +2067,7 @@ msgstr "Activeer import van LDAP"
#: core/app_settings.py:330 core/app_settings.py:1081
msgid "Enable account synchronization from LDAP directory to local database"
-msgstr ""
-"Activeer accountsynchronisatie van LDAP directory naar lokale database"
+msgstr "Activeer accountsynchronisatie van LDAP directory naar lokale database"
#: core/app_settings.py:354 core/app_settings.py:1111
msgid "Username attribute"
@@ -2142,8 +2144,7 @@ msgstr "Communicatie met publieke Modoboa API toestaan"
msgid "Check new versions"
msgstr "Controleer of er een nieuwe versie beschikbaar is"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Controleert automatisch of een nieuwere versie beschikbaar is"
@@ -2186,8 +2187,8 @@ msgstr "Drempelwaarde inactieve gebruikers"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2196,8 +2197,8 @@ msgstr "Drempelwaarde inactieve gebruikers"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Een gebruiker die langer dan dit aantal dagen niet ingelogd is, wordt op "
"inactief gezet."
@@ -2278,35 +2279,31 @@ msgstr "Kies een provider"
msgid "Dummy"
msgstr "Dummy"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Oud wachtwoord"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nieuw wachtwoord"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Oud wachtwoord komt niet overeen"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Wachtwoorden komen niet overeen"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Activeer API-toegang"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Verificatiecode"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Ongeldige code"
@@ -2378,28 +2375,28 @@ msgstr ""
"Een alternatief e-mailadres, dit kan gebruikt worden voor herstel "
"mogelijkheden."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Mislukt om wachtwoord aan te passen: LDAP-module niet geinstalleerd"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "account"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Onbekend"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "U kunt geen accounts importeren met hogere rechten dan die van uzelf"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "De gebruiker '%s' moet een geldig e-mailadres hebben"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "gebruikersnaam en e-mail -velden moeten niet verschillen van '%s'"
@@ -2656,8 +2653,8 @@ msgstr "De backend gebruikt voor authenticatie"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2755,28 +2752,22 @@ msgstr "Het hoofdonderdeel van Modoboa"
msgid "Parameters saved"
msgstr "Parameters opgeslagen"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Wachtwoord schema matcht niet. Updating %s wachtwoord"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Hashparameter van het wachtwoord klopt niet. Wachtwoord %s wijzigen"
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Gebruiker '%s' successvol aangemeld"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Uw gebruikersnaam en wachtwoord komen niet overeen. Probeer het alstublieft "
-"opnieuw."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Wachtwoord schema matcht niet. Updating %s wachtwoord"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr "Hashparameter van het wachtwoord klopt niet. Wachtwoord %s wijzigen"
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Gebruiker '{}' is uitgelogd."
@@ -3048,8 +3039,8 @@ msgstr "Er is een DNS-record gevonden maar de syntax is ongeldig:"
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
"Hier is een voorbeeld van een DNS-configuratie (bind format). Vervang de "
"waarden tussen [ ] door geschikte waarden."
@@ -3142,8 +3133,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3162,7 +3153,7 @@ msgstr "OfflineIMAP instellingen"
msgid "IMAP Migration"
msgstr "IMAP migratie"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Verbinding naar IMAP server mislukt: %s"
@@ -3231,9 +3222,9 @@ msgstr "Vul een geldige domeinnaam in"
msgid "Enter a valid email address."
msgstr "Vul een geldig e-mailadres in."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Versturen"
@@ -3261,8 +3252,8 @@ msgid "Enable or disable per-admin limits"
msgstr ""
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Domein administrators"
@@ -3274,8 +3265,7 @@ msgid ""
"Maximum number of allowed domain administrators for a new administrator. (0 "
"to deny any creation, -1 to allow unlimited creations)"
msgstr ""
-"Maximum aantal toegestane domein administrators voor een nieuwe "
-"administrator"
+"Maximum aantal toegestane domein administrators voor een nieuwe administrator"
#: limits/app_settings.py:39 limits/app_settings.py:175
#, fuzzy
@@ -3287,11 +3277,10 @@ msgstr "Maximum aantal toegestane domeinen voor een nieuwe administrator"
#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr "Maximum aantal domein aliassen voor een nieuwe administrator"
#: limits/app_settings.py:58 limits/app_settings.py:198
@@ -3335,16 +3324,14 @@ msgstr ""
#| msgid ""
#| "Maximum number of allowed domain administrators for a new administrator"
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
-"Maximum aantal toegestane domein administrators voor een nieuwe "
-"administrator"
+"Maximum aantal toegestane domein administrators voor een nieuwe administrator"
#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
@@ -3362,8 +3349,8 @@ msgstr "Maximum aantal toegestane mailboxen voor een nieuwe administrator"
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr "Maximum aantal aliassen voor een nieuwe administrator"
#: limits/apps.py:13 limits/apps.py:17
@@ -3667,8 +3654,8 @@ msgid ""
"new document will be created each time a password is updated."
msgstr ""
"Genereer een document enkel wanneer een account is nieuw aangemaakt. Indien "
-"'nee' is geselecteerd zal bij iedere wachtwoord wijziging een nieuw document"
-" worden gemaakt. "
+"'nee' is geselecteerd zal bij iedere wachtwoord wijziging een nieuw document "
+"worden gemaakt. "
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
@@ -3798,7 +3785,8 @@ msgid ""
"your contacts.\n"
msgstr ""
"\n"
-"Hier kunt u uw e-mails online bekijken, filters aanmaken, of contactpersonen beheren.\n"
+"Hier kunt u uw e-mails online bekijken, filters aanmaken, of contactpersonen "
+"beheren.\n"
#: pdfcredentials/documents.py:126
msgid "Please change your password!"
@@ -3830,8 +3818,7 @@ msgstr "PDF gegevens"
#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid ""
-#| "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Het aanmaken van de map voor de PDF documenten is mislukt (%s)"
@@ -3863,19 +3850,51 @@ msgstr "%s: limiet bereikt"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Deze datum is over"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Moet na de startdatum liggen"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Automatisch antwoorden timeout"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Minimale tijd in seconden tussen twee auto-antwoorden naar dezelfde afzender"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Standaard onderwerp"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Standaard onderwerp gebruikt wanneer een automatisch antwoord automatisch is "
+"aangemaakt"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Standaard inhoud gebruikt wanneer een automatisch antwoord bericht "
+"automatisch is aangemaakt. De '%(name)s' macro zal vervangen worden door de "
+"naam van de gebruiker."
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3884,8 +3903,8 @@ msgstr "Automatische antwoorden"
#: postfix_autoreply/forms.py:23
msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
msgstr ""
-"Activeer uw automatische antwoord vanaf deze datum. Formaat: JJJJ-MM-DD "
-"UU:mm:ss"
+"Activeer uw automatische antwoord vanaf deze datum. Formaat: JJJJ-MM-DD UU:"
+"mm:ss"
#: postfix_autoreply/forms.py:28
msgid "Until"
@@ -3894,8 +3913,8 @@ msgstr "Tot"
#: postfix_autoreply/forms.py:31
msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss"
msgstr ""
-"Activeer uw automatische antwoord tot deze datum. Formaat: JJJJ-MM-DD "
-"UU:mm:ss"
+"Activeer uw automatische antwoord tot deze datum. Formaat: JJJJ-MM-DD UU:mm:"
+"ss"
#: postfix_autoreply/forms.py:39
#, python-format
@@ -3905,30 +3924,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Automatisch antwoorden timeout"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-"Minimale tijd in seconden tussen twee auto-antwoorden naar dezelfde afzender"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Standaard onderwerp"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Ik ben nu niet aanwezig"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-"Standaard onderwerp gebruikt wanneer een automatisch antwoord automatisch is"
-" aangemaakt"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3948,16 +3947,6 @@ msgstr ""
"Met vriendelijke groet,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"Standaard inhoud gebruikt wanneer een automatisch antwoord bericht "
-"automatisch is aangemaakt. De '%(name)s' macro zal vervangen worden door de "
-"naam van de gebruiker."
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4030,34 +4019,93 @@ msgstr "doel host"
msgid "verify recipients"
msgstr "controleer ontvangers"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Gebruiker '%s' bestaat al"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "Connection settings"
+msgid "ManageSieve settings"
+msgstr "ManageSieve instellingen"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "Address of your IMAP server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Adres van uw MANAGESIEVE server"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of your IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Poort van uw MANAGESIEVE server"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Verbind dmv. STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Gebruik de STARTTLS extensie (aanbevolen)"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Authenticatie mechanisme"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "Geprefereerde authenticatie mechanisme"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "ManageSieve instellingen"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr "Adres van uw MANAGESIEVE server"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr "Poort van uw MANAGESIEVE server"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Sieve filters"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message logs"
msgid "Message filters"
msgstr "Berichtfilters"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Alles van de volgende"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Elke van het volgende"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4114,8 +4162,6 @@ msgid "Move message to"
msgstr "Verplaats bericht naar"
#: sievefilters/constants.py:46 sievefilters/constants.py:60
-#, fuzzy
-#| msgid "Keep local copies"
msgid "Keep local copy"
msgstr ""
@@ -4135,275 +4181,54 @@ msgstr "Bericht doorsturen naar"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Aanvinken om deze filterset te activeren"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr "Verkeerde filter naam"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "Connection settings"
-msgid "ManageSieve settings"
-msgstr "ManageSieve instellingen"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "Address of your IMAP server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Adres van uw MANAGESIEVE server"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of your IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Poort van uw MANAGESIEVE server"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Verbind dmv. STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Gebruik de STARTTLS extensie (aanbevolen)"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Authenticatie mechanisme"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "Geprefereerde authenticatie mechanisme"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "ManageSieve instellingen"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr "Adres van uw MANAGESIEVE server"
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr "Poort van uw MANAGESIEVE server"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Editor mode"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Selecteer de mode waarin u de editor wilt hebben"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
-#, fuzzy
-#| msgid "rejected messages"
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Mislukt om de filterset te te laden"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
-msgstr ""
-"Verbinding naar MANAGESIEVE server mislukt, controleer uw configuratie"
+msgstr "Verbinding naar MANAGESIEVE server mislukt, controleer uw configuratie"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Niet genoeg ruimte beschikbaar op de server"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Voorwaarden"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Actief"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Nog geen filter aangemaakt"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Filtersets"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "actief"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Nog geen filterset gedefinieerd. U moet een filterset aanmaken om filters in"
-" te kunnen stellen."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Nieuwe filterset"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Nieuw filter"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Filterset opslaan"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Filterset activeren"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Filterset verwijderen"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Download"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Filter bewerken"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Dit filter verwijderen"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Dit filter omhoogplaatsen"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Dit filter omlaagplaatsen"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Mislukt om de filterset te te laden"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filter aangemaakt"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filter aangepast"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filter verwijderd"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Mislukt om het filter te verwijderen"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Filterset opgeslagen"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Filterset aangemaakt"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Maak een nieuwe filterset aan"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Filterset verwijderd"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Filterset geactiveerd"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "ja"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "nee"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Sorry"
@@ -4455,15 +4280,23 @@ msgstr "Nieuw domein"
msgid "Welcome to Modoboa"
msgstr "Welkom bij Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Notificaties"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Onthoud mij"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Inloggen"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Wachtwoord vergeten?"
@@ -4473,13 +4306,14 @@ msgstr "Wachtwoord vergeten?"
msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
-msgstr "Je wachtwoord is ingesteld. Je kunt nu inloggen"
+msgstr ""
+"Je wachtwoord is ingesteld. Je kunt nu inloggen"
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Wachtwoord wijzigen"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4487,23 +4321,29 @@ msgstr ""
"Deze wachtwoord herstel link is ongeldig, misschien is hij al gebruikt. "
"Vraag een nieuwe wachtwoord herstel link aan."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Voer SMS code in"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Stuur de code opnieuw"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
"If you don't receive an email, please make sure you've entered your "
"primary address, and check your spam folder.
"
msgstr ""
-"We hebben je instructies gemailt om je wachtwoord in te stellen. Als het door jou ingevulde email adres bestaat, zal je hem binnenkort ontvangen
\n"
-"Als je geen email ontvangt, controleer dan of je het juiste email adres hebt ingevuld, en controleer je spam folder.
"
+"We hebben je instructies gemailt om je wachtwoord in te stellen. Als het "
+"door jou ingevulde email adres bestaat, zal je hem binnenkort ontvangen
\n"
+"Als je geen email ontvangt, controleer dan of je het juiste email adres "
+"hebt ingevuld, en controleer je spam folder.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -4529,14 +4369,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Met vriendelijke groet, Het Modoboa Team,"
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Vul uw primaire e-mailadres in"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa wachtwoord resetten."
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Verificatiecode"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Oud wachtwoord"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Verificatiecode"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
#, fuzzy
#| msgid "Invalid line"
@@ -4555,6 +4432,148 @@ msgstr ""
msgid "next hop"
msgstr ""
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Map niet gevonden."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Uw gebruikersnaam en wachtwoord komen niet overeen. Probeer het "
+#~ "alstublieft opnieuw."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Aanvinken om deze filterset te activeren"
+
+#~ msgid "Wrong filter name"
+#~ msgstr "Verkeerde filter naam"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Voorwaarden"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Actief"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Nog geen filter aangemaakt"
+
+#~ msgid "Filter sets"
+#~ msgstr "Filtersets"
+
+#~ msgid "active"
+#~ msgstr "actief"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Nog geen filterset gedefinieerd. U moet een filterset aanmaken om filters "
+#~ "in te kunnen stellen."
+
+#~ msgid "New filters set"
+#~ msgstr "Nieuwe filterset"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Nieuw filter"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Filterset opslaan"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Filterset activeren"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Filterset verwijderen"
+
+#~ msgid "Download"
+#~ msgstr "Download"
+
+#~ msgid "Edit filter"
+#~ msgstr "Filter bewerken"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Dit filter verwijderen"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Dit filter omhoogplaatsen"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Dit filter omlaagplaatsen"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Mislukt om de filterset te te laden"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filter aangemaakt"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filter aangepast"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filter verwijderd"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Mislukt om het filter te verwijderen"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Filterset opgeslagen"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Filterset aangemaakt"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Maak een nieuwe filterset aan"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Filterset verwijderd"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Filterset geactiveerd"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "ja"
+
+#~ msgid "no"
+#~ msgstr "nee"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Vul uw primaire e-mailadres in"
+
#~ msgid "An alias with this name already exists."
#~ msgstr "Een alias met deze naam bestaat al."
@@ -4613,10 +4632,12 @@ msgstr ""
#, fuzzy
#~ msgid ""
#~ "\n"
-#~ "relaydomain; name; target host; service; enabled; verify recipients\n"
+#~ "relaydomain; name; target host; service; enabled; verify "
+#~ "recipients\n"
#~ msgstr ""
#~ "\n"
-#~ "relaydomain; name; target host; service; enabled; verify recipients\n"
+#~ "relaydomain; name; target host; service; enabled; verify "
+#~ "recipients\n"
#~ "relaydomainalias; name; target; enabled\n"
#~ msgid "Your resources are not initialized yet"
diff --git a/modoboa/locale/no/LC_MESSAGES/django.po b/modoboa/locale/no/LC_MESSAGES/django.po
index 9128dece1..601e2eb6b 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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"
@@ -39,13 +39,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -58,39 +58,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -109,36 +108,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -293,7 +287,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -352,6 +346,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -362,26 +360,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -414,11 +412,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -523,7 +521,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -636,8 +635,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -764,42 +762,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -818,8 +816,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -935,7 +943,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1291,9 +1299,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1353,7 +1358,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1517,7 +1521,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1597,11 +1601,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1624,11 +1628,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1725,8 +1729,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1734,8 +1739,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1768,7 +1774,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2133,35 +2140,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2231,30 +2234,30 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "Kunne ikke oppdatere LDAP-konto: {}"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2583,26 +2586,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2966,7 +2965,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3034,9 +3033,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3591,15 +3590,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3623,27 +3648,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3657,13 +3665,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3725,29 +3726,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3807,219 +3855,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4069,15 +3948,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4089,25 +3974,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4135,14 +4024,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/locale/pl_PL/LC_MESSAGES/django.po
index 108cdcabf..dc70738d3 100644
--- a/modoboa/locale/pl_PL/LC_MESSAGES/django.po
+++ b/modoboa/locale/pl_PL/LC_MESSAGES/django.po
@@ -15,23 +15,26 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2021-07-09 07:40+0000\n"
"Last-Translator: KrystianPlichta \n"
-"Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/language/pl_PL/)\n"
+"Language-Team: Polish (Poland) (http://www.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"
-"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:42 admin/forms/domain.py:49
msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
msgstr ""
-"Miejsce dzielone między skrzynki. Może być wyrażone w KB, MB (domyślnie) lub"
-" GB. Wartość 0 oznacza brak limitu."
+"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:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
@@ -47,13 +50,13 @@ msgstr "Nie znaleziono autoryzowanych dla tej domeny rekordów MX "
msgid "Cannot be greater than domain quota"
msgstr "Nie może być wyższa niż limit domeny"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Odmowa dostępu"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -67,41 +70,40 @@ msgid ""
msgstr ""
"Lista administratorów domen (tylko resellerów i administratorów domen)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Niedozwolone dla tej roli."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Musi być równe z full_address skrzynki."
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "To pole jest wymagane"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Lokalna domena {} nie istnieje"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "Lista odbiorców"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Użytkownik '%s' już istnieje"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Nie masz dostępu do tej domeny."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Nie masz dostępu do tej skrzynki."
@@ -120,40 +122,33 @@ msgstr "Użytkownik '%s' już istnieje"
msgid "Must be a positive integer"
msgstr "Musi być liczbą całkowitą dodatnią"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Katalog nie znaleziony."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Katalog nie znaleziony."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "Brak openssl , upewnij się że jest zainstalowany."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Zdefiniuj przynajmniej jedną autoryzowaną sieć / adres"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Skrzynka jest obowiązkowa"
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -197,11 +192,11 @@ msgstr "Poprawne MXy"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"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."
+"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:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
@@ -285,8 +280,8 @@ msgid ""
"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 "
+"Ś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:112 admin/app_settings.py:407
@@ -318,14 +313,14 @@ 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."
+"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:136 admin/app_settings.py:440
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Skrzynki pocztowe"
@@ -338,12 +333,11 @@ 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"
+"Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub "
+"usuniętę przez Modoboa"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Domyślna przestrzeń dla konta pocztowego"
@@ -380,8 +374,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Automatyczne tworzenie domeny/skrzynki"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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ę gdy tworzone jest konto"
#: admin/app_settings.py:182 admin/app_settings.py:500
@@ -392,11 +385,15 @@ msgstr "Utwórz alias podczas zmiany nazwy skrzynki"
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr "Utwórz alias używając starego adresu podczas zmiany nazwy skrzynki."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Katalog nie znaleziony."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
-#| "Default mailbox quota (in MB) applied to freshly created mailboxes with no "
-#| "value specified. A value of 0 means no quota."
+#| "Default mailbox quota (in MB) applied to freshly created mailboxes with "
+#| "no value specified. A value of 0 means no quota."
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
"value specified. A value of 0 means no quota."
@@ -408,26 +405,26 @@ msgstr ""
msgid "Administration"
msgstr "Administracja"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domena"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Domena przekazująca"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr "Otwarty"
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr "Zamknięty"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nazwa użytkownika"
@@ -464,11 +461,11 @@ msgstr ""
"Wygeneruj losowe hasło. Jeśli aktualizujesz to konto i zaznaczysz te pole, "
"to zostanie wygenerowane nowe hasło."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Hasło"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Potwierdzenie"
@@ -509,9 +506,9 @@ msgstr "Limit"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Limit miejsca dla tej skrzynki. Może być wyrażony w KB, MB(domyślnie) lub "
"GB. Podaj własną wartość lub użyj domyślnej wartości domeny. Brak limitu "
@@ -557,9 +554,9 @@ msgid ""
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
msgstr ""
-"Dodatkowe adresy nadawcy dla tego konta. Użytkownik będzie mógł tych adresów"
-" podczas wysyłania wiadomości, nawet jeśli taki nie istnieje lokalnie. Podaj"
-" jeden adres w polu. Naciśnij ENTER aby dodać nowe pole."
+"Dodatkowe adresy nadawcy dla tego konta. Użytkownik będzie mógł tych adresów "
+"podczas wysyłania wiadomości, nawet jeśli taki nie istnieje lokalnie. Podaj "
+"jeden adres w polu. Naciśnij ENTER aby dodać nowe pole."
#: admin/forms/account.py:339 admin/forms/alias.py:95
#: admin/models/mailbox.py:308
@@ -583,7 +580,8 @@ msgstr "Domena(y), którmi zarządza użytkownik"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Ogólne"
@@ -703,8 +701,7 @@ msgstr "Automatycznie utwórz administratora dla tej domeny"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nazwa"
@@ -833,44 +830,44 @@ msgstr "Nie masz uprawnień do importowania domen"
msgid "You are not allowed to import domain aliases."
msgstr "Nie masz uprawnień do importowania aliasów."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Nie znaleziono rekordu DNS dla %s"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Brak %(type)s zapisów dla %(name)s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Znaleziono nie działające serwery nazw"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-"Upłynąć czas na rozwiązanie nazwy w DNS, w tym momencie nie potrafię odpytać"
-" %s"
+"Upłynąć czas na rozwiązanie nazwy w DNS, w tym momencie nie potrafię odpytać "
+"%s"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Nieprawidłowy format adresu IP dla {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Obiekt %s już istnieje"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "Zaimportowano %d obiektów z sukcesem"
@@ -889,10 +886,22 @@ 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:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Włącz komunikację z publicznym API Modoboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} wymienione przez dostawcę DNSBL {}"
@@ -1002,15 +1011,15 @@ msgstr "Włącz podpisywanie DKIM"
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"
+"Jeśli włączysz tą funkcjonalność, dla tej domeny zostanie wygenerowany klucz "
+"DKIM"
#: admin/models/domain.py:70
msgid "Key length"
msgstr "Długość klucza"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Niepoprawna linia"
@@ -1079,9 +1088,8 @@ msgstr "Przekroczono limit przydziału"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Zamknij"
@@ -1336,8 +1344,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1381,9 +1388,6 @@ msgstr "Status DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Akcje"
@@ -1443,7 +1447,6 @@ msgstr "Automatycznie przekazuj wiadomości do do innych odbiorców"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Zaktualizuj"
@@ -1470,28 +1473,33 @@ msgid ""
"use a different character as separator."
msgstr ""
"Przygotuj plik CSV gdzie linie są nastepującego formatu:\n"
-" - domain; nazwa; quota; domyślna quota skrzynki; enabled
\n"
+" - domain; nazwa; quota; domyślna quota skrzynki; enabled"
+"li> \n"
"
- domainalias; nazwa; docelowa domena; enabled
\n"
-"- relaydomain; nazwa; docelowy host; docelowy port; service; enabled; verify recipients
\n"
+"- relaydomain; nazwa; docelowy host; docelowy port; service; enabled; "
+"verify recipients
\n"
"\n"
-"Pierwszy element każdej linii jest obowiązkowy i musi być zawierać jedną z powyższych wartości.
\n"
+"Pierwszy element każdej linii jest obowiązkowy i musi być zawierać jedną "
+"z powyższych wartości.
\n"
"Możesz użyc różnych znaków jako separatora pól.
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Przygotuj plik CSV gdzie linie są następującego formatu:\n"
" \n"
-"- konto; login; hasło; imię; nazwisko; enabled; grupa; addres; quota; [, domena, ...]
\n"
+"- konto; login; hasło; imię; nazwisko; enabled; grupa; addres; quota; "
+"[, domena, ...]
\n"
"- alias; addres; enabled; recipient; recipient; ...
\n"
"
\n"
-"Pierwszy element każdej linii jest obowiązkowy i musi być zawierać jedną z powyższych wartości.
\n"
+"Pierwszy element każdej linii jest obowiązkowy i musi być zawierać jedną "
+"z powyższych wartości.
\n"
"Możesz użyć różnych znaków jako separatora pól."
#: admin/templates/admin/importform.html:6
@@ -1520,8 +1528,7 @@ msgstr "Zaktualizowane"
#: admin/templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
-msgstr ""
-"Ten IP nie pasuje do żadnego poprawnego MX'a określonego w parametrach"
+msgstr "Ten IP nie pasuje do żadnego poprawnego MX'a określonego w parametrach"
#: admin/templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
@@ -1629,7 +1636,7 @@ msgstr "Brak wpisów MX dla %s"
msgid "Alias with this name already exists"
msgstr "Alias z taką nazwą już istnieje"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Utwórz"
@@ -1715,13 +1722,13 @@ msgstr "2FA jest już włączone"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Stare hasło"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "2FA nie jest włączone"
@@ -1744,12 +1751,11 @@ msgstr "Nieprawidłowa składnia"
msgid "Invalid rounds number"
msgstr "Nieprawidłowa liczba rund"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Ten kod jest nieprawidłowy"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Proszę użyć następującego kodu, aby odzyskać hasło Modoboa: {}"
@@ -1857,8 +1863,9 @@ msgstr "Wybierz dostawcę, aby wysłać SMS odzyskiwania hasła Dostawca SMS"
msgid "LDAP settings"
msgstr "Ustawienia LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Adres serwera"
@@ -1866,8 +1873,9 @@ msgstr "Adres serwera"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP lub nazwa DNS serwera LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Port serwera"
@@ -1902,7 +1910,8 @@ msgstr "Port na serwerze dodatkowym"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Numer portu TCP używanego przez dodatkowy serwer LDAP"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Użyj bezpiecznego polączenia"
@@ -1924,11 +1933,11 @@ msgstr "Administrator grup"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"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."
+"Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny. "
+"Użyj znaku ';' jako separatora grup."
#: core/app_settings.py:192 core/app_settings.py:915
msgid "Group type"
@@ -2044,8 +2053,7 @@ msgstr "Włącz export do LDAP"
#: core/app_settings.py:302 core/app_settings.py:1047
msgid ""
"Enable automatic synchronization between local database and LDAP directory"
-msgstr ""
-"Włącz automatyczną synchronizację lokalnej bazy danych i katalogu LDAP"
+msgstr "Włącz automatyczną synchronizację lokalnej bazy danych i katalogu LDAP"
#: core/app_settings.py:308 core/app_settings.py:1056
msgid "Delete remote LDAP account when local account is deleted"
@@ -2056,8 +2064,8 @@ 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."
+"Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne, w innym "
+"przypadku zostanie ono wyłączone."
#: core/app_settings.py:317 core/app_settings.py:1068
msgid "Account DN template"
@@ -2069,8 +2077,8 @@ 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)"
+"Szablon używany do budowy DN konta. Powinien zawierać jeden placeholder (ie. "
+"%(user)s)"
#: core/app_settings.py:327 core/app_settings.py:1079
msgid "Enable import from LDAP"
@@ -2095,8 +2103,7 @@ msgstr "Włącz synchronizację Dovecot LDAP"
#: core/app_settings.py:365 core/app_settings.py:1124
msgid "LDAP authentication settings will be applied to Dovecot configuration."
msgstr ""
-"Ustawienia uwierzytelniania LDAP zostaną zastosowane do konfiguracji "
-"Dovecot."
+"Ustawienia uwierzytelniania LDAP zostaną zastosowane do konfiguracji Dovecot."
#: core/app_settings.py:370 core/app_settings.py:1132
msgid "Dovecot LDAP config file"
@@ -2158,8 +2165,7 @@ msgstr "Włącz komunikację z publicznym API Modoboa"
msgid "Check new versions"
msgstr "Sprawdź nowe wersje"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Automatycznie sprawdzaj czy nowa wersja jest dostępna"
@@ -2187,8 +2193,7 @@ msgstr "Wyślij statystyki"
#: core/app_settings.py:434 core/app_settings.py:1246
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-"Prześlij statystyki do publicznego API Modoboa (licznik i użyte "
-"rozszerzenia)"
+"Prześlij statystyki do publicznego API Modoboa (licznik i użyte rozszerzenia)"
#: core/app_settings.py:438 core/app_settings.py:1258
msgid "Miscellaneous"
@@ -2202,8 +2207,8 @@ msgstr "Próg nieaktywności konta"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2212,8 +2217,8 @@ msgstr "Próg nieaktywności konta"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"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. "
@@ -2292,35 +2297,31 @@ msgstr "Wybierz usługodawcę"
msgid "Dummy"
msgstr "Atrapa"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Stare hasło"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nowe hasło"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Niezgodność ze starym gasłem"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Niezgodność haseł"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Włądze dostęp API"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Kod weryfikacyjny"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Nieprawidłowy kod"
@@ -2390,28 +2391,28 @@ msgstr "Preferowany język"
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Alternatywny email, może zostać użyty do odzyskania hasła"
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Nieudana zmiana hasła: moduł LDAP nie został zainstalowany"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "konto"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Nieznany"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Nie możesz zaimportować konta z rolą wyższą od własnej"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Prosty uzytkownik '%s' musi posiadać prawidłowy adres email"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "pola nazwa użytkownika i email nie mogą się różnić dla '%s'"
@@ -2571,8 +2572,7 @@ msgstr "Aktualizacje są dostępne!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
msgstr ""
-"Sprawdź poniższą listę, aby znaleźć komponenty, które mogą być "
-"aktualizowane."
+"Sprawdź poniższą listę, aby znaleźć komponenty, które mogą być aktualizowane."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -2678,8 +2678,8 @@ msgstr "Uwierzytelnianie dwuskładnikowe"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
"Zainstaluj aplikację uwierzytelniającą soft token, taką jak FreeOTP lub "
"Google Authenticator z repozytorium aplikacji i użyj jej do zeskanowania "
@@ -2710,8 +2710,8 @@ msgid ""
msgstr ""
"Poniższe kody odzyskiwania można użyć jednorazowo, aby odzyskać dostęp do "
"swojego konta, na przykład w przypadku utraty telefonu. Upewnij się, że "
-"zapisałeś je w bezpiecznym miejscu, w przeciwnym razie nie będziesz miał już"
-" dostępu do swojego konta."
+"zapisałeś je w bezpiecznym miejscu, w przeciwnym razie nie będziesz miał już "
+"dostępu do swojego konta."
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
@@ -2780,26 +2780,22 @@ msgstr "Zasadnicza część Modoboa"
msgid "Parameters saved"
msgstr "Parametry zapisano"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Użytkownik '%s' pomyślnie zalogowany"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Twoja nazwa użytkownika i hasło są niepoprawne. Spróbuj ponownie"
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Użytkownik '{}' wylogowany pomyślnie"
@@ -3087,8 +3083,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3177,8 +3173,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3195,7 +3191,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Błąd połączenia do serwera IMAP: %s"
@@ -3266,9 +3262,9 @@ msgstr "Wprowadź prawidłową nazwę domeny"
msgid "Enter a valid email address."
msgstr "Wprowadź prawidłowy adres email"
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Temat"
@@ -3294,8 +3290,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Włącz lub wyłącz limity na admina"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Administratorzy domeny"
@@ -3304,21 +3300,21 @@ 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ść)"
+"Maksymalna dozwolona liczba administratorów domen dla nowego administratora. "
+"(0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
#: limits/app_settings.py:39 limits/app_settings.py:175
msgid ""
"Maximum number of allowed domains for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
msgstr ""
-"Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie"
-" niedozwolone, -1 nielimitowana ilość)"
+"Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie "
+"niedozwolone, -1 nielimitowana ilość)"
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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ść)"
@@ -3361,8 +3357,8 @@ msgstr "Włącz lub wyłącz limity na domenę"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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)"
@@ -3385,8 +3381,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"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ść)"
@@ -3664,8 +3660,7 @@ msgid ""
"Automatically delete a document just after its first download from this "
"interface"
msgstr ""
-"Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten "
-"interfejs"
+"Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten interfejs"
#: pdfcredentials/app_settings.py:78 pdfcredentials/app_settings.py:223
msgid "Generate documents only at account creation"
@@ -3677,8 +3672,7 @@ msgid ""
"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."
+"ustawione na nie, to nowy dokument będzie tworzony przy każdej zmianie hasła."
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
@@ -3792,7 +3786,9 @@ msgid ""
"the document as soon as possible.\n"
msgstr ""
"\n"
-"Drogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które będzeisz potrzebował to połączenia się. Zapoznaj się z nim i usuń go najszybciej jak to możliwe.\n"
+"Drogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które "
+"będzeisz potrzebował to połączenia się. Zapoznaj się z nim i usuń go "
+"najszybciej jak to możliwe.\n"
#: pdfcredentials/documents.py:95
msgid "Web panel:"
@@ -3805,7 +3801,8 @@ msgid ""
"your contacts.\n"
msgstr ""
"\n"
-"Pod tym adresem możesz online przeczytać swoje wiadomości, stworzyć filtry lub zarządzać\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
@@ -3838,8 +3835,7 @@ msgstr "Poświadczenia PDF"
#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid ""
-#| "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Nie można utworzyć katalogu do przechowywania PDF'ów (%s)"
@@ -3871,19 +3867,48 @@ msgstr "Osiągnięto limit: %s"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
msgstr "Data z przeszłości"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Musi być większa niż data początkowa"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Automatyczny limit czasu odpowiedzi"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Limit w sek. pomiędzie dwiema auto-odpowiedziami dla tego samego odbiorcy"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Domyślny temat"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Domyślny temat używany dla automatycznych autoodpowiedzi"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Domyślna zawartość dla automatycznych auto-odpowiedzi. Macro '%(name)s' "
+"zostanie zastąpione przez pełną nazwę użytkownika."
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3912,28 +3937,10 @@ msgstr ""
"zostaną automatycznie zastąpione odpowiednią wartością: %(name)s, "
"%(fromdate)s, %(untildate)s"
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Automatyczny limit czasu odpowiedzi"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-"Limit w sek. pomiędzie dwiema auto-odpowiedziami dla tego samego odbiorcy"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Domyślny temat"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Jestem niedostępny"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr "Domyślny temat używany dla automatycznych autoodpowiedzi"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3953,15 +3960,6 @@ msgstr ""
"Pozdrawiam,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"Domyślna zawartość dla automatycznych auto-odpowiedzi. Macro '%(name)s' "
-"zostanie zastąpione przez pełną nazwę użytkownika."
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4029,34 +4027,97 @@ msgstr "docelowy port hosta"
msgid "verify recipients"
msgstr "sprawdź odbiorców"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Użytkownik '%s' już istnieje"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "Ustawienia ManageSieve"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr "Addres twojego serwera MANAGESIEVE"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Port twojego serwera MANAGESIEVE"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Połącz używając STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Użyj rozszerzenia STARTTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Mechanizm autentykacji"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "Preferowany mechanizm uwierzytelnienia"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Ustawienia IMAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+#, fuzzy
+#| msgid "Address of the IMAP server (hostname or IP)"
+msgid "Address of your IMAP server"
+msgstr "Adres serwera IMAP"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Użyj bezpiecznego połączenia do serwera IMAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your IMAP server"
+msgstr "Port, na którym nasłuchuje twój serwer IMAP"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Filtry Sieve"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message logs"
msgid "Message filters"
msgstr "Filtry wiadomości"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Wszystkie poniższe"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Żadne z poniższych"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4132,280 +4193,60 @@ msgstr "Odrzuć wiadomość"
msgid "Stop processing"
msgstr "Zatrzymaj przetwarzanie"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Zaznacz aby uruchomić ten zestaw filtrów"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr "Typ dopasowania"
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr "Zła nazwa filtru"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "Ustawienia ManageSieve"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr "Addres twojego serwera MANAGESIEVE"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Port twojego serwera MANAGESIEVE"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Połącz używając STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Użyj rozszerzenia STARTTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Mechanizm autentykacji"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "Preferowany mechanizm uwierzytelnienia"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Ustawienia IMAP"
-
-#: sievefilters/forms.py:344
-#, fuzzy
-#| msgid "Address of the IMAP server (hostname or IP)"
-msgid "Address of your IMAP server"
-msgstr "Adres serwera IMAP"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Użyj bezpiecznego połączenia do serwera IMAP"
-
-#: sievefilters/forms.py:356
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your IMAP server"
-msgstr "Port, na którym nasłuchuje twój serwer IMAP"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Tryb edycji"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Wybierz tryb w jakim ma działać edytor"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create aliases"
msgid "Trash folder"
msgstr "Folder kosza"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Folder, do którego trafiają usunięte wiadomości"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create aliases"
msgid "Sent folder"
msgstr "Folder wysłane"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Folder, do którego trafiają kopie wysłanych wiadomości"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create aliases"
msgid "Drafts folder"
msgstr "Folder kopie robocze"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Folder, do którego trafiają kopie robocze"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Nie udało się rozpoznać hierarchii separatora"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Błąd połączenia do serwera MANAGESIEVE: %s, sprawdź konfigurację"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Brak miejsca na serwerze"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Warunki"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Aktywne"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Brak zdefiniowanych filtrów"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Zestaw filtrów"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "aktywny"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr "Nie zdefiniowano zestawu filtrów. Musisz utworzyć przynajmniej jeden."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Nowy zestaw filtrów"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Nowy filter"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Zapisz zestaw filtrów"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Uruchom zestaw filtrów"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Usuń zestaw filtrów"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Pobierz"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Edytuj filtr"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Usuń ten filtr"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Przenieś ten filtr wyżej"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Przenieś ten filtr niżej"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Nie udało się pobrać zestawu filtrów"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filtr utworzony"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filtr zmodyfikowano"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filtr usunięto"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Nie udało się usunąć filtru"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Zestaw filtrów zapisano"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Zestaw filtrów utworzono"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Utwórz nowy zestaw filtrów"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Filtry skasowano"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Filtry usunięto"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "tak"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "nie"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Przepraszam"
@@ -4457,15 +4298,23 @@ msgstr "Nowa domena"
msgid "Welcome to Modoboa"
msgstr "Witamy w Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Powiadomienia"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Zapamiętaj mnie"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Zaloguj"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Zapomniane hasło?"
@@ -4479,11 +4328,11 @@ msgstr ""
"Twoje hasło zostało zapisane. Teraz możesz się zalogować."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Zmień hasło"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4491,15 +4340,19 @@ msgstr ""
"Link resetowania hasła jest niepoprawny, być może został już użyty. Wykonaj "
"nowy reset hasła. "
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Wpisz kod, który właśnie otrzymałeś SMS-em"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Ponowne wysłanie kodu"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"
We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4535,14 +4388,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Z poważaniem, Zespół Modoboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Proszę wpisać swój główny adres e-mail"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Resetowanie hasła Modoboa"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Kod weryfikacyjny"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Stare 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Kod weryfikacyjny"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Zła wartość"
@@ -4559,12 +4449,155 @@ msgstr "usługa"
msgid "next hop"
msgstr "następny krok"
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Katalog nie znaleziony."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "Twoja nazwa użytkownika i hasło są niepoprawne. Spróbuj ponownie"
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Zaznacz aby uruchomić ten zestaw filtrów"
+
+#~ msgid "Match type"
+#~ msgstr "Typ dopasowania"
+
+#~ msgid "Wrong filter name"
+#~ msgstr "Zła nazwa filtru"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Warunki"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Aktywne"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Brak zdefiniowanych filtrów"
+
+#~ msgid "Filter sets"
+#~ msgstr "Zestaw filtrów"
+
+#~ msgid "active"
+#~ msgstr "aktywny"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Nie zdefiniowano zestawu filtrów. Musisz utworzyć przynajmniej jeden."
+
+#~ msgid "New filters set"
+#~ msgstr "Nowy zestaw filtrów"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Nowy filter"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Zapisz zestaw filtrów"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Uruchom zestaw filtrów"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Usuń zestaw filtrów"
+
+#~ msgid "Download"
+#~ msgstr "Pobierz"
+
+#~ msgid "Edit filter"
+#~ msgstr "Edytuj filtr"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Usuń ten filtr"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Przenieś ten filtr wyżej"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Przenieś ten filtr niżej"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Nie udało się pobrać zestawu filtrów"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filtr utworzony"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filtr zmodyfikowano"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filtr usunięto"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Nie udało się usunąć filtru"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Zestaw filtrów zapisano"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Zestaw filtrów utworzono"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Utwórz nowy zestaw filtrów"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Filtry skasowano"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Filtry usunięto"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "tak"
+
+#~ msgid "no"
+#~ msgstr "nie"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Proszę wpisać swój główny adres e-mail"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Alias z taką nazwą już istnieje"
#~ msgid "Generate PDF documents containing users' credentials"
-#~ msgstr "Generuj dokumenty PDF zawierające dane uwierzytelniające użytkowników"
+#~ msgstr ""
+#~ "Generuj dokumenty PDF zawierające dane uwierzytelniające użytkowników"
#~ msgid "Graphical statistics about emails traffic using RRDtool"
#~ msgstr "Graficzne statystyki wiadomości z wykorzystaniem "
diff --git a/modoboa/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
index cefc5fbda..ac10f804b 100644
--- a/modoboa/locale/pt_BR/LC_MESSAGES/django.po
+++ b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
@@ -21,10 +21,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
-"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/language/pt_BR/)\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/"
+"language/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -56,13 +57,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr "Não pode ser maior do que a cota de domínio"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permissão negada."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -77,41 +78,40 @@ msgstr ""
"Lista dos domínios administrados (somente revendedores e administradores de "
"domínio)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Não permitido para este perfil."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Deve ser igual ao endereço completo da conta"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Este campo é obrigatório."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Domínio local {} não existe"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "O usuário '%s' já existe"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -130,40 +130,33 @@ msgstr "O usuário '%s' já existe"
msgid "Must be a positive integer"
msgstr "Deve ser um inteiro positivo"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Diretório não encontrado."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Diretório não encontrado."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl não encontrado, por favor, verifique se ele está instalado."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Defina pelo menos uma rede ou endereço autorizado"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "Um caixa de mensagens é obrigatória"
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -207,8 +200,8 @@ msgstr "MXs válidos"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
"Uma lista de IP ou endereços de rede devem ser compatíveis com todas as "
"entradas MX. Um a será enviado caso alguma entrada não respeitar isso."
@@ -349,7 +342,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Caixas de correio"
@@ -365,9 +358,8 @@ msgstr ""
"Renomeia ou remove caixas de mensagens do sistema de arquivos quando elas "
"são renomeadas ou removidas dentro do Modoboa"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Cota padrão da caixa de correio"
@@ -409,8 +401,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Criação automática de domínio/caixa de correio"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 ""
"Criar um domínio e uma caixa de correio quando uma conta é automaticamente "
"criada."
@@ -425,6 +416,10 @@ msgstr ""
"Crie um alias usando o endereço antigo quando uma caixa de correio for "
"renomeada."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Diretório não encontrado."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -441,28 +436,28 @@ msgstr ""
msgid "Administration"
msgstr "Administração"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domínio"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Domínio de relay"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Fechar"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nome de usuário"
@@ -499,11 +494,11 @@ msgstr ""
"Gerar uma senha aleatória. Se você estiver atualizando esta conta e marcar "
"essa opção, uma nova senha será gerada."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Senha"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Confirmação"
@@ -545,13 +540,13 @@ msgstr "Cota"
#: admin/forms/account.py:244
#, fuzzy
#| msgid ""
-#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
-#| "one. Leave empty to define an unlimited value (not allowed for domain "
-#| "administrators)."
+#| "Quota in MB for this mailbox. Define a custom value or use domain's "
+#| "default one. Leave empty to define an unlimited value (not allowed for "
+#| "domain administrators)."
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Cota em MB para esta caixa de mensagens. Defina um valor customizado ou use "
"o padrão do domínio. Deixe em branco para definir um valor ilimitado (não "
@@ -623,7 +618,8 @@ msgstr "Domínio(s) que o usuário administra"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Geral"
@@ -747,8 +743,7 @@ msgstr "Criar automaticamente um administrador para este domínio"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nome"
@@ -878,45 +873,45 @@ msgstr "Você não tem permissão para importar domínios"
msgid "You are not allowed to import domain aliases."
msgstr "Você não tem permissão para importar aliases de domínio."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No DNS record found for %s"
msgstr "Nenhum registro MX foi encontrado para este domínio."
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "No MX record found for this domain."
msgid "No %(type)s record for %(name)s"
msgstr "Nenhum registro MX foi encontrado para este domínio."
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '{}'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Valor de cota inválida para o domínio '{}'"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "O objeto já existe: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objetos importados com sucesso"
@@ -935,10 +930,22 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Habilitar comunicação com API pública do Modoboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1058,7 +1065,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linha inválida"
@@ -1085,8 +1092,8 @@ msgstr "Valor padrão de cota inválido para caixas de correio do domínio '{}'"
#| msgid "Default mailbox quota cannot be greater than domain quota"
msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
-"Valor padrão de cota para caixas de correio não pode ser maior que a cota do"
-" domínio"
+"Valor padrão de cota para caixas de correio não pode ser maior que a cota do "
+"domínio"
#: admin/models/domain_alias.py:36
msgid "The alias name"
@@ -1128,9 +1135,8 @@ msgstr "Cota do domínio excedida"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Fechar"
@@ -1390,8 +1396,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1435,9 +1440,6 @@ msgstr "Status DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Ações"
@@ -1497,7 +1499,6 @@ msgstr "Encaminhar e-mails automaticamente para outro endereço"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Atualizar"
@@ -1534,17 +1535,17 @@ msgstr ""
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Proveja um arquivo CSV onde as linhas respeitem um dos seguintes formatos: "
" - account; loginname; password; first name; last name; enabled; "
"group; address; quota; [, domain, ...]
- alias; address; "
-"enabled; recipient; recipient; ...
O primeiro elemento de"
-" cada linha é obrigatório e deve ser igual a um dos valores anteriores.
"
+"enabled; recipient; recipient; ... O primeiro elemento de "
+"cada linha é obrigatório e deve ser igual a um dos valores anteriores.
"
"Você pode usar um carácter diferente como separador.
"
#: admin/templates/admin/importform.html:6
@@ -1684,7 +1685,7 @@ msgstr "Nenhum registro MX foi encontrado para este domínio."
msgid "Alias with this name already exists"
msgstr "Um alias para esse nome já existe"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Criar"
@@ -1766,13 +1767,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Senha antiga"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1795,12 +1796,11 @@ msgstr "Sintaxe inválida"
msgid "Invalid rounds number"
msgstr "Número de ciclos inválido"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1900,8 +1900,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Configurações do LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Endereço do servidor"
@@ -1909,8 +1910,9 @@ msgstr "Endereço do servidor"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "O endereço IP do nome DNS do servidor LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Porta do servidor"
@@ -1943,7 +1945,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Usar uma conexão segura"
@@ -1965,8 +1968,8 @@ msgstr "Grupos de administradores"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Membros dos grupos do LDAP Posix serão criados como administradores de "
"domínio. Use o caractere ';' para separar grupos."
@@ -2026,8 +2029,8 @@ msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
msgstr ""
-"O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para"
-" vincular anonimamente"
+"O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para "
+"vincular anonimamente"
#: core/app_settings.py:237 core/app_settings.py:289 core/app_settings.py:972
#: core/app_settings.py:1034
@@ -2073,8 +2076,8 @@ msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
msgstr ""
-"A template usada para construir um DN de usuário. Deve conter um placeholder"
-" (por ex: %(user)s)"
+"A template usada para construir um DN de usuário. Deve conter um placeholder "
+"(por ex: %(user)s)"
#: core/app_settings.py:276 core/app_settings.py:1017
msgid "LDAP synchronization settings"
@@ -2164,8 +2167,7 @@ msgstr "Ocultar widget de apresentação"
#: core/app_settings.py:393 core/app_settings.py:1165
msgid "Hide features widget for resellers and domain administrators"
-msgstr ""
-"Ocultar recursos widget para revendedores e administradores de domínio"
+msgstr "Ocultar recursos widget para revendedores e administradores de domínio"
#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
@@ -2195,8 +2197,7 @@ msgstr "Habilitar comunicação com API pública do Modoboa"
msgid "Check new versions"
msgstr "Verificar novas versões"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Verificar automaticamente se uma nova versão está disponível"
@@ -2239,8 +2240,8 @@ msgstr "Limite de conta inativa"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2249,8 +2250,8 @@ msgstr "Limite de conta inativa"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Uma conta com uma data de login maior que este limite (em dias) será "
"considerado como inativo"
@@ -2298,8 +2299,8 @@ msgid ""
"between summer/winter time (ie the same local time occuring twice due to "
"clock change)."
msgstr ""
-"Você tem USE_TZ definido como falso, isso pode resultar em problemas durante"
-" as transições entre horário de verão / inverno (ou seja, o mesmo local de "
+"Você tem USE_TZ definido como falso, isso pode resultar em problemas durante "
+"as transições entre horário de verão / inverno (ou seja, o mesmo local de "
"tempo que ocorre duas vezes devido a alteração do relógio)."
#: core/checks/settings_checks.py:11
@@ -2330,35 +2331,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Senha antiga"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nova senha"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Senha antiga não confere"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Senhas não conferem"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Ativar acesso à API"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2430,28 +2427,28 @@ msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
"Endereço de e-mail alternativo, use-o para recuperar a conta caso precise"
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Falha ao atualizar senha: módulo LDAP não instalado"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "conta"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Desconhecido"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Você não pode importar uma conta com um papel maior que o seu"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "O usuário simples '%s' deve ter um endereço de e-mail válido"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "os campos nome de usuário e e-mail não diferem de '%s'"
@@ -2703,8 +2700,8 @@ msgstr "O backend usado para autenticação"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2800,26 +2797,22 @@ msgstr "Core do Modoboa"
msgid "Parameters saved"
msgstr "Parêmetros salvos"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Usuário '%s' autenticado com sucesso"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Seu usuário e senha não conferem. Por favor tente novamente."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Usuário '{}' saiu com sucesso"
@@ -3091,8 +3084,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3183,8 +3176,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3203,7 +3196,7 @@ msgstr "Configurações OfflineIMAP"
msgid "IMAP Migration"
msgstr "Migração IMAP"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Falha ao conectar no servidor IMAP: %s"
@@ -3272,9 +3265,9 @@ msgstr "Digite um nome de domínio válido"
msgid "Enter a valid email address."
msgstr "Digite um endereço de e-mail válido"
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Enviar"
@@ -3300,8 +3293,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Habilitar ou desabilitar limites por administrador"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Administradores de domínio"
@@ -3324,8 +3317,8 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"O número máximo de alias de domínio permitidos para um novo administrador. "
"(0 a negar qualquer criação, -1 para permitir criações ilimitadas)"
@@ -3366,8 +3359,8 @@ msgstr "Habilitar ou desabilitar limites por domínio"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Número máximo de administradores permitido para um novo domínio (0 para "
"negar qualquer adição, -1 para permitir adições ilimitadas)."
@@ -3390,8 +3383,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
"Número máximo de apelidos (aliases) permitido para um novo domínio (0 para "
"negar qualquer adição, -1 para permitir adições ilimitadas)."
@@ -3822,7 +3815,8 @@ msgid ""
"your contacts.\n"
msgstr ""
"\n"
-"Aqui você poderá ver seus emails a qualquer momento online, crie filtros ou gerencie \n"
+"Aqui você poderá ver seus emails a qualquer momento online, crie filtros ou "
+"gerencie \n"
"seus contatos.\n"
#: pdfcredentials/documents.py:126
@@ -3855,8 +3849,7 @@ msgstr "Credenciais PDF"
#: pdfcredentials/lib.py:28
#, fuzzy
-#| msgid ""
-#| "Failed to create the directory that will contain PDF documents (%s)"
+#| msgid "Failed to create the directory that will contain PDF documents (%s)"
msgid "Can't write to selected directory to store PDF documents"
msgstr "Falha ao criar o diretório que conterá documentos PDF (%s)"
@@ -3888,19 +3881,52 @@ msgstr "%s: limite alcançado"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Esta data já passou"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Deve ser maior que a data de início"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Tempo de resposta automática"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Timeout em segundos entre duas respostas automáticas para o mesmo "
+"destinatário"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Assunto padrão"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Assunto padrão usado quando uma mensagem de auto-resposta é criada "
+"automaticamente"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Conteúdo padrão usado quando uma mensagem de auto-resposta é criada "
+"automaticamente. A macro '%(name)s' será trocada pelo nome completo do "
+"usuário."
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3908,8 +3934,7 @@ msgstr "Respostas automáticas"
#: postfix_autoreply/forms.py:23
msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss"
-msgstr ""
-"Ativar auto resposta a partir dessa data. Formato: YYYY-MM-DD HH:mm:ss"
+msgstr "Ativar auto resposta a partir dessa data. Formato: YYYY-MM-DD HH:mm:ss"
#: postfix_autoreply/forms.py:28
msgid "Until"
@@ -3926,35 +3951,14 @@ msgid ""
"be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, "
"%(untildate)s"
msgstr ""
-"O conteúdo da sua resposta. Você pode usar as seguintes variáveis, que serão"
-" automaticamente substituídas pelo valor apropriado: %(name)s, %(fromdate)s,"
-" %(untildate)s"
-
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Tempo de resposta automática"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-"Timeout em segundos entre duas respostas automáticas para o mesmo "
-"destinatário"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Assunto padrão"
+"O conteúdo da sua resposta. Você pode usar as seguintes variáveis, que serão "
+"automaticamente substituídas pelo valor apropriado: %(name)s, %(fromdate)s, "
+"%(untildate)s"
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Ausente"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-"Assunto padrão usado quando uma mensagem de auto-resposta é criada "
-"automaticamente"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3974,16 +3978,6 @@ msgstr ""
"Saudações,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"Conteúdo padrão usado quando uma mensagem de auto-resposta é criada "
-"automaticamente. A macro '%(name)s' será trocada pelo nome completo do "
-"usuário."
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4050,34 +4044,93 @@ msgstr "Porta do host alvo"
msgid "verify recipients"
msgstr "verificar destinatários"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "O usuário '%s' já existe"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "Connection settings"
+msgid "ManageSieve settings"
+msgstr "Configurações do ManageSieve"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "Address of your IMAP server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Endereço do servidor MANAGESIEVE"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of your IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Porta de escuta do servidor MANAGESIEVE"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Conectar usando STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Usar a extensão STARTTLS "
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Mecanismo de autenticação"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Mecanismo de autenticação preferencial"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Configurações IMAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr "Endereço do seu servidor IMAP"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr "Usar uma conexão segura para acessar o servidor IMAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr "Porta de escuta do seu servidor IMAP"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Filtros do Sieve"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Filtros de mensagem"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Todas as seguintes"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Uma das seguintes"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4153,276 +4206,56 @@ msgstr "Rejeitar mensagem"
msgid "Stop processing"
msgstr "Parar processo"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Marque para ativar esse conjunto de filtros"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Nome errado do filtro"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "Connection settings"
-msgid "ManageSieve settings"
-msgstr "Configurações do ManageSieve"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "Address of your IMAP server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Endereço do servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of your IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Porta de escuta do servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Conectar usando STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Usar a extensão STARTTLS "
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Mecanismo de autenticação"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Mecanismo de autenticação preferencial"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Configurações IMAP"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr "Endereço do seu servidor IMAP"
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr "Usar uma conexão segura para acessar o servidor IMAP"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr "Porta de escuta do seu servidor IMAP"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Modo editor"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Selecione o modo que você deseja que o editor trabalhe"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr "Pasta para Itens Deletados"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Pasta que irão as mensagens deletadas"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr "Pasta para Itens Enviados"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Pasta onde irão as cópias de mensagens enviadas"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr "Pasta para Rascunhos"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Pasta onde irão os rascunhos"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Falha ao recuperar o delimitador de hierarquia"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Conexão com o servidor MANAGESIEVE falhou, verifique sua configuração"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Espaço no servidor insuficiente"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Condições"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Ativo"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Sem filtros definidos"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Conjuntos de filtros"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "ativo"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Nenhum conjunto de filtros ainda definido. Você deve criar um para poder "
-"definir filtros."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Novo conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Novo filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Salvar conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Ativar conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Remover conjunto de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Baixar"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Editar filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Remover esse filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Mover esse filtro para cima"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Mover esse filtro para baixo"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Falha ao recuperar conjunto de filtros"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filtro criado"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filtro modificado"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filtro removido"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Falha ao remover filtro"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Conjunto de filtros salvo"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Conjunto de filtros criado"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Criar um novo conjunto de filtros"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Conjunto de filtros apagados"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Conjuntos de filtros ativados"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "sim"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "não"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Desculpe"
@@ -4474,15 +4307,23 @@ msgstr "Novo domínio"
msgid "Welcome to Modoboa"
msgstr "Bem-vindo ao Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Notificações"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Lembrar-me"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Entrar"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Esqueceu a senha?"
@@ -4494,25 +4335,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Alterar senha"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4540,14 +4385,49 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Atenciosamente, A Equipe Modoboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Redefinição de senha do Modoboa"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "Notificações"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Senha antiga"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Valor inválido"
@@ -4564,6 +4444,145 @@ msgstr "serviço"
msgid "next hop"
msgstr "próximo salto"
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Diretório não encontrado."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "Seu usuário e senha não conferem. Por favor tente novamente."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Marque para ativar esse conjunto de filtros"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Nome errado do filtro"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Condições"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Ativo"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Sem filtros definidos"
+
+#~ msgid "Filter sets"
+#~ msgstr "Conjuntos de filtros"
+
+#~ msgid "active"
+#~ msgstr "ativo"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Nenhum conjunto de filtros ainda definido. Você deve criar um para poder "
+#~ "definir filtros."
+
+#~ msgid "New filters set"
+#~ msgstr "Novo conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Novo filtro"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Salvar conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Ativar conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Remover conjunto de filtros"
+
+#~ msgid "Download"
+#~ msgstr "Baixar"
+
+#~ msgid "Edit filter"
+#~ msgstr "Editar filtro"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Remover esse filtro"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Mover esse filtro para cima"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Mover esse filtro para baixo"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Falha ao recuperar conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filtro criado"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filtro modificado"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filtro removido"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Falha ao remover filtro"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Conjunto de filtros salvo"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Conjunto de filtros criado"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Criar um novo conjunto de filtros"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Conjunto de filtros apagados"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Conjuntos de filtros ativados"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "sim"
+
+#~ msgid "no"
+#~ msgstr "não"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Um alias para esse nome já existe"
diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
index 9b8bde377..975dff7a1 100644
--- a/modoboa/locale/pt_PT/LC_MESSAGES/django.po
+++ b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
@@ -13,10 +13,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/modoboa/language/pt_PT/)\n"
+"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
+"modoboa/language/pt_PT/)\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -53,15 +54,15 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
msgstr "Permissões"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -74,47 +75,46 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
#, fuzzy
#| msgid "A mailbox is required"
msgid "This field is required."
msgstr "É necessária uma caixa de correio"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "O domínio não existe"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "O utilizador '%s' já existe"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "Não tem acesso a este domínio"
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
@@ -135,42 +135,33 @@ msgstr "O utilizador '%s' já existe"
msgid "Must be a positive integer"
msgstr "Tem de ser um inteiro, positivo"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-#, fuzzy
-#| msgid "Domain modified"
-msgid "Directory not found."
-msgstr "Domínio alterado"
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Domain modified"
-msgid "Directory non-writable"
-msgstr "Domínio alterado"
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, 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:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown domain %s"
msgid "Unknown status"
@@ -214,8 +205,8 @@ msgstr ""
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
#: admin/app_settings.py:43 admin/app_settings.py:317
@@ -331,7 +322,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -347,9 +338,8 @@ msgstr ""
"Renomear ou remover as caixas de correio no sistema de ficheiros quando "
"estas são renomeadas no Modoboa"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox quota"
@@ -393,8 +383,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Criação automatica de domino/caixa de correio"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 ""
"Criar um dominio e uma caixa de correio quando uma conta é criada "
"automátiamente."
@@ -407,6 +396,12 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+#, fuzzy
+#| msgid "Domain modified"
+msgid "Directory not found."
+msgstr "Domínio alterado"
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -423,28 +418,28 @@ msgstr ""
msgid "Administration"
msgstr "Administração"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domínio"
-#: admin/constants.py:24
+#: admin/constants.py:22
#, fuzzy
#| msgid "domain"
msgid "Relay domain"
msgstr "domínio"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Nome de Utilizador"
@@ -479,11 +474,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Password"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Confirmação"
@@ -525,13 +520,13 @@ msgstr "Quota"
#: admin/forms/account.py:244
#, fuzzy
#| msgid ""
-#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
-#| "one. Leave empty to define an unlimited value (not allowed for domain "
-#| "administrators)."
+#| "Quota in MB for this mailbox. Define a custom value or use domain's "
+#| "default one. Leave empty to define an unlimited value (not allowed for "
+#| "domain administrators)."
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Quota em MB para esta caixa de correio. Definir uma valor personalizado ou "
"usar o valor predefinido pelo domínio. Deixar em branco para definir uma "
@@ -559,9 +554,9 @@ msgstr "Alias(es)"
#: admin/forms/account.py:269
#, fuzzy
#| msgid ""
-#| "Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-#| "to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-#| "*@domain.tld)."
+#| "Alias(es) of this mailbox. Indicate only one address per input, press "
+#| "ENTER to add a new input. Use the '*' character to create a 'catchall' "
+#| "alias (ex: *@domain.tld)."
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
@@ -580,8 +575,8 @@ msgstr "Pedido inválido"
#: admin/forms/account.py:278
#, fuzzy
#| msgid ""
-#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
-#| "press ENTER to add a new input."
+#| "Mailbox(es) this alias will point to. Indicate only one address per "
+#| "input, press ENTER to add a new input."
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
@@ -614,7 +609,8 @@ msgstr "Domínio(s) administrado pelo utilizador"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Geral"
@@ -656,8 +652,8 @@ msgstr "Endereço de e-mail"
#: admin/forms/alias.py:25
#, fuzzy
#| msgid ""
-#| "The alias address (without the domain part). For a 'catch-all' address, just"
-#| " enter an * character."
+#| "The alias address (without the domain part). For a 'catch-all' address, "
+#| "just enter an * character."
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
@@ -672,8 +668,8 @@ msgstr "Destinatários"
#: admin/forms/alias.py:34
#, fuzzy
#| msgid ""
-#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
-#| "press ENTER to add a new input."
+#| "Mailbox(es) this alias will point to. Indicate only one address per "
+#| "input, press ENTER to add a new input."
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
@@ -749,8 +745,7 @@ msgstr "Criar automaticamente um administrador para este domínio"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nome"
@@ -845,8 +840,7 @@ msgstr "Passwords encriptadas"
#: admin/forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
-msgstr ""
-"Marque esta opção se as senhas contidas no arquivo não são encriptadas"
+msgstr "Marque esta opção se as senhas contidas no arquivo não são encriptadas"
#: admin/handlers.py:233
#, python-format
@@ -889,43 +883,43 @@ msgstr "Não é possível eliminar o seu próprio domínio"
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, fuzzy, python-brace-format
#| msgid "Invalid quota value for domain '%s'"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Valor de quota inválido para o dominio '%s'"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Este objeto já existe: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objetos importados com sucesso"
@@ -944,8 +938,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -1075,7 +1079,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linha inválida"
@@ -1141,9 +1145,8 @@ msgstr "Domínio criado"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Fechar"
@@ -1432,8 +1435,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1483,9 +1485,6 @@ msgstr "Estatísticas"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Ações"
@@ -1549,7 +1548,6 @@ msgstr "Reenviar automaticamente e-mails para outro endereço"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Actualizar"
@@ -1581,11 +1579,11 @@ msgstr ""
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1720,7 +1718,7 @@ msgstr "Domínio alterado"
msgid "Alias with this name already exists"
msgstr "Já existe um 'alias' com este nome"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Criar"
@@ -1804,13 +1802,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Password antiga"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1835,12 +1833,11 @@ msgstr "Sintax inválida"
msgid "Invalid rounds number"
msgstr "Número de linhas inválido"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1945,8 +1942,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Definições do serviço de directório"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Endereço do Servidor"
@@ -1954,8 +1952,9 @@ msgstr "Endereço do Servidor"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "O endereço IP do servidor de DNS do servidor LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Porta do Servidor"
@@ -1996,7 +1995,8 @@ msgstr "Porta do Servidor"
msgid "The TCP port number used by the LDAP secondary server"
msgstr " A porta TCP usada pelo servidor LDAP"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2020,8 +2020,8 @@ msgstr "Grupos de Administrador"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Os membros destes grupos \"LDAP Posix\" serão criados como administradores "
"de domínio. Use ';' para separar os grupos."
@@ -2096,7 +2096,8 @@ msgstr "Password para bind"
#: core/app_settings.py:240 core/app_settings.py:292 core/app_settings.py:974
#: core/app_settings.py:1036
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
-msgstr "A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')"
+msgstr ""
+"A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')"
#: core/app_settings.py:247 core/app_settings.py:335 core/app_settings.py:984
#: core/app_settings.py:1089
@@ -2266,8 +2267,7 @@ msgstr ""
msgid "Check new versions"
msgstr "Procurar novas versões"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Verifica automaticamente se existem novas versões"
@@ -2306,8 +2306,8 @@ msgstr ""
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2316,8 +2316,8 @@ msgstr ""
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
#: core/app_settings.py:460 core/app_settings.py:1289
@@ -2397,37 +2397,33 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Password antiga"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nova password"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Incompatibilidade da password antiga"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Passwords não coincidem"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
#, fuzzy
#| msgid "Authentication"
msgid "Verification code"
msgstr "Autenticação"
-#: core/forms.py:181
+#: core/forms.py:187
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2508,33 +2504,33 @@ msgstr "Idioma preferido para exibir páginas"
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Falha ao actualizar password: Modulo LDAP não instalado"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "conta"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Não é possível importa uma conta com permissões superiores"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "O simple utilizador '%s' deve ter endereço de e-mail válido"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
-"Os campos nome de utilizador e endereço de email não deve ser diferente para"
-" '%s'"
+"Os campos nome de utilizador e endereço de email não deve ser diferente para "
+"'%s'"
#: core/password_validation.py:25
msgid "Password must contain at least {} digit."
@@ -2792,8 +2788,8 @@ msgstr "Backend usado para autenticação"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2892,26 +2888,22 @@ msgstr "Benvindo ao Modoboa"
msgid "Parameters saved"
msgstr "Parâmetros salvos"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "O utilizador '%s' fez login com sucesso"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "O seu nome de utilizador"
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
#, fuzzy
#| msgid "User '%s' successfully logged in"
msgid "User '{}' successfully logged out"
@@ -3203,8 +3195,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3289,8 +3281,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3307,7 +3299,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Ligação ao servidor IMAP falhou : %s"
@@ -3379,9 +3371,9 @@ msgstr "Introduzir um nome de domínio válido "
msgid "Enter a valid email address."
msgstr "Introduzir um nome de domínio válido "
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Enviar"
@@ -3411,8 +3403,8 @@ msgid "Enable or disable per-admin limits"
msgstr ""
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Administradores de domínio"
@@ -3437,11 +3429,10 @@ msgstr "Número máximo permitido de domínios para novo administrador"
#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Número máximo permitido de aliases de domínio para um novo administrador"
@@ -3486,16 +3477,15 @@ msgstr ""
#| msgid ""
#| "Maximum number of allowed domain administrators for a new administrator"
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Número máximo permitido de administradores de domínio para um novo "
"administrador"
#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
@@ -3514,8 +3504,8 @@ msgstr "Número máximo permitido de caixas de correio para novo administrador"
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr "Número máximo de aliases permitidas para um novo administrador"
#: limits/apps.py:13 limits/apps.py:17
@@ -3537,8 +3527,7 @@ msgstr "Número máximo de caixas de correio que este utilizador por criar"
#: limits/constants.py:40
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
-"Número máximo de aliases para caixas de correio que este utilizador por "
-"criar"
+"Número máximo de aliases para caixas de correio que este utilizador por criar"
#: limits/constants.py:49
msgid "Maximum number of domain administrators this user can create"
@@ -3566,8 +3555,7 @@ msgstr "Número máximo de caixas de correio que este utilizador por criar"
#| msgid "Maximum number of mailbox aliases this user can create"
msgid "Maximum number of mailbox aliases allowed for this domain."
msgstr ""
-"Número máximo de aliases para caixas de correio que este utilizador por "
-"criar"
+"Número máximo de aliases para caixas de correio que este utilizador por criar"
#: limits/constants.py:102
#, fuzzy
@@ -3998,17 +3986,45 @@ msgstr "%s: limite atingido"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Esta data ultrapassa"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr "Tem de ser posterior à data de inicio."
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Tempo limite de resposta automática"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+"Tempo limite em segundos entre duas respostas automáticas para o mesmo "
+"destinatário"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Assunto pré-definido"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Assunto pré-definido, usado nas respostas automáticas."
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -4034,29 +4050,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Tempo limite de resposta automática"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-"Tempo limite em segundos entre duas respostas automáticas para o mesmo "
-"destinatário"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Assunto pré-definido"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Estou indisponível"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr "Assunto pré-definido, usado nas respostas automáticas."
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -4077,13 +4074,6 @@ msgstr ""
"%(name)s\n"
"\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -4151,34 +4141,89 @@ msgstr "endereço de destino"
msgid "verify recipients"
msgstr "verificar destinatários"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "O utilizador '%s' já existe"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "Definições do MANAGESIEVE"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr "Endereço do servidor MANAGESIEVE"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Porta atribuída ao servidor MANAGESIEVE"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Ligar via STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Usar a extensão STARTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Mecanismo de autenticação"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Método de autenticação preferencial"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Definições do MANAGESIEVE"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr "Endereço do servidor MANAGESIEVE"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr "Porta atribuída ao servidor MANAGESIEVE"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Filtros Sieve"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Gerir filtros"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Todos estes"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Algum destes"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4233,8 +4278,6 @@ msgid "Move message to"
msgstr "Mover mensagens para"
#: sievefilters/constants.py:46 sievefilters/constants.py:60
-#, fuzzy
-#| msgid "Keep local copies"
msgid "Keep local copy"
msgstr ""
@@ -4254,276 +4297,52 @@ msgstr "Reencaminhar mensagens para"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Marque para ativar estes filtros"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Filtro inválido"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "Definições do MANAGESIEVE"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr "Endereço do servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Porta atribuída ao servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Ligar via STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Usar a extensão STARTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Mecanismo de autenticação"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Método de autenticação preferencial"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Definições do MANAGESIEVE"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr "Endereço do servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/TLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr "Porta atribuída ao servidor MANAGESIEVE"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Modo de edição"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Seleccione o modo de funcionamento do editor"
-#: sievefilters/forms.py:377
-#, fuzzy
-#| msgid "Create aliases"
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
-#, fuzzy
-#| msgid "rejected messages"
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
-#, fuzzy
-#| msgid "Create aliases"
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
-#, fuzzy
-#| msgid "Create aliases"
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Falha ao recuperar os filtros definidos"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Ligação ao servidor MANAGESIEVE falhou, valide a configuração"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Espaço insuficiente no servidor"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Condições"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Ativo"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "No recipient defined"
-msgid "No filter defined yet"
-msgstr "Ainda não existe nenhum filtro definido"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Grupos de filtros"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "ativo"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Não existem grupos de filtros. Terá de criar um para poder definir filtros."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Novo grupo de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Novo filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Guardar grupo de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Ativar grupo de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Eliminar grupo de filtros"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Descarregar"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Editar filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Eliminar este filtro"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Mover este filtro para cima"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Mover este filtro para baixo"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Falha ao recuperar os filtros definidos"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Forward created"
-msgid "Filter created"
-msgstr "Filtro criado"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "Forward modified"
-msgid "Filter modified"
-msgstr "Filtro modificado"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filtro removido"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Falha ao remover filtro"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Grupo de filtros guardado"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Distribution list created"
-msgid "Filters set created"
-msgstr "Grupo de filtros criado"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Criar novo grupo de filtros"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set deleted"
-msgstr "Grupo de filtros eliminado"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Grupo de filtros ativado"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "sim"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "não"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Lamentamos"
@@ -4575,15 +4394,23 @@ msgstr "Novo domínio"
msgid "Welcome to Modoboa"
msgstr "Benvindo ao Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Authentication"
+msgid "Identification"
+msgstr "Autenticação"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Lembrar-me"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Entrar"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
#, fuzzy
#| msgid "password"
@@ -4597,27 +4424,31 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
#, fuzzy
#| msgid "New password"
msgid "Change password"
msgstr "Nova password"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4645,14 +4476,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Authentication"
+msgid "Verification"
+msgstr "Autenticação"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Password antiga"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Authentication"
+msgid "Verify code"
+msgstr "Autenticação"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
#, fuzzy
#| msgid "Invalid line"
@@ -4671,6 +4539,144 @@ msgstr ""
msgid "next hop"
msgstr ""
+#, fuzzy
+#~| msgid "Domain modified"
+#~ msgid "Directory non-writable"
+#~ msgstr "Domínio alterado"
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "O seu nome de utilizador"
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Marque para ativar estes filtros"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Filtro inválido"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Condições"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Ativo"
+
+#, fuzzy
+#~| msgid "No recipient defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Ainda não existe nenhum filtro definido"
+
+#~ msgid "Filter sets"
+#~ msgstr "Grupos de filtros"
+
+#~ msgid "active"
+#~ msgstr "ativo"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Não existem grupos de filtros. Terá de criar um para poder definir "
+#~ "filtros."
+
+#~ msgid "New filters set"
+#~ msgstr "Novo grupo de filtros"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Novo filtro"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Guardar grupo de filtros"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Ativar grupo de filtros"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Eliminar grupo de filtros"
+
+#~ msgid "Download"
+#~ msgstr "Descarregar"
+
+#~ msgid "Edit filter"
+#~ msgstr "Editar filtro"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Eliminar este filtro"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Mover este filtro para cima"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Mover este filtro para baixo"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Falha ao recuperar os filtros definidos"
+
+#, fuzzy
+#~| msgid "Forward created"
+#~ msgid "Filter created"
+#~ msgstr "Filtro criado"
+
+#, fuzzy
+#~| msgid "Forward modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filtro modificado"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filtro removido"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Falha ao remover filtro"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Grupo de filtros guardado"
+
+#, fuzzy
+#~| msgid "Distribution list created"
+#~ msgid "Filters set created"
+#~ msgstr "Grupo de filtros criado"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Criar novo grupo de filtros"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set deleted"
+#~ msgstr "Grupo de filtros eliminado"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Grupo de filtros ativado"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "sim"
+
+#~ msgid "no"
+#~ msgstr "não"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Já existe um 'alias' com este nome"
@@ -4771,15 +4777,15 @@ msgstr ""
#~ "Default quota in MB applied to mailboxes. Leave empty to use the default "
#~ "value."
#~ msgstr ""
-#~ "Quota (em MB) aplicada às caixas de correio. Deixe em branco para manter o "
-#~ "valor pré-definido."
+#~ "Quota (em MB) aplicada às caixas de correio. Deixe em branco para manter "
+#~ "o valor pré-definido."
#~ msgid ""
#~ "You can't define a forward to a local destination. Please ask your "
#~ "administrator to create an alias instead."
#~ msgstr ""
-#~ "Não é possível definir um reencaminhamento para um destino local. Por favor "
-#~ "informe-se junto de um administrador para criar um alias."
+#~ "Não é possível definir um reencaminhamento para um destino local. Por "
+#~ "favor informe-se junto de um administrador para criar um alias."
#~ msgid "Quota is greater than the allowed domain's limit (%dM)"
#~ msgstr "A quota excede o limite permitido pelo domínio (%dM)"
diff --git a/modoboa/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/locale/ro_RO/LC_MESSAGES/django.po
index a2441a147..4e0968233 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/"
@@ -44,13 +44,13 @@ msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu"
msgid "Cannot be greater than domain quota"
msgstr "Nu poate fi mai mare decat cota domeniului"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Permisiune refuzată."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -64,41 +64,40 @@ msgid ""
msgstr ""
"Lista domenilor administrate (doar reselleri și administratori de domeniu)"
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Ne permis pentru acest rol."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Trebuie să fie egal cu mailbox full_address"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Acest câmp este necesar."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Domeniu local {} nu există"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "O listă de destinatari"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Utilizatorul '%s' exista deja"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Nu ai acces la acest domeniu."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Nu ai acces la această cutie postală"
@@ -117,40 +116,33 @@ msgstr "Utilizatorul '%s' exista deja"
msgid "Must be a positive integer"
msgstr "Trebuie să fie un număr întreg pozitiv"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Directorul nu a fost găsit."
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "Directorul nu a fost găsit."
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl nu a fost găsit, asigurați-vă că este instalat."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definiți cel puțin o adresă de rețea autorizată"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, 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:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -325,7 +317,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Cutii poștale"
@@ -394,6 +386,10 @@ msgstr ""
"Creați un alias utilizând vechea adresă atunci când o cutie poștală este "
"redenumită."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Directorul nu a fost găsit."
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -411,26 +407,26 @@ msgstr ""
msgid "Administration"
msgstr "Administrare"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domeniu"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Domeniu de relay"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr "Deschis"
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr "Închis"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Utilizator"
@@ -467,11 +463,11 @@ msgstr ""
"Generați o parolă aleatorie. Dacă actualizați acest cont și bifați această "
"casetă, va fi generată o nouă parolă."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Parolă"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Confirmare"
@@ -589,7 +585,8 @@ msgstr "Domeniu(ii) pe care utilizatorul le administrează"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "General"
@@ -710,8 +707,7 @@ msgstr "Creează automat un administrator pentru acest domeniu"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Nume"
@@ -843,44 +839,44 @@ msgstr "Nu ești autorizat să imporți domenii"
msgid "You are not allowed to import domain aliases."
msgstr "Nu ești autorizat să imporți aliasuri de domenii"
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr " Nu s-a găsit nicio înregistrare DNS pentru %s"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Nu %(type)sînregistrati pentru %(name)s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Nu s-au găsit NS-uri funcționale"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
"Timeout întâmpinat la rezolvarea cererii DNS, imposibilă de interogat %s în "
"acest moment"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Adresă IP invalidă pentru {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Obiectul deja există: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d obiecte importate cu succes"
@@ -900,10 +896,22 @@ 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:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Activați comunicarea cu API-ul public Modoboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} listat de furnizorul DNSBL {}"
@@ -1021,7 +1029,7 @@ msgid "Key length"
msgstr "Mărime cheie"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Linie invalidă"
@@ -1391,9 +1399,6 @@ msgstr "Status DNS"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Acțiuni"
@@ -1453,7 +1458,6 @@ msgstr "Redirecționează automat emailuri la altă adresă"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Actualizare"
@@ -1639,7 +1643,7 @@ msgstr "Nu există înregistrări MX pentru %s"
msgid "Alias with this name already exists"
msgstr "Un alias cu acelasi nume deja există"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Creează"
@@ -1722,13 +1726,13 @@ msgstr "2FA este deja activat"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Vechea parolă"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "2FA nu este activat"
@@ -1751,11 +1755,11 @@ msgstr "Sintaxă invalidă"
msgid "Invalid rounds number"
msgstr "Număr invalid de iterații"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Acest cod nu este valabil"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
"Vă rugăm să folosiți următorul cod pentru a vă recupera parola Modoboa: {}"
@@ -1863,8 +1867,9 @@ msgstr "Alegeți un furnizor pentru a trimite SMS de recuperare a parolei"
msgid "LDAP settings"
msgstr "Setări LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Adresă server"
@@ -1872,8 +1877,9 @@ msgstr "Adresă server"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "Adresa IP sau numele DNS al serverului LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Port server"
@@ -1908,7 +1914,8 @@ msgstr "Portul serverului secundar"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "Numărul portului TCP utilizat de serverul secundar LDAP"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Folosește o conexiune securizată"
@@ -2307,35 +2314,31 @@ msgstr "Alegeți un furnizor"
msgid "Dummy"
msgstr "Manechin"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Vechea parolă"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Noua parolă"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Parola veche nu se potivește"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Parolele nu se potrivesc"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Activează accesul API"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Cod de verificare"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Cod invalid"
@@ -2407,28 +2410,28 @@ msgstr "Limba preferată pentru afișarea paginilor."
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "O adresă de e-mail alternativă poate fi utilizată pentru recuperare."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Eroare la actualizarea parolei: modulul LDAP nu este instalat"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "cont"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Necunoscut"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Nu puteți importa un cont cu un rol mai mare decât al dvs."
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Utilizatorul simplu '%s' trebuie să aibă o adresă de e-mail validă"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "câmpului de utilizator și e-mail nu trebuie să difere pentru '%s'"
@@ -2791,28 +2794,22 @@ msgstr "Partea de nucleu a Modoboa"
msgid "Parameters saved"
msgstr "Parametrii au fost salvați"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Schema parola diferită. Reinoim %s parole"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Paragraful hash al parolei nu corespunde. Actualizarea %s a parolei"
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Utilizatorul '%s' conectat cu succes"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Numele de utilizator și parola nu s-au potrivit. Vă rugăm să încercați din "
-"nou."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Schema parola diferită. Reinoim %s parole"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr "Paragraful hash al parolei nu corespunde. Actualizarea %s a parolei"
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Utilizatorul '{}' sa deconectat cu succes"
@@ -3208,7 +3205,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3279,9 +3276,9 @@ msgstr "Introduceți un nume de domeniu valid"
msgid "Enter a valid email address."
msgstr "Introduceți o adresă de email validă."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Trimite"
@@ -3892,19 +3889,45 @@ msgstr "%s: s-a atins limita"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
msgstr "Acest cod nu este valabil"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Nu poate fi mai mare decat cota domeniului"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3930,27 +3953,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3966,13 +3972,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4038,34 +4037,92 @@ msgstr "portul de host"
msgid "verify recipients"
msgstr "verificați destinatarii"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Utilizatorul '%s' exista deja"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "Setări LDAP"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Metoda de autentificare"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "Setări de autentificare LDAP"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "Setări LDAP"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+"Folosește o conexiune de tip SSL/STARTTLS pentru a accesa serverul LDAP"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Filtru de căutare"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message logs"
msgid "Message filters"
msgstr "Jurnalele de mesaje"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4141,275 +4198,60 @@ msgstr "mesaje rejectate"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Bifează pentru a activa acest alias"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "Setări LDAP"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Metoda de autentificare"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "Setări de autentificare LDAP"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "Setări LDAP"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-"Folosește o conexiune de tip SSL/STARTTLS pentru a accesa serverul LDAP"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create aliases"
msgid "Trash folder"
msgstr "Crează aliasuri "
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "mesaje rejectate"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create aliases"
msgid "Sent folder"
msgstr "Crează aliasuri "
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create aliases"
msgid "Drafts folder"
msgstr "Crează aliasuri "
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Resurse insuficiente"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Confirmare"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Utilizatori activi"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Nedefinit"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Filtru de căutare"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Filtru de căutare"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Utilizatori activi"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Elimină această permisie"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Elimină această permisie"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Elimină această permisie"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Nu s-a reușit preluarea locației pentru cutia poștală (%s)"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Alias creat"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "modificat"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Parametrii au fost salvați"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Alias creat"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Alias șters"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "Da"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Scuze"
@@ -4461,15 +4303,23 @@ msgstr "Domeniu nou"
msgid "Welcome to Modoboa"
msgstr "Bun venit la Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Notificări"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Ține-mă minte"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Autentificare"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Ai uitat parola?"
@@ -4483,11 +4333,11 @@ msgstr ""
"Parola dvs. a fost setată. Puteți acum să va autentificați din nou."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Schimbă parola"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4495,15 +4345,19 @@ msgstr ""
"Linkul de resetare a parolei este invalid, posibil din cauza faptului că a "
"fost deja utilizat. Te rugăm solicită o nouă resetare a parolei. "
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Introduceți codul pe care tocmai l-ați primit prin SMS"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Reîntoarceți codul"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4539,14 +4393,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Cu sinceritate, Echipa Modoboa."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Vă rugăm să completați adresa dvs. principală de e-mail"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Resetare parola Modoboa"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Cod de verificare"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Vechea parolă"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Cod de verificare"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Valuare invalidă"
@@ -4563,6 +4454,105 @@ msgstr "serviciu"
msgid "next hop"
msgstr "următorul hop"
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "Directorul nu a fost găsit."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Numele de utilizator și parola nu s-au potrivit. Vă rugăm să încercați "
+#~ "din nou."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Bifează pentru a activa acest alias"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Confirmare"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Utilizatori activi"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Nedefinit"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Filtru de căutare"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Filtru de căutare"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Utilizatori activi"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Elimină această permisie"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Elimină această permisie"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Elimină această permisie"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Nu s-a reușit preluarea locației pentru cutia poștală (%s)"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Alias creat"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "modificat"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Parametrii au fost salvați"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Alias creat"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Alias șters"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "Da"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Vă rugăm să completați adresa dvs. principală de e-mail"
+
#, fuzzy
#~| msgid "Alias with this name already exists"
#~ msgid "An alias with this name already exists."
diff --git a/modoboa/locale/ru/LC_MESSAGES/django.po b/modoboa/locale/ru/LC_MESSAGES/django.po
index 668b51986..f657e7480 100644
--- a/modoboa/locale/ru/LC_MESSAGES/django.po
+++ b/modoboa/locale/ru/LC_MESSAGES/django.po
@@ -14,15 +14,18 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2020-05-06 11:16+0000\n"
"Last-Translator: Antoine Nguyen \n"
-"Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/ru/)\n"
+"Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/"
+"ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
#: admin/api/v1/serializers.py:42 admin/forms/domain.py:49
msgid ""
@@ -42,15 +45,15 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
msgstr "Права"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -63,47 +66,46 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
#, fuzzy
#| msgid "A quota is required"
msgid "This field is required."
msgstr "Требуется квота"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "Домен не существует"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Пользователь '%s' уже существует"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this domain."
msgstr "Вы не имеете права доступа к этому домену"
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
#, fuzzy
#| msgid "You don't have access to this domain"
msgid "You don't have access to this mailbox."
@@ -124,40 +126,31 @@ msgstr "Пользователь '%s' уже существует"
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-#, fuzzy
-#| msgid "Domain modified"
-msgid "Directory not found."
-msgstr "Домен изменен"
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Domain modified"
-msgid "Directory non-writable"
-msgstr "Домен изменен"
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -201,8 +194,8 @@ msgstr ""
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
#: admin/app_settings.py:43 admin/app_settings.py:317
@@ -314,7 +307,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Почтовые ящики"
@@ -331,9 +324,8 @@ msgstr ""
"Удалять или переименовывать почтовые ящики на диске, если они удалены или "
"переименованы в Modoboa"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr ""
@@ -367,8 +359,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Домен создан"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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:182 admin/app_settings.py:500
@@ -379,6 +370,12 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+#, fuzzy
+#| msgid "Domain modified"
+msgid "Directory not found."
+msgstr "Домен изменен"
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -389,28 +386,28 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
#, fuzzy
#| msgid "New domain"
msgid "Relay domain"
msgstr "Новый домен"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Логин пользователя"
@@ -445,11 +442,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Пароль"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Подтверждение"
@@ -491,18 +488,18 @@ msgstr "Квота"
#: admin/forms/account.py:244
#, fuzzy
#| msgid ""
-#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
-#| "one. Leave empty to define an unlimited value (not allowed for domain "
-#| "administrators)."
+#| "Quota in MB for this mailbox. Define a custom value or use domain's "
+#| "default one. Leave empty to define an unlimited value (not allowed for "
+#| "domain administrators)."
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Квота в мегабайтах для этого почтового ящика. Определите собственное "
"значение или используйте значение по умолчанию для родительского домена. "
-"Оставьте пустым для неограниченного значения. (Не разрешено администраторам"
-" домена)"
+"Оставьте пустым для неограниченного значения. (Не разрешено администраторам "
+"домена)"
#: admin/forms/account.py:254 admin/models/domain.py:39
#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
@@ -526,16 +523,16 @@ msgstr "Синоним(ы)"
#: admin/forms/account.py:269
#, fuzzy
#| msgid ""
-#| "Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-#| "to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-#| "*@domain.tld)."
+#| "Alias(es) of this mailbox. Indicate only one address per input, press "
+#| "ENTER to add a new input. Use the '*' character to create a 'catchall' "
+#| "alias (ex: *@domain.tld)."
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
-"Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для"
-" добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
+"Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
+"добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
#: admin/forms/account.py:275
#, fuzzy
@@ -546,8 +543,8 @@ msgstr "Ошибочный запрос"
#: admin/forms/account.py:278
#, fuzzy
#| msgid ""
-#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
-#| "press ENTER to add a new input."
+#| "Mailbox(es) this alias will point to. Indicate only one address per "
+#| "input, press ENTER to add a new input."
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
@@ -580,7 +577,8 @@ msgstr "Домен(ы) администрируемые пользователе
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Основные"
@@ -622,8 +620,8 @@ msgstr "Е-майл адрес"
#: admin/forms/alias.py:25
#, fuzzy
#| msgid ""
-#| "The alias address (without the domain part). For a 'catch-all' address, just"
-#| " enter an * character."
+#| "The alias address (without the domain part). For a 'catch-all' address, "
+#| "just enter an * character."
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
@@ -638,8 +636,8 @@ msgstr "Получатели"
#: admin/forms/alias.py:34
#, fuzzy
#| msgid ""
-#| "Mailbox(es) this alias will point to. Indicate only one address per input, "
-#| "press ENTER to add a new input."
+#| "Mailbox(es) this alias will point to. Indicate only one address per "
+#| "input, press ENTER to add a new input."
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
@@ -709,8 +707,7 @@ msgstr "Автоматически создаст администратора
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Логин"
@@ -849,42 +846,42 @@ msgstr "Вы не можете удалить собственный домен"
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Объект уже существует: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d объектов импортировано"
@@ -903,10 +900,22 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Разрешить передачу с публичным API Modoboa"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1034,7 +1043,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ошибочная строка"
@@ -1094,9 +1103,8 @@ msgstr "Домен создан"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Закрыть"
@@ -1382,8 +1390,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1433,9 +1440,6 @@ msgstr "Статистика"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Действие"
@@ -1500,7 +1504,6 @@ msgstr "Автоматически перенаправлять письма н
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Обновление"
@@ -1532,11 +1535,11 @@ msgstr ""
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1672,7 +1675,7 @@ msgstr "Домен изменен"
msgid "Alias with this name already exists"
msgstr "Синоним с таким именем уже есть"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Создать"
@@ -1759,13 +1762,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Старый пароль"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1788,12 +1791,11 @@ msgstr "Ошибка в написании"
msgid "Invalid rounds number"
msgstr "Неправильное количество циклов"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1826,8 +1828,8 @@ msgid ""
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
"between 1000 and 999999999, inclusive."
msgstr ""
-"Количество циклов (используется только для sha256crypt и sha512crypt), Может"
-" быть от 1000 до 999999999, включительно."
+"Количество циклов (используется только для sha256crypt и sha512crypt), Может "
+"быть от 1000 до 999999999, включительно."
#: core/app_settings.py:71 core/app_settings.py:752
msgid "Update password scheme at login"
@@ -1894,8 +1896,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "Параметры LDAP"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Адрес сервера"
@@ -1903,8 +1906,9 @@ msgstr "Адрес сервера"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP адрес или DNS имя сервера LDAP"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Порт сервера"
@@ -1937,7 +1941,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Использовать защищенное соединение"
@@ -1959,8 +1964,8 @@ msgstr "Администратор груп"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Члены этих LDAP Posix групп должны быть созданы администратором домена. "
"Используйте ';' для как разделитель груп"
@@ -2054,8 +2059,8 @@ msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
msgstr ""
-"Необязательная срока поиска (например '(objectClass=person)') Значение нужно"
-" заключить в скобки"
+"Необязательная срока поиска (например '(objectClass=person)') Значение нужно "
+"заключить в скобки"
#: core/app_settings.py:266 core/app_settings.py:1006
msgid "User DN template"
@@ -2067,8 +2072,8 @@ msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
msgstr ""
-"Шаблон используется для построения запросов к DN Он должен содержать атрибут"
-" например (%(user)s)"
+"Шаблон используется для построения запросов к DN Он должен содержать атрибут "
+"например (%(user)s)"
#: core/app_settings.py:276 core/app_settings.py:1017
msgid "LDAP synchronization settings"
@@ -2158,8 +2163,7 @@ msgstr "Спрятать виджет новых функций"
#: core/app_settings.py:393 core/app_settings.py:1165
msgid "Hide features widget for resellers and domain administrators"
-msgstr ""
-"Спрятать виджет новых функций для реселлеров и администраторов доменов"
+msgstr "Спрятать виджет новых функций для реселлеров и администраторов доменов"
#: core/app_settings.py:397 core/app_settings.py:1177
msgid "Notifications"
@@ -2189,8 +2193,7 @@ msgstr "Разрешить передачу с публичным API Modoboa"
msgid "Check new versions"
msgstr "Проверить новые версии"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Автоматически проверять доступность новых версий."
@@ -2233,8 +2236,8 @@ msgstr "Порог неактивного аккаунта"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2243,8 +2246,8 @@ msgstr "Порог неактивного аккаунта"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Аккаунт с датой последнего входа, превышающей этот порог (в днях), будет "
"считаться неактивным"
@@ -2279,8 +2282,7 @@ msgstr "Порог перенаправления по умолчанию"
#: core/app_settings.py:482 core/app_settings.py:1319
msgid "The default redirection used when no application is specified"
-msgstr ""
-"Если приложение не указано. Используется перенаправление по умолчанию."
+msgstr "Если приложение не указано. Используется перенаправление по умолчанию."
#: core/app_settings.py:830
msgid "LDAP"
@@ -2321,35 +2323,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Старый пароль"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Новый пароль"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Старые пароли не совпадают"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Пароли не совпадают"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2419,28 +2417,28 @@ msgstr "Предпочитаемый язык для отображения ст
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "Альтернативный e-mail может быть использован для востановления."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Ошибка обновления пароля: модуль LDAP не установлен"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "Аккаунт"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Неизвестное"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Вы не можете импортировать аккаунт с ролью старше чем у вас"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Пользователь '%s' должен иметь действительный почтовый адрес"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "Имя пользователя и адрес не должны отличатся для пользователя '%s'"
@@ -2693,8 +2691,8 @@ msgstr "Базовая программа для проверки подлинн
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2788,26 +2786,22 @@ msgstr ""
msgid "Parameters saved"
msgstr "Параметры сохранены"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Пользователь '%s' успешно вошел в систему"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Не правильное имя или пароль. Попробуйте еще раз."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -3090,8 +3084,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3180,8 +3174,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3198,7 +3192,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3267,9 +3261,9 @@ msgstr "Введите действительный адрес домена"
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Подтвердить"
@@ -3297,8 +3291,8 @@ msgid "Enable or disable per-admin limits"
msgstr ""
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Администраторы домена"
@@ -3322,11 +3316,10 @@ msgstr "Максимальное количество доменов для но
#: limits/app_settings.py:48 limits/app_settings.py:186
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr "Максимальное количество синонимов доменов для нового администратора"
#: limits/app_settings.py:58 limits/app_settings.py:198
@@ -3370,15 +3363,14 @@ msgstr ""
#| msgid ""
#| "Maximum number of allowed domain administrators for a new administrator"
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Максимальное количество администраторов домена для нового администратора"
#: limits/app_settings.py:104 limits/app_settings.py:260
#, fuzzy
-#| msgid ""
-#| "Maximum number of allowed domain aliases for a new administrator"
+#| msgid "Maximum number of allowed domain aliases for a new administrator"
msgid ""
"Maximum number of allowed domain aliases for a new domain. (0 to deny any "
"creation, -1 to allow unlimited creations)"
@@ -3396,8 +3388,8 @@ msgstr "Максимальное количество почтовых ящик
#, fuzzy
#| msgid "Maximum number of allowed aliases for a new administrator"
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr "Максимальное количество синонимов для нового администратора"
#: limits/apps.py:13 limits/apps.py:17
@@ -3910,17 +3902,43 @@ msgstr "%s лимит исчерпан"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Эта дата закончилась"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr "Должно быть больше чем дата начала."
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Тайм-аут автоматического ответа"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "Промежуток между автоматическими ответами"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Тема по умолчанию"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3946,27 +3964,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Тайм-аут автоматического ответа"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr "Промежуток между автоматическими ответами"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Тема по умолчанию"
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Меня нет"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr "Содержание по умолчанию"
@@ -3984,13 +3985,6 @@ msgstr ""
"Всего хорошего!\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4056,34 +4050,87 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Пользователь '%s' уже существует"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "Настройки фильтров содержания"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr "Адрес вашего MANAGESIEVE сервера"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Порт вашего MANAGESIEVE сервера"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Подключение с помощью STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Используйте расширение STARTTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Механизм аутентификации"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Предпочтительный механизм аутентификации"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Фильтры содержания"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Фильтры сообщений"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Любое из следующих"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Любое из следующих"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4138,8 +4185,6 @@ msgid "Move message to"
msgstr "Переместить сообщение"
#: sievefilters/constants.py:46 sievefilters/constants.py:60
-#, fuzzy
-#| msgid "Keep local copies"
msgid "Keep local copy"
msgstr ""
@@ -4150,8 +4195,6 @@ msgid "Redirect message to"
msgstr "Перенаправление сообщение для"
#: sievefilters/constants.py:68
-#, fuzzy
-#| msgid "rejected messages"
msgid "Reject message"
msgstr ""
@@ -4159,275 +4202,58 @@ msgstr ""
msgid "Stop processing"
msgstr "Остановить обработку"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Проверьте, чтобы активировать этот набор фильтров"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Неверное имя фильтра"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "Настройки фильтров содержания"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr "Адрес вашего MANAGESIEVE сервера"
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Порт вашего MANAGESIEVE сервера"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Подключение с помощью STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Используйте расширение STARTTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Механизм аутентификации"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Предпочтительный механизм аутентификации"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Режим редактирования"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Выберите нужный режим для работы редактора"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create aliases"
msgid "Trash folder"
msgstr "Корзина"
-#: sievefilters/forms.py:378
-#, fuzzy
-#| msgid "rejected messages"
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create aliases"
msgid "Sent folder"
msgstr "Отправленные"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create aliases"
msgid "Drafts folder"
msgstr "Черновики"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Соединение с сервером MANAGESIEVE не удалось, проверьте конфигурацию"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Нет свободного места на сервере"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Соответствие"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Активно"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "No recipient defined"
-msgid "No filter defined yet"
-msgstr "Фильтры не определены"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Набор фильтров"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "Активно"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr "Фильтры не определены. Вы должны определить и установить фильтры "
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Новый набор фильтров"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Новый фильтр"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Сохранить набор фильтров"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Активировать набор фильтров"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Удалить набор фильтров"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Загрузить"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Редактировать фильтр"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Удалить этот фильтр"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Переместить этот фильтр выше"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Переместить этот фильтр ниже"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Не удалось получить набор фильтров"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Forward created"
-msgid "Filter created"
-msgstr "Фильтр создан"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "Forward modified"
-msgid "Filter modified"
-msgstr "Фильтр модифицирован"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Фильтр удален"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Ошибка удаления фильтра"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Набор фильтров сохранен"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Distribution list created"
-msgid "Filters set created"
-msgstr "Набор фильтров создан"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Создание нового набора фильтров"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set deleted"
-msgstr "Набор фильтров удален"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Набор фильтров активирован"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "Да"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "Нет"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Жаль"
@@ -4479,15 +4305,23 @@ msgstr "Новый домен"
msgid "Welcome to Modoboa"
msgstr "Добро пожаловать в Modoboa!"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Уведомления"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Запомнить меня"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Войти"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Забыли пароль?"
@@ -4499,25 +4333,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Изменить пароль"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4545,14 +4383,49 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "Уведомления"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
#, fuzzy
#| msgid "Invalid line"
@@ -4571,6 +4444,142 @@ msgstr ""
msgid "next hop"
msgstr ""
+#, fuzzy
+#~| msgid "Domain modified"
+#~ msgid "Directory non-writable"
+#~ msgstr "Домен изменен"
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "Не правильное имя или пароль. Попробуйте еще раз."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Проверьте, чтобы активировать этот набор фильтров"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Неверное имя фильтра"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Соответствие"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Активно"
+
+#, fuzzy
+#~| msgid "No recipient defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Фильтры не определены"
+
+#~ msgid "Filter sets"
+#~ msgstr "Набор фильтров"
+
+#~ msgid "active"
+#~ msgstr "Активно"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr "Фильтры не определены. Вы должны определить и установить фильтры "
+
+#~ msgid "New filters set"
+#~ msgstr "Новый набор фильтров"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Новый фильтр"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Сохранить набор фильтров"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Активировать набор фильтров"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Удалить набор фильтров"
+
+#~ msgid "Download"
+#~ msgstr "Загрузить"
+
+#~ msgid "Edit filter"
+#~ msgstr "Редактировать фильтр"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Удалить этот фильтр"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Переместить этот фильтр выше"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Переместить этот фильтр ниже"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Не удалось получить набор фильтров"
+
+#, fuzzy
+#~| msgid "Forward created"
+#~ msgid "Filter created"
+#~ msgstr "Фильтр создан"
+
+#, fuzzy
+#~| msgid "Forward modified"
+#~ msgid "Filter modified"
+#~ msgstr "Фильтр модифицирован"
+
+#~ msgid "Filter removed"
+#~ msgstr "Фильтр удален"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Ошибка удаления фильтра"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Набор фильтров сохранен"
+
+#, fuzzy
+#~| msgid "Distribution list created"
+#~ msgid "Filters set created"
+#~ msgstr "Набор фильтров создан"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Создание нового набора фильтров"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set deleted"
+#~ msgstr "Набор фильтров удален"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Набор фильтров активирован"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "Да"
+
+#~ msgid "no"
+#~ msgstr "Нет"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "Синоним с таким именем уже есть"
diff --git a/modoboa/locale/si/LC_MESSAGES/django.po b/modoboa/locale/si/LC_MESSAGES/django.po
index dfd03cd51..178881157 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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"
@@ -39,13 +39,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -58,39 +58,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -109,36 +108,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -293,7 +287,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -352,6 +346,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -362,26 +360,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -414,11 +412,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -523,7 +521,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -636,8 +635,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -764,42 +762,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -818,8 +816,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -935,7 +943,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1291,9 +1299,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1353,7 +1358,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1517,7 +1521,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1597,11 +1601,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1624,11 +1628,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1725,8 +1729,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1734,8 +1739,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1768,7 +1774,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2133,35 +2140,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2231,30 +2234,30 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "LDAP ගිණුම යාවත්කාලයට අසමත් විය: {}"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2583,26 +2586,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2966,7 +2965,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3034,9 +3033,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3591,15 +3590,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3623,27 +3648,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3657,13 +3665,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3725,29 +3726,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3807,219 +3855,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4069,15 +3948,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4089,25 +3974,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4135,14 +4024,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/sk_SK/LC_MESSAGES/django.po b/modoboa/locale/sk_SK/LC_MESSAGES/django.po
index cc87124cf..41a1e9df7 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/"
@@ -41,13 +41,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -60,39 +60,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -111,36 +110,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -295,7 +289,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -354,6 +348,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -364,26 +362,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -416,11 +414,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -525,7 +523,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -638,8 +637,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -766,42 +764,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -820,8 +818,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -937,7 +945,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1293,9 +1301,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1355,7 +1360,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1519,7 +1523,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1605,11 +1609,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1632,11 +1636,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1733,8 +1737,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1742,8 +1747,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1776,7 +1782,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2141,35 +2148,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2239,30 +2242,30 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "Nepodarilo sa aktulizovať účet LDAP: {}"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2601,26 +2604,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2984,7 +2983,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3052,9 +3051,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3609,15 +3608,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3641,27 +3666,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3675,13 +3683,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3743,29 +3744,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3825,219 +3873,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4087,15 +3966,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4107,25 +3992,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4153,14 +4042,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/sl_SI/LC_MESSAGES/django.po b/modoboa/locale/sl_SI/LC_MESSAGES/django.po
index 7db4f18c0..df54dfa1a 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/"
@@ -38,13 +38,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -57,39 +57,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -108,36 +107,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknow migration"
msgid "Unknown status"
@@ -294,7 +288,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -353,6 +347,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -365,26 +363,26 @@ msgstr ""
msgid "Administration"
msgstr "Selitev IMAP"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -417,11 +415,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -528,7 +526,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -641,8 +640,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -769,42 +767,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -823,8 +821,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -944,7 +952,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1301,9 +1309,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1363,7 +1368,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1527,7 +1531,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1613,11 +1617,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1640,11 +1644,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1743,8 +1747,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "IMAP nastavitve brez povezave"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Naslov strežnika"
@@ -1752,8 +1757,9 @@ msgstr "Naslov strežnika"
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Vrata strežnika"
@@ -1790,7 +1796,8 @@ msgstr "Vrata strežnika"
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Uporabi zavarovano povezavo"
@@ -2163,35 +2170,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2261,30 +2264,30 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
#, fuzzy
#| msgid "Unknow migration"
msgid "Unknown"
msgstr "Neznana selitev"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2625,26 +2628,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -3024,7 +3023,7 @@ msgstr "IMAP nastavitve brez povezave"
msgid "IMAP Migration"
msgstr "Selitev IMAP"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Povezava z IMAP strežnikom ni uspela: %s"
@@ -3092,9 +3091,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3677,15 +3676,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3709,27 +3734,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3743,13 +3751,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3813,29 +3814,94 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "Connection settings"
+msgid "ManageSieve settings"
+msgstr "Nastavitve povezave"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "Address of your IMAP server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Naslov vašega IMAP strežnika"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of your IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Vrata vašega IMAP strežnika"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Connection settings"
+msgid "Authentication mechanism"
+msgstr "Nastavitve povezave"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Connection settings"
+msgid "Prefered authentication mechanism"
+msgstr "Nastavitve povezave"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "OfflineIMAP settings"
+msgid "IMAP settings"
+msgstr "IMAP nastavitve brez povezave"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+#, fuzzy
+#| msgid "Address of your IMAP server"
+msgid "Address of your IMAP server"
+msgstr "Naslov vašega IMAP strežnika"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use a secured connection to access IMAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Za dostop do IMAP strežnika, uporabite zavarovano povezavo"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+#, fuzzy
+#| msgid "Listening port of your IMAP server"
+msgid "Listening port of your IMAP server"
+msgstr "Vrata vašega IMAP strežnika"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3897,239 +3963,52 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "Connection settings"
-msgid "ManageSieve settings"
-msgstr "Nastavitve povezave"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "Address of your IMAP server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Naslov vašega IMAP strežnika"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of your IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "Vrata vašega IMAP strežnika"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Connection settings"
-msgid "Authentication mechanism"
-msgstr "Nastavitve povezave"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Connection settings"
-msgid "Prefered authentication mechanism"
-msgstr "Nastavitve povezave"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "OfflineIMAP settings"
-msgid "IMAP settings"
-msgstr "IMAP nastavitve brez povezave"
-
-#: sievefilters/forms.py:344
-#, fuzzy
-#| msgid "Address of your IMAP server"
-msgid "Address of your IMAP server"
-msgstr "Naslov vašega IMAP strežnika"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use a secured connection to access IMAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Za dostop do IMAP strežnika, uporabite zavarovano povezavo"
-
-#: sievefilters/forms.py:356
-#, fuzzy
-#| msgid "Listening port of your IMAP server"
-msgid "Listening port of your IMAP server"
-msgstr "Vrata vašega IMAP strežnika"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Povezava z IMAP strežnikom ni uspela: %s"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4181,15 +4060,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4201,25 +4086,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4247,14 +4136,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/sv/LC_MESSAGES/django.po b/modoboa/locale/sv/LC_MESSAGES/django.po
index 87fee59de..bf1b307a5 100644
--- a/modoboa/locale/sv/LC_MESSAGES/django.po
+++ b/modoboa/locale/sv/LC_MESSAGES/django.po
@@ -10,10 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\n"
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
-"Last-Translator: Olle Gustafsson , 2013,2015-2018,2020,2022-2023\n"
-"Language-Team: Swedish (http://app.transifex.com/tonio/modoboa/language/sv/)\n"
+"Last-Translator: Olle Gustafsson , "
+"2013,2015-2018,2020,2022-2023\n"
+"Language-Team: Swedish (http://app.transifex.com/tonio/modoboa/language/"
+"sv/)\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,8 +27,8 @@ msgid ""
"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
"A value of 0 means no quota."
msgstr ""
-"Kvot som delas mellan brevlådor. Kan uttryckas i KB, MB (standard) eller GB."
-" Ett värde på 0 betyder ingen kvot."
+"Kvot som delas mellan brevlådor. Kan uttryckas i KB, MB (standard) eller GB. "
+"Ett värde på 0 betyder ingen kvot."
#: admin/api/v1/serializers.py:49
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
@@ -41,13 +43,13 @@ msgstr "Ingen auktoriserad MX-post hittades för den här domänen"
msgid "Cannot be greater than domain quota"
msgstr "Kan inte vara större än domänkvoten"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "Åtkomst nekad."
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -62,41 +64,40 @@ msgstr ""
"Lista över administrerade domäner (endast återförsäljare och "
"domänadministratörer)."
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "Inte tillåtet för denna roll."
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "Måste vara lika med postlådans full_adress"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "Detta fält är obligatoriskt."
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "Lokal domän {} finns inte"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "En lista över mottagare"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "Användare '%s' finns redan"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "Du har inte åtkomst till den här domänen."
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "Du har inte tillgång till den här brevlådan."
@@ -115,36 +116,31 @@ msgstr "Användare '%s' finns redan"
msgid "Must be a positive integer"
msgstr "Måste vara ett positivt heltal"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "Katalog hittades ej."
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr "Katalog är en skrivbar"
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl hittades ej, säkerställ att det är installerat."
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr "Detta fält tillåter bara giltiga IP-adresser (eller nätverk)"
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
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:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "Definiera minst ett auktoriserat nätverk/adress"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr "En brevlåda krävs för att skapa alias."
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr "Okänd status"
@@ -186,8 +182,8 @@ msgstr "Giltiga MX"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
"En lista med IP- eller nätverksadresser som varje MX-post ska matcha. En "
"varning kommer att skickas om en post inte respekterar den."
@@ -201,8 +197,8 @@ msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
msgstr ""
-"Förhindra skapandet av en ny domän om dess MX-post inte använder någon av de"
-" definierade adresserna."
+"Förhindra skapandet av en ny domän om dess MX-post inte använder någon av de "
+"definierade adresserna."
#: admin/app_settings.py:52 admin/app_settings.py:329
#, fuzzy
@@ -314,7 +310,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "Brevlådor"
@@ -330,9 +326,8 @@ 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:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Standard brevlådekvota"
@@ -353,8 +348,8 @@ msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
msgstr ""
-"Antal meddelanden som nyskapade brevlådor tillåts skicka per dag. Lämna tomt"
-" utan gräns."
+"Antal meddelanden som nyskapade brevlådor tillåts skicka per dag. Lämna tomt "
+"utan gräns."
#: admin/app_settings.py:166 admin/app_settings.py:477
msgid "Automatic account removal"
@@ -369,8 +364,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "Automatisk domän-/brevlådeskapande"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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 "Skapa en domän och en postlåda när ett konto skapas automatiskt."
#: admin/app_settings.py:182 admin/app_settings.py:500
@@ -381,6 +375,10 @@ msgstr "Skapa ett alias när en postlåda döps om"
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr "Skapa ett alias med den gamla adressen när en postlåda byts namn."
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "Katalog hittades ej."
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -393,26 +391,26 @@ msgstr ""
msgid "Administration"
msgstr "Administration"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domän"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "Relädomän"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr "Öppnad"
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr "Stängd"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Användarnamn"
@@ -449,11 +447,11 @@ msgstr ""
"Skapa ett slumpmässigt lösenord. Om du uppdaterar det här kontot och "
"markerar den här rutan kommer ett nytt lösenord att skapas."
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Lösenord"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Bekräftelse"
@@ -494,13 +492,13 @@ msgstr "Kvota"
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Kvot för denna brevlåda, kan uttryckas i KB, MB (standard) eller GB. "
-"Definiera ett anpassat värde eller använd domänens standardvärde. Lämna tomt"
-" för att definiera ett obegränsat värde (inte tillåtet för "
+"Definiera ett anpassat värde eller använd domänens standardvärde. Lämna tomt "
+"för att definiera ett obegränsat värde (inte tillåtet för "
"domänadministratörer)."
#: admin/forms/account.py:254 admin/models/domain.py:39
@@ -542,8 +540,8 @@ msgid ""
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
msgstr ""
-"Ytterligare avsändaradresser för detta konto. Användaren kommer att tillåtas"
-" skicka e-post med denna adress, även om den inte finns lokalt. Ange en "
+"Ytterligare avsändaradresser för detta konto. Användaren kommer att tillåtas "
+"skicka e-post med denna adress, även om den inte finns lokalt. Ange en "
"adress per fält. Tryck på ENTER för att lägga till ytterligare ett fält.."
#: admin/forms/account.py:339 admin/forms/alias.py:95
@@ -568,7 +566,8 @@ msgstr "Domäner användaren administrerar"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Generellt"
@@ -651,8 +650,8 @@ msgid ""
"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
"GB. A value of 0 means no quota."
msgstr ""
-"Standardkvot tillämpas på postlådor. Kan uttryckas i KB, MB (standard) eller"
-" GB. Ett värde på 0 betyder ingen kvot."
+"Standardkvot tillämpas på postlådor. Kan uttryckas i KB, MB (standard) eller "
+"GB. Ett värde på 0 betyder ingen kvot."
#: admin/forms/domain.py:106 admin/handlers.py:185
msgid "domain alias"
@@ -689,8 +688,7 @@ msgstr "Skapar automatiskt en administratör för den här domänen"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Namn"
@@ -820,42 +818,42 @@ msgstr "Du får inte importera domäner"
msgid "You are not allowed to import domain aliases."
msgstr "Du får inte importera domänalias."
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr "Ingen DNS-post hittades för %s"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Inga %(type)s poster för %(name)s"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "Inga fungerande namnservrar hittades"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS uppslag timeout, det går inte att fråga %s för tillfället"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr "DNS namn är för långt: %s"
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Ogiltigt IP-adressformat för {domain}; {addr}"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "Objekt finns redan: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d objekt har importerats framgångsrikt"
@@ -874,9 +872,21 @@ 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:28
-msgid "DKIM path non-writable"
-msgstr "DKIM sökväg ej skrivbar"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Failed to communicate with public API: %s"
+msgid "Failed to generate DKIM public key"
+msgstr "Det gick inte att kommunicera med offentligt API: %s"
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
@@ -993,7 +1003,7 @@ msgid "Key length"
msgstr "Nyckellängd"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Ogiltig rad"
@@ -1051,9 +1061,8 @@ msgstr "{}: domänkvoten har överskridits"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Stäng"
@@ -1306,10 +1315,8 @@ msgid "Warning"
msgstr "Varning"
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
-msgstr ""
-"DKIM-nycklar finns redan för den här domänen. Vill du skriva över dem?"
+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?"
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
#: lib/form_utils.py:400
@@ -1352,9 +1359,6 @@ msgstr "DNS status"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "Åtgärder"
@@ -1414,7 +1418,6 @@ msgstr "Vidarebefordra e-postmeddelanden automatiskt till en annan adress"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Uppdatera"
@@ -1450,11 +1453,11 @@ msgstr ""
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
"Ange en CSV-fil där raderna respekterar ett av följande format: konto; "
"login; lösenord; förnamn; efternamn; aktiverad; grupp; adress; kvota; [, "
@@ -1511,8 +1514,8 @@ msgid ""
"coming from it are considered as spam. You should contact those providers "
"and ask them to unlist detected IP address(es)."
msgstr ""
-"Domänens rykte kommer att påverkas och det finns en chans att "
-"e-postmeddelanden som kommer från den betraktas som spam. Du bör kontakta "
+"Domänens rykte kommer att påverkas och det finns en chans att e-"
+"postmeddelanden som kommer från den betraktas som spam. Du bör kontakta "
"dessa leverantörer och be dem att ta bort upptäckta IP-adresser."
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
@@ -1597,7 +1600,7 @@ msgstr "Ingen MX-post för %s"
msgid "Alias with this name already exists"
msgstr "Alias med detta namn finns redan"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "Skapa"
@@ -1678,11 +1681,11 @@ msgstr "2FA redan aktiverat"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr "Misslyckades anslutningsförsök från '%s' som användare '%s'"
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr "Ogiltigt lösenordd"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "2FA är nu aktiverat"
@@ -1705,12 +1708,11 @@ msgstr "Ogiltig syntax"
msgid "Invalid rounds number"
msgstr "Ogiltigt antal omgångar"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Denna kod är ogiltig"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Använd följande kod för att återställa ditt Modoboa lösenord: {}"
@@ -1817,8 +1819,9 @@ msgstr "Välj en leverantör för att skicka SMS för lösenordsåterställning"
msgid "LDAP settings"
msgstr "LDAP inställningar"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Server adress"
@@ -1826,8 +1829,9 @@ msgstr "Server adress"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP adressen eller DNS namn för LDAP server"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Server port"
@@ -1862,7 +1866,8 @@ msgstr "Sekundär serverport"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "TCP-portnumret som används av LDAP sekundärserver"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Använd en säker anslutning"
@@ -1884,8 +1889,8 @@ msgstr "Administratörsgrupper"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Användare av dessa LDAP Posix grupper kommer skapas som "
"domänadministratörer. Använd ';' för att separera grupper."
@@ -1993,8 +1998,8 @@ msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
msgstr ""
-"Mallen som används för att konstruera en användares DN. Den bör innehålla en"
-" platshållare (dvs. %(user)s)"
+"Mallen som används för att konstruera en användares DN. Den bör innehålla en "
+"platshållare (dvs. %(user)s)"
#: core/app_settings.py:276 core/app_settings.py:1017
msgid "LDAP synchronization settings"
@@ -2019,8 +2024,7 @@ msgid ""
"Delete remote LDAP account when local account is deleted, otherwise it will "
"be disabled."
msgstr ""
-"Radera LDAP-fjärrkonto när det lokala kontot raderas, annars inaktiveras "
-"det."
+"Radera LDAP-fjärrkonto när det lokala kontot raderas, annars inaktiveras det."
#: core/app_settings.py:317 core/app_settings.py:1068
msgid "Account DN template"
@@ -2057,8 +2061,7 @@ msgstr "Aktivera Dovecot LDAP-synkronisering"
#: core/app_settings.py:365 core/app_settings.py:1124
msgid "LDAP authentication settings will be applied to Dovecot configuration."
-msgstr ""
-"LDAP-autentiseringsinställningar tillämpas på Dovecot-konfigurationen."
+msgstr "LDAP-autentiseringsinställningar tillämpas på Dovecot-konfigurationen."
#: core/app_settings.py:370 core/app_settings.py:1132
msgid "Dovecot LDAP config file"
@@ -2082,8 +2085,7 @@ msgstr "Användardefinierat RSS-flöde"
#: core/app_settings.py:385 core/app_settings.py:1155
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-"Visa användardefinierat RSS-flöde för återförsäljare och "
-"domänadministratörer"
+"Visa användardefinierat RSS-flöde för återförsäljare och domänadministratörer"
#: core/app_settings.py:390 core/app_settings.py:1163
msgid "Hide features widget"
@@ -2121,8 +2123,7 @@ msgstr "Aktivera kommunikation med Modoboa publikt API"
msgid "Check new versions"
msgstr "Kontrollera nya versioner"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "Kontrollera automatiskt om en nyare version finns"
@@ -2163,8 +2164,8 @@ msgstr "Aktivera spårning av inaktiva konton"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"Allow the administrator to set a threshold (in days) beyond which an account "
+"is considered inactive if the user hasn't logged in"
msgstr ""
"Tillåt administratören att ställa in en tröskel (i dagar) över vilken ett "
"konto anses inaktivt om användaren inte har loggat in"
@@ -2175,8 +2176,8 @@ msgstr "Gräns för inaktiva konton"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Ett konto som inte har loggat in innan denna gräns (antal dagar) kommer "
"anses som inaktivt"
@@ -2255,35 +2256,31 @@ msgstr "Välj leverantör"
msgid "Dummy"
msgstr "Dummy"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr "2FA-verifiering saknas."
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Gammalt lösenord"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Nytt lösenord"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Gammalt lösenord matchar inte"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Lösenord matchar inte"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "Aktivera API access"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Verifikationskod"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Ogiltig kod"
@@ -2353,28 +2350,28 @@ msgstr "Önskat språk för att visa sidor."
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "En alternativ e-post adress, kan användas för återställningsbehov."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Misslyckades med att uppdatera lösenord: LDAP modul ej installerad"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "konto"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Okänt"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Du kan inte importera konto med en roll större än din"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Den enkla användaren '%s' måste ha en gällande e-postadress"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "användarnamn och e-post fält får inte avvika för '%s'"
@@ -2405,8 +2402,7 @@ msgstr[1] "Lösenord måste innehålla minst {} specialtecken."
#: core/password_validation.py:70
msgid "Your password must contain a combination of different character types."
-msgstr ""
-"Ditt lösenord måste innehålla en kombination av olika typer av tecken."
+msgstr "Ditt lösenord måste innehålla en kombination av olika typer av tecken."
#: core/sms_backends/ovh.py:21 core/sms_backends/ovh.py:102
msgid "API endpoint"
@@ -2481,8 +2477,8 @@ msgid ""
"Visit the official "
"weblog for more information."
msgstr ""
-"Besök den officiella"
-" bloggen för mer information."
+"Besök den officiella "
+"bloggen för mer information."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -2625,8 +2621,8 @@ msgstr "Tvåfaktorsautentisering"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
"Installera en mjuk token-autentisering som FreeOTP eller Google "
"Authenticator från ditt programförråd och använd den appen för att skanna "
@@ -2654,9 +2650,9 @@ msgid ""
"account anymore."
msgstr ""
"Följande återställningskoder kan användas en gång var för att låta dig "
-"återfå åtkomst till ditt konto, om du till exempel skulle tappa din telefon."
-" Se till att spara dem på ett säkert ställe, annars kommer du inte att kunna"
-" komma åt ditt konto längre."
+"återfå åtkomst till ditt konto, om du till exempel skulle tappa din telefon. "
+"Se till att spara dem på ett säkert ställe, annars kommer du inte att kunna "
+"komma åt ditt konto längre."
#: core/templates/core/user_security.html:53
msgid "Two-Factor Authentication is enabled for your account."
@@ -2683,8 +2679,8 @@ msgid ""
"Two-Factor Authentication (2FA) is not yet activated for your account. "
"Enabling this feature will increase your account's security."
msgstr ""
-"Tvåfaktorsautentisering (2FA) har inte aktiverats för ditt konto. Aktivering"
-" ökar ditt kontos säkerhet."
+"Tvåfaktorsautentisering (2FA) har inte aktiverats för ditt konto. Aktivering "
+"ökar ditt kontos säkerhet."
#: core/templates/core/user_security.html:73
msgid "Enable 2FA"
@@ -2724,26 +2720,22 @@ msgstr "Kärnan av Modoboa"
msgid "Parameters saved"
msgstr "Parametrar sparade"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Fel lösenordsschema. Uppdaterar %s lösenord"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Fel lösenordshash. Uppdaterar %s lösenord"
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Användare '%s' har loggat in"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Ditt användarnamn och lösenord matchar inte. Var vänlig försök igen."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Fel lösenordsschema. Uppdaterar %s lösenord"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr "Fel lösenordshash. Uppdaterar %s lösenord"
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "Användare '{}' loggade ut framgångsrikt"
@@ -3010,8 +3002,8 @@ msgstr "En DNS-post har hittats men dess syntax är ogiltig:"
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
"Här är ett exempel på DNS-konfiguration (bindningsformat). Ersätt värdet "
"mellan [ ] med lämpliga."
@@ -3096,8 +3088,8 @@ msgstr "Mappfilterinneslutningar"
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
"En kommaseparerad lista över mappar som explicit ska inkluderas i "
"synkronisering även om de filtreras av mappfilteruteslutningarna. Exempel: "
@@ -3115,7 +3107,7 @@ msgstr "OfflineIMAP-filterinställningar"
msgid "IMAP Migration"
msgstr "IMAP-migrering"
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Anslutningen till IMAP servern misslyckades: %s"
@@ -3187,9 +3179,9 @@ msgstr "Skriv in ett giltigt domännamn"
msgid "Enter a valid email address."
msgstr "Ange en giltig e-postadress"
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Skicka"
@@ -3215,8 +3207,8 @@ msgid "Enable or disable per-admin limits"
msgstr "Aktivera eller inaktivera gränser per administratör"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "Domänadministratörer"
@@ -3225,8 +3217,8 @@ msgid ""
"Maximum number of allowed domain administrators for a new administrator. (0 "
"to deny any creation, -1 to allow unlimited creations)"
msgstr ""
-"Maximalt antal tillåtna domänadministratörer för en ny administratör. (0 för"
-" att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
+"Maximalt antal tillåtna domänadministratörer för en ny administratör. (0 för "
+"att neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
#: limits/app_settings.py:39 limits/app_settings.py:175
msgid ""
@@ -3238,8 +3230,8 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Maximalt antal tillåtna domänalias för en ny administratör. (0 för att neka "
"någon skapelse, -1 för att tillåta obegränsade skapelser)"
@@ -3257,8 +3249,8 @@ msgid ""
"Maximum number of allowed aliases for a new administrator. (0 to deny any "
"creation, -1 to allow unlimited creations)"
msgstr ""
-"Maximalt antal tillåtna alias för en ny administratör. (0 för att neka någon"
-" skapelse, -1 för att tillåta obegränsade skapelser)"
+"Maximalt antal tillåtna alias för en ny administratör. (0 för att neka någon "
+"skapelse, -1 för att tillåta obegränsade skapelser)"
#: limits/app_settings.py:76 limits/app_settings.py:220
msgid ""
@@ -3282,8 +3274,8 @@ msgstr "Aktivera eller inaktivera gränser per domän"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
"Maximalt antal tillåtna domänadministratörer för en ny domän. (0 för att "
"neka någon skapelse, -1 för att tillåta obegränsade skapelser)"
@@ -3306,8 +3298,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
"Maximalt antal tillåtna alias för en ny domän. (0 för att neka någon "
"skapelse, -1 för att tillåta obegränsade skapelser)"
@@ -3588,8 +3580,8 @@ msgid ""
"Generate a new document only when a new account is created. If set to no, a "
"new document will be created each time a password is updated."
msgstr ""
-"Skapa ett nytt dokument först när ett nytt konto har skapats. Om inställt på"
-" nej kommer ett nytt dokument att skapas varje gång ett lösenord uppdateras."
+"Skapa ett nytt dokument först när ett nytt konto har skapats. Om inställt på "
+"nej kommer ett nytt dokument att skapas varje gång ett lösenord uppdateras."
#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232
msgid "Customization options"
@@ -3718,7 +3710,8 @@ msgid ""
"your contacts.\n"
msgstr ""
"\n"
-"Här kan du se dina e-postmeddelanden när som helst online, skapa filter eller hantera\n"
+"Här kan du se dina e-postmeddelanden när som helst online, skapa filter "
+"eller hantera\n"
"dina kontakter.\n"
#: pdfcredentials/documents.py:126
@@ -3779,19 +3772,47 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
msgstr "Detta datum har varit"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "Måste vara nyare än startdatum"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "Automatiskt svar timeout"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "Timeout i sekunder mellan två auto-svar till samma mottagare"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "Standard ämne"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "Standard ämne när ett autosvarsmeddelande skapas automatiskt."
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Standard innehåll som används när ett autosvarsmeddelande skapas "
+"automatiskt. '%(name)s' ersätts med användarens fullständiga namn."
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3817,30 +3838,13 @@ msgid ""
"be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, "
"%(untildate)s"
msgstr ""
-"Innehållet i ditt svar. Du kan använda följande variabler, vilka automatiskt"
-" kommer ersättas med lämpligt värde: %(name)s, %(fromdate)s, %(untildate)s"
-
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "Automatiskt svar timeout"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr "Timeout i sekunder mellan två auto-svar till samma mottagare"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "Standard ämne"
+"Innehållet i ditt svar. Du kan använda följande variabler, vilka automatiskt "
+"kommer ersättas med lämpligt värde: %(name)s, %(fromdate)s, %(untildate)s"
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "Jag är borta"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr "Standard ämne när ett autosvarsmeddelande skapas automatiskt."
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3860,15 +3864,6 @@ msgstr ""
"Med vänliga hälsningar,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-"Standard innehåll som används när ett autosvarsmeddelande skapas "
-"automatiskt. '%(name)s' ersätts med användarens fullständiga namn."
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -3934,34 +3929,99 @@ msgstr "målvärdport"
msgid "verify recipients"
msgstr "verifiera mottagare"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "Användare '%s' finns redan"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "DNS settings"
+msgid "ManageSieve settings"
+msgstr "ManageSieve inställningar"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your MANAGESIEVE server"
+msgstr "Adressen till din MANAGESIEVE server"
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "MANAGESIEVE server lyssnar på port"
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr "Anslut med STARTTLS"
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr "Använd STARTTLS"
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Autentiseringsmekanism"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "Önskad autentiseringsmekanism"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "IMAP inställningar"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+#, fuzzy
+#| msgid "IP address of your Modoboa server"
+msgid "Address of your IMAP server"
+msgstr "Adress för din IMAP server"
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Använd en säker anslutning för att ansluta till IMAP server"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+#, fuzzy
+#| msgid "Listening port of the IMAP server"
+msgid "Listening port of your IMAP server"
+msgstr "Lyssningsport för din IMAP server"
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Sieve filter"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message logs"
msgid "Message filters"
msgstr "Meddelandefilter"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr "Alla av följande"
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr "Någon av följande"
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4039,127 +4099,51 @@ msgstr "Avvisa meddelande"
msgid "Stop processing"
msgstr "Sluta bearbeta"
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "Markera för att aktivera denna filter regel"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr "Matcha typ"
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr "Fel filter namn"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "DNS settings"
-msgid "ManageSieve settings"
-msgstr "ManageSieve inställningar"
-
-#: sievefilters/forms.py:314
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your MANAGESIEVE server"
-msgstr "Adressen till din MANAGESIEVE server"
-
-#: sievefilters/forms.py:321
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your MANAGESIEVE server"
-msgstr "MANAGESIEVE server lyssnar på port"
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr "Anslut med STARTTLS"
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr "Använd STARTTLS"
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Autentiseringsmekanism"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "Önskad autentiseringsmekanism"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "IMAP inställningar"
-
-#: sievefilters/forms.py:344
-#, fuzzy
-#| msgid "IP address of your Modoboa server"
-msgid "Address of your IMAP server"
-msgstr "Adress för din IMAP server"
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Använd en säker anslutning för att ansluta till IMAP server"
-
-#: sievefilters/forms.py:356
-#, fuzzy
-#| msgid "Listening port of the IMAP server"
-msgid "Listening port of your IMAP server"
-msgstr "Lyssningsport för din IMAP server"
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr "Redigeringsläge"
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr "Välj det läge du vill redigeraren att arbeta i"
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create Folders"
msgid "Trash folder"
msgstr "Skräpkatalog"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "Katalog där raderade meddelanden hamnar"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create Folders"
msgid "Sent folder"
msgstr "Skickat katalog"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr "Katalog där en kopia av skickade meddelanden hamnar"
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create Folders"
msgid "Drafts folder"
msgstr "Utkast katalog"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr "Katalog där utkast sparas"
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Misslyckades med att hämta hierarkinavgränsaren"
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
#, fuzzy
#| msgid "Connection to IMAP server failed: %s"
msgid "Connection to MANAGESIEVE server failed, check your configuration"
@@ -4167,160 +4151,12 @@ msgstr ""
"Anslutning till MANAGESIEVE servern misslyckades, kontrollera din "
"konfiguration"
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "Inte tillräckligt med utrymme på servern"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Villkor"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Aktivera"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "Inga filter definierade än"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr "Filter uppsättning"
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr "aktivera"
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-"Inga filter uppsättningar definierade. Du måste skapa en uppsättning för att"
-" kunna definiera filter."
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr "Ny filter uppsättning"
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Nytt filter"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Spara filter uppsättning"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Aktivera filter uppsättning"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "Radera filter uppsättning"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr "Ladda ner"
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr "Redigera filter"
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "Radera detta filter"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr "Flytta upp detta filter"
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "Flytta ner detta filter"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "Det gick inte att hämta filteruppsättning"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "Filter krashade"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Filter modifierat"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr "Filter raderat"
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr "Det gick inte att radera filtret"
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Filter uppsättning sparat"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "Filter uppsättning skapat"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr "Skapa ny filteruppsättning"
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "Filter uppsättning raderad"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr "Filter uppsättning aktiverad"
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "ja"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr "nej"
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Ursäkta"
@@ -4370,15 +4206,23 @@ msgstr "Ny administratör"
msgid "Welcome to Modoboa"
msgstr "Välkommen till Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Notifikationer"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Kom ihåg mig"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Logga in"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Glömt ditt lösenord?"
@@ -4392,11 +4236,11 @@ msgstr ""
"Ditt lösenord har ändrats. Du kan fortsätta med att logga in."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Ändra lösenord"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -4404,15 +4248,19 @@ msgstr ""
"Lösenordets återställningslänk är ogiltig, förmodligen för att den redan "
"använts. Var vänlig begär en ny återställning av lösenord."
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Ange koden du precis fick via SMS"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Skicka kod igen"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4420,9 +4268,9 @@ msgid ""
"primary address, and check your spam folder."
msgstr ""
"Vi har e-postat dig instruktioner för att ändra ditt lösenord, om ett "
-"konto finns med den e-post adress du angav. Du borde få detta brev inom "
-"kort.
Om du inte fått något brev, var vänlig kontrollera att du angav"
-" rätt e-post adress, och kolla din skräpkatalog.
"
+"konto finns med den e-post adress du angav. Du borde få detta brev inom kort."
+" Om du inte fått något brev, var vänlig kontrollera att du angav rätt "
+"e-post adress, och kolla din skräpkatalog.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -4431,8 +4279,8 @@ msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
msgstr ""
-"För att starta processen för återställning av lösenord för ditt %(username)s"
-" Modoboa konto, klicka på länken nedanför:"
+"För att starta processen för återställning av lösenord för ditt %(username)s "
+"Modoboa konto, klicka på länken nedanför:"
#: templates/registration/password_reset_email.html:10
#: templates/registration/password_reset_email_v2.html:10
@@ -4448,14 +4296,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Vänligen, Modoboa teamet."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Var vänlig fyll i din primära e-postadress"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa lösenordsåterställning."
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Verifikationskod"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Gammalt lösenord"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Verifikationskod"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Ogiltigt värde"
@@ -4472,6 +4357,154 @@ msgstr "service"
msgid "next hop"
msgstr "nästa hopp"
+#~ msgid "Directory non-writable"
+#~ msgstr "Katalog är en skrivbar"
+
+#~ msgid "DKIM path non-writable"
+#~ msgstr "DKIM sökväg ej skrivbar"
+
+#~ msgid "Missing 2FA verification."
+#~ msgstr "2FA-verifiering saknas."
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr ""
+#~ "Ditt användarnamn och lösenord matchar inte. Var vänlig försök igen."
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "Markera för att aktivera denna filter regel"
+
+#~ msgid "Match type"
+#~ msgstr "Matcha typ"
+
+#~ msgid "Wrong filter name"
+#~ msgstr "Fel filter namn"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Villkor"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Aktivera"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "Inga filter definierade än"
+
+#~ msgid "Filter sets"
+#~ msgstr "Filter uppsättning"
+
+#~ msgid "active"
+#~ msgstr "aktivera"
+
+#~ msgid ""
+#~ "No filters set defined yet. You must create one in order to define "
+#~ "filters."
+#~ msgstr ""
+#~ "Inga filter uppsättningar definierade. Du måste skapa en uppsättning för "
+#~ "att kunna definiera filter."
+
+#~ msgid "New filters set"
+#~ msgstr "Ny filter uppsättning"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Nytt filter"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Spara filter uppsättning"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Aktivera filter uppsättning"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "Radera filter uppsättning"
+
+#~ msgid "Download"
+#~ msgstr "Ladda ner"
+
+#~ msgid "Edit filter"
+#~ msgstr "Redigera filter"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "Radera detta filter"
+
+#~ msgid "Move this filter up"
+#~ msgstr "Flytta upp detta filter"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "Flytta ner detta filter"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "Det gick inte att hämta filteruppsättning"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "Filter krashade"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Filter modifierat"
+
+#~ msgid "Filter removed"
+#~ msgstr "Filter raderat"
+
+#~ msgid "Failed to remove filter"
+#~ msgstr "Det gick inte att radera filtret"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Filter uppsättning sparat"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "Filter uppsättning skapat"
+
+#~ msgid "Create a new filters set"
+#~ msgstr "Skapa ny filteruppsättning"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Filter uppsättning raderad"
+
+#~ msgid "Filters set activated"
+#~ msgstr "Filter uppsättning aktiverad"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "ja"
+
+#~ msgid "no"
+#~ msgstr "nej"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Var vänlig fyll i din primära e-postadress"
+
#, python-format
#~ msgid "Failed connection attempt from '%s' as user '%s'"
#~ msgstr "Misslyckades anslutningsförsök från '%s' som användare '%s'"
diff --git a/modoboa/locale/tr/LC_MESSAGES/django.po b/modoboa/locale/tr/LC_MESSAGES/django.po
index 1c309f8b1..4a478eddd 100644
--- a/modoboa/locale/tr/LC_MESSAGES/django.po
+++ b/modoboa/locale/tr/LC_MESSAGES/django.po
@@ -8,10 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/tr/)\n"
+"Language-Team: Turkish (http://www.transifex.com/tonio/modoboa/language/"
+"tr/)\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,15 +37,15 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
#, fuzzy
#| msgid "Permission denied"
msgid "Permission denied."
msgstr "İzin reddedildi"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -59,43 +60,42 @@ 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:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
#, fuzzy
#| msgid "This field is required"
msgid "This field is required."
msgstr "Bu alan gerekli"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "Enter a valid email address."
msgid "This alias already exists"
msgstr "Geçerli bir e-posta adresi girin."
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -114,36 +114,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -191,8 +186,8 @@ msgstr ""
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
#: admin/app_settings.py:43 admin/app_settings.py:317
@@ -316,7 +311,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -330,9 +325,8 @@ msgid ""
"removed within Modoboa"
msgstr ""
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr ""
@@ -367,8 +361,7 @@ msgid "Automatic domain/mailbox creation"
msgstr ""
#: admin/app_settings.py:177 admin/app_settings.py:491
-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:182 admin/app_settings.py:500
@@ -379,6 +372,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -391,28 +388,28 @@ msgstr ""
msgid "Administration"
msgstr "Yönetici grupları"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "Kapat"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Kullanıcı adı"
@@ -447,11 +444,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Parola"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Onayla"
@@ -496,9 +493,9 @@ msgstr ""
#: admin/forms/account.py:244
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
#: admin/forms/account.py:254 admin/models/domain.py:39
@@ -564,7 +561,8 @@ msgstr "Alan adı Yöneticisi"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Genel"
@@ -693,8 +691,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "İsim"
@@ -835,42 +832,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -890,10 +887,22 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr "dize kodlaması belirlenemiyor"
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "Modoboa genel API'si ile iletişimi etkinleştir"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -1023,7 +1032,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "Geçersiz satır"
@@ -1083,9 +1092,8 @@ msgstr ""
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Kapat"
@@ -1364,8 +1372,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1413,9 +1420,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
#, fuzzy
#| msgid "Applications"
msgid "Actions"
@@ -1481,7 +1485,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Güncelle"
@@ -1515,11 +1518,11 @@ msgstr ""
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
#: admin/templates/admin/importform.html:6
@@ -1660,7 +1663,7 @@ msgstr "Yeni kurtarma kodları"
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1750,13 +1753,13 @@ msgstr "2FA zaten etkin"
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Eski parola"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr "2FA etkin değil"
@@ -1779,12 +1782,11 @@ msgstr "Geçersiz sözdizimi"
msgid "Invalid rounds number"
msgstr "Geçersiz tur sayısı"
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr "Bu kod geçersiz"
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr "Modoboa şifrenizi kurtarmak için lütfen aşağıdaki kodu kullanın: {}"
@@ -1817,8 +1819,8 @@ msgid ""
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
"between 1000 and 999999999, inclusive."
msgstr ""
-"Kullanılacak tur sayısı (Sadece sha256crypt ve sha512crypt kullanılır). 1000"
-" ve 999999999 arasında olmalıdır."
+"Kullanılacak tur sayısı (Sadece sha256crypt ve sha512crypt kullanılır). 1000 "
+"ve 999999999 arasında olmalıdır."
#: core/app_settings.py:71 core/app_settings.py:752
msgid "Update password scheme at login"
@@ -1889,8 +1891,9 @@ msgstr "Kurtarma parolası göndermek için bir SMS sağlayıcı seçin. "
msgid "LDAP settings"
msgstr "LDAP ayarları"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Sunucu adresi"
@@ -1898,8 +1901,9 @@ msgstr "Sunucu adresi"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "LDAP sunucusunun IP adresi ya da DNS adı"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Sunucu portu"
@@ -1934,7 +1938,8 @@ msgstr "İkincil sunucu portu"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "İkincil LDAP sunucusunun kullandığı TCP port numarası"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Güvenli bir bağlantı kullanın"
@@ -1956,8 +1961,8 @@ msgstr "Yönetici grupları"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
"Bu LDAP Posix gruplarının üyeleri, etki alanı yöneticileri olarak "
"oluşturulacaktır. Grupları ayırmak için ';' karakterini kullanın."
@@ -2188,8 +2193,7 @@ msgstr "Modoboa genel API'si ile iletişimi etkinleştir"
msgid "Check new versions"
msgstr "Yeni sürümleri kontrol et"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr ""
"Daha yeni bir sürümün mevcut olup olmadığını otomatik olarak kontrol eder"
@@ -2233,8 +2237,8 @@ msgstr "Etkin olmayan hesap eşiği"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2243,8 +2247,8 @@ msgstr "Etkin olmayan hesap eşiği"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr ""
"Son giriş tarihi bu eşikten (gün olarak) daha yüksek olan bir hesap etkin "
"değil olarak kabul edilecektir."
@@ -2324,35 +2328,31 @@ msgstr "Bir sağlayıcı seçin"
msgid "Dummy"
msgstr "Kukla"
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Eski parola"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Yeni parola"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "Eski parola uyumsuzluğu"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "Parolalar uyuşmuyor"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "API erişimini etkinleştir"
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr "Doğrulama kodu"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr "Geçersiz kod"
@@ -2423,28 +2423,28 @@ msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
"Kurtarma ihtiyaçları için alternatif bir e-posta adresi kullanılabilir."
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "Parola güncellenemedi: LDAP modülü kurulu değil"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "Hesap"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "Bilinmeyen"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr "Sizinkinden daha büyük bir role sahip bir hesabı içe aktaramazsınız"
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "'%s' basit kullanıcısının geçerli bir e-posta adresi olmalıdır"
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "'%s' için kullanıcı adı ve e-posta alanları farklı olmamalıdır"
@@ -2696,8 +2696,8 @@ msgstr "İki Faktörlü kimlik doğrulama"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
"Uygulama havuzunuzdan FreeOTP veya Google Authenticator gibi bir yazılım "
"belirteci kimlik doğrulayıcı yükleyin ve bu QR kodunu taramak için bu "
@@ -2797,26 +2797,22 @@ msgstr "Modoboa'nın çekirdek kısmı"
msgid "Parameters saved"
msgstr "Parametreler kaydedildi"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr "Parola düzeni uyuşmazlığı. %s'in parolasını güncelleme"
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr "Parola karma parametresi uyuşmazlığı. %s'in parolasını güncelleme"
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr "'%s' kullanıcısı başarıyla giriş yaptı"
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
-msgstr "Kullanıcı adınız ve parolanız eşleşmedi. Lütfen tekrar deneyin."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
+msgstr "Parola düzeni uyuşmazlığı. %s'in parolasını güncelleme"
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr "Parola karma parametresi uyuşmazlığı. %s'in parolasını güncelleme"
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr "'{}' kullanıcısı başarıyla çıkış yaptı"
@@ -3098,8 +3094,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3188,8 +3184,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3206,7 +3202,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3283,9 +3279,9 @@ msgstr "Geçerli bir alan adı girin"
msgid "Enter a valid email address."
msgstr "Geçerli bir e-posta adresi girin."
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Gönder"
@@ -3311,8 +3307,8 @@ msgid "Enable or disable per-admin limits"
msgstr ""
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
#, fuzzy
#| msgid "Domain administrator"
msgid "Domain admins"
@@ -3332,8 +3328,8 @@ msgstr ""
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain aliases for a new administrator. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
#: limits/app_settings.py:58 limits/app_settings.py:198
@@ -3368,8 +3364,8 @@ msgstr ""
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"Maximum number of allowed domain administrators for a new domain. (0 to deny "
+"any creation, -1 to allow unlimited creations)"
msgstr ""
#: limits/app_settings.py:104 limits/app_settings.py:260
@@ -3386,8 +3382,8 @@ msgstr ""
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr ""
#: limits/apps.py:13 limits/apps.py:17
@@ -3878,17 +3874,43 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This code is invalid"
msgid "This date is over"
msgstr "Bu kod geçersiz"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Inactive account threshold"
msgid "Automatic replies"
@@ -3914,27 +3936,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3948,13 +3953,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -4026,34 +4024,91 @@ msgstr ""
msgid "verify recipients"
msgstr "Alıcı"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "Enter a valid email address."
msgid "Filter %s already exists"
msgstr "Geçerli bir e-posta adresi girin."
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "LDAP ayarları"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Kimlik doğrulama metodu"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "LDAP authentication settings"
+msgid "Prefered authentication mechanism"
+msgstr "LDAP kimilk doğrulama ayarları"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "LDAP ayarları"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "LDAP sunucusuna erişmek için bir SSL/STARTTLS bağlantısı kullanın"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Arama filtresi"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Message"
msgid "Message filters"
msgstr "İleti"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "Message"
msgid "All messages"
@@ -4123,251 +4178,50 @@ msgstr "İleti"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "LDAP ayarları"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Kimlik doğrulama metodu"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "LDAP authentication settings"
-msgid "Prefered authentication mechanism"
-msgstr "LDAP kimilk doğrulama ayarları"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "LDAP ayarları"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "LDAP sunucusuna erişmek için bir SSL/STARTTLS bağlantısı kullanın"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Onayla"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Active users"
-msgid "Active"
-msgstr "Aktif kullanıcılar"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Domain administrator"
-msgid "No filter defined yet"
-msgstr "Alan adı Yöneticisi"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Arama filtresi"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Arama filtresi"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active users"
-msgid "Activate filters set"
-msgstr "Aktif kullanıcılar"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Account DN template"
-msgid "Filter created"
-msgstr "Hesap DN şablonu."
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "Değiştirildi"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "Parametreler kaydedildi"
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "deleted"
-msgid "Filters set deleted"
-msgstr "Silindi"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "Evet"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "Üzgünüm"
@@ -4417,15 +4271,23 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr "Modoboa'ya hoş geldiniz"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Bildirimler"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Beni hatırla"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Giriş yap"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "Parolanızı mı unuttunuz?"
@@ -4439,37 +4301,42 @@ msgstr ""
"Parolanız ayarlandı. Şimdi devam ederek Giriş "
"yapabilirsiniz."
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr "Parolayı değiştirin"
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-"Parola sıfırlama bağlantısı, muhtemelen daha önce kullanılmış olduğu için geçersizdi. Lütfen yeni bir parola sıfırlama talebinde bulunun.\n"
+"Parola sıfırlama bağlantısı, muhtemelen daha önce kullanılmış olduğu için "
+"geçersizdi. Lütfen yeni bir parola sıfırlama talebinde bulunun.\n"
" "
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr "Az önce SMS ile aldığınız kodu giriniz"
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr "Kodu yeniden gönder"
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
"If you don't receive an email, please make sure you've entered your "
"primary address, and check your spam folder.
"
msgstr ""
-"Parolanızı belirleme talimatlarını girdiğiniz e-posta hesabına gönderdik."
-" Onları az önce almış olmalısınız.
Eğer bir e-posta almadıysanız "
-"lütfen birincil e-posta adersinizi girdiğinizden emin olun ve istenmeyen "
-"e-posta klasörünüzü kontrol edin.
"
+"Parolanızı belirleme talimatlarını girdiğiniz e-posta hesabına gönderdik. "
+"Onları az önce almış olmalısınız.
Eğer bir e-posta almadıysanız lütfen "
+"birincil e-posta adersinizi girdiğinizden emin olun ve istenmeyen e-posta "
+"klasörünüzü kontrol edin.
"
#: templates/registration/password_reset_email.html:4
#: templates/registration/password_reset_email_v2.html:4
@@ -4478,8 +4345,8 @@ msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
msgstr ""
-"%(username)s Modoboa hesabınız için parola sıfırlama işlemini başlatmak için"
-" aşağıdaki bağlantıya tıklayın:"
+"%(username)s Modoboa hesabınız için parola sıfırlama işlemini başlatmak için "
+"aşağıdaki bağlantıya tıklayın:"
#: templates/registration/password_reset_email.html:10
#: templates/registration/password_reset_email_v2.html:10
@@ -4495,14 +4362,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr "Saygılarımızla. Modoboa ekibi."
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr "Lütfen birincil e-posta adresinizi girin"
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa parola sıfırlama"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verification"
+msgstr "Doğrulama kodu"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Eski parola"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Verification code"
+msgid "Verify code"
+msgstr "Doğrulama kodu"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
#, fuzzy
#| msgid "Invalid line"
@@ -4520,3 +4424,64 @@ msgstr ""
#: transport/models.py:17
msgid "next hop"
msgstr ""
+
+#~ msgid "Your username and password didn't match. Please try again."
+#~ msgstr "Kullanıcı adınız ve parolanız eşleşmedi. Lütfen tekrar deneyin."
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Onayla"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Active"
+#~ msgstr "Aktif kullanıcılar"
+
+#, fuzzy
+#~| msgid "Domain administrator"
+#~ msgid "No filter defined yet"
+#~ msgstr "Alan adı Yöneticisi"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Arama filtresi"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Arama filtresi"
+
+#, fuzzy
+#~| msgid "Active users"
+#~ msgid "Activate filters set"
+#~ msgstr "Aktif kullanıcılar"
+
+#, fuzzy
+#~| msgid "Account DN template"
+#~ msgid "Filter created"
+#~ msgstr "Hesap DN şablonu."
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "Değiştirildi"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "Parametreler kaydedildi"
+
+#, fuzzy
+#~| msgid "deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "Silindi"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "Evet"
+
+#~ msgid "Please fill-in your primary email address"
+#~ msgstr "Lütfen birincil e-posta adresinizi girin"
diff --git a/modoboa/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/locale/tr_TR/LC_MESSAGES/django.po
index 51363f38e..a8a66e417 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/"
@@ -41,13 +41,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -60,39 +60,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -111,36 +110,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -295,7 +289,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -354,6 +348,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -364,26 +362,26 @@ msgstr ""
msgid "Administration"
msgstr "Yönetim"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "Kullanıcı adı"
@@ -416,11 +414,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "Parola"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "Şifre tekrar"
@@ -525,7 +523,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "Genel"
@@ -638,8 +637,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "Ad"
@@ -766,42 +764,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -820,8 +818,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -937,7 +945,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1295,9 +1303,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1357,7 +1362,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "Güncelle"
@@ -1521,7 +1525,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1603,13 +1607,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "Eski parola"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1632,11 +1636,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1737,8 +1741,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "LDAP ayarları"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "Sunucu adresi"
@@ -1746,8 +1751,9 @@ msgstr "Sunucu adresi"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "LDAP sunucusunun adresi (DNS) ya da ip adresi"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "Sunucu portu"
@@ -1788,7 +1794,8 @@ msgstr "Sunucu portu"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "LDAP sunucu tarafından kullanılan TCP portu"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "Güvenli bir bağlantı kullan"
@@ -2159,37 +2166,33 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "Eski parola"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "Yeni parola"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "Bildirimler"
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2261,28 +2264,28 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2617,26 +2620,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -3010,7 +3009,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3080,9 +3079,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "Gönder"
@@ -3653,17 +3652,43 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "Bu alan gereklidir"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3687,27 +3712,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3721,13 +3729,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3791,33 +3792,90 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "LDAP ayarları"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "Yetkilendirme metodu"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "Yetkilendirme metodu"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "LDAP ayarları"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use a secured connection"
+msgid "Use a secured connection to access IMAP server"
+msgstr "Güvenli bir bağlantı kullan"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "Arama filtresi"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "Arama filtresi"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3881,239 +3939,50 @@ msgstr "Konu"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "Dosya adı"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "LDAP ayarları"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "Yetkilendirme metodu"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "Yetkilendirme metodu"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "LDAP ayarları"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use a secured connection"
-msgid "Use a secured connection to access IMAP server"
-msgstr "Güvenli bir bağlantı kullan"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "Şifre tekrar"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "Arama filtresi"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "Arama filtresi"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active Directory"
-msgid "Activate filters set"
-msgstr "Active Directory"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4165,15 +4034,23 @@ msgstr "Yeni hesap"
msgid "Welcome to Modoboa"
msgstr "Modoboa'ya Hoşgeldiniz"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "Bildirimler"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "Beni hatırla"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "Giriş"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4185,25 +4062,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4231,14 +4112,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "Bildirimler"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+msgstr "Eski parola"
+
+#: 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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verify code"
+msgstr "Bildirimler"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "Geçersiz değer"
@@ -4255,6 +4173,31 @@ msgstr "hizmet"
msgid "next hop"
msgstr "sonraki atlama"
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "Dosya adı"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "Şifre tekrar"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "Arama filtresi"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "Arama filtresi"
+
+#, fuzzy
+#~| msgid "Active Directory"
+#~ msgid "Activate filters set"
+#~ msgstr "Active Directory"
+
#~ msgid "md5crypt (weak)"
#~ msgstr "md5crypt (zayıf)"
diff --git a/modoboa/locale/uk/LC_MESSAGES/django.po b/modoboa/locale/uk/LC_MESSAGES/django.po
index 112f13cde..394a77f75 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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"
@@ -42,13 +42,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -61,39 +61,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -112,36 +111,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -296,7 +290,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -355,6 +349,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -365,26 +363,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -417,11 +415,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -526,7 +524,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -639,8 +638,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -767,42 +765,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -821,8 +819,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -938,7 +946,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1294,9 +1302,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1356,7 +1361,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1520,7 +1524,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1606,11 +1610,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1633,11 +1637,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1734,8 +1738,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1743,8 +1748,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1777,7 +1783,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2142,35 +2149,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2240,30 +2243,30 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "Не вдалося оновити обліковий запис LDAP: {} "
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2602,26 +2605,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2985,7 +2984,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3053,9 +3052,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3610,15 +3609,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3642,27 +3667,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3676,13 +3684,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3744,29 +3745,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3826,219 +3874,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4088,15 +3967,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4108,25 +3993,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4154,14 +4043,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/zh_CN/LC_MESSAGES/django.po b/modoboa/locale/zh_CN/LC_MESSAGES/django.po
index 7f3be7b40..31092b3e9 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: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/"
@@ -40,13 +40,13 @@ msgstr ""
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr ""
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -59,39 +59,38 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr ""
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr ""
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr ""
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
msgid "This alias already exists"
msgstr ""
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr ""
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr ""
@@ -110,36 +109,31 @@ msgstr ""
msgid "Must be a positive integer"
msgstr ""
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr ""
-
-#: admin/api/v2/serializers.py:234
-msgid "Directory non-writable"
-msgstr ""
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr ""
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr ""
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
msgid "A mailbox is required to create aliases."
msgstr ""
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
msgid "Unknown status"
msgstr ""
@@ -294,7 +288,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr ""
@@ -353,6 +347,10 @@ msgstr ""
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr ""
+
#: admin/app_settings.py:458
msgid ""
"Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -363,26 +361,26 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr ""
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
msgid "Closed"
msgstr ""
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr ""
@@ -415,11 +413,11 @@ msgid ""
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr ""
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr ""
@@ -524,7 +522,8 @@ msgstr ""
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr ""
@@ -637,8 +636,7 @@ msgstr ""
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr ""
@@ -765,42 +763,42 @@ msgstr ""
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:204
+#: admin/lib.py:245
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr ""
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr ""
@@ -819,8 +817,18 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+msgid "Failed to generate DKIM public key"
msgstr ""
#: admin/management/commands/subcommands/_mx.py:133
@@ -936,7 +944,7 @@ msgid "Key length"
msgstr ""
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr ""
@@ -1292,9 +1300,6 @@ msgstr ""
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr ""
@@ -1354,7 +1359,6 @@ msgstr ""
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr ""
@@ -1518,7 +1522,7 @@ msgstr ""
msgid "Alias with this name already exists"
msgstr ""
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr ""
@@ -1595,11 +1599,11 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
msgid "Invalid password"
msgstr ""
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1622,11 +1626,11 @@ msgstr ""
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1723,8 +1727,9 @@ msgstr ""
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr ""
@@ -1732,8 +1737,9 @@ msgstr ""
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr ""
@@ -1766,7 +1772,8 @@ msgstr ""
msgid "The TCP port number used by the LDAP secondary server"
msgstr ""
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr ""
@@ -2131,35 +2138,31 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr ""
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr ""
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr ""
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr ""
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr ""
-#: core/forms.py:170
+#: core/forms.py:176
msgid "Verification code"
msgstr ""
-#: core/forms.py:181
+#: core/forms.py:187
msgid "Invalid code"
msgstr ""
@@ -2229,30 +2232,30 @@ msgstr ""
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr ""
-#: core/models.py:135
+#: core/models.py:136
#, fuzzy
#| msgid "Failed to update LDAP account: {}"
msgid "Failed to update password: LDAP module not installed"
msgstr "无法更新LDAP帐户: {}"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr ""
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr ""
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2576,26 +2579,22 @@ msgstr ""
msgid "Parameters saved"
msgstr ""
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -2959,7 +2958,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3027,9 +3026,9 @@ msgstr ""
msgid "Enter a valid email address."
msgstr ""
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr ""
@@ -3584,15 +3583,41 @@ msgstr ""
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
msgid "This date is over"
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
msgid "Must be greater than start date"
msgstr ""
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
msgid "Automatic replies"
msgstr ""
@@ -3616,27 +3641,10 @@ msgid ""
"%(untildate)s"
msgstr ""
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr ""
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr ""
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr ""
-
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr ""
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr ""
-
#: postfix_autoreply/forms.py:129
msgid "Default content"
msgstr ""
@@ -3650,13 +3658,6 @@ msgid ""
"%(name)s\n"
msgstr ""
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr ""
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
msgid "Auto-reply message"
@@ -3718,29 +3719,76 @@ msgstr ""
msgid "verify recipients"
msgstr ""
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, python-format
msgid "Filter %s already exists"
msgstr ""
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+msgid "ManageSieve settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+msgid "Authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+msgid "Prefered authentication mechanism"
+msgstr ""
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+msgid "IMAP settings"
+msgstr ""
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+msgid "Use a secured connection to access IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
msgid "Sieve filters"
msgstr ""
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
msgid "Message filters"
msgstr ""
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
msgid "All messages"
msgstr ""
@@ -3800,219 +3848,50 @@ msgstr ""
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-msgid "Check to activate this filters set"
-msgstr ""
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-msgid "Wrong filter name"
-msgstr ""
-
-#: sievefilters/forms.py:309
-msgid "ManageSieve settings"
-msgstr ""
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-msgid "Authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:335
-msgid "Prefered authentication mechanism"
-msgstr ""
-
-#: sievefilters/forms.py:339
-msgid "IMAP settings"
-msgstr ""
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-msgid "Use a secured connection to access IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
msgid "Trash folder"
msgstr ""
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
msgid "Folder where deleted messages go"
msgstr ""
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
msgid "Sent folder"
msgstr ""
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
msgid "Drafts folder"
msgstr ""
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
msgid "Not enough space on server"
msgstr ""
-#: sievefilters/templates/sievefilters/filter.html:9
-msgid "Conditions"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-msgid "Active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-msgid "No filter defined yet"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-msgid "New filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-msgid "Save filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-msgid "Activate filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-msgid "Remove filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-msgid "Remove this filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-msgid "Move this filter down"
-msgstr ""
-
-#: sievefilters/views.py:87
-msgid "Failed to retrieve filters set"
-msgstr ""
-
-#: sievefilters/views.py:155
-msgid "Filter created"
-msgstr ""
-
-#: sievefilters/views.py:177
-msgid "Filter modified"
-msgstr ""
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-msgid "Filters set saved"
-msgstr ""
-
-#: sievefilters/views.py:231
-msgid "Filters set created"
-msgstr ""
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-msgid "Filters set deleted"
-msgstr ""
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-msgid "yes"
-msgstr ""
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr ""
@@ -4062,15 +3941,21 @@ msgstr ""
msgid "Welcome to Modoboa"
msgstr ""
-#: templates/registration/login.html:21
-msgid "Remember me"
-msgstr ""
-
-#: templates/registration/login.html:23
-msgid "Log in"
+#: templates/registration/login.html:11
+msgid "Identification"
msgstr ""
#: templates/registration/login.html:24
+msgid "Remember me"
+msgstr ""
+
+#: templates/registration/login.html:26
+msgid "Log in"
+msgstr ""
+
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr ""
@@ -4082,25 +3967,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4128,14 +4017,45 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr ""
+#: templates/registration/twofactor_code_verify.html:11
+msgid "Verification"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+msgid "Verify code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr ""
diff --git a/modoboa/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/locale/zh_TW/LC_MESSAGES/django.po
index df4c9aa7d..7c1bc678e 100644
--- a/modoboa/locale/zh_TW/LC_MESSAGES/django.po
+++ b/modoboa/locale/zh_TW/LC_MESSAGES/django.po
@@ -10,10 +10,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-18 16:45+0200\n"
+"POT-Creation-Date: 2024-07-18 13:38+0200\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/language/zh_TW/)\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/"
+"language/zh_TW/)\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -41,13 +42,13 @@ msgstr "沒有找到這個網域已驗證過的 MX 紀錄"
msgid "Cannot be greater than domain quota"
msgstr "不可以超過網域配額"
-#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:384
-#: admin/api/v2/serializers.py:482 admin/models/alias.py:38
+#: admin/api/v1/serializers.py:161 admin/api/v1/serializers.py:386
+#: admin/api/v2/serializers.py:478 admin/models/alias.py:38
msgid "Permission denied."
msgstr "權限不足"
#: admin/api/v1/serializers.py:223 admin/api/v2/serializers.py:77
-#: admin/api/v2/serializers.py:414 admin/forms/alias.py:113
+#: admin/api/v2/serializers.py:410 admin/forms/alias.py:113
#: admin/forms/alias.py:115 core/api/v2/serializers.py:224
#: core/api/v2/serializers.py:226 core/api/v2/serializers.py:235
#: core/app_settings.py:582 core/app_settings.py:584 core/app_settings.py:595
@@ -60,41 +61,40 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "管理員網域列表 (只有經銷商和網域管理員)。"
-#: admin/api/v1/serializers.py:357 admin/api/v2/serializers.py:464
+#: admin/api/v1/serializers.py:359 admin/api/v2/serializers.py:460
msgid "Not allowed for this role."
msgstr "不允許這個身份"
-#: admin/api/v1/serializers.py:375
+#: admin/api/v1/serializers.py:377
msgid "Must be equal to mailbox full_address"
msgstr "必須跟信箱完整位址一樣"
-#: admin/api/v1/serializers.py:413 admin/api/v2/serializers.py:506
+#: admin/api/v1/serializers.py:415 admin/api/v2/serializers.py:510
#: admin/forms/account.py:186 admin/forms/account.py:188
#: admin/forms/domain.py:174 admin/forms/domain.py:302
-#: admin/forms/domain.py:304 core/forms.py:101 core/forms.py:104
-#: core/forms.py:106
+#: admin/forms/domain.py:304 core/forms.py:92 core/forms.py:95 core/forms.py:97
msgid "This field is required."
msgstr "這個欄位是必填的"
-#: admin/api/v1/serializers.py:425 admin/api/v2/serializers.py:523
+#: admin/api/v1/serializers.py:427 admin/api/v2/serializers.py:527
msgid "Local domain {} does not exist"
msgstr "本機網域 {} 不存在"
-#: admin/api/v1/serializers.py:511
+#: admin/api/v1/serializers.py:513
msgid "A list of recipient"
msgstr "收件人列表"
-#: admin/api/v1/serializers.py:527 admin/api/v2/viewsets.py:271
+#: admin/api/v1/serializers.py:529 admin/api/v2/viewsets.py:271
#, fuzzy
#| msgid "User '%s' already exists"
msgid "This alias already exists"
msgstr "使用者 '%s' 已存在"
-#: admin/api/v1/serializers.py:563
+#: admin/api/v1/serializers.py:565
msgid "You don't have access to this domain."
msgstr "您不能存取這個網域。"
-#: admin/api/v1/serializers.py:572
+#: admin/api/v1/serializers.py:574
msgid "You don't have access to this mailbox."
msgstr "您不能存取這個信箱。"
@@ -113,40 +113,33 @@ msgstr "使用者 '%s' 已存在"
msgid "Must be a positive integer"
msgstr "必須是正整數"
-#: admin/api/v2/serializers.py:232 admin/app_settings.py:244
-#: pdfcredentials/api/v2/serializers.py:59
-msgid "Directory not found."
-msgstr "目錄不存在"
-
-#: admin/api/v2/serializers.py:234
-#, fuzzy
-#| msgid "Directory not found."
-msgid "Directory non-writable"
-msgstr "目錄不存在"
-
-#: admin/api/v2/serializers.py:238 admin/app_settings.py:248
+#: admin/api/v2/serializers.py:234 admin/app_settings.py:248
msgid "openssl not found, please make sure it is installed."
msgstr "openssl 找不到,請確認已安裝。"
-#: admin/api/v2/serializers.py:252 admin/app_settings.py:263
+#: admin/api/v2/serializers.py:248 admin/app_settings.py:263
msgid "This field only allows valid IP addresses (or networks)"
msgstr ""
-#: admin/api/v2/serializers.py:265
+#: admin/api/v2/serializers.py:261
msgid "Please disable imap migration before disabling this option."
msgstr ""
-#: admin/api/v2/serializers.py:278 admin/app_settings.py:277
+#: admin/api/v2/serializers.py:274 admin/app_settings.py:277
msgid "Define at least one authorized network / address"
msgstr "定義至少一個已驗證網路/位址"
-#: admin/api/v2/serializers.py:511
+#: admin/api/v2/serializers.py:495
+msgid "The left part of an email address can't be more than 64 characters."
+msgstr ""
+
+#: admin/api/v2/serializers.py:515
#, fuzzy
#| msgid "A mailbox is required"
msgid "A mailbox is required to create aliases."
msgstr "信箱是必要的"
-#: admin/api/v2/serializers.py:674
+#: admin/api/v2/serializers.py:678
#, fuzzy
#| msgid "Unknown"
msgid "Unknown status"
@@ -190,9 +183,10 @@ msgstr "正確的 MX"
#: admin/app_settings.py:35 admin/app_settings.py:307
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
-msgstr "每個 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:43 admin/app_settings.py:317
msgid "New domains must use authorized MX(s)"
@@ -287,7 +281,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:112 admin/app_settings.py:407
msgid "Default DKIM key length"
@@ -323,7 +319,7 @@ msgstr ""
#: admin/templates/admin/domain_detail.html:41 limits/app_settings.py:55
#: limits/app_settings.py:111 limits/app_settings.py:195
#: limits/app_settings.py:269 limits/constants.py:31 limits/constants.py:84
-#: sievefilters/forms.py:373
+#: sievefilters/forms.py:86
msgid "Mailboxes"
msgstr "信箱"
@@ -337,9 +333,8 @@ msgid ""
"removed within Modoboa"
msgstr "當他要在 Modoboa 上取得更名或移除就會在檔案系統上更名或移除信箱"
-#: admin/app_settings.py:148 admin/app_settings.py:456
-#: admin/forms/domain.py:54 admin/models/domain.py:36
-#: admin/templates/admin/domain_detail.html:64
+#: admin/app_settings.py:148 admin/app_settings.py:456 admin/forms/domain.py:54
+#: admin/models/domain.py:36 admin/templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "預設信箱配額"
@@ -351,7 +346,8 @@ msgstr "預設信箱配額"
msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
-msgstr "預設信箱配額(以MB為單位)應用於未指定值的建立網域。值為0表示沒有配額。"
+msgstr ""
+"預設信箱配額(以MB為單位)應用於未指定值的建立網域。值為0表示沒有配額。"
#: admin/app_settings.py:157 admin/app_settings.py:467
#, fuzzy
@@ -378,8 +374,7 @@ msgid "Automatic domain/mailbox creation"
msgstr "自動建立網域/信箱"
#: admin/app_settings.py:177 admin/app_settings.py:491
-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:182 admin/app_settings.py:500
@@ -390,6 +385,10 @@ msgstr "當信箱更名時會建立別名"
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr "當信箱更名時建立別名並使用在舊的位址。"
+#: admin/app_settings.py:244 pdfcredentials/api/v2/serializers.py:59
+msgid "Directory not found."
+msgstr "目錄不存在"
+
#: admin/app_settings.py:458
#, fuzzy
#| msgid ""
@@ -398,34 +397,35 @@ 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:522 admin/app_settings.py:527
msgid "Administration"
msgstr "管理員"
-#: admin/constants.py:23 admin/forms/alias.py:43
+#: admin/constants.py:21 admin/forms/alias.py:43
#: admin/templates/admin/_per_domain_statistics_widget.html:7
#: admin/templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "網域"
-#: admin/constants.py:24
+#: admin/constants.py:22
msgid "Relay domain"
msgstr "網域轉送"
-#: admin/constants.py:39
+#: admin/constants.py:38
msgid "Opened"
msgstr ""
-#: admin/constants.py:40
+#: admin/constants.py:39
#, fuzzy
#| msgid "Close"
msgid "Closed"
msgstr "關閉"
#: admin/forms/account.py:29 admin/templates/admin/domain_detail.html:159
-#: core/forms.py:21 pdfcredentials/documents.py:98
+#: pdfcredentials/documents.py:98
msgid "Username"
msgstr "使用者名稱"
@@ -458,11 +458,11 @@ msgid ""
"box, a new password will be generated."
msgstr "產生一個隨機密碼。假如您更新這個帳號也勾選這個選項,新的密碼就會產生。"
-#: admin/forms/account.py:49 core/forms.py:25 pdfcredentials/documents.py:99
+#: admin/forms/account.py:49 pdfcredentials/documents.py:99
msgid "Password"
msgstr "密碼"
-#: admin/forms/account.py:55 core/forms.py:45
+#: admin/forms/account.py:55 core/forms.py:36
msgid "Confirmation"
msgstr "確認"
@@ -504,14 +504,16 @@ msgstr "配額"
#: admin/forms/account.py:244
#, fuzzy
#| msgid ""
-#| "Quota in MB for this mailbox. Define a custom value or use domain's default "
-#| "one. Leave empty to define an unlimited value (not allowed for domain "
-#| "administrators)."
+#| "Quota in MB for this mailbox. Define a custom value or use domain's "
+#| "default one. Leave empty to define an unlimited value (not allowed for "
+#| "domain administrators)."
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
-msgstr "這個信箱有多少 MB 的配額。定義一個自訂的值或使用網域的預設值。保持空白是定義為無限制 (不允許網域管理者)。"
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
+msgstr ""
+"這個信箱有多少 MB 的配額。定義一個自訂的值或使用網域的預設值。保持空白是定義"
+"為無限制 (不允許網域管理者)。"
#: admin/forms/account.py:254 admin/models/domain.py:39
#: admin/models/mailbox.py:92 admin/templates/admin/account_detail.html:50
@@ -538,7 +540,8 @@ msgid ""
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
-"這個信箱的別名(es)。一行只能輸入一個電子郵件,按 Enter 新增新的一行,要建立抓取別名,只要輸入網域名稱 (@domain.tld)。"
+"這個信箱的別名(es)。一行只能輸入一個電子郵件,按 Enter 新增新的一行,要建立抓"
+"取別名,只要輸入網域名稱 (@domain.tld)。"
#: admin/forms/account.py:275
msgid "Sender addresses"
@@ -549,7 +552,9 @@ msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
-msgstr "新增這個帳號的寄件地址(es)。此使用者將會允許使用這個位址寄送郵件,即使這個不在本機。一行輸入一個位址。按 Enter 新增新的一行。"
+msgstr ""
+"新增這個帳號的寄件地址(es)。此使用者將會允許使用這個位址寄送郵件,即使這個不"
+"在本機。一行輸入一個位址。按 Enter 新增新的一行。"
#: admin/forms/account.py:339 admin/forms/alias.py:95
#: admin/models/mailbox.py:308
@@ -573,7 +578,8 @@ msgstr "系統管理者網域(S)"
#: core/apps.py:24 imap_migration/app_settings.py:17
#: imap_migration/app_settings.py:99 maillog/apps.py:14 maillog/forms.py:20
#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:195
-#: postfix_autoreply/forms.py:107 sievefilters/forms.py:363
+#: postfix_autoreply/app_settings.py:12 postfix_autoreply/forms.py:107
+#: sievefilters/forms.py:76
msgid "General"
msgstr "一般"
@@ -624,7 +630,8 @@ msgstr "收件人"
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
-msgstr "這個別名的位址將會指到這。一行只能輸入一個電子郵件,按 Enter 新增新的一行。"
+msgstr ""
+"這個別名的位址將會指到這。一行只能輸入一個電子郵件,按 Enter 新增新的一行。"
#: admin/forms/alias.py:119
msgid "No recipient defined"
@@ -689,8 +696,7 @@ msgstr "自動建立這個網域的管理者"
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
#: core/templates/core/information.html:14
-#: core/templates/core/information.html:36 sievefilters/forms.py:38
-#: sievefilters/templates/sievefilters/guieditor.html:6
+#: core/templates/core/information.html:36
msgid "Name"
msgstr "名稱"
@@ -817,45 +823,45 @@ msgstr "您未允許匯入網域"
msgid "You are not allowed to import domain aliases."
msgstr "您未允許匯入網域別名。"
-#: admin/lib.py:201 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
+#: admin/lib.py:242 admin/tests/test_mx.py:154 admin/tests/test_mx.py:167
#: admin/tests/test_mx.py:172
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "沒有找到 %s 的 DNS 紀錄"
-#: admin/lib.py:204
+#: admin/lib.py:245
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "沒有 %s 的 MX 紀錄"
-#: admin/lib.py:208 admin/tests/test_mx.py:157
+#: admin/lib.py:249 admin/tests/test_mx.py:157
msgid "No working name servers found"
msgstr "沒有找到執行中的名稱伺服器"
-#: admin/lib.py:211 admin/tests/test_mx.py:161
+#: admin/lib.py:252 admin/tests/test_mx.py:161
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS 解析逾時,無法查詢 %s 在這個時間點"
-#: admin/lib.py:215
+#: admin/lib.py:256
#, python-format
msgid "DNS name is too long: %s"
msgstr ""
-#: admin/lib.py:246
+#: admin/lib.py:287
#, fuzzy, python-brace-format
#| msgid "Invalid IP address format for %(domain)s; %(addr)s"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "無效的 IP 位址格式 %(domain)s; %(addr)s"
-#: admin/lib.py:319
+#: admin/lib.py:360
#, python-format
msgid "Object already exists: %s"
msgstr "元件已存在: %s"
-#: admin/lib.py:323
+#: admin/lib.py:364
#, python-format
msgid "%d objects imported successfully"
msgstr "%d 元件已匯入成功"
@@ -874,10 +880,22 @@ msgstr ""
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_manage_dkim_keys.py:28
-msgid "DKIM path non-writable"
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:29
+msgid ""
+"DKIM path non-writable (either a permission issue or the directory does not "
+"exist)"
msgstr ""
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:56
+msgid "Failed to generate DKIM private key"
+msgstr ""
+
+#: admin/management/commands/subcommands/_manage_dkim_keys.py:68
+#, fuzzy
+#| msgid "Enable communication with Modoboa public API"
+msgid "Failed to generate DKIM public key"
+msgstr "開啟 Modoboa 公用 API 的通訊"
+
#: admin/management/commands/subcommands/_mx.py:133
msgid "MX {} listed by DNSBL provider {}"
msgstr ""
@@ -997,7 +1015,7 @@ msgid "Key length"
msgstr "金鑰長度"
#: admin/models/domain.py:368 admin/models/domain_alias.py:70
-#: core/models.py:333 relaydomains/lib.py:13
+#: core/models.py:338 relaydomains/lib.py:13
msgid "Invalid line"
msgstr "無效的線"
@@ -1065,9 +1083,8 @@ msgstr "網域配額已超過"
#: admin/templates/admin/_domain_dkim_key.html:20
#: core/templates/core/user_security.html:83
#: core/templates/core/user_security.html:99
-#: templates/common/generic_modal.html:6
-#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
-#: templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
+#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
msgid "Close"
msgstr "關閉"
@@ -1329,8 +1346,7 @@ msgid "Warning"
msgstr ""
#: admin/templates/admin/domain_detail.html:139
-msgid ""
-"DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
msgstr ""
#: admin/templates/admin/domain_detail.html:142 core/constants.py:53
@@ -1374,9 +1390,6 @@ msgstr "DNS 狀態"
#: admin/templates/admin/domain_headers.html:9
#: admin/templates/admin/identity_headers.html:5
-#: sievefilters/templates/sievefilters/filter.html:20
-#: sievefilters/templates/sievefilters/guieditor.html:5
-#: sievefilters/views.py:102
msgid "Actions"
msgstr "動作"
@@ -1436,7 +1449,6 @@ msgstr "自動轉寄郵件到其他位址"
#: core/templates/core/api_access.html:35
#: core/templates/core/user_profile.html:19 lib/form_utils.py:356
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:10
-#: sievefilters/views.py:171
msgid "Update"
msgstr "更新"
@@ -1462,23 +1474,25 @@ msgid ""
"mandatory and must be equal to one of the previous values. You can "
"use a different character as separator.
"
msgstr ""
-"提供 CSV 檔並且每行使用以下格式: - 網域; 名稱; 配額; 預設信箱配額; 已啟用
"
-"- 網域別名; 名稱; 目標網域; 已啟用
- 轉送網域; 名稱; 目標主機; 目標連接埠; 服務; "
-"已啟用; 驗證收件人
每一行的第一個元件都是強制性的且必須跟之前值是一樣的。
"
-"您可以使用不同的字元來分開。
"
+"提供 CSV 檔並且每行使用以下格式: - 網域; 名稱; 配額; 預設信箱配"
+"額; 已啟用
- 網域別名; 名稱; 目標網域; 已啟用
"
+"- 轉送網域; 名稱; 目標主機; 目標連接埠; 服務; 已啟用; 驗證收件人"
+"li>
每一行的第一個元件都是強制性的且必須跟之前值是一樣的。
您"
+"可以使用不同的字元來分開。
"
#: admin/templates/admin/import_identities_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
-"- account; loginname; password; first name; last name; enabled; group;"
-" address; quota; [, domain, ...]
- alias; address; enabled; "
+"
- account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...]
- alias; address; enabled; "
"recipient; recipient; ...
The first element of each line "
-"is mandatory and must be equal to one of the previous values.
You can"
-" use a different character as separator.
"
+"is mandatory and must be equal to one of the previous values. You can "
+"use a different character as separator.
"
msgstr ""
-"提供 CSV 檔並且每行使用以下格式: - 帳號; 登入名稱; 密碼; 名; 姓; 已啟用; 群組; 位址; 配額; [, 網域,"
-" ...]
- 別名; 位址; 已啟用; 收件人; 收件人; ...
"
-"每一行的第一個元件都是強制性的且必須跟之前值是一樣的。
您可以使用不同的字元來分開。
"
+"提供 CSV 檔並且每行使用以下格式: - 帳號; 登入名稱; 密碼; 名; 姓; "
+"已啟用; 群組; 位址; 配額; [, 網域, ...]
- 別名; 位址; 已啟"
+"用; 收件人; 收件人; ...
每一行的第一個元件都是強制性的且必"
+"須跟之前值是一樣的。
您可以使用不同的字元來分開。
"
#: admin/templates/admin/importform.html:6
msgid "Help"
@@ -1524,7 +1538,9 @@ 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 位址(es) 的偵測列表。"
+msgstr ""
+"此網域的信用將有機會影響從這裡寄出的郵件被當作垃圾郵件。您應該聯絡提供者並要"
+"求他們取消 IP 位址(es) 的偵測列表。"
#: admin/templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
@@ -1610,7 +1626,7 @@ msgstr "沒有 %s 的 MX 紀錄"
msgid "Alias with this name already exists"
msgstr "這個名稱的別名已存在"
-#: admin/views/alias.py:52 sievefilters/views.py:151 sievefilters/views.py:239
+#: admin/views/alias.py:52
msgid "Create"
msgstr "建立"
@@ -1689,13 +1705,13 @@ msgstr ""
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
msgstr ""
-#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274
+#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:308
#, fuzzy
#| msgid "Old password"
msgid "Invalid password"
msgstr "舊密碼"
-#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82
+#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:83
msgid "2FA is not enabled"
msgstr ""
@@ -1718,12 +1734,11 @@ msgstr "無效語法"
msgid "Invalid rounds number"
msgstr ""
-#: core/api/v2/serializers.py:262 core/forms.py:194
+#: core/api/v2/serializers.py:296 core/forms.py:201
msgid "This code is invalid"
msgstr ""
-#: core/api/v2/serializers.py:333 core/views/auth.py:184
-#: core/views/auth.py:237
+#: core/api/v2/serializers.py:367 core/views/auth.py:196 core/views/auth.py:249
msgid "Please use the following code to recover your Modoboa password: {}"
msgstr ""
@@ -1755,7 +1770,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:71 core/app_settings.py:752
#, fuzzy
@@ -1824,8 +1841,9 @@ msgstr ""
msgid "LDAP settings"
msgstr "LDAP 設定"
-#: core/app_settings.py:132 core/app_settings.py:836 sievefilters/forms.py:312
-#: sievefilters/forms.py:342
+#: core/app_settings.py:132 core/app_settings.py:836
+#: sievefilters/app_settings.py:18 sievefilters/app_settings.py:58
+#: sievefilters/forms.py:25 sievefilters/forms.py:55
msgid "Server address"
msgstr "伺服器地址"
@@ -1833,8 +1851,9 @@ msgstr "伺服器地址"
msgid "The IP address or the DNS name of the LDAP server"
msgstr "LDAP 伺服器的 IP 或 DNS 名稱"
-#: core/app_settings.py:138 core/app_settings.py:845 sievefilters/forms.py:319
-#: sievefilters/forms.py:354
+#: core/app_settings.py:138 core/app_settings.py:845
+#: sievefilters/app_settings.py:25 sievefilters/app_settings.py:74
+#: sievefilters/forms.py:32 sievefilters/forms.py:67
msgid "Server port"
msgstr "伺服器連接埠"
@@ -1875,7 +1894,8 @@ msgstr "伺服器連接埠"
msgid "The TCP port number used by the LDAP secondary server"
msgstr "LDAP 伺服器所使用的 TCP 連接埠"
-#: core/app_settings.py:167 core/app_settings.py:886 sievefilters/forms.py:348
+#: core/app_settings.py:167 core/app_settings.py:886
+#: sievefilters/app_settings.py:65 sievefilters/forms.py:61
msgid "Use a secured connection"
msgstr "使用安全的連接"
@@ -1897,8 +1917,8 @@ msgstr "管理者群組"
#: core/app_settings.py:185 core/app_settings.py:906
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators."
-" Use ';' characters to separate groups."
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr "這些 LDAP 群組的成員將會建立為網域管理者。使用 ';' 字元來分開群組"
#: core/app_settings.py:192 core/app_settings.py:915
@@ -1989,7 +2009,8 @@ 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:266 core/app_settings.py:1006
msgid "User DN template"
@@ -2129,8 +2150,7 @@ msgstr "開啟 Modoboa 公用 API 的通訊"
msgid "Check new versions"
msgstr "檢查新的版本"
-#: core/app_settings.py:416 core/app_settings.py:1204
-#: core/app_settings.py:1214
+#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214
msgid "Automatically checks if a newer version is available"
msgstr "假如有新的版本就自動檢查"
@@ -2171,8 +2191,8 @@ msgstr "未啟用帳號上限"
#: core/app_settings.py:444 core/app_settings.py:1268
msgid ""
-"Allow the administrator to set a threshold (in days) beyond which an account"
-" is considered inactive if the user hasn't logged in"
+"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:451 core/app_settings.py:1277
@@ -2181,8 +2201,8 @@ msgstr "未啟用帳號上限"
#: core/app_settings.py:454 core/app_settings.py:1280
msgid ""
-"An account with a last login date greater than this threshold (in days) will"
-" be considered as inactive"
+"An account with a last login date greater than this threshold (in days) will "
+"be considered as inactive"
msgstr "這個帳號最後一次登錄日期超過這個上限 (在幾天) 將考慮停用"
#: core/app_settings.py:460 core/app_settings.py:1289
@@ -2256,37 +2276,33 @@ msgstr ""
msgid "Dummy"
msgstr ""
-#: core/drf_authentication.py:17
-msgid "Missing 2FA verification."
-msgstr ""
-
-#: core/forms.py:35
+#: core/forms.py:26
msgid "Old password"
msgstr "舊密碼"
-#: core/forms.py:40
+#: core/forms.py:31
msgid "New password"
msgstr "新密碼"
-#: core/forms.py:79
+#: core/forms.py:70
msgid "Old password mismatchs"
msgstr "舊密碼不相符"
-#: core/forms.py:92
+#: core/forms.py:83
msgid "Passwords mismatch"
msgstr "密碼不相符"
-#: core/forms.py:124
+#: core/forms.py:130
msgid "Enable API access"
msgstr "啟用 API 存取"
-#: core/forms.py:170
+#: core/forms.py:176
#, fuzzy
#| msgid "Notifications"
msgid "Verification code"
msgstr "通知"
-#: core/forms.py:181
+#: core/forms.py:187
#, fuzzy
#| msgid "Invalid line"
msgid "Invalid code"
@@ -2360,28 +2376,28 @@ msgstr "顯示頁面的預設語言"
msgid "An alternative e-mail address, can be used for recovery needs."
msgstr "替代的電子郵件,可以使用在需要回復的時候。"
-#: core/models.py:135
+#: core/models.py:136
msgid "Failed to update password: LDAP module not installed"
msgstr "更新密碼失敗: LDAP 模組未安裝"
-#: core/models.py:170 policyd/core.py:106
+#: core/models.py:171 policyd/core.py:106
msgid "account"
msgstr "帳號"
-#: core/models.py:298
+#: core/models.py:303
msgid "Unknown"
msgstr "未知"
-#: core/models.py:341
+#: core/models.py:346
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: core/models.py:356
+#: core/models.py:361
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: core/models.py:363
+#: core/models.py:368
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
@@ -2623,8 +2639,8 @@ msgstr "此背景程式已用於驗證"
#: core/templates/core/user_security.html:17
msgid ""
-"Install a soft token authenticator like FreeOTP or Google Authenticator from"
-" your application repository and use that app to scan this QR code."
+"Install a soft token authenticator like FreeOTP or Google Authenticator from "
+"your application repository and use that app to scan this QR code."
msgstr ""
#: core/templates/core/user_security.html:25
@@ -2722,26 +2738,22 @@ msgstr "Modoboa 的核心部分"
msgid "Parameters saved"
msgstr "參數已儲存"
-#: core/views/auth.py:67
-#, python-format
-msgid "Password scheme mismatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:75
-#, python-format
-msgid "Password hash parameter missmatch. Updating %s password"
-msgstr ""
-
-#: core/views/auth.py:89
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: core/views/auth.py:101
-msgid "Your username and password didn't match. Please try again."
+#: core/views/auth.py:104
+#, python-format
+msgid "Password scheme mismatch. Updating %s password"
msgstr ""
-#: core/views/auth.py:144
+#: core/views/auth.py:111
+#, python-format
+msgid "Password hash parameter missmatch. Updating %s password"
+msgstr ""
+
+#: core/views/auth.py:156
msgid "User '{}' successfully logged out"
msgstr ""
@@ -3029,8 +3041,8 @@ msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:7
msgid ""
-"Here is an example of DNS configuration (bind format). Replace value between"
-" [ ] by the appropriate ones."
+"Here is an example of DNS configuration (bind format). Replace value between "
+"[ ] by the appropriate ones."
msgstr ""
#: dnstools/templates/dnstools/domain_dns_configuration.html:15
@@ -3119,8 +3131,8 @@ msgstr ""
#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138
msgid ""
"A comma seperated list of folders to explicitly include in sync even if "
-"filtered by the Folder Filter Exclusions. Example: debian.user, "
-"debian.personal "
+"filtered by the Folder Filter Exclusions. Example: debian.user, debian."
+"personal "
msgstr ""
#: imap_migration/app_settings.py:107
@@ -3137,7 +3149,7 @@ msgstr ""
msgid "IMAP Migration"
msgstr ""
-#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:109
+#: imap_migration/auth_backends.py:49 sievefilters/imaputils.py:107
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
@@ -3208,9 +3220,9 @@ msgstr "輸入有效的網域名稱"
msgid "Enter a valid email address."
msgstr "輸入有效的電子郵件"
-#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12
-#: templates/registration/password_reset_confirm_code.html:25
-#: templates/registration/password_reset_form.html:29
+#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:25
+#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_form.html:23
msgid "Submit"
msgstr "執行"
@@ -3236,8 +3248,8 @@ msgid "Enable or disable per-admin limits"
msgstr "啟用或停用每個管理者限制"
#: limits/app_settings.py:26 limits/app_settings.py:91
-#: limits/app_settings.py:160 limits/app_settings.py:245
-#: limits/constants.py:47 limits/constants.py:101
+#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47
+#: limits/constants.py:101
msgid "Domain admins"
msgstr "網域管理員"
@@ -3255,8 +3267,8 @@ msgstr "新的管理者最大允許網域的數量。(0 是禁止建立,-1 是
#: limits/app_settings.py:48 limits/app_settings.py:186
msgid ""
-"Maximum number of allowed domain aliases for a new administrator. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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:58 limits/app_settings.py:198
@@ -3291,8 +3303,8 @@ msgstr "啟用或停用每個網域限制"
#: limits/app_settings.py:94 limits/app_settings.py:248
msgid ""
-"Maximum number of allowed domain administrators for a new domain. (0 to deny"
-" any creation, -1 to allow unlimited creations)"
+"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:104 limits/app_settings.py:260
@@ -3309,8 +3321,8 @@ msgstr "新的網域最大允許信箱的數量。(0 是禁止建立,-1 是無
#: limits/app_settings.py:123 limits/app_settings.py:283
msgid ""
-"Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
-" -1 to allow unlimited creations)"
+"Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
+"-1 to allow unlimited creations)"
msgstr "新的網域最大允許別名的數量。(0 是禁止建立,-1 是無限制建立)"
#: limits/apps.py:13 limits/apps.py:17
@@ -3795,19 +3807,46 @@ msgstr "%s: 已達到上限"
msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
msgstr ""
-#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88
+#: postfix_autoreply/api/v2/serializers.py:42 postfix_autoreply/forms.py:88
#, fuzzy
#| msgid "This field is required"
msgid "This date is over"
msgstr "這個日期已經過了"
-#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90
+#: postfix_autoreply/api/v2/serializers.py:45 postfix_autoreply/forms.py:90
#, fuzzy
#| msgid "Cannot be greater than domain quota"
msgid "Must be greater than start date"
msgstr "必須比開始日期遲"
-#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163
+#: postfix_autoreply/app_settings.py:18 postfix_autoreply/forms.py:110
+msgid "Automatic reply timeout"
+msgstr "自動答覆逾時"
+
+#: postfix_autoreply/app_settings.py:20 postfix_autoreply/forms.py:113
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "向同一個收件人發送兩次自動答覆的時間間隔,以秒計算"
+
+#: postfix_autoreply/app_settings.py:27 postfix_autoreply/app_settings.py:36
+#: postfix_autoreply/forms.py:119
+msgid "Default subject"
+msgstr "預設主體"
+
+#: postfix_autoreply/app_settings.py:29 postfix_autoreply/forms.py:122
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr "當自動回覆訊息自動建立後會使用預設主旨"
+
+#: postfix_autoreply/app_settings.py:38 postfix_autoreply/forms.py:138
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"當自動回覆訊息自動建立後會使用預設內容。此 '%(name)s' 巨集會取代使用者名稱。"
+
+#: postfix_autoreply/apps.py:14 postfix_autoreply/apps.py:20
+#: postfix_autoreply/forms.py:163
#, fuzzy
#| msgid "Automatic account removal"
msgid "Automatic replies"
@@ -3831,29 +3870,14 @@ msgid ""
"The content of your answer. You can use the following variables, which will "
"be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, "
"%(untildate)s"
-msgstr "此內容的答案。您可以使用以下的變數,這將會自動替換適當的值: %(name)s, %(fromdate)s, %(untildate)s"
-
-#: postfix_autoreply/forms.py:110
-msgid "Automatic reply timeout"
-msgstr "自動答覆逾時"
-
-#: postfix_autoreply/forms.py:113
-msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr "向同一個收件人發送兩次自動答覆的時間間隔,以秒計算"
-
-#: postfix_autoreply/forms.py:119
-msgid "Default subject"
-msgstr "預設主體"
+msgstr ""
+"此內容的答案。您可以使用以下的變數,這將會自動替換適當的值: %(name)s, "
+"%(fromdate)s, %(untildate)s"
#: postfix_autoreply/forms.py:120
msgid "I'm off"
msgstr "我不在位置上"
-#: postfix_autoreply/forms.py:122
-msgid ""
-"Default subject used when an auto-reply message is created automatically"
-msgstr "當自動回覆訊息自動建立後會使用預設主旨"
-
#: postfix_autoreply/forms.py:129
#, fuzzy
#| msgid "Default domain quota"
@@ -3873,13 +3897,6 @@ msgstr ""
"Best regards,\n"
"%(name)s\n"
-#: postfix_autoreply/forms.py:138
-#, python-format
-msgid ""
-"Default content used when an auto-reply message is created automatically. "
-"The '%(name)s' macro will be replaced by the user's full name."
-msgstr "當自動回覆訊息自動建立後會使用預設內容。此 '%(name)s' 巨集會取代使用者名稱。"
-
#: postfix_autoreply/handlers.py:118
#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3
#, fuzzy
@@ -3945,34 +3962,91 @@ msgstr "目標主機連接埠"
msgid "verify recipients"
msgstr "驗證收件者"
-#: sievefilters/api/v2/viewsets.py:188
+#: sievefilters/api/v2/serializers.py:26
+msgid "auto"
+msgstr ""
+
+#: sievefilters/api/v2/viewsets.py:184
#, fuzzy, python-format
#| msgid "User '%s' already exists"
msgid "Filter %s already exists"
msgstr "使用者 '%s' 已存在"
-#: sievefilters/apps.py:12
+#: sievefilters/app_settings.py:12 sievefilters/forms.py:22
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "ManageSieve settings"
+msgstr "LDAP 設定"
+
+#: sievefilters/app_settings.py:19 sievefilters/forms.py:27
+msgid "Address of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:27 sievefilters/forms.py:34
+msgid "Listening port of your MANAGESIEVE server"
+msgstr ""
+
+#: sievefilters/app_settings.py:34 sievefilters/forms.py:39
+msgid "Connect using STARTTLS"
+msgstr ""
+
+#: sievefilters/app_settings.py:35 sievefilters/forms.py:41
+msgid "Use the STARTTLS extension"
+msgstr ""
+
+#: sievefilters/app_settings.py:41 sievefilters/forms.py:45
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Authentication mechanism"
+msgstr "身份驗證方法"
+
+#: sievefilters/app_settings.py:42 sievefilters/forms.py:48
+#, fuzzy
+#| msgid "Authentication method"
+msgid "Prefered authentication mechanism"
+msgstr "身份驗證方法"
+
+#: sievefilters/app_settings.py:52 sievefilters/forms.py:52
+#, fuzzy
+#| msgid "LDAP settings"
+msgid "IMAP settings"
+msgstr "LDAP 設定"
+
+#: sievefilters/app_settings.py:59 sievefilters/forms.py:57
+msgid "Address of your IMAP server"
+msgstr ""
+
+#: sievefilters/app_settings.py:67 sievefilters/forms.py:63
+#, fuzzy
+#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
+msgid "Use a secured connection to access IMAP server"
+msgstr "使用 SSL/STARTTLS 連線到 LDAP 伺服器"
+
+#: sievefilters/app_settings.py:75 sievefilters/forms.py:69
+msgid "Listening port of your IMAP server"
+msgstr ""
+
+#: sievefilters/apps.py:15 sievefilters/apps.py:20
#, fuzzy
#| msgid "Search filter"
msgid "Sieve filters"
msgstr "搜尋過濾器"
-#: sievefilters/apps.py:15 sievefilters/handlers.py:20
-#: sievefilters/templates/sievefilters/index.html:4
+#: sievefilters/apps.py:28
#, fuzzy
#| msgid "Search filter"
msgid "Message filters"
msgstr "搜尋過濾器"
-#: sievefilters/constants.py:10 sievefilters/forms.py:42
+#: sievefilters/constants.py:10
msgid "All of the following"
msgstr ""
-#: sievefilters/constants.py:11 sievefilters/forms.py:43
+#: sievefilters/constants.py:11
msgid "Any of the following"
msgstr ""
-#: sievefilters/constants.py:12 sievefilters/forms.py:44
+#: sievefilters/constants.py:12
#, fuzzy
#| msgid "sent messages"
msgid "All messages"
@@ -4048,276 +4122,60 @@ msgstr "已拒絕郵件"
msgid "Stop processing"
msgstr ""
-#: sievefilters/forms.py:26
-#, fuzzy
-#| msgid "Check to activate this alias"
-msgid "Check to activate this filters set"
-msgstr "點擊啟用這個別名"
-
-#: sievefilters/forms.py:40
-msgid "Match type"
-msgstr ""
-
-#: sievefilters/forms.py:60
-#, fuzzy
-#| msgid "File name"
-msgid "Wrong filter name"
-msgstr "檔案名稱"
-
-#: sievefilters/forms.py:309
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "ManageSieve settings"
-msgstr "LDAP 設定"
-
-#: sievefilters/forms.py:314
-msgid "Address of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:321
-msgid "Listening port of your MANAGESIEVE server"
-msgstr ""
-
-#: sievefilters/forms.py:326
-msgid "Connect using STARTTLS"
-msgstr ""
-
-#: sievefilters/forms.py:328
-msgid "Use the STARTTLS extension"
-msgstr ""
-
-#: sievefilters/forms.py:332
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Authentication mechanism"
-msgstr "身份驗證方法"
-
-#: sievefilters/forms.py:335
-#, fuzzy
-#| msgid "Authentication method"
-msgid "Prefered authentication mechanism"
-msgstr "身份驗證方法"
-
-#: sievefilters/forms.py:339
-#, fuzzy
-#| msgid "LDAP settings"
-msgid "IMAP settings"
-msgstr "LDAP 設定"
-
-#: sievefilters/forms.py:344
-msgid "Address of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:350
-#, fuzzy
-#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
-msgid "Use a secured connection to access IMAP server"
-msgstr "使用 SSL/STARTTLS 連線到 LDAP 伺服器"
-
-#: sievefilters/forms.py:356
-msgid "Listening port of your IMAP server"
-msgstr ""
-
-#: sievefilters/forms.py:367
+#: sievefilters/forms.py:80
msgid "Editor mode"
msgstr ""
-#: sievefilters/forms.py:369
+#: sievefilters/forms.py:82
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: sievefilters/forms.py:377
+#: sievefilters/forms.py:90
#, fuzzy
#| msgid "Create aliases"
msgid "Trash folder"
msgstr "建立別名"
-#: sievefilters/forms.py:378
+#: sievefilters/forms.py:91
#, fuzzy
#| msgid "rejected messages"
msgid "Folder where deleted messages go"
msgstr "已拒絕郵件"
-#: sievefilters/forms.py:383
+#: sievefilters/forms.py:96
#, fuzzy
#| msgid "Create aliases"
msgid "Sent folder"
msgstr "建立別名"
-#: sievefilters/forms.py:384
+#: sievefilters/forms.py:97
msgid "Folder where copies of sent messages go"
msgstr ""
-#: sievefilters/forms.py:389
+#: sievefilters/forms.py:102
#, fuzzy
#| msgid "Create aliases"
msgid "Drafts folder"
msgstr "建立別名"
-#: sievefilters/forms.py:390
+#: sievefilters/forms.py:103
msgid "Folder where drafts go"
msgstr ""
-#: sievefilters/imaputils.py:92
+#: sievefilters/imaputils.py:90
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: sievefilters/lib.py:54
+#: sievefilters/lib.py:52
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: sievefilters/lib.py:96
+#: sievefilters/lib.py:79
#, fuzzy
#| msgid "Not enough resources"
msgid "Not enough space on server"
msgstr "資源不足"
-#: sievefilters/templates/sievefilters/filter.html:9
-#, fuzzy
-#| msgid "Confirmation"
-msgid "Conditions"
-msgstr "確認"
-
-#: sievefilters/templates/sievefilters/guieditor.html:7
-#, fuzzy
-#| msgid "Actions"
-msgid "Active"
-msgstr "動作"
-
-#: sievefilters/templates/sievefilters/guieditor.html:24
-#, fuzzy
-#| msgid "Not defined"
-msgid "No filter defined yet"
-msgstr "未定義"
-
-#: sievefilters/templates/sievefilters/index.html:82
-msgid "Filter sets"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:86
-msgid "active"
-msgstr ""
-
-#: sievefilters/templates/sievefilters/index.html:101
-msgid ""
-"No filters set defined yet. You must create one in order to define filters."
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:22
-msgid "New filters set"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:40 sievefilters/views.py:148
-#, fuzzy
-#| msgid "Search filter"
-msgid "New filter"
-msgstr "搜尋過濾器"
-
-#: sievefilters/templatetags/sfilters_tags.py:52
-#, fuzzy
-#| msgid "Search filter"
-msgid "Save filters set"
-msgstr "搜尋過濾器"
-
-#: sievefilters/templatetags/sfilters_tags.py:61
-#, fuzzy
-#| msgid "Active Directory"
-msgid "Activate filters set"
-msgstr "Active Directory"
-
-#: sievefilters/templatetags/sfilters_tags.py:67
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove filters set"
-msgstr "移除這個權限"
-
-#: sievefilters/templatetags/sfilters_tags.py:73
-msgid "Download"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:88 sievefilters/views.py:168
-msgid "Edit filter"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:97
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Remove this filter"
-msgstr "移除這個權限"
-
-#: sievefilters/templatetags/sfilters_tags.py:108
-msgid "Move this filter up"
-msgstr ""
-
-#: sievefilters/templatetags/sfilters_tags.py:119
-#, fuzzy
-#| msgid "Remove this permission"
-msgid "Move this filter down"
-msgstr "移除這個權限"
-
-#: sievefilters/views.py:87
-#, fuzzy
-#| msgid "Failed to retrieve mailbox location (%s)"
-msgid "Failed to retrieve filters set"
-msgstr "無法收回信箱位置 (%s)"
-
-#: sievefilters/views.py:155
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filter created"
-msgstr "別名已建立"
-
-#: sievefilters/views.py:177
-#, fuzzy
-#| msgid "modified"
-msgid "Filter modified"
-msgstr "已修改"
-
-#: sievefilters/views.py:197
-msgid "Filter removed"
-msgstr ""
-
-#: sievefilters/views.py:198
-msgid "Failed to remove filter"
-msgstr ""
-
-#: sievefilters/views.py:212
-#, fuzzy
-#| msgid "Parameters saved"
-msgid "Filters set saved"
-msgstr "參數已儲存"
-
-#: sievefilters/views.py:231
-#, fuzzy
-#| msgid "Alias created"
-msgid "Filters set created"
-msgstr "別名已建立"
-
-#: sievefilters/views.py:237
-msgid "Create a new filters set"
-msgstr ""
-
-#: sievefilters/views.py:256
-#, fuzzy
-#| msgid "Alias deleted"
-#| msgid_plural "Aliases deleted"
-msgid "Filters set deleted"
-msgstr "別名已刪除"
-
-#: sievefilters/views.py:270
-msgid "Filters set activated"
-msgstr ""
-
-#: sievefilters/views.py:297
-#, fuzzy
-#| msgid "Yes"
-msgid "yes"
-msgstr "是"
-
-#: sievefilters/views.py:301
-msgid "no"
-msgstr ""
-
#: templates/404.html:4 templates/500.html:4
msgid "Sorry"
msgstr "抱歉"
@@ -4369,15 +4227,23 @@ msgstr "新網域"
msgid "Welcome to Modoboa"
msgstr "歡迎使用 Modoboa"
-#: templates/registration/login.html:21
+#: templates/registration/login.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Identification"
+msgstr "通知"
+
+#: templates/registration/login.html:24
msgid "Remember me"
msgstr "記住我"
-#: templates/registration/login.html:23
+#: templates/registration/login.html:26
msgid "Log in"
msgstr "登入"
-#: templates/registration/login.html:24
+#: templates/registration/login.html:29
+#: templates/registration/password_reset_confirm_code.html:7
+#: templates/registration/password_reset_done.html:7
#: templates/registration/password_reset_form.html:17
msgid "Forgot password?"
msgstr "忘記密碼?"
@@ -4389,25 +4255,29 @@ msgid ""
"in now."
msgstr ""
-#: templates/registration/password_reset_confirm.html:7
+#: templates/registration/password_reset_confirm.html:8
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:17
+#: templates/registration/password_reset_confirm.html:29
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:20
+#: templates/registration/password_reset_confirm_code.html:22
msgid "Enter the code you've just received by SMS"
msgstr ""
-#: templates/registration/password_reset_confirm_code.html:27
+#: templates/registration/password_reset_confirm_code.html:30
msgid "Resend code"
msgstr ""
-#: templates/registration/password_reset_done.html:7
+#: templates/registration/password_reset_confirm_code.html:45
+msgid "The code has been sent again"
+msgstr ""
+
+#: templates/registration/password_reset_done.html:8
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly.
"
@@ -4435,14 +4305,51 @@ msgstr ""
msgid "Sincerely, The Modoboa Team."
msgstr ""
-#: templates/registration/password_reset_form.html:24
-msgid "Please fill-in your primary email address"
-msgstr ""
-
#: templates/registration/password_reset_subject.txt:3
msgid "Modoboa password reset"
msgstr "Modoboa 密碼重設"
+#: templates/registration/twofactor_code_verify.html:11
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verification"
+msgstr "通知"
+
+#: templates/registration/twofactor_code_verify.html:15
+msgid "Use TOTP/backup code"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:18
+msgid "Use Webauthn device"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:27
+#, fuzzy
+#| msgid "Old password"
+msgid "One-time password"
+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 ""
+
+#: templates/registration/twofactor_code_verify.html:42
+#, fuzzy
+#| msgid "Notifications"
+msgid "Verify code"
+msgstr "通知"
+
+#: templates/registration/twofactor_code_verify.html:45
+#: templates/registration/twofactor_code_verify.html:51
+msgid "Back"
+msgstr ""
+
+#: templates/registration/twofactor_code_verify.html:49
+msgid "Log using Webauthn"
+msgstr ""
+
#: transport/backends.py:55
msgid "Invalid value"
msgstr "無效的值"
@@ -4459,6 +4366,102 @@ msgstr "服務"
msgid "next hop"
msgstr "下一步"
+#, fuzzy
+#~| msgid "Directory not found."
+#~ msgid "Directory non-writable"
+#~ msgstr "目錄不存在"
+
+#, fuzzy
+#~| msgid "Check to activate this alias"
+#~ msgid "Check to activate this filters set"
+#~ msgstr "點擊啟用這個別名"
+
+#, fuzzy
+#~| msgid "File name"
+#~ msgid "Wrong filter name"
+#~ msgstr "檔案名稱"
+
+#, fuzzy
+#~| msgid "Confirmation"
+#~ msgid "Conditions"
+#~ msgstr "確認"
+
+#, fuzzy
+#~| msgid "Actions"
+#~ msgid "Active"
+#~ msgstr "動作"
+
+#, fuzzy
+#~| msgid "Not defined"
+#~ msgid "No filter defined yet"
+#~ msgstr "未定義"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "New filter"
+#~ msgstr "搜尋過濾器"
+
+#, fuzzy
+#~| msgid "Search filter"
+#~ msgid "Save filters set"
+#~ msgstr "搜尋過濾器"
+
+#, fuzzy
+#~| msgid "Active Directory"
+#~ msgid "Activate filters set"
+#~ msgstr "Active Directory"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove filters set"
+#~ msgstr "移除這個權限"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Remove this filter"
+#~ msgstr "移除這個權限"
+
+#, fuzzy
+#~| msgid "Remove this permission"
+#~ msgid "Move this filter down"
+#~ msgstr "移除這個權限"
+
+#, fuzzy
+#~| msgid "Failed to retrieve mailbox location (%s)"
+#~ msgid "Failed to retrieve filters set"
+#~ msgstr "無法收回信箱位置 (%s)"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filter created"
+#~ msgstr "別名已建立"
+
+#, fuzzy
+#~| msgid "modified"
+#~ msgid "Filter modified"
+#~ msgstr "已修改"
+
+#, fuzzy
+#~| msgid "Parameters saved"
+#~ msgid "Filters set saved"
+#~ msgstr "參數已儲存"
+
+#, fuzzy
+#~| msgid "Alias created"
+#~ msgid "Filters set created"
+#~ msgstr "別名已建立"
+
+#, fuzzy
+#~| msgid "Alias deleted"
+#~| msgid_plural "Aliases deleted"
+#~ msgid "Filters set deleted"
+#~ msgstr "別名已刪除"
+
+#, fuzzy
+#~| msgid "Yes"
+#~ msgid "yes"
+#~ msgstr "是"
+
#, fuzzy
#~ msgid "An alias with this name already exists."
#~ msgstr "這個名稱的別名已存在"