"
"- domain; name; quota; default mailbox quota; enabled
"
@@ -1310,68 +1357,68 @@ 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
+#: 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
+#: templates/admin/importform.html:6
msgid "Help"
msgstr "Pomoc"
-#: admin/templates/admin/importform.html:13
+#: templates/admin/importform.html:13
msgid "Importing..."
msgstr "Importowanie..."
-#: admin/templates/admin/index.html:6
-msgid "Admin"
-msgstr "Administrator"
-
-#: admin/templates/admin/mailboxes_raw.html:3
+#: templates/admin/mailboxes_raw.html:3
msgid "Choose a value"
msgstr "Wybierz wartość"
-#: admin/templates/admin/mailform.html:7
+#: templates/admin/mailform.html:7
msgid "Use domain default value"
msgstr "Użyj domyślnej wartości dla domeny"
-#: admin/templates/admin/messages_log_headers.html:2
+#: templates/admin/messages_log_headers.html:2
msgid "ID"
msgstr "ID"
-#: admin/templates/admin/mx_domain_detail.html:11
+#: templates/admin/mx_domain_detail.html:11
msgid "Updated"
msgstr "Zaktualizowane"
-#: admin/templates/admin/mx_domain_detail.html:23
+#: 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
+#: templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
msgstr "Nie znaleziono rekordu MX dla tej domeny"
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
+#: templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
@@ -1379,7 +1426,7 @@ msgid ""
msgstr ""
"Modoboa znalazło tą domenę %(domain)s na liście DNSBL poniższych providerów:"
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
+#: templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
"The domain's reputation will be affected and there is a chance that emails "
"coming from it are considered as spam. You should contact those providers "
@@ -1389,101 +1436,101 @@ msgstr ""
"pochodzące zostaną zakwalifikowane jako spam. Powinieneś skontaktować się z "
"tymi dostawcami i poprosić o usunięcie wykrytych adresów (IP)."
-#: admin/templates/admin/notifications/domain_invalid_mx.html:3
+#: templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
msgstr ""
"Modoboa sygnalizuje że ta domena %(domain)s nie posiada poprawnego rekordu "
"MX:"
-#: admin/templates/admin/searchform.html:6
+#: templates/admin/searchform.html:6
msgid "Search"
msgstr "Szukaj"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_m"
msgstr "aktywowany_m"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_f"
msgstr "aktywowany_f"
-#: admin/templatetags/admin_tags.py:47
+#: templatetags/admin_tags.py:47
msgid "List domains"
msgstr "Lista domen"
-#: admin/templatetags/admin_tags.py:52 admin/templatetags/admin_tags.py:112
+#: templatetags/admin_tags.py:52 templatetags/admin_tags.py:112
msgid "List quotas"
msgstr "Lista limitów"
-#: admin/templatetags/admin_tags.py:57
+#: templatetags/admin_tags.py:57
msgid "Message logs"
msgstr "Logi wiadomości"
-#: admin/templatetags/admin_tags.py:69 admin/templatetags/admin_tags.py:117
-#: admin/views/import_.py:85 admin/views/import_.py:107
+#: templatetags/admin_tags.py:69 templatetags/admin_tags.py:117
+#: views/import_.py:56 views/import_.py:78
msgid "Import"
msgstr "Importuj"
-#: admin/templatetags/admin_tags.py:75 admin/templatetags/admin_tags.py:123
-#: admin/views/export.py:39 admin/views/export.py:67
+#: templatetags/admin_tags.py:75 templatetags/admin_tags.py:123
+#: views/export.py:39 views/export.py:67
msgid "Export"
msgstr "Exportuj"
-#: admin/templatetags/admin_tags.py:107
+#: templatetags/admin_tags.py:107
msgid "List identities"
msgstr "Lista tożsamości"
-#: admin/templatetags/admin_tags.py:142
+#: templatetags/admin_tags.py:142
msgid "View the domain's identities"
msgstr "Pokaż tożsamości domeny"
-#: admin/templatetags/admin_tags.py:149
+#: templatetags/admin_tags.py:149
msgid "View domain's alarms"
msgstr "Wyświetl alarmy domeny"
-#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:198
-#: admin/templatetags/admin_tags.py:211
+#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:198
+#: templatetags/admin_tags.py:211
msgid "Edit {}"
msgstr "Edytuj {}"
-#: admin/templatetags/admin_tags.py:165 admin/templatetags/admin_tags.py:202
-#: admin/templatetags/admin_tags.py:216
+#: templatetags/admin_tags.py:165 templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:216
#, python-format
msgid "Delete %s?"
msgstr "Usunąć %s?"
-#: admin/tests/test_mx.py:155
+#: tests/test_mx.py:155
#, python-format
msgid "No MX record for %s"
msgstr "Brak wpisów MX dla %s"
-#: admin/tests/test_mx.py:167 admin/tests/test_mx.py:170
+#: tests/test_mx.py:167 tests/test_mx.py:170
#, python-format
msgid "Invalid IP address format for %(domain)s; %(addr)s"
msgstr "Nieprawidłowy format adresu IP dla %(domain)s; %(addr)s"
-#: admin/views/alias.py:29
+#: views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Alias z taką nazwą już istnieje"
-#: admin/views/alias.py:54
+#: views/alias.py:55
msgid "Create"
msgstr "Utwórz"
-#: admin/views/alias.py:66
+#: views/alias.py:67
msgid "New alias"
msgstr "Nowy alias"
-#: admin/views/alias.py:67
+#: views/alias.py:68
msgid "Alias created"
msgstr "Alias utworzony"
-#: admin/views/alias.py:79
+#: views/alias.py:80
msgid "Alias modified"
msgstr "Alias zmodyfikowany"
-#: admin/views/alias.py:103
+#: views/alias.py:105
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias skasowano"
@@ -1491,19 +1538,15 @@ msgstr[1] "Alias skasowano"
msgstr[2] "Alias skasowano"
msgstr[3] "Aliasy skasowano"
-#: admin/views/dns.py:28
+#: views/dns.py:28
msgid "MX records of {}"
msgstr "Rekordy MX dla {}"
-#: admin/views/dns.py:51
+#: views/dns.py:51
msgid "DNSBL summary for {}"
msgstr "DNSBL podsumowanie dla {}"
-#: admin/views/domain.py:244
-msgid "You can't delete your own domain"
-msgstr "Nie możesz usunąć swoje własnej domeny"
-
-#: admin/views/domain.py:247
+#: views/domain.py:249
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domena usunięta"
@@ -1511,20 +1554,19 @@ msgstr[1] "Domeny usunięte"
msgstr[2] "Domeny usunięte"
msgstr[3] "Domeny usunięte"
-#: admin/views/export.py:38
+#: views/export.py:38
msgid "Export identities"
msgstr "Eksportuj tożsamości"
-#: admin/views/export.py:66
+#: views/export.py:66
msgid "Export domains"
msgstr "Eksportuj domeny"
-#: admin/views/identity.py:107 admin/views/identity.py:201
-#: admin/views/identity.py:206
+#: views/identity.py:108 views/identity.py:204 views/identity.py:209
msgid "Invalid request"
msgstr "Nieprawidłowe żądanie"
-#: admin/views/identity.py:191
+#: views/identity.py:193
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Konto usunięte"
@@ -1532,24 +1574,30 @@ msgstr[1] "Konta usunięte"
msgstr[2] "Konta usunięte"
msgstr[3] "Konta usunięte"
-#: admin/views/import_.py:61
-#, python-format
-msgid "Object already exists: %s"
-msgstr "Obiekt %s już istnieje"
-
-#: admin/views/import_.py:65
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "Zaimportowano %d obiektów z sukcesem"
-
-#: admin/views/import_.py:84
+#: views/import_.py:55
msgid "Import domains"
msgstr "Importuj domeny"
-#: admin/views/import_.py:106
+#: views/import_.py:77
msgid "Import identities"
msgstr "Importuj tożsamości"
-#: admin/views/user.py:36
+#: views/user.py:52
msgid "Forward updated"
msgstr "Reguła przekazywania zmodyfikowana"
+
+#~ msgid "Mailboxes owner"
+#~ msgstr "Właściciel skrzynek"
+
+#~ msgid "The UNIX account who owns mailboxes on the filesystem"
+#~ msgstr "Konto UNIX właściciela skrzynek na filesystemie"
+
+#, python-format
+#~ msgid "Domain '%s' does not exist"
+#~ msgstr "Domena '%s' nie istnieje"
+
+#~ msgid "Raw format"
+#~ msgstr "Format Raw"
+
+#~ msgid "Admin"
+#~ msgstr "Administrator"
diff --git a/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po
index 16d2e5794..a623fc170 100644
--- a/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po
+++ b/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po
@@ -2,56 +2,65 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
-#
+#
# Translators:
# Antoine Nguyen , 2023
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-03-09 16:48+0100\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2023-02-22 16:16+0000\n"
"Last-Translator: Antoine Nguyen , 2023\n"
-"Language-Team: Polish (Poland) (https://www.transifex.com/tonio/teams/13749/pl_PL/)\n"
+"Language-Team: Polish (Poland) (https://www.transifex.com/tonio/teams/13749/"
+"pl_PL/)\n"
+"Language: pl_PL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pl_PL\n"
-"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
+"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
+"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
-#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174
+#: static/admin/js/admin.js:129 static/admin/js/admin.js:174
msgid "No more domain to show"
msgstr "Brak domen do pokazania"
-#: admin/static/admin/js/admin.js:149
+#: static/admin/js/admin.js:149
msgid "Do not delete domain directory"
msgstr "Nie usuwaj katalogu domeny"
-#: admin/static/admin/js/admin.js:151
+#: static/admin/js/admin.js:151
msgid "This operation will remove ALL data associated to this domain."
msgstr "Ta operacja usunie WSZYSTKIE dane powiązane z tą domeną."
-#: admin/static/admin/js/admin.js:152
+#: static/admin/js/admin.js:152
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
msgstr ""
"Ta operacja usunie wszystkie dane powiązana z tą domeną za wyjątkiem kont."
-#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433
+#: static/admin/js/admin.js:177 static/admin/js/admin.js:436
msgid "No more quota to show"
msgstr "Brak limitów do wyświetlenia"
-#: admin/static/admin/js/admin.js:306
+#: static/admin/js/admin.js:180
+#, fuzzy
+#| msgid "No more quota to show"
+msgid "No more log to show"
+msgstr "Brak limitów do wyświetlenia"
+
+#: static/admin/js/admin.js:309
msgid "No domain administrator defined"
msgstr "Nie zdefiniowano administratora domeny"
-#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430
+#: static/admin/js/admin.js:365 static/admin/js/admin.js:433
msgid "No more identity to show"
msgstr "Brak tożsamości do wyświetlenia"
-#: admin/static/admin/js/admin.js:404
+#: static/admin/js/admin.js:407
msgid "Do not delete mailbox directory"
msgstr "Nie usuwaj katalogu skrzynki pocztowej"
diff --git a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po
index 32a0dd8de..43846ffe4 100644
--- a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po
+++ b/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-06 13:15+0200\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2018-09-25 03:25+0000\n"
"Last-Translator: Rafael Barretto \n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/"
@@ -26,29 +26,142 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: admin/api.py:142
+#: api/v1/serializers.py:35 forms/domain.py:44
+#, fuzzy
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
+"cota."
+
+#: api/v1/serializers.py:42
+msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgstr ""
+"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
+"cota."
+
+#: api/v1/serializers.py:73 forms/domain.py:108
+msgid "No authorized MX record found for this domain"
+msgstr ""
+
+#: api/v1/serializers.py:91 forms/domain.py:150
+msgid "Cannot be greater than domain quota"
+msgstr "Não pode ser maior do que a cota de domínio"
+
+#: api/v1/serializers.py:126 api/v1/serializers.py:321
+#: api/v2/serializers.py:430 models/alias.py:34
+msgid "Permission denied."
+msgstr "Permissão negada."
+
+#: api/v1/serializers.py:177 api/v2/serializers.py:73 api/v2/serializers.py:359
+#: forms/alias.py:108 forms/alias.py:110
+msgid "This field is required"
+msgstr "Este campo é obrigatório"
+
+#: api/v1/serializers.py:189
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista dos domínios administrados (somente revendedores e administradores de "
+"domínio)."
+
+#: api/v1/serializers.py:295 api/v2/serializers.py:409
+msgid "Not allowed for this role."
+msgstr "Não permitido para este perfil."
+
+#: api/v1/serializers.py:313
+msgid "Must be equal to mailbox full_address"
+msgstr "Deve ser igual ao endereço completo da conta"
+
+#: api/v1/serializers.py:350 api/v2/serializers.py:454 forms/account.py:178
+#: forms/account.py:180 forms/domain.py:165 forms/domain.py:294
+#: forms/domain.py:297
+msgid "This field is required."
+msgstr "Este campo é obrigatório."
+
+#: api/v1/serializers.py:362 api/v2/serializers.py:471
+msgid "Local domain {} does not exist"
+msgstr "Domínio local {} não existe"
+
+#: api/v1/serializers.py:448
+msgid "A list of recipient"
+msgstr ""
+
+#: api/v1/serializers.py:495
+msgid "You don't have access to this domain."
+msgstr ""
+
+#: api/v1/serializers.py:503
+msgid "You don't have access to this mailbox."
+msgstr ""
+
+#: api/v1/viewsets.py:175
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/app_settings.py:20 admin/handlers.py:261
-#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5
+#: api/v2/serializers.py:99 forms/domain.py:314
+#, python-format
+msgid "User '%s' already exists"
+msgstr "O usuário '%s' já existe"
+
+#: api/v2/serializers.py:209 api/v2/serializers.py:217 app_settings.py:237
+#: app_settings.py:245 forms/account.py:351
+msgid "Must be a positive integer"
+msgstr "Deve ser um inteiro positivo"
+
+#: api/v2/serializers.py:226 app_settings.py:255
+msgid "Directory not found."
+msgstr "Diretório não encontrado."
+
+#: api/v2/serializers.py:231 app_settings.py:261
+msgid "openssl not found, please make sure it is installed."
+msgstr "openssl não encontrado, por favor, verifique se ele está instalado."
+
+#: api/v2/serializers.py:246 app_settings.py:278
+msgid "This field only allows valid IP addresses (or networks)"
+msgstr ""
+
+#: api/v2/serializers.py:258 app_settings.py:293
+msgid "Define at least one authorized network / address"
+msgstr "Defina pelo menos uma rede ou endereço autorizado"
+
+#: api/v2/serializers.py:459
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "A mailbox is required to create aliases."
+msgstr "Um caixa de mensagens é obrigatória"
+
+#: api/v2/viewsets.py:74 forms/account.py:365 forms/account.py:373
+#: forms/alias.py:91
+msgid "You don't have access to this domain"
+msgstr "Você não tem acesso a esse domínio"
+
+#: api/v2/viewsets.py:77 views/domain.py:246
+msgid "You can't delete your own domain"
+msgstr "Você não pode deletar seu próprio domínio"
+
+#: app_settings.py:23 app_settings.py:300 handlers.py:266
+#: templates/admin/_global_statistics_widget.html:11
+#: templates/admin/domains.html:5
msgid "Domains"
msgstr "Domínios"
-#: admin/app_settings.py:23
+#: app_settings.py:26 app_settings.py:303
msgid "Enable MX checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:26
+#: app_settings.py:29 app_settings.py:305
msgid "Check that every domain has a valid MX record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:31
+#: app_settings.py:34 app_settings.py:309
msgid "Valid MXs"
msgstr "MXs válidos"
-#: admin/app_settings.py:34
+#: app_settings.py:37 app_settings.py:312
msgid ""
"A list of IP or network address every MX record should match. A warning will "
"be sent if a record does not respect it."
@@ -56,11 +169,11 @@ msgstr ""
"Uma lista de IP ou endereços de rede devem ser compatíveis com todas as "
"entradas MX. Um a será enviado caso alguma entrada não respeitar isso."
-#: admin/app_settings.py:42
+#: app_settings.py:45 app_settings.py:318
msgid "New domains must use authorized MX(s)"
msgstr "Novos domínios devem usar MX (s) autorizados"
-#: admin/app_settings.py:45
+#: app_settings.py:48 app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
@@ -68,75 +181,75 @@ msgstr ""
"Impedir a criação de um novo domínio se o registro MX não usar um dos "
"endereços definidos."
-#: admin/app_settings.py:51
+#: app_settings.py:54 app_settings.py:326
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Habilitar verificação DNS"
-#: admin/app_settings.py:54
+#: app_settings.py:57 app_settings.py:328
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:59
+#: app_settings.py:62 app_settings.py:332
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:62
+#: app_settings.py:65 app_settings.py:334
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:68
+#: app_settings.py:71 app_settings.py:339
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:71
+#: app_settings.py:74 app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:76
+#: app_settings.py:79 app_settings.py:345
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Habilitar checagens MX"
-#: admin/app_settings.py:79
+#: app_settings.py:82 app_settings.py:347
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Checar se todo domínio tem um registro MX válido"
-#: admin/app_settings.py:84
+#: app_settings.py:87 app_settings.py:352
msgid "Enable DNSBL checks"
msgstr "Habilitar checagens DNSBL"
-#: admin/app_settings.py:87
+#: app_settings.py:90 app_settings.py:354
msgid "Check every domain against major DNSBL providers"
msgstr "Checar cada domínio em relação aos principais provedores DNSBL."
-#: admin/app_settings.py:92
+#: app_settings.py:95 app_settings.py:358
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:95
+#: app_settings.py:99 app_settings.py:360
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:100
+#: app_settings.py:104 app_settings.py:365
msgid "DKIM keys storage directory"
msgstr "Diretório de armazenamento de chaves DKIM"
-#: admin/app_settings.py:103
+#: app_settings.py:107 app_settings.py:367
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
@@ -146,43 +259,19 @@ msgstr ""
"armazenadas. Certifique-se de que este diretório pertença ao usuário root e "
"não seja legível pelo mundo externo."
-#: admin/app_settings.py:111
+#: app_settings.py:115 app_settings.py:373
msgid "Default DKIM key length"
msgstr "Comprimento padrão da chave DKIM"
-#: admin/app_settings.py:115
+#: app_settings.py:119 app_settings.py:375
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Comprimento padrão em bits para chaves DKIM recém-geradas."
-#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41
-msgid "Mailboxes"
-msgstr "Caixas de correios"
-
-#: admin/app_settings.py:122
-msgid "Handle mailboxes on filesystem"
-msgstr "Tratar caixas de mensagens no sistema de arquivos."
-
-#: admin/app_settings.py:125
-msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
-msgstr ""
-"Renomeia ou remove caixas de mensagens do sistema de arquivos quando elas "
-"são renomeadas ou removidas dentro do Modoboa"
-
-#: admin/app_settings.py:131
-msgid "Mailboxes owner"
-msgstr "Proprietário de caixas de mensagens"
-
-#: admin/app_settings.py:134
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "A conta UNIX que possui caixas de mensagens no sistema de arquivos"
-
-#: admin/app_settings.py:139
+#: app_settings.py:124 app_settings.py:379
msgid "Default domain quota"
msgstr "Cota padrão do domínio"
-#: admin/app_settings.py:142
+#: app_settings.py:127 app_settings.py:381
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
@@ -190,12 +279,41 @@ msgstr ""
"Cota padrão (em MB) aplicada para novos domínios sem nenhum valor "
"especificado. Um valor de 0 indica que não existe cota."
-#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33
-#: admin/templates/admin/domain_detail.html:64
+#: app_settings.py:133 app_settings.py:386
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default domain sending limit"
+msgstr "Cota padrão do domínio"
+
+#: app_settings.py:136 app_settings.py:388
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:141 app_settings.py:395
+#: templates/admin/domain_detail.html:41
+msgid "Mailboxes"
+msgstr "Caixas de correios"
+
+#: app_settings.py:144 app_settings.py:398
+msgid "Handle mailboxes on filesystem"
+msgstr "Tratar caixas de mensagens no sistema de arquivos."
+
+#: app_settings.py:147 app_settings.py:400
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renomeia ou remove caixas de mensagens do sistema de arquivos quando elas "
+"são renomeadas ou removidas dentro do Modoboa"
+
+#: app_settings.py:153 app_settings.py:405 forms/domain.py:49
+#: models/domain.py:32 templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Cota padrão da caixa de correio"
-#: admin/app_settings.py:151
+#: app_settings.py:156
#, fuzzy
#| msgid ""
#| "Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -207,71 +325,88 @@ msgstr ""
"Cota padrão para caixas de correio (em MB) aplicadas a domínios recém "
"criados sem nenhum valor especificado. Um valor de 0 significa sem cota."
-#: admin/app_settings.py:157
+#: app_settings.py:162 app_settings.py:413
+#, fuzzy
+#| msgid "Default mailbox quota"
+msgid "Default mailbox sending limit"
+msgstr "Cota padrão da caixa de correio"
+
+#: app_settings.py:165 app_settings.py:415
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:171 app_settings.py:420
msgid "Automatic account removal"
msgstr "Remoção automática da conta"
-#: admin/app_settings.py:160
+#: app_settings.py:174 app_settings.py:422
msgid "When a mailbox is removed, also remove the associated account"
msgstr ""
"Quando uma caixa de correio é removida, também remove a conta associada"
-#: admin/app_settings.py:164
+#: app_settings.py:178 app_settings.py:426
msgid "Automatic domain/mailbox creation"
msgstr "Criação automática de domínio/caixa de correio"
-#: admin/app_settings.py:167
+#: app_settings.py:181 app_settings.py:428
msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
"Criar um domínio e uma caixa de correio quando uma conta é automaticamente "
"criada."
-#: admin/app_settings.py:173
+#: app_settings.py:187 app_settings.py:434
msgid "Create an alias when a mailbox is renamed"
msgstr "Criar um alias quando uma caixa de correio é renomeada"
-#: admin/app_settings.py:176
+#: app_settings.py:190 app_settings.py:436
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
"Crie um alias usando o endereço antigo quando uma caixa de correio for "
"renomeada."
-#: admin/app_settings.py:225 admin/app_settings.py:233
-#: admin/forms/account.py:335
-msgid "Must be a positive integer"
-msgstr "Deve ser um inteiro positivo"
+#: app_settings.py:407
+#, fuzzy
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Cota padrão para caixas de correio (em MB) aplicadas a domínios recém "
+"criados sem nenhum valor especificado. Um valor de 0 significa sem cota."
-#: admin/app_settings.py:243
-msgid "Directory not found."
-msgstr "Diretório não encontrado."
-
-#: admin/app_settings.py:249
-msgid "openssl not found, please make sure it is installed."
-msgstr "openssl não encontrado, por favor, verifique se ele está instalado."
-
-#: admin/app_settings.py:263
-msgid "Define at least one authorized network / address"
-msgstr "Defina pelo menos uma rede ou endereço autorizado"
-
-#: admin/app_settings.py:273
+#: app_settings.py:451 app_settings.py:453
msgid "Administration"
msgstr "Administração"
-#: admin/constants.py:28 admin/forms/alias.py:43
-#: admin/templates/admin/_per_domain_statistics_widget.html:7
-#: admin/templates/admin/domains_quota_headers.html:2
+#: constants.py:28 forms/alias.py:43
+#: templates/admin/_per_domain_statistics_widget.html:7
+#: templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domínio"
-#: admin/constants.py:29
+#: constants.py:29
msgid "Relay domain"
msgstr "Domínio de relay"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125
+#: constants.py:42
+msgid "Opened"
+msgstr ""
+
+#: constants.py:43
+#, fuzzy
+#| msgid "Close"
+msgid "Closed"
+msgstr "Fechar"
+
+#: forms/account.py:32 templates/admin/domain_detail.html:159
msgid "Username"
msgstr "Nome de usuário"
-#: admin/forms/account.py:34
+#: forms/account.py:34
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -279,23 +414,23 @@ msgstr ""
"O nome de usuário. Deve ser um endereço de e-mail válido para usuários "
"simples ou administradores com uma caixa de mensagens."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: forms/account.py:39 templates/admin/account_detail.html:29
msgid "Role"
msgstr "Papel"
-#: admin/forms/account.py:40
+#: forms/account.py:40
msgid "Choose"
msgstr "Escolher"
-#: admin/forms/account.py:41
+#: forms/account.py:41
msgid "What level of permission this user will have"
msgstr "Qual nível de permissão terá esse usuário"
-#: admin/forms/account.py:44 admin/forms/domain.py:245
+#: forms/account.py:44 forms/domain.py:248
msgid "Random password"
msgstr "Senha aleatória"
-#: admin/forms/account.py:46
+#: forms/account.py:46
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
@@ -303,55 +438,48 @@ msgstr ""
"Gerar uma senha aleatória. Se você estiver atualizando esta conta e marcar "
"essa opção, uma nova senha será gerada."
-#: admin/forms/account.py:52
+#: forms/account.py:52
msgid "Password"
msgstr "Senha"
-#: admin/forms/account.py:57
+#: forms/account.py:57
msgid "Confirmation"
msgstr "Confirmação"
-#: admin/forms/account.py:60
+#: forms/account.py:60
msgid "Enter the same password as above, for verification."
msgstr "Para verificação, digite a mesma senha que a anterior."
-#: admin/forms/account.py:72
+#: forms/account.py:72
msgid "Enabled"
msgstr "Ativado"
-#: admin/forms/account.py:167
+#: forms/account.py:167
msgid "Only super administrators are allowed for this mode"
msgstr "Apenas super administradores estão liberados para este modo"
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:162 admin/forms/domain.py:291
-#: admin/forms/domain.py:294 admin/serializers.py:287
-msgid "This field is required."
-msgstr "Este campo é obrigatório."
-
-#: admin/forms/account.py:186
+#: forms/account.py:186
msgid "The two password fields didn't match."
msgstr "Os dois campos de senha não coincidiram."
-#: admin/forms/account.py:199
+#: forms/account.py:199
msgid "You can't disable your own account"
msgstr "Você não pode desabilitar seu própria conta"
-#: admin/forms/account.py:222
+#: forms/account.py:226
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:224
+#: forms/account.py:228
msgid "Create an alias using the old address"
msgstr "Criar um alias usando o endereço antigo"
-#: admin/forms/account.py:229 admin/forms/domain.py:41
-#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49
+#: forms/account.py:233 forms/domain.py:41
+#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49
msgid "Quota"
msgstr "Cota"
-#: admin/forms/account.py:232
+#: forms/account.py:236
#, fuzzy
#| msgid ""
#| "Quota in MB for this mailbox. Define a custom value or use domain's "
@@ -366,12 +494,21 @@ msgstr ""
"o padrão do domínio. Deixe em branco para definir um valor ilimitado (não "
"permitido para administradores de domínios)."
-#: admin/forms/account.py:242 admin/forms/domain.py:31
-#: admin/templates/admin/domain_headers.html:4
+#: forms/account.py:246 models/domain.py:36 models/mailbox.py:99
+#: templates/admin/account_detail.html:50 templates/admin/domain_detail.html:69
+msgid "Message sending limit"
+msgstr ""
+
+#: forms/account.py:250 models/mailbox.py:101
+msgid "Number of messages this mailbox can send per day"
+msgstr ""
+
+#: forms/account.py:253 forms/domain.py:31
+#: templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(es)"
-#: admin/forms/account.py:245
+#: forms/account.py:256
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
@@ -381,11 +518,11 @@ msgstr ""
"pressione ENTER para adicionar uma nova entrada. Para criar um catchall "
"alias, apenas insira o nome do domínio (@domain.tld)."
-#: admin/forms/account.py:251
+#: forms/account.py:262
msgid "Sender addresses"
msgstr "Endereços do remetente"
-#: admin/forms/account.py:254
+#: forms/account.py:265
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
@@ -396,66 +533,60 @@ msgstr ""
"localmente. Indique um endereço por entrada. Pressione ENTER para adicionar "
"uma nova entrada."
-#: admin/forms/account.py:309 admin/forms/alias.py:88
-#: admin/models/mailbox.py:310
+#: forms/account.py:325 forms/alias.py:88 models/mailbox.py:313
msgid "Domain does not exist"
msgstr "Domínio não existe"
-#: admin/forms/account.py:345
+#: forms/account.py:361
msgid "Local domain does not exist"
msgstr "Domínio local não existe"
-#: admin/forms/account.py:349 admin/forms/account.py:357
-#: admin/forms/alias.py:91
-msgid "You don't have access to this domain"
-msgstr "Você não tem acesso a esse domínio"
-
-#: admin/forms/account.py:456
+#: forms/account.py:476
msgid "Domain(s)"
msgstr "Domínio(s)"
-#: admin/forms/account.py:458
+#: forms/account.py:478
msgid "Domain(s) that user administrates"
msgstr "Domínio(s) que o usuário administra"
-#: admin/forms/account.py:505 admin/forms/account.py:595
-#: admin/forms/domain.py:362 admin/forms/domain.py:433
+#: forms/account.py:525 forms/account.py:615 forms/domain.py:365
+#: forms/domain.py:436
msgid "General"
msgstr "Geral"
-#: admin/forms/account.py:509
+#: forms/account.py:529
msgid "Profile"
msgstr "Perfil"
-#: admin/forms/account.py:513 admin/forms/account.py:601
+#: forms/account.py:533 forms/account.py:621
msgid "Mail"
msgstr "Correio"
-#: admin/forms/account.py:516
+#: forms/account.py:536
msgid "Permissions"
msgstr "Permissões"
-#: admin/forms/account.py:584
+#: forms/account.py:604
msgid "Account updated"
msgstr "Conta atualizada"
-#: admin/forms/account.py:609
+#: forms/account.py:629
msgid "New account"
msgstr "Nova conta"
-#: admin/forms/account.py:619
+#: forms/account.py:639
msgid "Account created"
msgstr "Conta criada"
-#: admin/forms/alias.py:20
+#: forms/alias.py:20
msgid "Random address"
msgstr "Endereços aleatórios"
-#: admin/forms/alias.py:23
+#: forms/alias.py:23
msgid "Email address"
msgstr "Endereço de e-mail"
-#: admin/forms/alias.py:25
+#: forms/alias.py:25
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
@@ -463,11 +594,11 @@ msgstr ""
"O endereço alias. Para criar um alias de captura, basta digitar o nome de "
"domínio (@domain.tld)."
-#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
+#: forms/alias.py:31 templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatários"
-#: admin/forms/alias.py:33
+#: forms/alias.py:33
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
@@ -475,20 +606,15 @@ msgstr ""
"Endereços que este alias vai apontar. Indique apenas um endereço por "
"entrada, pressione ENTER para adicionar uma nova entrada."
-#: admin/forms/alias.py:108 admin/forms/alias.py:110
-msgid "This field is required"
-msgstr "Este campo é obrigatório"
-
-#: admin/forms/alias.py:114
+#: forms/alias.py:114
msgid "No recipient defined"
msgstr "Nenhum destinatário definido"
-#: admin/forms/domain.py:28
-#: admin/templates/admin/_global_statistics_widget.html:7
+#: forms/domain.py:28 templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:34
+#: forms/domain.py:34
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -496,22 +622,11 @@ msgstr ""
"Alias(es) para esse domínio. Indique apenas um nome por entrada, pressione "
"ENTER para adicionar uma nova entrada."
-#: admin/forms/domain.py:39
+#: forms/domain.py:39
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:44 admin/serializers.py:30
-#, fuzzy
-#| msgid ""
-#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid ""
-"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
-"A value of 0 means no quota."
-msgstr ""
-"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
-"cota."
-
-#: admin/forms/domain.py:52
+#: forms/domain.py:52
#, fuzzy
#| msgid ""
#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
@@ -522,51 +637,43 @@ msgstr ""
"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
"cota."
-#: admin/forms/domain.py:94 admin/handlers.py:161
+#: forms/domain.py:97 handlers.py:166
msgid "domain alias"
msgstr "alias de domínio"
-#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181
+#: forms/domain.py:100 forms/domain.py:176 forms/domain.py:184
#, python-format
msgid "A %s with this name already exists"
msgstr "Já existe um %s com este nome"
-#: admin/forms/domain.py:105 admin/serializers.py:64
-msgid "No authorized MX record found for this domain"
-msgstr ""
-
-#: admin/forms/domain.py:117
+#: forms/domain.py:120
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:147 admin/serializers.py:82
-msgid "Cannot be greater than domain quota"
-msgstr "Não pode ser maior do que a cota de domínio"
-
-#: admin/forms/domain.py:152
+#: forms/domain.py:155
msgid "You can't define an unlimited quota."
msgstr "Você não pode definir cota ilimitada."
-#: admin/forms/domain.py:173 admin/forms/domain.py:178
+#: forms/domain.py:176 forms/domain.py:181
msgid "domain"
msgstr "domínio"
-#: admin/forms/domain.py:227
+#: forms/domain.py:230
msgid "Create a domain administrator"
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:230
+#: forms/domain.py:233
msgid "Automatically create an administrator for this domain"
msgstr "Criar automaticamente um administrador para este domínio"
-#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125
-#: admin/templates/admin/domain_headers.html:3
-#: admin/templates/admin/identity_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:9
+#: forms/domain.py:238 templates/admin/domain_detail.html:159
+#: templates/admin/domain_headers.html:3
+#: templates/admin/identity_headers.html:2
+#: templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:238
+#: forms/domain.py:241
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -574,669 +681,724 @@ msgstr ""
"O nome de administrador. Não inclua aqui o nome de domínio. Ele será "
"automaticamente adicionado."
-#: admin/forms/domain.py:248
+#: forms/domain.py:251
msgid "Generate a random password for the administrator."
msgstr ""
-#: admin/forms/domain.py:254
+#: forms/domain.py:257
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:257
+#: forms/domain.py:260
msgid "Create a mailbox for the administrator."
msgstr ""
-#: admin/forms/domain.py:263
+#: forms/domain.py:266
msgid "Create aliases"
msgstr "Criar alias"
-#: admin/forms/domain.py:266
+#: forms/domain.py:269
msgid "Automatically create standard aliases for this domain"
msgstr "Criar automaticamente aliases padrão para este domínio"
-#: admin/forms/domain.py:282
+#: forms/domain.py:285
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:311
-#, python-format
-msgid "User '%s' already exists"
-msgstr "O usuário '%s' já existe"
-
-#: admin/forms/domain.py:423
+#: forms/domain.py:426
msgid "Domain modified"
msgstr "Domínio alterado"
-#: admin/forms/domain.py:444
+#: forms/domain.py:447
msgid "Options"
msgstr "Opções"
-#: admin/forms/domain.py:452
+#: forms/domain.py:455
msgid "New domain"
msgstr "Novo domínio"
-#: admin/forms/domain.py:465
+#: forms/domain.py:468
msgid "Domain created"
msgstr "Domínio criado"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: forms/export.py:9 forms/import_.py:13
msgid "Separator"
msgstr "Separador"
-#: admin/forms/forward.py:12
+#: forms/forward.py:12
msgid "Recipient(s)"
msgstr "Destinatário(s)"
-#: admin/forms/forward.py:16
+#: forms/forward.py:16
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indique um ou mais destinatários separados por uma ','"
-#: admin/forms/forward.py:19
+#: forms/forward.py:19
msgid "Keep local copies"
msgstr "Manter cópias locais"
-#: admin/forms/forward.py:22
+#: forms/forward.py:22
msgid "Forward messages and store copies into your local mailbox"
msgstr "Encaminhar mensagens e armazenar cópias em sua caixa de correio local"
-#: admin/forms/import_.py:11
+#: forms/import_.py:11
msgid "Select a file"
msgstr "Selecione um arquivo"
-#: admin/forms/import_.py:19
+#: forms/import_.py:19
msgid "Continue on error"
msgstr "Continuar em caso de erro"
-#: admin/forms/import_.py:20
+#: forms/import_.py:20
msgid "Don't treat duplicated objects as error"
msgstr "Não tratar como erro objetos duplicados"
-#: admin/forms/import_.py:38
+#: forms/import_.py:38
msgid "Crypt passwords"
msgstr "Criptografar senhas"
-#: admin/forms/import_.py:40
+#: forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
msgstr ""
"Marcar essa opção se as senhas contidas no seu arquivo estão criptografadas"
-#: admin/handlers.py:210
+#: handlers.py:215
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Falha ao importar a conta (%s): domínio não existe"
-#: admin/handlers.py:223 admin/models/mailbox.py:338
+#: handlers.py:228 models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "Caixa de e-mail {} já existente"
-#: admin/handlers.py:231
+#: handlers.py:236
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Falha na importação de conta (%s): valor de cota errado"
-#: admin/handlers.py:271
-#: admin/templates/admin/_global_statistics_widget.html:17
-#: admin/templates/admin/_per_domain_statistics_widget.html:8
-#: admin/templates/admin/identities.html:5
+#: handlers.py:276 templates/admin/_global_statistics_widget.html:17
+#: templates/admin/_per_domain_statistics_widget.html:8
+#: templates/admin/identities.html:5
msgid "Identities"
msgstr "Identidades"
-#: admin/handlers.py:287 admin/templates/admin/forward.html:2
+#: handlers.py:292 templates/admin/forward.html:2
msgid "Forward"
msgstr "Encaminhar"
-#: admin/lib.py:38
+#: lib.py:48
msgid "A mailbox is required"
msgstr "Um caixa de mensagens é obrigatória"
-#: admin/lib.py:128
+#: lib.py:138
msgid "You are not allowed to import domains"
msgstr "Você não tem permissão para importar domínios"
-#: admin/lib.py:139
+#: lib.py:149
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:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136
-#: admin/tests/test_mx.py:139
+#: lib.py:199 tests/test_mx.py:152 tests/test_mx.py:161 tests/test_mx.py:164
#, 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:192
+#: lib.py:202
#, 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:196 admin/tests/test_mx.py:131
+#: lib.py:206 tests/test_mx.py:156
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:199 admin/tests/test_mx.py:133
+#: lib.py:209 tests/test_mx.py:158
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:227
+#: lib.py:212
+#, python-format
+msgid "DNS name is too long: %s"
+msgstr ""
+
+#: lib.py:239
#, 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/management/commands/subcommands/_import.py:93
+#: lib.py:309
+#, python-format
+msgid "Object already exists: %s"
+msgstr "O objeto já existe: %s"
+
+#: lib.py:313
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objetos importados com sucesso"
+
+#: management/commands/subcommands/_import.py:93
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: management/commands/subcommands/_import.py:105
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: management/commands/subcommands/_import.py:116
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:132
-msgid "[modoboa] DNSBL issue(s) for domain {}"
-msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}"
+#: management/commands/subcommands/_mx.py:121
+msgid "MX {} listed by DNSBL provider {}"
+msgstr ""
-#: admin/management/commands/subcommands/_mx.py:152
+#: management/commands/subcommands/_mx.py:169
+#, fuzzy
+#| msgid "Domain {} has no MX record"
+msgid "Domain has no MX record"
+msgstr "O domínio {} não possui registro MX"
+
+#: management/commands/subcommands/_mx.py:173
msgid "Domain {} has no MX record"
msgstr "O domínio {} não possui registro MX"
-#: admin/management/commands/subcommands/_mx.py:163
+#: management/commands/subcommands/_mx.py:193
+#, fuzzy
+#| msgid "MX records of {}"
+msgid "Invalid MX record: {}"
+msgstr "Registro MX para {}"
+
+#: management/commands/subcommands/_mx.py:199
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "O registro MX para o domínio {0} é inválido: {1}"
-#: admin/management/commands/subcommands/_mx.py:180
+#: management/commands/subcommands/_mx.py:213
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] Problema(s) de MX para o domínio {}"
-#: admin/models/alias.py:32 admin/models/mailbox.py:95
+#: management/commands/subcommands/_mx.py:271
+msgid "[modoboa] DNSBL issue(s) for domain {}"
+msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}"
+
+#: models/alias.py:32
+msgid "Domain not found."
+msgstr "Domínio não encontrado."
+
+#: models/alias.py:37
+#, fuzzy
+#| msgid "Alias with this name already exists"
+msgid "An alias with this name already exists."
+msgstr "Um alias para esse nome já existe"
+
+#: models/alias.py:71 models/mailbox.py:92
msgid "address"
msgstr "endereço"
-#: admin/models/alias.py:34
+#: models/alias.py:73
msgid "The alias address."
msgstr "O endereço alias."
-#: admin/models/alias.py:39 admin/models/domain.py:37
-#: admin/models/domain_alias.py:42
+#: models/alias.py:78 models/domain.py:43 models/domain_alias.py:41
msgid "enabled"
msgstr "ativado"
-#: admin/models/alias.py:40 admin/models/domain_alias.py:43
+#: models/alias.py:79 models/domain_alias.py:42
msgid "Check to activate this alias"
msgstr "Verificar para ativar o alias"
-#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32
+#: models/alias.py:84 templates/admin/alias_detail.html:32
msgid "Description"
msgstr "Descrição"
-#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29
+#: models/alias.py:86 templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Expira em"
-#: admin/models/alias.py:87
+#: models/alias.py:127
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:119
+#: models/alias.py:159
msgid "Invalid address"
msgstr "Endereço inválido"
-#: admin/models/alias.py:140
+#: models/alias.py:180
msgid "Local recipient {}@{} not found"
msgstr "Destinatário local {}@{} não encontrado"
-#: admin/models/alias.py:170
-#, python-format
-msgid "Invalid line: %s"
+#: models/alias.py:215
+#, fuzzy
+#| msgid "Invalid line: %s"
+msgid "Invalid line: {}"
msgstr "Linha inválida: %s"
-#: admin/models/alias.py:176
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "O domínio '%s' não existe"
-
-#: admin/models/domain.py:27 admin/models/domain_alias.py:34
+#: models/domain.py:26 models/domain_alias.py:33
msgid "name"
msgstr "nome"
-#: admin/models/domain.py:28
+#: models/domain.py:27
msgid "The domain name"
msgstr "Nome do domínio"
-#: admin/models/domain.py:38
+#: models/domain.py:39
+msgid "Number of messages this domain can send per day"
+msgstr ""
+
+#: models/domain.py:44
msgid "Check to activate this domain"
msgstr "Marque para ativar esse domínio"
-#: admin/models/domain.py:43
+#: models/domain.py:49
msgid "Enable DNS checks"
msgstr "Habilitar verificação DNS"
-#: admin/models/domain.py:44
+#: models/domain.py:50
msgid "Check to enable DNS checks for this domain"
msgstr "Marque para habilitar verificações DNS para este domínio"
-#: admin/models/domain.py:51
+#: models/domain.py:57
msgid "Enable DKIM signing"
msgstr ""
-#: admin/models/domain.py:53
+#: models/domain.py:59
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
-#: admin/models/domain.py:59
+#: models/domain.py:65
msgid "Key length"
msgstr ""
-#: admin/models/domain.py:312 admin/models/domain_alias.py:67
+#: models/domain.py:357 models/domain_alias.py:66
msgid "Invalid line"
msgstr "Linha inválida"
-#: admin/models/domain.py:322
-msgid "No authorized MX record found for domain {}"
-msgstr ""
+#: models/domain.py:367
+#, fuzzy
+#| msgid "No MX record found for this domain."
+msgid "{}: no authorized MX record found for domain"
+msgstr "Nenhum registro MX foi encontrado para este domínio."
-#: admin/models/domain.py:329
-msgid "Invalid quota value for domain '{}'"
+#: models/domain.py:374
+#, fuzzy
+#| msgid "Invalid quota value for domain '{}'"
+msgid "{}: invalid quota value for domain"
msgstr "Valor de cota inválida para o domínio '{}'"
-#: admin/models/domain.py:336
-msgid "Invalid default mailbox quota value for domain '{}'"
+#: models/domain.py:381
+#, fuzzy
+#| msgid "Invalid default mailbox quota value for domain '{}'"
+msgid "{}: invalid default mailbox quota value for domain"
msgstr "Valor padrão de cota inválido para caixas de correio do domínio '{}'"
-#: admin/models/domain.py:341
-msgid "Default mailbox quota cannot be greater than domain quota"
+#: models/domain.py:386
+#, fuzzy
+#| msgid "Default mailbox quota cannot be greater than domain quota"
+msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
"Valor padrão de cota para caixas de correio não pode ser maior que a cota do "
"domínio"
-#: admin/models/domain_alias.py:35
+#: models/domain_alias.py:34
msgid "The alias name"
msgstr "Nome de alias"
-#: admin/models/domain_alias.py:37
+#: models/domain_alias.py:36
msgid "target"
msgstr "alvo"
-#: admin/models/domain_alias.py:38
+#: models/domain_alias.py:37
msgid "The domain this alias points to"
msgstr "Esse alias aponta para o domínio"
-#: admin/models/domain_alias.py:76
+#: models/domain_alias.py:75
#, python-format
msgid "Unknown domain %s"
msgstr "Domínio desconhecido %s"
-#: admin/models/mailbox.py:97
+#: models/mailbox.py:94
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Endereço da caixa de correio (sem a parte @meu.dominio)"
-#: admin/models/mailbox.py:160
+#: models/mailbox.py:156
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Falha ao recuperar a localização da caixa de mensagens (%s)"
-#: admin/models/mailbox.py:253
+#: models/mailbox.py:254
msgid "A quota is required"
msgstr "Uma cota é requerida"
-#: admin/models/mailbox.py:259
-msgid "Domain quota exceeded"
+#: models/mailbox.py:261
+#, fuzzy
+#| msgid "Domain quota exceeded"
+msgid "{}: domain quota exceeded"
msgstr "Cota do domínio excedida"
-#: admin/serializers.py:37
-msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr ""
-"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem "
-"cota."
-
-#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410
-msgid "Permission denied."
-msgstr "Permissão negada."
-
-#: admin/serializers.py:158
-msgid ""
-"List of administered domains (resellers and domain administrators only)."
-msgstr ""
-"Lista dos domínios administrados (somente revendedores e administradores de "
-"domínio)."
-
-#: admin/serializers.py:262
-msgid "Not allowed for this role."
-msgstr "Não permitido para este perfil."
-
-#: admin/serializers.py:274
-msgid "Must be equal to mailbox full_address"
-msgstr "Deve ser igual ao endereço completo da conta"
-
-#: admin/serializers.py:299
-msgid "Local domain {} does not exist"
-msgstr "Domínio local {} não existe"
-
-#: admin/serializers.py:397
-msgid "A list of recipient"
-msgstr ""
-
-#: admin/serializers.py:408
-msgid "Domain not found."
-msgstr "Domínio não encontrado."
-
-#: admin/serializers.py:457
-msgid "You don't have access to this domain."
-msgstr ""
-
-#: admin/serializers.py:465
-msgid "You don't have access to this mailbox."
-msgstr ""
-
-#: admin/templates/admin/_domain_dkim_key.html:6
-#: admin/templates/admin/_domain_dkim_key.html:20
+#: templates/admin/_domain_dkim_key.html:6
+#: templates/admin/_domain_dkim_key.html:20
msgid "Close"
msgstr "Fechar"
-#: admin/templates/admin/_domain_dkim_key.html:7
+#: templates/admin/_domain_dkim_key.html:7
#, python-format
msgid "DKIM public key for %(domain)s"
msgstr "Chave pública DKIM para %(domain)s"
-#: admin/templates/admin/_domain_dkim_key.html:11
-msgid "Raw format"
-msgstr "Formato RAW"
-
-#: admin/templates/admin/_domain_dkim_key.html:15
-msgid "Bind/named format"
+#: templates/admin/_domain_dkim_key.html:11
+msgid "Raw format. Click to copy"
msgstr ""
-#: admin/templates/admin/_domain_dnschecks_status.html:4
+#: templates/admin/_domain_dkim_key.html:15
+msgid "Bind/named format. Click to copy"
+msgstr ""
+
+#: templates/admin/_domain_dnschecks_status.html:4
msgctxt "checks"
msgid "Disabled"
msgstr "Desabilitado"
-#: admin/templates/admin/_domain_dnschecks_status.html:6
+#: templates/admin/_domain_dnschecks_status.html:6
msgid "Awaiting checks"
msgstr "Aguardando checagens"
-#: admin/templates/admin/_domain_dnschecks_status.html:16
-#: admin/templates/admin/_domain_dnschecks_status.html:26
-#: admin/templates/admin/_domain_dnschecks_status.html:34
-#: admin/templates/admin/_domain_dnschecks_status.html:42
+#: templates/admin/_domain_dnschecks_status.html:16
+#: templates/admin/_domain_dnschecks_status.html:26
+#: templates/admin/_domain_dnschecks_status.html:34
+#: templates/admin/_domain_dnschecks_status.html:42
#, fuzzy
#| msgid "Directory not found."
msgid "No record found"
msgstr "Diretório não encontrado."
-#: admin/templates/admin/_domain_dnschecks_status.html:24
+#: templates/admin/_domain_dnschecks_status.html:24
msgid "Waiting for key to be generated"
msgstr ""
-#: admin/templates/admin/_global_statistics_widget.html:4
+#: templates/admin/_global_statistics_widget.html:4
msgid "Global statistics"
msgstr "Estatísticas globais"
-#: admin/templates/admin/_global_statistics_widget.html:8
+#: templates/admin/_global_statistics_widget.html:8
msgid "Quantity"
msgstr "Quantidade"
-#: admin/templates/admin/_global_statistics_widget.html:14
-#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:73
+#: templates/admin/_global_statistics_widget.html:14
+#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:87
msgid "Domain aliases"
msgstr "Alias de domínios"
-#: admin/templates/admin/_per_domain_statistics_widget.html:4
+#: templates/admin/_per_domain_statistics_widget.html:4
msgid "Per-domain statistics"
msgstr "Estatísticas por domínio"
-#: admin/templates/admin/account_detail.html:16
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/domain_detail.html:19
-#: admin/templates/admin/identities_table.html:7
+#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16
+#: templates/admin/domain_detail.html:19
+#: templates/admin/identities_table.html:7
msgid "(disabled)"
msgstr "(desabilitado)"
-#: admin/templates/admin/account_detail.html:22
-#: admin/templates/admin/alias_detail.html:22
-#: admin/templates/admin/domain_detail.html:25
+#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22
+#: templates/admin/domain_detail.html:25
msgid "Summary"
msgstr "Sumário"
-#: admin/templates/admin/account_detail.html:26
+#: templates/admin/account_detail.html:26
msgid "Full name"
msgstr "Nome completo"
-#: admin/templates/admin/account_detail.html:32
-#: admin/templates/admin/alias_detail.html:26
+#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26
msgid "Created"
msgstr "Criado"
-#: admin/templates/admin/account_detail.html:35
+#: templates/admin/account_detail.html:35
msgid "Last login"
msgstr "Último login"
-#: admin/templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:38
msgid "Secondary email"
msgstr "E-mail secundário"
-#: admin/templates/admin/account_detail.html:38
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:41
msgid "Not defined"
msgstr "Não definido"
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:41
msgid "Phone number"
msgstr "Número de telefone"
-#: admin/templates/admin/account_detail.html:55
+#: templates/admin/account_detail.html:61
msgid "Administered domains"
msgstr "Domínios administrados"
-#: admin/templates/admin/account_detail.html:61
+#: templates/admin/account_detail.html:67
msgid "No domain defined."
msgstr "Nenhum domínio definido."
-#: admin/templates/admin/account_detail.html:75
+#: templates/admin/account_detail.html:81
msgid "Aliases"
msgstr "Aliases"
-#: admin/templates/admin/account_detail.html:81
+#: templates/admin/account_detail.html:87
msgid "No alias defined"
msgstr "Nenhum alias definido"
-#: admin/templates/admin/account_detail.html:87
+#: templates/admin/account_detail.html:93
msgid "Additional sender addresses"
msgstr "Endereços adicionais de remetente"
-#: admin/templates/admin/account_detail.html:93
+#: templates/admin/account_detail.html:99
msgid "No sender address defined"
msgstr "Nenhum endereço de remetente definido"
-#: admin/templates/admin/account_general_form.html:12
-#: admin/templates/admin/aliasform.html:13
+#: templates/admin/account_general_form.html:12
+#: templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Domínio está desabilitado"
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/identities.html:33
+#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33
msgid "Alias"
msgstr "Alias"
-#: admin/templates/admin/alias_detail.html:27
+#: templates/admin/alias_detail.html:27
msgid "Modified"
msgstr "Modificado"
-#: admin/templates/admin/dnsbl_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:10
msgid "Provider"
msgstr "Provedor"
-#: admin/templates/admin/dnsbl_domain_detail.html:11
-#: admin/templates/admin/identities_quota_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:11
+#: templates/admin/identities_quota_headers.html:2
+#: templates/admin/mx_domain_detail.html:10
msgid "Address"
msgstr "Endereço"
-#: admin/templates/admin/dnsbl_domain_detail.html:12
-#: admin/templates/admin/domain_detail.html:100
-#: admin/templates/admin/messages_log_headers.html:6
+#: templates/admin/dnsbl_domain_detail.html:12
+#: templates/admin/domain_detail.html:114
+#: templates/admin/domains_log_headers.html:6
+#: templates/admin/messages_log_headers.html:6
msgid "Status"
msgstr "Status"
-#: admin/templates/admin/dnsbl_domain_detail.html:21
+#: templates/admin/dnsbl_domain_detail.html:21
msgid "listed"
msgstr "listado"
-#: admin/templates/admin/dnsbl_domain_detail.html:29
+#: templates/admin/dnsbl_domain_detail.html:29
msgid "Everything is fine, this domain is not listed."
msgstr "Está tudo ótimo, este domínio não está listado."
-#: admin/templates/admin/dnsbl_domain_detail.html:32
+#: templates/admin/dnsbl_domain_detail.html:32
msgid "No information available for this domain."
msgstr "Nenhuma informação disponível para este domínio."
-#: admin/templates/admin/domain_detail.html:29
+#: templates/admin/domain_alarms.html:19
+msgid "Opened alarms for"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:25
+#: templates/admin/domains_log_headers.html:3
+#: templates/admin/messages_log_headers.html:3
+msgid "Date"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:26
+#, fuzzy
+#| msgid "Usage"
+msgid "Message"
+msgstr "Uso"
+
+#: templates/admin/domain_alarms.html:27
+#, fuzzy
+#| msgid "Mailboxes"
+msgid "Mailbox"
+msgstr "Caixas de correios"
+
+#: templates/admin/domain_alarms.html:40
+msgid "No opened alarm"
+msgstr ""
+
+#: templates/admin/domain_detail.html:29
msgid "Creation date"
msgstr "Data de criação"
-#: admin/templates/admin/domain_detail.html:33
+#: templates/admin/domain_detail.html:33
msgid "Last modification date"
msgstr "Data da última modificação"
-#: admin/templates/admin/domain_detail.html:45
+#: templates/admin/domain_detail.html:45
msgid "Mailbox aliases"
msgstr "Alias de caixas de correio"
-#: admin/templates/admin/domain_detail.html:50
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domain_detail.html:65
-#: admin/templates/admin/domains_quotas.html:11
-#: admin/templates/admin/domains_quotas.html:12
-#: admin/templates/admin/newdomainform.html:3
+#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57
+#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65
+#: templates/admin/domains_quotas.html:11
+#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3
msgid "MB"
msgstr "MB"
-#: admin/templates/admin/domain_detail.html:54
+#: templates/admin/domain_detail.html:54 templates/admin/domain_detail.html:73
msgid "Usage"
msgstr "Uso"
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domains_quotas.html:11
+#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11
msgctxt "quota"
msgid "used"
msgstr "usado"
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domains_quotas.html:12
+#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12
msgid "allocated"
msgstr "alocado"
-#: admin/templates/admin/domain_detail.html:92
+#: templates/admin/domain_detail.html:70
+msgid "per day"
+msgstr ""
+
+#: templates/admin/domain_detail.html:76
+#, fuzzy
+#| msgctxt "quota"
+#| msgid "used"
+msgctxt "message count"
+msgid "used"
+msgstr "usado"
+
+#: templates/admin/domain_detail.html:106
msgid "DNS"
msgstr "DNS"
-#: admin/templates/admin/domain_detail.html:107
+#: templates/admin/domain_detail.html:121
msgid "DKIM key"
msgstr "Chave DKIM"
-#: admin/templates/admin/domain_detail.html:111
+#: templates/admin/domain_detail.html:125
msgid "Show key"
msgstr "Mostrar chave"
-#: admin/templates/admin/domain_detail.html:113
+#: templates/admin/domain_detail.html:133
+msgid "Warning"
+msgstr ""
+
+#: templates/admin/domain_detail.html:139
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgstr ""
+
+#: templates/admin/domain_detail.html:142
+msgid "No"
+msgstr ""
+
+#: templates/admin/domain_detail.html:143
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:115
+#: templates/admin/domain_detail.html:143
+msgid "Yes"
+msgstr ""
+
+#: templates/admin/domain_detail.html:149
msgid "Not generated"
msgstr "Não gerado"
-#: admin/templates/admin/domain_detail.html:122
+#: templates/admin/domain_detail.html:156
msgid "Administrators"
msgstr "Administradores"
-#: admin/templates/admin/domain_detail.html:134
-#: admin/templatetags/admin_tags.py:265
+#: templates/admin/domain_detail.html:168 templatetags/admin_tags.py:279
msgid "Remove this permission"
msgstr "Remover essa persmissão"
-#: admin/templates/admin/domain_detail.html:139
+#: templates/admin/domain_detail.html:173
msgid "No domain administrator defined yet."
msgstr "Nenhum domínio de administrador definido ainda."
-#: admin/templates/admin/domain_headers.html:5
-#: admin/templates/admin/identity_headers.html:4
+#: templates/admin/domain_headers.html:5
+#: templates/admin/identity_headers.html:4
msgid "Tags"
msgstr "Tags"
-#: admin/templates/admin/domain_headers.html:7
+#: templates/admin/domain_headers.html:7
msgid "DNS status"
msgstr "Status DNS"
-#: admin/templates/admin/domain_headers.html:9
-#: admin/templates/admin/identity_headers.html:5
+#: templates/admin/domain_headers.html:9
+#: templates/admin/identity_headers.html:5
msgid "Actions"
msgstr "Ações"
-#: admin/templates/admin/domain_options_form.html:10
+#: templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Você não pode criar um novo administrador de domínio"
-#: admin/templates/admin/domains.html:28
-#: admin/templates/admin/identities.html:29
+#: templates/admin/domains.html:28 templates/admin/identities.html:29
msgid "Add"
msgstr "Adicionar"
-#: admin/templates/admin/domains_quota_headers.html:3
-#: admin/templates/admin/identities_quota_headers.html:4
+#: templates/admin/domains_log_headers.html:2
+msgid "Queue ID"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:4
+#: templates/admin/messages_log_headers.html:4
+msgid "From"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:5
+#: templates/admin/messages_log_headers.html:5
+msgid "To"
+msgstr ""
+
+#: templates/admin/domains_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:4
msgid "Limit"
msgstr "Limite"
-#: admin/templates/admin/domains_quota_headers.html:4
+#: templates/admin/domains_quota_headers.html:4
msgid "Used"
msgstr "Usado"
-#: admin/templates/admin/domains_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:5
msgid "Allocated"
msgstr "Alocado"
-#: admin/templates/admin/domains_quota_headers.html:6
-#: admin/templates/admin/identities_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:6
+#: templates/admin/identities_quota_headers.html:5
#, python-format
msgid "Usage (%%)"
msgstr "Uso (%%)"
-#: admin/templates/admin/domains_table.html:5
+#: templates/admin/domains_table.html:5
msgid "disabled"
msgstr "desabilitado"
-#: admin/templates/admin/forward.html:2
+#: templates/admin/forward.html:2
msgid "Automatically forward emails to another address"
msgstr "Encaminhar e-mails automaticamente para outro endereço"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:87
+#: templates/admin/forward.html:9 views/alias.py:88
msgid "Update"
msgstr "Atualizar"
-#: admin/templates/admin/identities.html:32
+#: templates/admin/identities.html:32
msgid "Account"
msgstr "Conta"
-#: admin/templates/admin/identities_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:3
msgid "Value"
msgstr "Valor"
-#: admin/templates/admin/identity_headers.html:3
+#: templates/admin/identity_headers.html:3
msgid "Fullname/Recipient"
msgstr "Nome completo/Destinatário"
-#: admin/templates/admin/import_domains_form.html:6
+#: templates/admin/import_domains_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
"- domain; name; quota; default mailbox quota; enabled
"
@@ -1254,7 +1416,7 @@ msgstr ""
"obrigatório e deve ser igual a um dos valores anteriores.
Você pode "
"usar um carácter diferente como separador.
"
-#: admin/templates/admin/import_identities_form.html:6
+#: 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; "
@@ -1270,56 +1432,40 @@ msgstr ""
"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
+#: templates/admin/importform.html:6
msgid "Help"
msgstr "Ajuda"
-#: admin/templates/admin/importform.html:13
+#: templates/admin/importform.html:13
msgid "Importing..."
msgstr "Importando..."
-#: admin/templates/admin/index.html:6
-msgid "Admin"
-msgstr "Admin"
-
-#: admin/templates/admin/mailboxes_raw.html:3
+#: templates/admin/mailboxes_raw.html:3
msgid "Choose a value"
msgstr "Escolher um valor"
-#: admin/templates/admin/mailform.html:7
+#: templates/admin/mailform.html:7
msgid "Use domain default value"
msgstr "Usar valor padrão do domínio"
-#: admin/templates/admin/messages_log_headers.html:2
+#: templates/admin/messages_log_headers.html:2
msgid "ID"
msgstr ""
-#: admin/templates/admin/messages_log_headers.html:3
-msgid "Date"
-msgstr ""
-
-#: admin/templates/admin/messages_log_headers.html:4
-msgid "From"
-msgstr ""
-
-#: admin/templates/admin/messages_log_headers.html:5
-msgid "To"
-msgstr ""
-
-#: admin/templates/admin/mx_domain_detail.html:11
+#: templates/admin/mx_domain_detail.html:11
msgid "Updated"
msgstr "Atualizado"
-#: admin/templates/admin/mx_domain_detail.html:23
+#: templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
msgstr ""
"Este IP não corresponde a nenhum dos MXs válidos definidos nos parâmetros"
-#: admin/templates/admin/mx_domain_detail.html:36
+#: templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
msgstr "Nenhum registro MX foi encontrado para este domínio."
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
+#: templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
@@ -1328,7 +1474,7 @@ msgstr ""
"O Modoboa detectou que o domínio %(domain)s está listado pelos seguintes "
"provedores DNSBL:"
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
+#: templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
"The domain's reputation will be affected and there is a chance that emails "
"coming from it are considered as spam. You should contact those providers "
@@ -1338,156 +1484,167 @@ msgstr ""
"dele sejam considerados spam. Você deve contatar aqueles provedores e pedir "
"a eles a retirada do(s) endereço(s) IP(s) detectado(s) da lista."
-#: admin/templates/admin/notifications/domain_invalid_mx.html:3
+#: templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
msgstr ""
"O Modoboa detectou que o domínio %(domain)s não possui registro MX válido."
-#: admin/templates/admin/searchform.html:6
+#: templates/admin/searchform.html:6
msgid "Search"
msgstr "Busca"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_m"
msgstr "Ativado"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_f"
msgstr "Ativada"
-#: admin/templatetags/admin_tags.py:45
+#: templatetags/admin_tags.py:47
msgid "List domains"
msgstr "Listardomínios"
-#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105
+#: templatetags/admin_tags.py:52 templatetags/admin_tags.py:112
msgid "List quotas"
msgstr "Listar quotas"
-#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110
-#: admin/views/import_.py:85 admin/views/import_.py:107
+#: templatetags/admin_tags.py:57
+msgid "Message logs"
+msgstr ""
+
+#: templatetags/admin_tags.py:69 templatetags/admin_tags.py:117
+#: views/import_.py:56 views/import_.py:78
msgid "Import"
msgstr "Importar"
-#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116
-#: admin/views/export.py:39 admin/views/export.py:67
+#: templatetags/admin_tags.py:75 templatetags/admin_tags.py:123
+#: views/export.py:39 views/export.py:67
msgid "Export"
msgstr "Exportar"
-#: admin/templatetags/admin_tags.py:100
+#: templatetags/admin_tags.py:107
msgid "List identities"
msgstr "Listar identidades"
-#: admin/templatetags/admin_tags.py:135
+#: templatetags/admin_tags.py:142
msgid "View the domain's identities"
msgstr "Ver as identidades de domínios"
-#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184
-#: admin/templatetags/admin_tags.py:197
+#: templatetags/admin_tags.py:149
+#, fuzzy
+#| msgid "domain alias"
+msgid "View domain's alarms"
+msgstr "alias de domínio"
+
+#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:198
+#: templatetags/admin_tags.py:211
msgid "Edit {}"
msgstr "Editar {}"
-#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188
-#: admin/templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:165 templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:216
#, python-format
msgid "Delete %s?"
msgstr "Remover %s?"
-#: admin/tests/test_mx.py:130
+#: tests/test_mx.py:155
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145
+#: tests/test_mx.py:167 tests/test_mx.py:170
#, python-format
msgid "Invalid IP address format for %(domain)s; %(addr)s"
msgstr ""
-#: admin/views/alias.py:29
+#: views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Um alias para esse nome já existe"
-#: admin/views/alias.py:54
+#: views/alias.py:55
msgid "Create"
msgstr "Criar"
-#: admin/views/alias.py:66
+#: views/alias.py:67
msgid "New alias"
msgstr "Novo alias"
-#: admin/views/alias.py:67
+#: views/alias.py:68
msgid "Alias created"
msgstr "Alias criado"
-#: admin/views/alias.py:79
+#: views/alias.py:80
msgid "Alias modified"
msgstr "Alias modificado"
-#: admin/views/alias.py:103
+#: views/alias.py:105
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Aliases apagados"
msgstr[1] "Aliases apagados"
-#: admin/views/dns.py:28
+#: views/dns.py:28
msgid "MX records of {}"
msgstr "Registro MX para {}"
-#: admin/views/dns.py:51
+#: views/dns.py:51
msgid "DNSBL summary for {}"
msgstr "Sumário DNSBL para {}"
-#: admin/views/domain.py:202
-msgid "You can't delete your own domain"
-msgstr "Você não pode deletar seu próprio domínio"
-
-#: admin/views/domain.py:205
+#: views/domain.py:249
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domínio deletado"
msgstr[1] "Domínios deletados"
-#: admin/views/export.py:38
+#: views/export.py:38
msgid "Export identities"
msgstr "Exportar identidades"
-#: admin/views/export.py:66
+#: views/export.py:66
msgid "Export domains"
msgstr "Exportar domínios"
-#: admin/views/identity.py:107 admin/views/identity.py:201
-#: admin/views/identity.py:206
+#: views/identity.py:108 views/identity.py:204 views/identity.py:209
msgid "Invalid request"
msgstr "Solicitação inválida"
-#: admin/views/identity.py:191
+#: views/identity.py:193
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Conta deletada"
msgstr[1] "Contas deletadas"
-#: admin/views/import_.py:61
-#, python-format
-msgid "Object already exists: %s"
-msgstr "O objeto já existe: %s"
-
-#: admin/views/import_.py:65
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d objetos importados com sucesso"
-
-#: admin/views/import_.py:84
+#: views/import_.py:55
msgid "Import domains"
msgstr "Importar domínios"
-#: admin/views/import_.py:106
+#: views/import_.py:77
msgid "Import identities"
msgstr "Importar identidades"
-#: admin/views/user.py:36
+#: views/user.py:52
msgid "Forward updated"
msgstr "Encaminhamento atualizado"
+#~ msgid "Mailboxes owner"
+#~ msgstr "Proprietário de caixas de mensagens"
+
+#~ msgid "The UNIX account who owns mailboxes on the filesystem"
+#~ msgstr "A conta UNIX que possui caixas de mensagens no sistema de arquivos"
+
+#, python-format
+#~ msgid "Domain '%s' does not exist"
+#~ msgstr "O domínio '%s' não existe"
+
+#~ msgid "Raw format"
+#~ msgstr "Formato RAW"
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
#~ msgid "File name"
#~ msgstr "Nome do arquivo"
diff --git a/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po
index fb30661a7..637531658 100644
--- a/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po
+++ b/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po
@@ -2,38 +2,40 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
-#
+#
# Translators:
# Antoine Nguyen , 2023
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-03-09 16:48+0100\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2023-02-22 16:16+0000\n"
"Last-Translator: Antoine Nguyen , 2023\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/tonio/teams/13749/pt_BR/)\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/tonio/"
+"teams/13749/pt_BR/)\n"
+"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_BR\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/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174
+#: static/admin/js/admin.js:129 static/admin/js/admin.js:174
msgid "No more domain to show"
msgstr "Nenhum domínio a mais para mostrar"
-#: admin/static/admin/js/admin.js:149
+#: static/admin/js/admin.js:149
msgid "Do not delete domain directory"
msgstr "Não remova o diretório de domínio"
-#: admin/static/admin/js/admin.js:151
+#: static/admin/js/admin.js:151
msgid "This operation will remove ALL data associated to this domain."
msgstr "Esta operação removerá TODOS os dados associados com este domínio."
-#: admin/static/admin/js/admin.js:152
+#: static/admin/js/admin.js:152
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
@@ -41,18 +43,24 @@ msgstr ""
"Esta operação removerá todos os dados associados com este domínio, exceto "
"contas."
-#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433
+#: static/admin/js/admin.js:177 static/admin/js/admin.js:436
msgid "No more quota to show"
msgstr "Nenhuma quota a mais para mostrar"
-#: admin/static/admin/js/admin.js:306
+#: static/admin/js/admin.js:180
+#, fuzzy
+#| msgid "No more quota to show"
+msgid "No more log to show"
+msgstr "Nenhuma quota a mais para mostrar"
+
+#: static/admin/js/admin.js:309
msgid "No domain administrator defined"
msgstr "Nenhum administrador de domínio definido"
-#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430
+#: static/admin/js/admin.js:365 static/admin/js/admin.js:433
msgid "No more identity to show"
msgstr "Nenhuma identidade a mais para mostrar"
-#: admin/static/admin/js/admin.js:404
+#: static/admin/js/admin.js:407
msgid "Do not delete mailbox directory"
msgstr "Não remova o diretório de caixas de mensagens"
diff --git a/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po
index 4a22831e8..1c86c3186 100644
--- a/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po
+++ b/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-06 13:15+0200\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2014-12-29 12:51+0000\n"
"Last-Translator: Mike C. \n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
@@ -24,140 +24,246 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api.py:142
+#: api/v1/serializers.py:35 forms/domain.py:44
+#, fuzzy
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
+
+#: api/v1/serializers.py:42
+#, fuzzy
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
+
+#: api/v1/serializers.py:73 forms/domain.py:108
+msgid "No authorized MX record found for this domain"
+msgstr ""
+
+#: api/v1/serializers.py:91 forms/domain.py:150
+msgid "Cannot be greater than domain quota"
+msgstr ""
+
+#: api/v1/serializers.py:126 api/v1/serializers.py:321
+#: api/v2/serializers.py:430 models/alias.py:34
+#, fuzzy
+#| msgid "Permissions"
+msgid "Permission denied."
+msgstr "Permissões"
+
+#: api/v1/serializers.py:177 api/v2/serializers.py:73 api/v2/serializers.py:359
+#: forms/alias.py:108 forms/alias.py:110
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required"
+msgstr "É necessária uma caixa de correio"
+
+#: api/v1/serializers.py:189
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+
+#: api/v1/serializers.py:295 api/v2/serializers.py:409
+msgid "Not allowed for this role."
+msgstr ""
+
+#: api/v1/serializers.py:313
+msgid "Must be equal to mailbox full_address"
+msgstr ""
+
+#: api/v1/serializers.py:350 api/v2/serializers.py:454 forms/account.py:178
+#: forms/account.py:180 forms/domain.py:165 forms/domain.py:294
+#: forms/domain.py:297
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "É necessária uma caixa de correio"
+
+#: api/v1/serializers.py:362 api/v2/serializers.py:471
+#, fuzzy
+#| msgid "Domain does not exist"
+msgid "Local domain {} does not exist"
+msgstr "O domínio não existe"
+
+#: api/v1/serializers.py:448
+msgid "A list of recipient"
+msgstr ""
+
+#: api/v1/serializers.py:495
+#, 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"
+
+#: api/v1/serializers.py:503
+#, fuzzy
+#| msgid "You don't have access to this domain"
+msgid "You don't have access to this mailbox."
+msgstr "Não tem acesso a este domínio"
+
+#: api/v1/viewsets.py:175
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/app_settings.py:20 admin/handlers.py:261
-#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5
+#: api/v2/serializers.py:99 forms/domain.py:314
+#, python-format
+msgid "User '%s' already exists"
+msgstr "O utilizador '%s' já existe"
+
+#: api/v2/serializers.py:209 api/v2/serializers.py:217 app_settings.py:237
+#: app_settings.py:245 forms/account.py:351
+msgid "Must be a positive integer"
+msgstr "Tem de ser um inteiro, positivo"
+
+#: api/v2/serializers.py:226 app_settings.py:255
+#, fuzzy
+#| msgid "Domain modified"
+msgid "Directory not found."
+msgstr "Domínio alterado"
+
+#: api/v2/serializers.py:231 app_settings.py:261
+msgid "openssl not found, please make sure it is installed."
+msgstr ""
+
+#: api/v2/serializers.py:246 app_settings.py:278
+msgid "This field only allows valid IP addresses (or networks)"
+msgstr ""
+
+#: api/v2/serializers.py:258 app_settings.py:293
+msgid "Define at least one authorized network / address"
+msgstr ""
+
+#: api/v2/serializers.py:459
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "A mailbox is required to create aliases."
+msgstr "É necessária uma caixa de correio"
+
+#: api/v2/viewsets.py:74 forms/account.py:365 forms/account.py:373
+#: forms/alias.py:91
+msgid "You don't have access to this domain"
+msgstr "Não tem acesso a este domínio"
+
+#: api/v2/viewsets.py:77 views/domain.py:246
+msgid "You can't delete your own domain"
+msgstr "Não é possível eliminar o seu próprio domínio"
+
+#: app_settings.py:23 app_settings.py:300 handlers.py:266
+#: templates/admin/_global_statistics_widget.html:11
+#: templates/admin/domains.html:5
msgid "Domains"
msgstr "Domínios"
-#: admin/app_settings.py:23
+#: app_settings.py:26 app_settings.py:303
msgid "Enable MX checks"
msgstr ""
-#: admin/app_settings.py:26
+#: app_settings.py:29 app_settings.py:305
msgid "Check that every domain has a valid MX record"
msgstr ""
-#: admin/app_settings.py:31
+#: app_settings.py:34 app_settings.py:309
msgid "Valid MXs"
msgstr ""
-#: admin/app_settings.py:34
+#: app_settings.py:37 app_settings.py:312
msgid ""
"A list of IP or network address every MX record should match. A warning will "
"be sent if a record does not respect it."
msgstr ""
-#: admin/app_settings.py:42
+#: app_settings.py:45 app_settings.py:318
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:45
+#: app_settings.py:48 app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
msgstr ""
-#: admin/app_settings.py:51
+#: app_settings.py:54 app_settings.py:326
msgid "Enable SPF checks"
msgstr ""
-#: admin/app_settings.py:54
+#: app_settings.py:57 app_settings.py:328
msgid "Check if every domain has a valid SPF record"
msgstr ""
-#: admin/app_settings.py:59
+#: app_settings.py:62 app_settings.py:332
msgid "Enable DKIM checks"
msgstr ""
-#: admin/app_settings.py:62
+#: app_settings.py:65 app_settings.py:334
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
-#: admin/app_settings.py:68
+#: app_settings.py:71 app_settings.py:339
msgid "Enable DMARC checks"
msgstr ""
-#: admin/app_settings.py:71
+#: app_settings.py:74 app_settings.py:341
msgid "Check if every domain has a valid DMARC record"
msgstr ""
-#: admin/app_settings.py:76
+#: app_settings.py:79 app_settings.py:345
msgid "Enable autoconfig checks"
msgstr ""
-#: admin/app_settings.py:79
+#: app_settings.py:82 app_settings.py:347
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
-#: admin/app_settings.py:84
+#: app_settings.py:87 app_settings.py:352
msgid "Enable DNSBL checks"
msgstr ""
-#: admin/app_settings.py:87
+#: app_settings.py:90 app_settings.py:354
msgid "Check every domain against major DNSBL providers"
msgstr ""
-#: admin/app_settings.py:92
+#: app_settings.py:95 app_settings.py:358
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:95
+#: app_settings.py:99 app_settings.py:360
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:100
+#: app_settings.py:104 app_settings.py:365
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:103
+#: app_settings.py:107 app_settings.py:367
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
"world."
msgstr ""
-#: admin/app_settings.py:111
+#: app_settings.py:115 app_settings.py:373
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:115
+#: app_settings.py:119 app_settings.py:375
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41
-msgid "Mailboxes"
-msgstr "Caixas de Correio"
-
-#: admin/app_settings.py:122
-msgid "Handle mailboxes on filesystem"
-msgstr "Lidar com caixas de correio no sistema de ficheiros"
-
-#: admin/app_settings.py:125
-msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
-msgstr ""
-"Renomear ou remover as caixas de correio no sistema de ficheiros quando "
-"estas são renomeadas no Modoboa"
-
-#: admin/app_settings.py:131
-msgid "Mailboxes owner"
-msgstr "Dono das caixas de correio"
-
-#: admin/app_settings.py:134
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "A conta UNIX que detém as caixas de correio no sistema de ficheiros"
-
-#: admin/app_settings.py:139
+#: app_settings.py:124 app_settings.py:379
msgid "Default domain quota"
msgstr "Quota pré-definida para o domínio"
-#: admin/app_settings.py:142
+#: app_settings.py:127 app_settings.py:381
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
@@ -165,14 +271,43 @@ msgstr ""
"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
"especificado. Um valor de 0 implica sem quota."
-#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33
-#: admin/templates/admin/domain_detail.html:64
+#: app_settings.py:133 app_settings.py:386
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default domain sending limit"
+msgstr "Quota pré-definida para o domínio"
+
+#: app_settings.py:136 app_settings.py:388
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:141 app_settings.py:395
+#: templates/admin/domain_detail.html:41
+msgid "Mailboxes"
+msgstr "Caixas de Correio"
+
+#: app_settings.py:144 app_settings.py:398
+msgid "Handle mailboxes on filesystem"
+msgstr "Lidar com caixas de correio no sistema de ficheiros"
+
+#: app_settings.py:147 app_settings.py:400
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renomear ou remover as caixas de correio no sistema de ficheiros quando "
+"estas são renomeadas no Modoboa"
+
+#: app_settings.py:153 app_settings.py:405 forms/domain.py:49
+#: models/domain.py:32 templates/admin/domain_detail.html:64
#, fuzzy
#| msgid "Default domain quota"
msgid "Default mailbox quota"
msgstr "Quota pré-definida para o domínio"
-#: admin/app_settings.py:151
+#: app_settings.py:156
#, fuzzy
#| msgid ""
#| "Default quota (in MB) applied to freshly created domains with no value "
@@ -184,153 +319,157 @@ msgstr ""
"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
"especificado. Um valor de 0 implica sem quota."
-#: admin/app_settings.py:157
+#: app_settings.py:162 app_settings.py:413
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default mailbox sending limit"
+msgstr "Quota pré-definida para o domínio"
+
+#: app_settings.py:165 app_settings.py:415
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:171 app_settings.py:420
msgid "Automatic account removal"
msgstr "Remoção automática de conta"
-#: admin/app_settings.py:160
+#: app_settings.py:174 app_settings.py:422
msgid "When a mailbox is removed, also remove the associated account"
msgstr ""
"Ao remover uma caixa de correio estará também a remover a conta associada"
-#: admin/app_settings.py:164
+#: app_settings.py:178 app_settings.py:426
msgid "Automatic domain/mailbox creation"
msgstr "Criação automatica de domino/caixa de correio"
-#: admin/app_settings.py:167
+#: app_settings.py:181 app_settings.py:428
msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
"Criar um dominio e uma caixa de correio quando uma conta é criada "
"automátiamente."
-#: admin/app_settings.py:173
+#: app_settings.py:187 app_settings.py:434
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:176
+#: app_settings.py:190 app_settings.py:436
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:225 admin/app_settings.py:233
-#: admin/forms/account.py:335
-msgid "Must be a positive integer"
-msgstr "Tem de ser um inteiro, positivo"
-
-#: admin/app_settings.py:243
+#: app_settings.py:407
#, fuzzy
-#| msgid "Domain modified"
-msgid "Directory not found."
-msgstr "Domínio alterado"
-
-#: admin/app_settings.py:249
-msgid "openssl not found, please make sure it is installed."
+#| msgid ""
+#| "Default quota (in MB) applied to freshly created domains with no value "
+#| "specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
msgstr ""
+"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
+"especificado. Um valor de 0 implica sem quota."
-#: admin/app_settings.py:263
-msgid "Define at least one authorized network / address"
-msgstr ""
-
-#: admin/app_settings.py:273
+#: app_settings.py:451 app_settings.py:453
msgid "Administration"
msgstr "Administração"
-#: admin/constants.py:28 admin/forms/alias.py:43
-#: admin/templates/admin/_per_domain_statistics_widget.html:7
-#: admin/templates/admin/domains_quota_headers.html:2
+#: constants.py:28 forms/alias.py:43
+#: templates/admin/_per_domain_statistics_widget.html:7
+#: templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domínio"
-#: admin/constants.py:29
+#: constants.py:29
#, fuzzy
#| msgid "New domain"
msgid "Relay domain"
msgstr "Novo domínio"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125
+#: constants.py:42
+msgid "Opened"
+msgstr ""
+
+#: constants.py:43
+msgid "Closed"
+msgstr ""
+
+#: forms/account.py:32 templates/admin/domain_detail.html:159
msgid "Username"
msgstr "Nome de Utilizador"
-#: admin/forms/account.py:34
+#: forms/account.py:34
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
msgstr ""
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: forms/account.py:39 templates/admin/account_detail.html:29
msgid "Role"
msgstr "Papel"
-#: admin/forms/account.py:40
+#: forms/account.py:40
msgid "Choose"
msgstr "Escolher"
-#: admin/forms/account.py:41
+#: forms/account.py:41
msgid "What level of permission this user will have"
msgstr "Que nível de permissões terá o utilizador"
-#: admin/forms/account.py:44 admin/forms/domain.py:245
+#: forms/account.py:44 forms/domain.py:248
#, fuzzy
#| msgid "Invalid request"
msgid "Random password"
msgstr "Pedido inválido"
-#: admin/forms/account.py:46
+#: forms/account.py:46
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52
+#: forms/account.py:52
msgid "Password"
msgstr "Password"
-#: admin/forms/account.py:57
+#: forms/account.py:57
msgid "Confirmation"
msgstr "Confirmação"
-#: admin/forms/account.py:60
+#: forms/account.py:60
msgid "Enter the same password as above, for verification."
msgstr "Repita a password acima, para verificação."
-#: admin/forms/account.py:72
+#: forms/account.py:72
msgid "Enabled"
msgstr "Ativo"
-#: admin/forms/account.py:167
+#: forms/account.py:167
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:162 admin/forms/domain.py:291
-#: admin/forms/domain.py:294 admin/serializers.py:287
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "É necessária uma caixa de correio"
-
-#: admin/forms/account.py:186
+#: forms/account.py:186
msgid "The two password fields didn't match."
msgstr "Os dois campos de password não são idênticos."
-#: admin/forms/account.py:199
+#: forms/account.py:199
msgid "You can't disable your own account"
msgstr "Não pode desativar a sua própria conta"
-#: admin/forms/account.py:222
+#: forms/account.py:226
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:224
+#: forms/account.py:228
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:229 admin/forms/domain.py:41
-#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49
+#: forms/account.py:233 forms/domain.py:41
+#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:232
+#: forms/account.py:236
#, fuzzy
#| msgid ""
#| "Quota in MB for this mailbox. Define a custom value or use domain's "
@@ -345,12 +484,21 @@ msgstr ""
"usar o valor predefinido pelo domínio. Deixar em branco para definir uma "
"valor ilimitado (não permitido para administradores do domínio)."
-#: admin/forms/account.py:242 admin/forms/domain.py:31
-#: admin/templates/admin/domain_headers.html:4
+#: forms/account.py:246 models/domain.py:36 models/mailbox.py:99
+#: templates/admin/account_detail.html:50 templates/admin/domain_detail.html:69
+msgid "Message sending limit"
+msgstr ""
+
+#: forms/account.py:250 models/mailbox.py:101
+msgid "Number of messages this mailbox can send per day"
+msgstr ""
+
+#: forms/account.py:253 forms/domain.py:31
+#: templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(es)"
-#: admin/forms/account.py:245
+#: forms/account.py:256
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -365,13 +513,13 @@ msgstr ""
"clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias "
"'catchall' (ex: *@domain.tld)."
-#: admin/forms/account.py:251
+#: forms/account.py:262
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Pedido inválido"
-#: admin/forms/account.py:254
+#: forms/account.py:265
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -384,70 +532,64 @@ msgstr ""
"Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um "
"endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
-#: admin/forms/account.py:309 admin/forms/alias.py:88
-#: admin/models/mailbox.py:310
+#: forms/account.py:325 forms/alias.py:88 models/mailbox.py:313
msgid "Domain does not exist"
msgstr "O domínio não existe"
-#: admin/forms/account.py:345
+#: forms/account.py:361
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "O domínio não existe"
-#: admin/forms/account.py:349 admin/forms/account.py:357
-#: admin/forms/alias.py:91
-msgid "You don't have access to this domain"
-msgstr "Não tem acesso a este domínio"
-
-#: admin/forms/account.py:456
+#: forms/account.py:476
msgid "Domain(s)"
msgstr "Domínio(s)"
-#: admin/forms/account.py:458
+#: forms/account.py:478
msgid "Domain(s) that user administrates"
msgstr "Domínio(s) administrado pelo utilizador"
-#: admin/forms/account.py:505 admin/forms/account.py:595
-#: admin/forms/domain.py:362 admin/forms/domain.py:433
+#: forms/account.py:525 forms/account.py:615 forms/domain.py:365
+#: forms/domain.py:436
msgid "General"
msgstr "Geral"
-#: admin/forms/account.py:509
+#: forms/account.py:529
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:513 admin/forms/account.py:601
+#: forms/account.py:533 forms/account.py:621
msgid "Mail"
msgstr "Correio"
-#: admin/forms/account.py:516
+#: forms/account.py:536
msgid "Permissions"
msgstr "Permissões"
-#: admin/forms/account.py:584
+#: forms/account.py:604
msgid "Account updated"
msgstr "Conta actualizada"
-#: admin/forms/account.py:609
+#: forms/account.py:629
msgid "New account"
msgstr "Nova conta"
-#: admin/forms/account.py:619
+#: forms/account.py:639
msgid "Account created"
msgstr "Conta criada"
-#: admin/forms/alias.py:20
+#: forms/alias.py:20
#, fuzzy
#| msgid "Invalid request"
msgid "Random address"
msgstr "Pedido inválido"
-#: admin/forms/alias.py:23
+#: forms/alias.py:23
msgid "Email address"
msgstr "Endereço de e-mail"
-#: admin/forms/alias.py:25
+#: forms/alias.py:25
#, fuzzy
#| msgid ""
#| "The alias address (without the domain part). For a 'catch-all' address, "
@@ -459,11 +601,11 @@ msgstr ""
"O endereço do alias (sem a parte do domínio). Para um endereço 'cath-all', "
"digite apenas o caractere *"
-#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
+#: forms/alias.py:31 templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatários"
-#: admin/forms/alias.py:33
+#: forms/alias.py:33
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -475,22 +617,15 @@ msgstr ""
"Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um "
"endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
-#: admin/forms/alias.py:108 admin/forms/alias.py:110
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required"
-msgstr "É necessária uma caixa de correio"
-
-#: admin/forms/alias.py:114
+#: forms/alias.py:114
msgid "No recipient defined"
msgstr "Sem destinatário definido"
-#: admin/forms/domain.py:28
-#: admin/templates/admin/_global_statistics_widget.html:7
+#: forms/domain.py:28 templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:34
+#: forms/domain.py:34
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -498,23 +633,11 @@ msgstr ""
"Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar "
"ENTER para acrescentar uma nova entrada."
-#: admin/forms/domain.py:39
+#: forms/domain.py:39
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:44 admin/serializers.py:30
-#, fuzzy
-#| msgid ""
-#| "Default quota (in MB) applied to freshly created domains with no value "
-#| "specified. A value of 0 means no quota."
-msgid ""
-"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
-"A value of 0 means no quota."
-msgstr ""
-"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
-"especificado. Um valor de 0 implica sem quota."
-
-#: admin/forms/domain.py:52
+#: forms/domain.py:52
#, fuzzy
#| msgid ""
#| "Default quota (in MB) applied to freshly created domains with no value "
@@ -526,51 +649,43 @@ msgstr ""
"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
"especificado. Um valor de 0 implica sem quota."
-#: admin/forms/domain.py:94 admin/handlers.py:161
+#: forms/domain.py:97 handlers.py:166
msgid "domain alias"
msgstr "'Alias' de domínio"
-#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181
+#: forms/domain.py:100 forms/domain.py:176 forms/domain.py:184
#, python-format
msgid "A %s with this name already exists"
msgstr "Já existe um(a) %s com este nome. "
-#: admin/forms/domain.py:105 admin/serializers.py:64
-msgid "No authorized MX record found for this domain"
-msgstr ""
-
-#: admin/forms/domain.py:117
+#: forms/domain.py:120
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:147 admin/serializers.py:82
-msgid "Cannot be greater than domain quota"
-msgstr ""
-
-#: admin/forms/domain.py:152
+#: forms/domain.py:155
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:173 admin/forms/domain.py:178
+#: forms/domain.py:176 forms/domain.py:181
msgid "domain"
msgstr "domínio"
-#: admin/forms/domain.py:227
+#: forms/domain.py:230
msgid "Create a domain administrator"
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:230
+#: forms/domain.py:233
msgid "Automatically create an administrator for this domain"
msgstr "Criar automaticamente um administrador para este domínio"
-#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125
-#: admin/templates/admin/domain_headers.html:3
-#: admin/templates/admin/identity_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:9
+#: forms/domain.py:238 templates/admin/domain_detail.html:159
+#: templates/admin/domain_headers.html:3
+#: templates/admin/identity_headers.html:2
+#: templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:238
+#: forms/domain.py:241
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -578,745 +693,775 @@ msgstr ""
"O nome do administrador. Não inclua o nome do domínio já que este será "
"automaticamente anexado."
-#: admin/forms/domain.py:248
+#: forms/domain.py:251
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Generate a random password for the administrator."
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:254
+#: forms/domain.py:257
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:257
+#: forms/domain.py:260
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:263
+#: forms/domain.py:266
msgid "Create aliases"
msgstr " Criar aliases"
-#: admin/forms/domain.py:266
+#: forms/domain.py:269
msgid "Automatically create standard aliases for this domain"
msgstr "Criar automaticamente aliases para este domínio"
-#: admin/forms/domain.py:282
+#: forms/domain.py:285
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:311
-#, python-format
-msgid "User '%s' already exists"
-msgstr "O utilizador '%s' já existe"
-
-#: admin/forms/domain.py:423
+#: forms/domain.py:426
msgid "Domain modified"
msgstr "Domínio alterado"
-#: admin/forms/domain.py:444
+#: forms/domain.py:447
msgid "Options"
msgstr "Opções"
-#: admin/forms/domain.py:452
+#: forms/domain.py:455
msgid "New domain"
msgstr "Novo domínio"
-#: admin/forms/domain.py:465
+#: forms/domain.py:468
msgid "Domain created"
msgstr "Domínio criado"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: forms/export.py:9 forms/import_.py:13
msgid "Separator"
msgstr "Separador"
-#: admin/forms/forward.py:12
+#: forms/forward.py:12
msgid "Recipient(s)"
msgstr "Destinatário(s)"
-#: admin/forms/forward.py:16
+#: forms/forward.py:16
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indicar um ou mais destinatários separados por ','"
-#: admin/forms/forward.py:19
+#: forms/forward.py:19
msgid "Keep local copies"
msgstr "Conservar cópias locais"
-#: admin/forms/forward.py:22
+#: forms/forward.py:22
msgid "Forward messages and store copies into your local mailbox"
msgstr ""
"Reencaminhar mensagens e armazenar cópias na sua caixa de correio local"
-#: admin/forms/import_.py:11
+#: forms/import_.py:11
msgid "Select a file"
msgstr "Escolha um ficheiro"
-#: admin/forms/import_.py:19
+#: forms/import_.py:19
msgid "Continue on error"
msgstr "Continua com erro"
-#: admin/forms/import_.py:20
+#: forms/import_.py:20
msgid "Don't treat duplicated objects as error"
msgstr "Não tratar objetos duplicados como erro"
-#: admin/forms/import_.py:38
+#: forms/import_.py:38
msgid "Crypt passwords"
msgstr "Passwords encriptadas"
-#: admin/forms/import_.py:40
+#: 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"
-#: admin/handlers.py:210
+#: handlers.py:215
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Importação da conta falhou (%s): domínio não existe"
-#: admin/handlers.py:223 admin/models/mailbox.py:338
+#: handlers.py:228 models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
msgstr "Caixa de correio %s já existe"
-#: admin/handlers.py:231
+#: handlers.py:236
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importação da conta falhou (%s): valor para quota inválido"
-#: admin/handlers.py:271
-#: admin/templates/admin/_global_statistics_widget.html:17
-#: admin/templates/admin/_per_domain_statistics_widget.html:8
-#: admin/templates/admin/identities.html:5
+#: handlers.py:276 templates/admin/_global_statistics_widget.html:17
+#: templates/admin/_per_domain_statistics_widget.html:8
+#: templates/admin/identities.html:5
msgid "Identities"
msgstr "Identidades"
-#: admin/handlers.py:287 admin/templates/admin/forward.html:2
+#: handlers.py:292 templates/admin/forward.html:2
msgid "Forward"
msgstr "Reencaminhar"
-#: admin/lib.py:38
+#: lib.py:48
msgid "A mailbox is required"
msgstr "É necessária uma caixa de correio"
-#: admin/lib.py:128
+#: lib.py:138
#, fuzzy
#| msgid "You can't delete your own domain"
msgid "You are not allowed to import domains"
msgstr "Não é possível eliminar o seu próprio domínio"
-#: admin/lib.py:139
+#: lib.py:149
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136
-#: admin/tests/test_mx.py:139
+#: lib.py:199 tests/test_mx.py:152 tests/test_mx.py:161 tests/test_mx.py:164
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:192
+#: lib.py:202
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:196 admin/tests/test_mx.py:131
+#: lib.py:206 tests/test_mx.py:156
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:199 admin/tests/test_mx.py:133
+#: lib.py:209 tests/test_mx.py:158
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:227
+#: lib.py:212
+#, python-format
+msgid "DNS name is too long: %s"
+msgstr ""
+
+#: lib.py:239
#, 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/management/commands/subcommands/_import.py:93
+#: lib.py:309
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Este objeto já existe: %s"
+
+#: lib.py:313
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objetos importados com sucesso"
+
+#: management/commands/subcommands/_import.py:93
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: management/commands/subcommands/_import.py:105
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: management/commands/subcommands/_import.py:116
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:132
-msgid "[modoboa] DNSBL issue(s) for domain {}"
+#: management/commands/subcommands/_mx.py:121
+msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:152
+#: management/commands/subcommands/_mx.py:169
+#, fuzzy
+#| msgid "Domain modified"
+msgid "Domain has no MX record"
+msgstr "Domínio alterado"
+
+#: management/commands/subcommands/_mx.py:173
msgid "Domain {} has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:163
+#: management/commands/subcommands/_mx.py:193
+msgid "Invalid MX record: {}"
+msgstr ""
+
+#: management/commands/subcommands/_mx.py:199
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:180
+#: management/commands/subcommands/_mx.py:213
msgid "[modoboa] MX issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:32 admin/models/mailbox.py:95
-msgid "address"
-msgstr "endereços"
-
-#: admin/models/alias.py:34
-#, fuzzy
-#| msgid "The alias name"
-msgid "The alias address."
-msgstr "O nome do 'alias'"
-
-#: admin/models/alias.py:39 admin/models/domain.py:37
-#: admin/models/domain_alias.py:42
-msgid "enabled"
-msgstr "ativo"
-
-#: admin/models/alias.py:40 admin/models/domain_alias.py:43
-msgid "Check to activate this alias"
-msgstr "Marcar para ativar este alias"
-
-#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32
-msgid "Description"
+#: management/commands/subcommands/_mx.py:271
+msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29
-msgid "Expire at"
-msgstr ""
-
-#: admin/models/alias.py:87
-msgid "alias"
-msgstr "alias"
-
-#: admin/models/alias.py:119
-#, fuzzy
-#| msgid "Invalid request"
-msgid "Invalid address"
-msgstr "Pedido inválido"
-
-#: admin/models/alias.py:140
-#, fuzzy
-#| msgid "Local recipient %s not found"
-msgid "Local recipient {}@{} not found"
-msgstr "O destinatário local %s não foi encontrado"
-
-#: admin/models/alias.py:170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Linha inválida: %s"
-
-#: admin/models/alias.py:176
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "O domínio '%s' não existe"
-
-#: admin/models/domain.py:27 admin/models/domain_alias.py:34
-msgid "name"
-msgstr "nome"
-
-#: admin/models/domain.py:28
-msgid "The domain name"
-msgstr "O nome do domínio"
-
-#: admin/models/domain.py:38
-msgid "Check to activate this domain"
-msgstr "Marcar para ativar este domínio"
-
-#: admin/models/domain.py:43
-msgid "Enable DNS checks"
-msgstr ""
-
-#: admin/models/domain.py:44
-#, fuzzy
-#| msgid "Check to activate this domain"
-msgid "Check to enable DNS checks for this domain"
-msgstr "Marcar para ativar este domínio"
-
-#: admin/models/domain.py:51
-msgid "Enable DKIM signing"
-msgstr ""
-
-#: admin/models/domain.py:53
-msgid ""
-"If you activate this feature, a DKIM key will be generated for this domain."
-msgstr ""
-
-#: admin/models/domain.py:59
-msgid "Key length"
-msgstr ""
-
-#: admin/models/domain.py:312 admin/models/domain_alias.py:67
-msgid "Invalid line"
-msgstr "Linha inválida"
-
-#: admin/models/domain.py:322
-msgid "No authorized MX record found for domain {}"
-msgstr ""
-
-#: admin/models/domain.py:329
-#, fuzzy
-#| msgid "Invalid quota value for domain '%s'"
-msgid "Invalid quota value for domain '{}'"
-msgstr "Valor de quota inválido para o dominio '%s'"
-
-#: admin/models/domain.py:336
-#, fuzzy
-#| msgid "Invalid quota value for domain '%s'"
-msgid "Invalid default mailbox quota value for domain '{}'"
-msgstr "Valor de quota inválido para o dominio '%s'"
-
-#: admin/models/domain.py:341
-msgid "Default mailbox quota cannot be greater than domain quota"
-msgstr ""
-
-#: admin/models/domain_alias.py:35
-msgid "The alias name"
-msgstr "O nome do 'alias'"
-
-#: admin/models/domain_alias.py:37
-msgid "target"
-msgstr "alvo"
-
-#: admin/models/domain_alias.py:38
-msgid "The domain this alias points to"
-msgstr "O domínio para o qual este alias irá apontar"
-
-#: admin/models/domain_alias.py:76
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Domínio desconhecido: %s"
-
-#: admin/models/mailbox.py:97
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Endereços das caixas de correio (sem a parte @domain.tld)"
-
-#: admin/models/mailbox.py:160
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Falha ao recuperar a localização da caixa de correio (%s)"
-
-#: admin/models/mailbox.py:253
-msgid "A quota is required"
-msgstr "É necessário uma quota"
-
-#: admin/models/mailbox.py:259
-#, fuzzy
-#| msgid "Domain created"
-msgid "Domain quota exceeded"
-msgstr "Domínio criado"
-
-#: admin/serializers.py:37
-#, fuzzy
-#| msgid ""
-#| "Default quota (in MB) applied to freshly created domains with no value "
-#| "specified. A value of 0 means no quota."
-msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr ""
-"Quota (em MB) a aplicar a domínios recentemente criados sem valor "
-"especificado. Um valor de 0 implica sem quota."
-
-#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410
-#, fuzzy
-#| msgid "Permissions"
-msgid "Permission denied."
-msgstr "Permissões"
-
-#: admin/serializers.py:158
-msgid ""
-"List of administered domains (resellers and domain administrators only)."
-msgstr ""
-
-#: admin/serializers.py:262
-msgid "Not allowed for this role."
-msgstr ""
-
-#: admin/serializers.py:274
-msgid "Must be equal to mailbox full_address"
-msgstr ""
-
-#: admin/serializers.py:299
-#, fuzzy
-#| msgid "Domain does not exist"
-msgid "Local domain {} does not exist"
-msgstr "O domínio não existe"
-
-#: admin/serializers.py:397
-msgid "A list of recipient"
-msgstr ""
-
-#: admin/serializers.py:408
+#: models/alias.py:32
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
msgstr "Domínio alterado"
-#: admin/serializers.py:457
+#: models/alias.py:37
#, 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"
+#| msgid "Alias with this name already exists"
+msgid "An alias with this name already exists."
+msgstr "Já existe um 'alias' com este nome"
-#: admin/serializers.py:465
+#: models/alias.py:71 models/mailbox.py:92
+msgid "address"
+msgstr "endereços"
+
+#: models/alias.py:73
#, fuzzy
-#| msgid "You don't have access to this domain"
-msgid "You don't have access to this mailbox."
-msgstr "Não tem acesso a este domínio"
+#| msgid "The alias name"
+msgid "The alias address."
+msgstr "O nome do 'alias'"
-#: admin/templates/admin/_domain_dkim_key.html:6
-#: admin/templates/admin/_domain_dkim_key.html:20
+#: models/alias.py:78 models/domain.py:43 models/domain_alias.py:41
+msgid "enabled"
+msgstr "ativo"
+
+#: models/alias.py:79 models/domain_alias.py:42
+msgid "Check to activate this alias"
+msgstr "Marcar para ativar este alias"
+
+#: models/alias.py:84 templates/admin/alias_detail.html:32
+msgid "Description"
+msgstr ""
+
+#: models/alias.py:86 templates/admin/alias_detail.html:29
+msgid "Expire at"
+msgstr ""
+
+#: models/alias.py:127
+msgid "alias"
+msgstr "alias"
+
+#: models/alias.py:159
+#, fuzzy
+#| msgid "Invalid request"
+msgid "Invalid address"
+msgstr "Pedido inválido"
+
+#: models/alias.py:180
+#, fuzzy
+#| msgid "Local recipient %s not found"
+msgid "Local recipient {}@{} not found"
+msgstr "O destinatário local %s não foi encontrado"
+
+#: models/alias.py:215
+#, fuzzy
+#| msgid "Invalid line: %s"
+msgid "Invalid line: {}"
+msgstr "Linha inválida: %s"
+
+#: models/domain.py:26 models/domain_alias.py:33
+msgid "name"
+msgstr "nome"
+
+#: models/domain.py:27
+msgid "The domain name"
+msgstr "O nome do domínio"
+
+#: models/domain.py:39
+msgid "Number of messages this domain can send per day"
+msgstr ""
+
+#: models/domain.py:44
+msgid "Check to activate this domain"
+msgstr "Marcar para ativar este domínio"
+
+#: models/domain.py:49
+msgid "Enable DNS checks"
+msgstr ""
+
+#: models/domain.py:50
+#, fuzzy
+#| msgid "Check to activate this domain"
+msgid "Check to enable DNS checks for this domain"
+msgstr "Marcar para ativar este domínio"
+
+#: models/domain.py:57
+msgid "Enable DKIM signing"
+msgstr ""
+
+#: models/domain.py:59
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+
+#: models/domain.py:65
+msgid "Key length"
+msgstr ""
+
+#: models/domain.py:357 models/domain_alias.py:66
+msgid "Invalid line"
+msgstr "Linha inválida"
+
+#: models/domain.py:367
+msgid "{}: no authorized MX record found for domain"
+msgstr ""
+
+#: models/domain.py:374
+#, fuzzy
+#| msgid "Invalid quota value for domain '%s'"
+msgid "{}: invalid quota value for domain"
+msgstr "Valor de quota inválido para o dominio '%s'"
+
+#: models/domain.py:381
+#, fuzzy
+#| msgid "Invalid quota value for domain '%s'"
+msgid "{}: invalid default mailbox quota value for domain"
+msgstr "Valor de quota inválido para o dominio '%s'"
+
+#: models/domain.py:386
+#, fuzzy
+#| msgid "Invalid quota value for domain '%s'"
+msgid "{}: default mailbox quota cannot be greater than domain quota"
+msgstr "Valor de quota inválido para o dominio '%s'"
+
+#: models/domain_alias.py:34
+msgid "The alias name"
+msgstr "O nome do 'alias'"
+
+#: models/domain_alias.py:36
+msgid "target"
+msgstr "alvo"
+
+#: models/domain_alias.py:37
+msgid "The domain this alias points to"
+msgstr "O domínio para o qual este alias irá apontar"
+
+#: models/domain_alias.py:75
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Domínio desconhecido: %s"
+
+#: models/mailbox.py:94
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Endereços das caixas de correio (sem a parte @domain.tld)"
+
+#: models/mailbox.py:156
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr "Falha ao recuperar a localização da caixa de correio (%s)"
+
+#: models/mailbox.py:254
+msgid "A quota is required"
+msgstr "É necessário uma quota"
+
+#: models/mailbox.py:261
+#, fuzzy
+#| msgid "Domain created"
+msgid "{}: domain quota exceeded"
+msgstr "Domínio criado"
+
+#: templates/admin/_domain_dkim_key.html:6
+#: templates/admin/_domain_dkim_key.html:20
msgid "Close"
msgstr ""
-#: admin/templates/admin/_domain_dkim_key.html:7
+#: templates/admin/_domain_dkim_key.html:7
#, python-format
msgid "DKIM public key for %(domain)s"
msgstr ""
-#: admin/templates/admin/_domain_dkim_key.html:11
+#: templates/admin/_domain_dkim_key.html:11
+msgid "Raw format. Click to copy"
+msgstr ""
+
+#: templates/admin/_domain_dkim_key.html:15
#, fuzzy
#| msgid "Invalid format"
-msgid "Raw format"
+msgid "Bind/named format. Click to copy"
msgstr "Formato inválido"
-#: admin/templates/admin/_domain_dkim_key.html:15
-#, fuzzy
-#| msgid "Invalid format"
-msgid "Bind/named format"
-msgstr "Formato inválido"
-
-#: admin/templates/admin/_domain_dnschecks_status.html:4
+#: templates/admin/_domain_dnschecks_status.html:4
#, fuzzy
#| msgid "disabled"
msgctxt "checks"
msgid "Disabled"
msgstr "inativo"
-#: admin/templates/admin/_domain_dnschecks_status.html:6
+#: templates/admin/_domain_dnschecks_status.html:6
msgid "Awaiting checks"
msgstr ""
-#: admin/templates/admin/_domain_dnschecks_status.html:16
-#: admin/templates/admin/_domain_dnschecks_status.html:26
-#: admin/templates/admin/_domain_dnschecks_status.html:34
-#: admin/templates/admin/_domain_dnschecks_status.html:42
+#: templates/admin/_domain_dnschecks_status.html:16
+#: templates/admin/_domain_dnschecks_status.html:26
+#: templates/admin/_domain_dnschecks_status.html:34
+#: templates/admin/_domain_dnschecks_status.html:42
#, fuzzy
#| msgid "Domain modified"
msgid "No record found"
msgstr "Domínio alterado"
-#: admin/templates/admin/_domain_dnschecks_status.html:24
+#: templates/admin/_domain_dnschecks_status.html:24
msgid "Waiting for key to be generated"
msgstr ""
-#: admin/templates/admin/_global_statistics_widget.html:4
+#: templates/admin/_global_statistics_widget.html:4
#, fuzzy
#| msgid "Statistics"
msgid "Global statistics"
msgstr "Estatísticas"
-#: admin/templates/admin/_global_statistics_widget.html:8
+#: templates/admin/_global_statistics_widget.html:8
msgid "Quantity"
msgstr "Quantidade"
-#: admin/templates/admin/_global_statistics_widget.html:14
-#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:73
+#: templates/admin/_global_statistics_widget.html:14
+#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:87
msgid "Domain aliases"
msgstr "Aliases de domínio"
-#: admin/templates/admin/_per_domain_statistics_widget.html:4
+#: templates/admin/_per_domain_statistics_widget.html:4
#, fuzzy
#| msgid "Per-domain counters"
msgid "Per-domain statistics"
msgstr "Contadores por-domínio"
-#: admin/templates/admin/account_detail.html:16
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/domain_detail.html:19
-#: admin/templates/admin/identities_table.html:7
+#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16
+#: templates/admin/domain_detail.html:19
+#: templates/admin/identities_table.html:7
#, fuzzy
#| msgid "disabled"
msgid "(disabled)"
msgstr "inativo"
-#: admin/templates/admin/account_detail.html:22
-#: admin/templates/admin/alias_detail.html:22
-#: admin/templates/admin/domain_detail.html:25
+#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22
+#: templates/admin/domain_detail.html:25
msgid "Summary"
msgstr ""
-#: admin/templates/admin/account_detail.html:26
+#: templates/admin/account_detail.html:26
#, fuzzy
#| msgid "File name"
msgid "Full name"
msgstr "Nome do ficheiro"
-#: admin/templates/admin/account_detail.html:32
-#: admin/templates/admin/alias_detail.html:26
+#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26
#, fuzzy
#| msgid "Create"
msgid "Created"
msgstr "Criar"
-#: admin/templates/admin/account_detail.html:35
+#: templates/admin/account_detail.html:35
msgid "Last login"
msgstr ""
-#: admin/templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:38
msgid "Secondary email"
msgstr ""
-#: admin/templates/admin/account_detail.html:38
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:41
#, fuzzy
#| msgid "No recipient defined"
msgid "Not defined"
msgstr "Sem destinatário definido"
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:41
msgid "Phone number"
msgstr ""
-#: admin/templates/admin/account_detail.html:55
+#: templates/admin/account_detail.html:61
#, fuzzy
#| msgid "Administration"
msgid "Administered domains"
msgstr "Administração"
-#: admin/templates/admin/account_detail.html:61
+#: templates/admin/account_detail.html:67
#, fuzzy
#| msgid "No recipient defined"
msgid "No domain defined."
msgstr "Sem destinatário definido"
-#: admin/templates/admin/account_detail.html:75
+#: templates/admin/account_detail.html:81
#, fuzzy
#| msgid "Alias(es)"
msgid "Aliases"
msgstr "Alias(es)"
-#: admin/templates/admin/account_detail.html:81
+#: templates/admin/account_detail.html:87
#, fuzzy
#| msgid "No recipient defined"
msgid "No alias defined"
msgstr "Sem destinatário definido"
-#: admin/templates/admin/account_detail.html:87
+#: templates/admin/account_detail.html:93
msgid "Additional sender addresses"
msgstr ""
-#: admin/templates/admin/account_detail.html:93
+#: templates/admin/account_detail.html:99
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:12
-#: admin/templates/admin/aliasform.html:13
+#: templates/admin/account_general_form.html:12
+#: templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "O dominio está inativo"
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/identities.html:33
+#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33
#, fuzzy
#| msgid "alias"
msgid "Alias"
msgstr "alias"
-#: admin/templates/admin/alias_detail.html:27
+#: templates/admin/alias_detail.html:27
#, fuzzy
#| msgid "Alias modified"
msgid "Modified"
msgstr "'Alias' modificado"
-#: admin/templates/admin/dnsbl_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:10
msgid "Provider"
msgstr ""
-#: admin/templates/admin/dnsbl_domain_detail.html:11
-#: admin/templates/admin/identities_quota_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:11
+#: templates/admin/identities_quota_headers.html:2
+#: templates/admin/mx_domain_detail.html:10
msgid "Address"
msgstr "Endereço"
-#: admin/templates/admin/dnsbl_domain_detail.html:12
-#: admin/templates/admin/domain_detail.html:100
-#: admin/templates/admin/messages_log_headers.html:6
+#: templates/admin/dnsbl_domain_detail.html:12
+#: templates/admin/domain_detail.html:114
+#: templates/admin/domains_log_headers.html:6
+#: templates/admin/messages_log_headers.html:6
#, fuzzy
#| msgid "Statistics"
msgid "Status"
msgstr "Estatísticas"
-#: admin/templates/admin/dnsbl_domain_detail.html:21
+#: templates/admin/dnsbl_domain_detail.html:21
msgid "listed"
msgstr ""
-#: admin/templates/admin/dnsbl_domain_detail.html:29
+#: templates/admin/dnsbl_domain_detail.html:29
msgid "Everything is fine, this domain is not listed."
msgstr ""
-#: admin/templates/admin/dnsbl_domain_detail.html:32
+#: templates/admin/dnsbl_domain_detail.html:32
msgid "No information available for this domain."
msgstr ""
-#: admin/templates/admin/domain_detail.html:29
+#: templates/admin/domain_alarms.html:19
+msgid "Opened alarms for"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:25
+#: templates/admin/domains_log_headers.html:3
+#: templates/admin/messages_log_headers.html:3
+msgid "Date"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:26
+#, fuzzy
+#| msgid "Usage (%%)"
+msgid "Message"
+msgstr "Utilização (%%)"
+
+#: templates/admin/domain_alarms.html:27
+#, fuzzy
+#| msgid "Mailboxes"
+msgid "Mailbox"
+msgstr "Caixas de Correio"
+
+#: templates/admin/domain_alarms.html:40
+msgid "No opened alarm"
+msgstr ""
+
+#: templates/admin/domain_detail.html:29
msgid "Creation date"
msgstr "Data de criação"
-#: admin/templates/admin/domain_detail.html:33
+#: templates/admin/domain_detail.html:33
msgid "Last modification date"
msgstr "Data da última modificação"
-#: admin/templates/admin/domain_detail.html:45
+#: templates/admin/domain_detail.html:45
msgid "Mailbox aliases"
msgstr "Aliases para caixas de correio"
-#: admin/templates/admin/domain_detail.html:50
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domain_detail.html:65
-#: admin/templates/admin/domains_quotas.html:11
-#: admin/templates/admin/domains_quotas.html:12
-#: admin/templates/admin/newdomainform.html:3
+#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57
+#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65
+#: templates/admin/domains_quotas.html:11
+#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3
msgid "MB"
msgstr "MB"
-#: admin/templates/admin/domain_detail.html:54
+#: templates/admin/domain_detail.html:54 templates/admin/domain_detail.html:73
#, fuzzy
#| msgid "Usage (%%)"
msgid "Usage"
msgstr "Utilização (%%)"
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domains_quotas.html:11
+#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11
msgctxt "quota"
msgid "used"
msgstr ""
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domains_quotas.html:12
+#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12
msgid "allocated"
msgstr ""
-#: admin/templates/admin/domain_detail.html:92
+#: templates/admin/domain_detail.html:70
+msgid "per day"
+msgstr ""
+
+#: templates/admin/domain_detail.html:76
+msgctxt "message count"
+msgid "used"
+msgstr ""
+
+#: templates/admin/domain_detail.html:106
msgid "DNS"
msgstr ""
-#: admin/templates/admin/domain_detail.html:107
+#: templates/admin/domain_detail.html:121
msgid "DKIM key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:111
+#: templates/admin/domain_detail.html:125
msgid "Show key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:113
+#: templates/admin/domain_detail.html:133
+msgid "Warning"
+msgstr ""
+
+#: templates/admin/domain_detail.html:139
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgstr ""
+
+#: templates/admin/domain_detail.html:142
+msgid "No"
+msgstr ""
+
+#: templates/admin/domain_detail.html:143
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:115
+#: templates/admin/domain_detail.html:143
+msgid "Yes"
+msgstr ""
+
+#: templates/admin/domain_detail.html:149
#, fuzzy
#| msgid "No recipient defined"
msgid "Not generated"
msgstr "Sem destinatário definido"
-#: admin/templates/admin/domain_detail.html:122
+#: templates/admin/domain_detail.html:156
msgid "Administrators"
msgstr "Administradores"
-#: admin/templates/admin/domain_detail.html:134
-#: admin/templatetags/admin_tags.py:265
+#: templates/admin/domain_detail.html:168 templatetags/admin_tags.py:279
msgid "Remove this permission"
msgstr "Remover esta permissão"
-#: admin/templates/admin/domain_detail.html:139
+#: templates/admin/domain_detail.html:173
#, fuzzy
#| msgid "No domain administrator defined"
msgid "No domain administrator defined yet."
msgstr "Nenhum administrador de domínio definido"
-#: admin/templates/admin/domain_headers.html:5
-#: admin/templates/admin/identity_headers.html:4
+#: templates/admin/domain_headers.html:5
+#: templates/admin/identity_headers.html:4
msgid "Tags"
msgstr "Tags"
-#: admin/templates/admin/domain_headers.html:7
+#: templates/admin/domain_headers.html:7
#, fuzzy
#| msgid "Statistics"
msgid "DNS status"
msgstr "Estatísticas"
-#: admin/templates/admin/domain_headers.html:9
-#: admin/templates/admin/identity_headers.html:5
+#: templates/admin/domain_headers.html:9
+#: templates/admin/identity_headers.html:5
msgid "Actions"
msgstr "Ações"
-#: admin/templates/admin/domain_options_form.html:10
+#: templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Não pode criar administradores de domínio"
-#: admin/templates/admin/domains.html:28
-#: admin/templates/admin/identities.html:29
+#: templates/admin/domains.html:28 templates/admin/identities.html:29
#, fuzzy
#| msgid "Address"
msgid "Add"
msgstr "Endereço"
-#: admin/templates/admin/domains_quota_headers.html:3
-#: admin/templates/admin/identities_quota_headers.html:4
+#: templates/admin/domains_log_headers.html:2
+msgid "Queue ID"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:4
+#: templates/admin/messages_log_headers.html:4
+msgid "From"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:5
+#: templates/admin/messages_log_headers.html:5
+msgid "To"
+msgstr ""
+
+#: templates/admin/domains_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:4
msgid "Limit"
msgstr "Limite"
-#: admin/templates/admin/domains_quota_headers.html:4
+#: templates/admin/domains_quota_headers.html:4
msgid "Used"
msgstr ""
-#: admin/templates/admin/domains_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:5
#, fuzzy
#| msgid "Alias created"
msgid "Allocated"
msgstr "Alias criado"
-#: admin/templates/admin/domains_quota_headers.html:6
-#: admin/templates/admin/identities_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:6
+#: templates/admin/identities_quota_headers.html:5
#, python-format
msgid "Usage (%%)"
msgstr "Utilização (%%)"
-#: admin/templates/admin/domains_table.html:5
+#: templates/admin/domains_table.html:5
msgid "disabled"
msgstr "inativo"
-#: admin/templates/admin/forward.html:2
+#: templates/admin/forward.html:2
msgid "Automatically forward emails to another address"
msgstr "Reenviar automaticamente e-mails para outro endereço"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:87
+#: templates/admin/forward.html:9 views/alias.py:88
msgid "Update"
msgstr "Actualizar"
-#: admin/templates/admin/identities.html:32
+#: templates/admin/identities.html:32
#, fuzzy
#| msgid "Add account"
msgid "Account"
msgstr "Adicionar conta"
-#: admin/templates/admin/identities_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:3
msgid "Value"
msgstr "Valor"
-#: admin/templates/admin/identity_headers.html:3
+#: templates/admin/identity_headers.html:3
msgid "Fullname/Recipient"
msgstr "Nome Completo / Destinatário"
-#: admin/templates/admin/import_domains_form.html:6
+#: templates/admin/import_domains_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
"- domain; name; quota; default mailbox quota; enabled
"
@@ -1327,7 +1472,7 @@ msgid ""
"use a different character as separator."
msgstr ""
-#: admin/templates/admin/import_identities_form.html:6
+#: 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; "
@@ -1337,155 +1482,149 @@ msgid ""
"use a different character as separator."
msgstr ""
-#: admin/templates/admin/importform.html:6
+#: templates/admin/importform.html:6
msgid "Help"
msgstr "Ajuda"
-#: admin/templates/admin/importform.html:13
+#: templates/admin/importform.html:13
msgid "Importing..."
msgstr "A importar..."
-#: admin/templates/admin/index.html:6
-msgid "Admin"
-msgstr ""
-
-#: admin/templates/admin/mailboxes_raw.html:3
+#: templates/admin/mailboxes_raw.html:3
msgid "Choose a value"
msgstr "Escolha um valor"
-#: admin/templates/admin/mailform.html:7
+#: templates/admin/mailform.html:7
msgid "Use domain default value"
msgstr "Usar um valor padrão de domínio"
-#: admin/templates/admin/messages_log_headers.html:2
+#: templates/admin/messages_log_headers.html:2
msgid "ID"
msgstr ""
-#: admin/templates/admin/messages_log_headers.html:3
-msgid "Date"
-msgstr ""
-
-#: admin/templates/admin/messages_log_headers.html:4
-msgid "From"
-msgstr ""
-
-#: admin/templates/admin/messages_log_headers.html:5
-msgid "To"
-msgstr ""
-
-#: admin/templates/admin/mx_domain_detail.html:11
+#: templates/admin/mx_domain_detail.html:11
#, fuzzy
#| msgid "Update"
msgid "Updated"
msgstr "Actualizar"
-#: admin/templates/admin/mx_domain_detail.html:23
+#: templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
msgstr ""
-#: admin/templates/admin/mx_domain_detail.html:36
+#: templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
msgstr ""
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
+#: templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
msgstr ""
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
+#: templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
"The domain's reputation will be affected and there is a chance that emails "
"coming from it are considered as spam. You should contact those providers "
"and ask them to unlist detected IP address(es)."
msgstr ""
-#: admin/templates/admin/notifications/domain_invalid_mx.html:3
+#: templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
msgstr ""
-#: admin/templates/admin/searchform.html:6
+#: templates/admin/searchform.html:6
msgid "Search"
msgstr "Procurar"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_m"
msgstr "enabled_m"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_f"
msgstr "enabled_f"
-#: admin/templatetags/admin_tags.py:45
+#: templatetags/admin_tags.py:47
msgid "List domains"
msgstr "Listar domínios"
-#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105
+#: templatetags/admin_tags.py:52 templatetags/admin_tags.py:112
msgid "List quotas"
msgstr "Listar as quotas"
-#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110
-#: admin/views/import_.py:85 admin/views/import_.py:107
+#: templatetags/admin_tags.py:57
+msgid "Message logs"
+msgstr ""
+
+#: templatetags/admin_tags.py:69 templatetags/admin_tags.py:117
+#: views/import_.py:56 views/import_.py:78
msgid "Import"
msgstr "Importar"
-#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116
-#: admin/views/export.py:39 admin/views/export.py:67
+#: templatetags/admin_tags.py:75 templatetags/admin_tags.py:123
+#: views/export.py:39 views/export.py:67
msgid "Export"
msgstr "Exportar"
-#: admin/templatetags/admin_tags.py:100
+#: templatetags/admin_tags.py:107
msgid "List identities"
msgstr "Listar identidades"
-#: admin/templatetags/admin_tags.py:135
+#: templatetags/admin_tags.py:142
msgid "View the domain's identities"
msgstr "Visualizar as identidades do domínio"
-#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184
-#: admin/templatetags/admin_tags.py:197
+#: templatetags/admin_tags.py:149
+#, fuzzy
+#| msgid "domain alias"
+msgid "View domain's alarms"
+msgstr "'Alias' de domínio"
+
+#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:198
+#: templatetags/admin_tags.py:211
msgid "Edit {}"
msgstr ""
-#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188
-#: admin/templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:165 templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:216
#, python-format
msgid "Delete %s?"
msgstr "Eliminar %s?"
-#: admin/tests/test_mx.py:130
+#: tests/test_mx.py:155
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145
+#: tests/test_mx.py:167 tests/test_mx.py:170
#, python-format
msgid "Invalid IP address format for %(domain)s; %(addr)s"
msgstr ""
-#: admin/views/alias.py:29
+#: views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Já existe um 'alias' com este nome"
-#: admin/views/alias.py:54
+#: views/alias.py:55
msgid "Create"
msgstr "Criar"
-#: admin/views/alias.py:66
+#: views/alias.py:67
msgid "New alias"
msgstr "Novo 'alias'"
-#: admin/views/alias.py:67
+#: views/alias.py:68
msgid "Alias created"
msgstr "Alias criado"
-#: admin/views/alias.py:79
+#: views/alias.py:80
msgid "Alias modified"
msgstr "'Alias' modificado"
-#: admin/views/alias.py:103
+#: views/alias.py:105
#, fuzzy
#| msgid "Alias created"
msgid "Alias deleted"
@@ -1493,65 +1632,65 @@ msgid_plural "Aliases deleted"
msgstr[0] "Alias criado"
msgstr[1] "Alias criado"
-#: admin/views/dns.py:28
+#: views/dns.py:28
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: views/dns.py:51
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:202
-msgid "You can't delete your own domain"
-msgstr "Não é possível eliminar o seu próprio domínio"
-
-#: admin/views/domain.py:205
+#: views/domain.py:249
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domínio criado"
msgstr[1] "Domínios eliminados"
-#: admin/views/export.py:38
+#: views/export.py:38
msgid "Export identities"
msgstr "Exportar identidades"
-#: admin/views/export.py:66
+#: views/export.py:66
msgid "Export domains"
msgstr "Exportar domínios"
-#: admin/views/identity.py:107 admin/views/identity.py:201
-#: admin/views/identity.py:206
+#: views/identity.py:108 views/identity.py:204 views/identity.py:209
msgid "Invalid request"
msgstr "Pedido inválido"
-#: admin/views/identity.py:191
+#: views/identity.py:193
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Conta eliminada"
msgstr[1] "Contas eliminadas"
-#: admin/views/import_.py:61
-#, python-format
-msgid "Object already exists: %s"
-msgstr "Este objeto já existe: %s"
-
-#: admin/views/import_.py:65
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d objetos importados com sucesso"
-
-#: admin/views/import_.py:84
+#: views/import_.py:55
msgid "Import domains"
msgstr "Importar domínios"
-#: admin/views/import_.py:106
+#: views/import_.py:77
msgid "Import identities"
msgstr "Importar identidades"
-#: admin/views/user.py:36
+#: views/user.py:52
msgid "Forward updated"
msgstr "Reencaminhamento atualizado"
+#~ msgid "Mailboxes owner"
+#~ msgstr "Dono das caixas de correio"
+
+#~ msgid "The UNIX account who owns mailboxes on the filesystem"
+#~ msgstr "A conta UNIX que detém as caixas de correio no sistema de ficheiros"
+
+#, python-format
+#~ msgid "Domain '%s' does not exist"
+#~ msgstr "O domínio '%s' não existe"
+
+#, fuzzy
+#~| msgid "Invalid format"
+#~ msgid "Raw format"
+#~ msgstr "Formato inválido"
+
#~ msgid "File name"
#~ msgstr "Nome do ficheiro"
diff --git a/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po
index 4679aad46..3ba357a3d 100644
--- a/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po
+++ b/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po
@@ -2,38 +2,40 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
-#
+#
# Translators:
# Antoine Nguyen , 2023
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-03-09 16:48+0100\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2023-02-22 16:16+0000\n"
"Last-Translator: Antoine Nguyen , 2023\n"
-"Language-Team: Portuguese (Portugal) (https://www.transifex.com/tonio/teams/13749/pt_PT/)\n"
+"Language-Team: Portuguese (Portugal) (https://www.transifex.com/tonio/"
+"teams/13749/pt_PT/)\n"
+"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_PT\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/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174
+#: static/admin/js/admin.js:129 static/admin/js/admin.js:174
msgid "No more domain to show"
msgstr "Não existem mais dominios para mostrar"
-#: admin/static/admin/js/admin.js:149
+#: static/admin/js/admin.js:149
msgid "Do not delete domain directory"
msgstr "Não excluir o diretório do domínio"
-#: admin/static/admin/js/admin.js:151
+#: static/admin/js/admin.js:151
msgid "This operation will remove ALL data associated to this domain."
msgstr "Esta operação irá remover TODOS os dados associados a este domínio."
-#: admin/static/admin/js/admin.js:152
+#: static/admin/js/admin.js:152
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
@@ -41,18 +43,24 @@ msgstr ""
"Esta operação irá remover TODOS os dados associados a este domínio, excepto "
"as contas."
-#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433
+#: static/admin/js/admin.js:177 static/admin/js/admin.js:436
msgid "No more quota to show"
msgstr "Não existem mais quotas para mostrar"
-#: admin/static/admin/js/admin.js:306
+#: static/admin/js/admin.js:180
+#, fuzzy
+#| msgid "No more quota to show"
+msgid "No more log to show"
+msgstr "Não existem mais quotas para mostrar"
+
+#: static/admin/js/admin.js:309
msgid "No domain administrator defined"
msgstr "Não está definido nenhum administrador para o domínio"
-#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430
+#: static/admin/js/admin.js:365 static/admin/js/admin.js:433
msgid "No more identity to show"
msgstr "Não existem mais identidades para mostrar"
-#: admin/static/admin/js/admin.js:404
+#: static/admin/js/admin.js:407
msgid "Do not delete mailbox directory"
msgstr "Não excluir o diretório da caixa de correio"
diff --git a/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po
index a03ed944d..a34bce55a 100644
--- a/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po
+++ b/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po
@@ -2,61 +2,172 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
-#
+#
# Translators:
# Antoine Nguyen , 2023
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-10-02 15:31+0200\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2023-02-22 16:16+0000\n"
"Last-Translator: Antoine Nguyen , 2023\n"
-"Language-Team: Romanian (Romania) (https://www.transifex.com/tonio/teams/13749/ro_RO/)\n"
+"Language-Team: Romanian (Romania) (https://www.transifex.com/tonio/"
+"teams/13749/ro_RO/)\n"
+"Language: ro_RO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ro_RO\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
-#: admin/api.py:142
+#: api/v1/serializers.py:35 forms/domain.py:44
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+"Limită distribuită intre căsuțele postale. Poate fi exprimată in KB, MB "
+"(implicit) sau GB. Valoarea 0 reprezintă nelimitat."
+
+#: api/v1/serializers.py:42
+msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgstr ""
+"Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 "
+"înseamnă fără cotă."
+
+#: api/v1/serializers.py:73 forms/domain.py:108
+msgid "No authorized MX record found for this domain"
+msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu"
+
+#: api/v1/serializers.py:91 forms/domain.py:150
+msgid "Cannot be greater than domain quota"
+msgstr "Nu poate fi mai mare decat cota domeniului"
+
+#: api/v1/serializers.py:126 api/v1/serializers.py:321
+#: api/v2/serializers.py:430 models/alias.py:34
+msgid "Permission denied."
+msgstr "Permisiune refuzată."
+
+#: api/v1/serializers.py:177 api/v2/serializers.py:73 api/v2/serializers.py:359
+#: forms/alias.py:108 forms/alias.py:110
+msgid "This field is required"
+msgstr "Acest câmp este necesar"
+
+#: api/v1/serializers.py:189
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista domenilor administrate (doar reselleri și administratori de domeniu)"
+
+#: api/v1/serializers.py:295 api/v2/serializers.py:409
+msgid "Not allowed for this role."
+msgstr "Ne permis pentru acest rol."
+
+#: api/v1/serializers.py:313
+msgid "Must be equal to mailbox full_address"
+msgstr "Trebuie să fie egal cu mailbox full_address"
+
+#: api/v1/serializers.py:350 api/v2/serializers.py:454 forms/account.py:178
+#: forms/account.py:180 forms/domain.py:165 forms/domain.py:294
+#: forms/domain.py:297
+msgid "This field is required."
+msgstr "Acest câmp este necesar."
+
+#: api/v1/serializers.py:362 api/v2/serializers.py:471
+msgid "Local domain {} does not exist"
+msgstr "Domeniu local {} nu există"
+
+#: api/v1/serializers.py:448
+msgid "A list of recipient"
+msgstr "O listă de destinatari"
+
+#: api/v1/serializers.py:495
+msgid "You don't have access to this domain."
+msgstr "Nu ai acces la acest domeniu."
+
+#: api/v1/serializers.py:503
+msgid "You don't have access to this mailbox."
+msgstr "Nu ai acces la această cutie postală"
+
+#: api/v1/viewsets.py:175
msgid "Here is your new Modoboa password: {}"
msgstr "Aici este noua ta parolă Modoboa: {}"
-#: admin/app_settings.py:20 admin/handlers.py:261
-#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5
+#: api/v2/serializers.py:99 forms/domain.py:314
+#, python-format
+msgid "User '%s' already exists"
+msgstr "Utilizatorul '%s' exista deja"
+
+#: api/v2/serializers.py:209 api/v2/serializers.py:217 app_settings.py:237
+#: app_settings.py:245 forms/account.py:351
+msgid "Must be a positive integer"
+msgstr "Trebuie să fie un număr întreg pozitiv"
+
+#: api/v2/serializers.py:226 app_settings.py:255
+msgid "Directory not found."
+msgstr "Directorul nu a fost găsit."
+
+#: api/v2/serializers.py:231 app_settings.py:261
+msgid "openssl not found, please make sure it is installed."
+msgstr "openssl nu a fost găsit, asigurați-vă că este instalat."
+
+#: api/v2/serializers.py:246 app_settings.py:278
+msgid "This field only allows valid IP addresses (or networks)"
+msgstr ""
+
+#: api/v2/serializers.py:258 app_settings.py:293
+msgid "Define at least one authorized network / address"
+msgstr "Definiți cel puțin o adresă de rețea autorizată"
+
+#: api/v2/serializers.py:459
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "A mailbox is required to create aliases."
+msgstr "O căsuță poștală este necesară"
+
+#: api/v2/viewsets.py:74 forms/account.py:365 forms/account.py:373
+#: forms/alias.py:91
+msgid "You don't have access to this domain"
+msgstr "Nu aveți acces la acest domeniu"
+
+#: api/v2/viewsets.py:77 views/domain.py:246
+msgid "You can't delete your own domain"
+msgstr "Nu poți să îți ștergi propriul domeniu"
+
+#: app_settings.py:23 app_settings.py:300 handlers.py:266
+#: templates/admin/_global_statistics_widget.html:11
+#: templates/admin/domains.html:5
msgid "Domains"
msgstr "Domenii"
-#: admin/app_settings.py:23
+#: app_settings.py:26 app_settings.py:303
msgid "Enable MX checks"
msgstr "Activează verificările MX"
-#: admin/app_settings.py:26
+#: app_settings.py:29 app_settings.py:305
msgid "Check that every domain has a valid MX record"
msgstr "Verifică ca fiecare domeniu are asociat un MX valid"
-#: admin/app_settings.py:31
+#: app_settings.py:34 app_settings.py:309
msgid "Valid MXs"
msgstr "MX-uri valide"
-#: admin/app_settings.py:34
+#: app_settings.py:37 app_settings.py:312
msgid ""
-"A list of IP or network address every MX record should match. A warning will"
-" be sent if a record does not respect it."
+"A list of IP or network address every MX record should match. A warning will "
+"be sent if a record does not respect it."
msgstr ""
-"O listă de IP-uri sau de adrese de rețea care pentru fiecare înregistrare MX"
-" ar trebui să se potrivească. O avertizare va fi trimisă dacă o înregistrare"
-" nu respectă această conformitate."
+"O listă de IP-uri sau de adrese de rețea care pentru fiecare înregistrare MX "
+"ar trebui să se potrivească. O avertizare va fi trimisă dacă o înregistrare "
+"nu respectă această conformitate."
-#: admin/app_settings.py:42
+#: app_settings.py:45 app_settings.py:318
msgid "New domains must use authorized MX(s)"
msgstr "Domeniile noi trebuie să utilizeze MX(-uri) autorizate"
-#: admin/app_settings.py:45
+#: app_settings.py:48 app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
@@ -64,63 +175,63 @@ msgstr ""
"Împiedică crearea unui nou domeniu dacă înregistrarea MX nu utilizează una "
"dintre adresele definite."
-#: admin/app_settings.py:51
+#: app_settings.py:54 app_settings.py:326
msgid "Enable SPF checks"
msgstr "Activează verificările SPF"
-#: admin/app_settings.py:54
+#: app_settings.py:57 app_settings.py:328
msgid "Check if every domain has a valid SPF record"
msgstr "Verificați dacă fiecare domeniu are o înregistrare SPF validă"
-#: admin/app_settings.py:59
+#: app_settings.py:62 app_settings.py:332
msgid "Enable DKIM checks"
msgstr "Activați verificările DKIM"
-#: admin/app_settings.py:62
+#: app_settings.py:65 app_settings.py:334
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
"Verificați dacă fiecare domeniu cu autentificarea DKIM activată are o "
"înregistrare DNS validă."
-#: admin/app_settings.py:68
+#: app_settings.py:71 app_settings.py:339
msgid "Enable DMARC checks"
msgstr "Activați verificările DMARC"
-#: admin/app_settings.py:71
+#: app_settings.py:74 app_settings.py:341
msgid "Check if every domain has a valid DMARC record"
msgstr "Verificați dacă fiecare domeniu are o înregistrare DMARC validă"
-#: admin/app_settings.py:76
+#: app_settings.py:79 app_settings.py:345
msgid "Enable autoconfig checks"
msgstr "Activați verificările de autoconfigurare"
-#: admin/app_settings.py:79
+#: app_settings.py:82 app_settings.py:347
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
"Verificați dacă fiecare domeniu are o înregistrare validă pentru "
"autoconfigurare"
-#: admin/app_settings.py:84
+#: app_settings.py:87 app_settings.py:352
msgid "Enable DNSBL checks"
msgstr "Activează verificările DNSBL"
-#: admin/app_settings.py:87
+#: app_settings.py:90 app_settings.py:354
msgid "Check every domain against major DNSBL providers"
msgstr "Verificați fiecare domeniu folosind furnizorii DNSBL majori"
-#: admin/app_settings.py:92
+#: app_settings.py:95 app_settings.py:358
msgid "Custom DNS server"
msgstr "Servere DNS personalizate"
-#: admin/app_settings.py:95
+#: app_settings.py:99 app_settings.py:360
msgid "Use a custom DNS server instead of local server configuration"
msgstr "Utilizează un server DNS personalizat in locul celui local"
-#: admin/app_settings.py:100
+#: app_settings.py:104 app_settings.py:365
msgid "DKIM keys storage directory"
msgstr "Folderul de stocare pentru cheile DKIM"
-#: admin/app_settings.py:103
+#: app_settings.py:107 app_settings.py:367
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
@@ -130,19 +241,19 @@ msgstr ""
"Asigurați-vă că acest director aparține utilizatorului root și nu poate fi "
"citit de orice user."
-#: admin/app_settings.py:111
+#: app_settings.py:115 app_settings.py:373
msgid "Default DKIM key length"
msgstr "Mărimea implicită în caractere a chei DKIM"
-#: admin/app_settings.py:115
+#: app_settings.py:119 app_settings.py:375
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Mărimea implicită în biți pentru o cheie DKIM nou generată"
-#: admin/app_settings.py:120
+#: app_settings.py:124 app_settings.py:379
msgid "Default domain quota"
msgstr "Cota-parte implicită a domeniului"
-#: admin/app_settings.py:123
+#: app_settings.py:127 app_settings.py:381
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
@@ -150,11 +261,11 @@ msgstr ""
"Cota implicită (în MB) aplicată domeniilor nou create, care nu au nicio "
"valoare specificată. O valoare de 0 înseamnă că nu există o cotă."
-#: admin/app_settings.py:129
+#: app_settings.py:133 app_settings.py:386
msgid "Default domain sending limit"
msgstr "Limita implicită de trimitere a domeniului"
-#: admin/app_settings.py:132
+#: app_settings.py:136 app_settings.py:388
msgid ""
"Number of messages freshly created domains will be allowed to send per day. "
"Leave empty for no limit."
@@ -162,15 +273,16 @@ msgstr ""
"Numărul de mesaje pe care domeniile nou create vor putea să le trimită pe "
"zi. Lăsați gol pentru nicio limită."
-#: admin/app_settings.py:137 admin/templates/admin/domain_detail.html:41
+#: app_settings.py:141 app_settings.py:395
+#: templates/admin/domain_detail.html:41
msgid "Mailboxes"
msgstr "Cutii poștale"
-#: admin/app_settings.py:140
+#: app_settings.py:144 app_settings.py:398
msgid "Handle mailboxes on filesystem"
msgstr "Gestionați cutiile poștale în sistemul de fișiere"
-#: admin/app_settings.py:143
+#: app_settings.py:147 app_settings.py:400
msgid ""
"Rename or remove mailboxes on the filesystem when they get renamed or "
"removed within Modoboa"
@@ -178,21 +290,12 @@ msgstr ""
"Redenumește sau eliminează căsuțele poștale din sistemul de fișiere atunci "
"când se redenumesc sau se elimină în Modoboa"
-#: admin/app_settings.py:149
-msgid "Mailboxes owner"
-msgstr "Propietarul cutiilor postale"
-
-#: admin/app_settings.py:152
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr ""
-"Contul UNIX care are in propietate casuțele poștale în sistemul de fișiere"
-
-#: admin/app_settings.py:157 admin/forms/domain.py:49
-#: admin/models/domain.py:32 admin/templates/admin/domain_detail.html:64
+#: app_settings.py:153 app_settings.py:405 forms/domain.py:49
+#: models/domain.py:32 templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Cota implicită pentru cutia poștală"
-#: admin/app_settings.py:160
+#: app_settings.py:156
msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
@@ -201,91 +304,85 @@ msgstr ""
"create fără a fi specificată nicio valoare. O valoare de 0 înseamnă că nu "
"există cotă."
-#: admin/app_settings.py:166
+#: app_settings.py:162 app_settings.py:413
msgid "Default mailbox sending limit"
msgstr "Limita implicită de trimitere a căsuței poștale"
-#: admin/app_settings.py:169
+#: app_settings.py:165 app_settings.py:415
msgid ""
"Number of messages freshly created mailboxes will be allowed to send per "
"day. Leave empty for no limit."
msgstr ""
-"Numărul de mesaje pe care cutiile poștale nou create vor putea să le trimită"
-" pe zi. Lăsați gol pentru nicio limită."
+"Numărul de mesaje pe care cutiile poștale nou create vor putea să le trimită "
+"pe zi. Lăsați gol pentru nicio limită."
-#: admin/app_settings.py:175
+#: app_settings.py:171 app_settings.py:420
msgid "Automatic account removal"
msgstr "Ștergere automată a contului"
-#: admin/app_settings.py:178
+#: app_settings.py:174 app_settings.py:422
msgid "When a mailbox is removed, also remove the associated account"
msgstr "Când se șterge o cutie poștală, șterge, de asemenea și contul asociat"
-#: admin/app_settings.py:182
+#: app_settings.py:178 app_settings.py:426
msgid "Automatic domain/mailbox creation"
msgstr "Crearea automată a domeniului / cutiei poștale"
-#: admin/app_settings.py:185
-msgid ""
-"Create a domain and a mailbox when an account is automatically created."
+#: app_settings.py:181 app_settings.py:428
+msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
-"Creați un domeniu și o căsuță poștală atunci când un cont este creat "
-"automat."
+"Creați un domeniu și o căsuță poștală atunci când un cont este creat automat."
-#: admin/app_settings.py:191
+#: app_settings.py:187 app_settings.py:434
msgid "Create an alias when a mailbox is renamed"
msgstr "Creați un alias când o cutie poștală este redenumită"
-#: admin/app_settings.py:194
+#: app_settings.py:190 app_settings.py:436
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
"Creați un alias utilizând vechea adresă atunci când o cutie poștală este "
"redenumită."
-#: admin/app_settings.py:243 admin/app_settings.py:251
-#: admin/forms/account.py:347
-msgid "Must be a positive integer"
-msgstr "Trebuie să fie un număr întreg pozitiv"
+#: app_settings.py:407
+#, fuzzy
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created mailboxes with "
+#| "no value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Cota implicită a căsuței poștale (în MB) aplicată căsuțelor poștale nou "
+"create fără a fi specificată nicio valoare. O valoare de 0 înseamnă că nu "
+"există cotă."
-#: admin/app_settings.py:261
-msgid "Directory not found."
-msgstr "Directorul nu a fost găsit."
-
-#: admin/app_settings.py:267
-msgid "openssl not found, please make sure it is installed."
-msgstr "openssl nu a fost găsit, asigurați-vă că este instalat."
-
-#: admin/app_settings.py:281
-msgid "Define at least one authorized network / address"
-msgstr "Definiți cel puțin o adresă de rețea autorizată"
-
-#: admin/app_settings.py:291
+#: app_settings.py:451 app_settings.py:453
msgid "Administration"
msgstr "Administrare"
-#: admin/constants.py:28 admin/forms/alias.py:43
-#: admin/templates/admin/_per_domain_statistics_widget.html:7
-#: admin/templates/admin/domains_quota_headers.html:2
+#: constants.py:28 forms/alias.py:43
+#: templates/admin/_per_domain_statistics_widget.html:7
+#: templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domeniu"
-#: admin/constants.py:29
+#: constants.py:29
msgid "Relay domain"
msgstr "Domeniu de relay"
-#: admin/constants.py:42
+#: constants.py:42
msgid "Opened"
msgstr "Deschis"
-#: admin/constants.py:43
+#: constants.py:43
msgid "Closed"
msgstr "Închis"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:139
+#: forms/account.py:32 templates/admin/domain_detail.html:159
msgid "Username"
msgstr "Username"
-#: admin/forms/account.py:34
+#: forms/account.py:34
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -293,23 +390,23 @@ msgstr ""
"Numele de utilizator. Trebuie sa fie o adresa de e-mail valida pentru "
"tilizatori simpli sau pentru administratori care au casuță poștală."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: forms/account.py:39 templates/admin/account_detail.html:29
msgid "Role"
msgstr "Rol"
-#: admin/forms/account.py:40
+#: forms/account.py:40
msgid "Choose"
msgstr "Alege"
-#: admin/forms/account.py:41
+#: forms/account.py:41
msgid "What level of permission this user will have"
msgstr "Ce nivel de permisiune va avea acest utilizator"
-#: admin/forms/account.py:44 admin/forms/domain.py:248
+#: forms/account.py:44 forms/domain.py:248
msgid "Random password"
msgstr "Parolă aleatorie"
-#: admin/forms/account.py:46
+#: forms/account.py:46
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
@@ -317,97 +414,89 @@ msgstr ""
"Generați o parolă aleatorie. Dacă actualizați acest cont și bifați această "
"casetă, va fi generată o nouă parolă."
-#: admin/forms/account.py:52
+#: forms/account.py:52
msgid "Password"
msgstr "Parolă"
-#: admin/forms/account.py:57
+#: forms/account.py:57
msgid "Confirmation"
msgstr "Confirmare"
-#: admin/forms/account.py:60
+#: forms/account.py:60
msgid "Enter the same password as above, for verification."
msgstr "Introduce aceiași parolă ca deasupra, pentru verificare."
-#: admin/forms/account.py:72
+#: forms/account.py:72
msgid "Enabled"
msgstr "Activat"
-#: admin/forms/account.py:167
+#: forms/account.py:167
msgid "Only super administrators are allowed for this mode"
msgstr "Numai superadministratorii sunt permiși la acest mod"
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:165 admin/forms/domain.py:294
-#: admin/forms/domain.py:297 admin/serializers.py:297
-msgid "This field is required."
-msgstr "Acest câmp este necesar."
-
-#: admin/forms/account.py:186
+#: forms/account.py:186
msgid "The two password fields didn't match."
msgstr "Cele două câmpuri de parolă nu s-au potrivit."
-#: admin/forms/account.py:199
+#: forms/account.py:199
msgid "You can't disable your own account"
msgstr "Nu poți să îți ștergi propriul cont"
-#: admin/forms/account.py:222
+#: forms/account.py:226
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:224
+#: forms/account.py:228
msgid "Create an alias using the old address"
msgstr "Crează un alias folosind vechea adresă"
-#: admin/forms/account.py:229 admin/forms/domain.py:41
-#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49
+#: forms/account.py:233 forms/domain.py:41
+#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49
msgid "Quota"
msgstr "Cotă-parte"
-#: admin/forms/account.py:232
+#: forms/account.py:236
msgid ""
-"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a"
-" custom value or use domain's default one. Leave empty to define an "
-"unlimited value (not allowed for domain administrators)."
+"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a "
+"custom value or use domain's default one. Leave empty to define an unlimited "
+"value (not allowed for domain administrators)."
msgstr ""
"Limita pentru această căsuță poștală, poate fi exprimată in KB, MB "
"(implicit) sau GB. Defineste o valoare particularizată sau folosește "
"valoarea implicită a domeniului. Lăsati necompletat pentru a defini o "
"valoare nelimitată (nu este permis pentru administratorii de domeniu)."
-#: admin/forms/account.py:242 admin/models/domain.py:36
-#: admin/models/mailbox.py:102 admin/templates/admin/account_detail.html:50
-#: admin/templates/admin/domain_detail.html:69
+#: forms/account.py:246 models/domain.py:36 models/mailbox.py:99
+#: templates/admin/account_detail.html:50 templates/admin/domain_detail.html:69
msgid "Message sending limit"
msgstr "Limita de trimitere a mesajelor"
-#: admin/forms/account.py:246 admin/models/mailbox.py:104
+#: forms/account.py:250 models/mailbox.py:101
msgid "Number of messages this mailbox can send per day"
msgstr ""
"Numărul de mesaje pe care această căsuță poștală le poate trimite pe zi"
-#: admin/forms/account.py:249 admin/forms/domain.py:31
-#: admin/templates/admin/domain_headers.html:4
+#: forms/account.py:253 forms/domain.py:31
+#: templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias(uri)"
-#: admin/forms/account.py:252
+#: forms/account.py:256
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
-"Alias(uri) la această căsuță poștală. Indicați numai o singură adresă pentru"
-" fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă. Pentru a "
-"crea un alias de captură care sa prindă toate emailurile, trebuie doar să "
+"Alias(uri) la această căsuță poștală. Indicați numai o singură adresă pentru "
+"fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă. Pentru a crea "
+"un alias de captură care sa prindă toate emailurile, trebuie doar să "
"introduceți numele domeniului (@ domain.tld)."
-#: admin/forms/account.py:258
+#: forms/account.py:262
msgid "Sender addresses"
msgstr "Adresa expeditorului"
-#: admin/forms/account.py:261
+#: forms/account.py:265
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
@@ -418,66 +507,60 @@ msgstr ""
"există pe plan local. Indicați o adresă pentru fiecare intrare. Apăsați "
"ENTER pentru a adăuga o intrare nouă."
-#: admin/forms/account.py:321 admin/forms/alias.py:88
-#: admin/models/mailbox.py:321
+#: forms/account.py:325 forms/alias.py:88 models/mailbox.py:313
msgid "Domain does not exist"
msgstr "Domeniul nu există"
-#: admin/forms/account.py:357
+#: forms/account.py:361
msgid "Local domain does not exist"
msgstr "Domeniul local nu există"
-#: admin/forms/account.py:361 admin/forms/account.py:369
-#: admin/forms/alias.py:91
-msgid "You don't have access to this domain"
-msgstr "Nu aveți acces la acest domeniu"
-
-#: admin/forms/account.py:470
+#: forms/account.py:476
msgid "Domain(s)"
msgstr "Domeniu(ii)"
-#: admin/forms/account.py:472
+#: forms/account.py:478
msgid "Domain(s) that user administrates"
msgstr "Domeniu(ii) pe care utilizatorul le administrează"
-#: admin/forms/account.py:519 admin/forms/account.py:609
-#: admin/forms/domain.py:365 admin/forms/domain.py:436
+#: forms/account.py:525 forms/account.py:615 forms/domain.py:365
+#: forms/domain.py:436
msgid "General"
msgstr "General"
-#: admin/forms/account.py:523
+#: forms/account.py:529
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:527 admin/forms/account.py:615
+#: forms/account.py:533 forms/account.py:621
msgid "Mail"
msgstr "Mail"
-#: admin/forms/account.py:530
+#: forms/account.py:536
msgid "Permissions"
msgstr "Permisiuni"
-#: admin/forms/account.py:598
+#: forms/account.py:604
msgid "Account updated"
msgstr "Cont actualizat"
-#: admin/forms/account.py:623
+#: forms/account.py:629
msgid "New account"
msgstr "Cont nou"
-#: admin/forms/account.py:633
+#: forms/account.py:639
msgid "Account created"
msgstr "Cont creat"
-#: admin/forms/alias.py:20
+#: forms/alias.py:20
msgid "Random address"
msgstr "Adresă aleatorie"
-#: admin/forms/alias.py:23
+#: forms/alias.py:23
msgid "Email address"
msgstr "Adresă email"
-#: admin/forms/alias.py:25
+#: forms/alias.py:25
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
@@ -485,11 +568,11 @@ msgstr ""
"Adresa aliasului. Pentru a crea un alias care caputrează tot, trebuie doar "
"să introduceți numele domeniului (@ domain.tld)."
-#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
+#: forms/alias.py:31 templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Destinatarii"
-#: admin/forms/alias.py:33
+#: forms/alias.py:33
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
@@ -497,20 +580,15 @@ msgstr ""
"Adresele pe care sunt asociate cu acest alias. Indicați numai o singură "
"adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă."
-#: admin/forms/alias.py:108 admin/forms/alias.py:110
-msgid "This field is required"
-msgstr "Acest câmp este necesar"
-
-#: admin/forms/alias.py:114
+#: forms/alias.py:114
msgid "No recipient defined"
msgstr "Nu fost definit niciun destinatar"
-#: admin/forms/domain.py:28
-#: admin/templates/admin/_global_statistics_widget.html:7
+#: forms/domain.py:28 templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tip"
-#: admin/forms/domain.py:34
+#: forms/domain.py:34
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -518,19 +596,11 @@ msgstr ""
"Alias (uri) la acest domeniu. Indicați un singur nume pe fiecare intrare, "
"apăsați ENTER pentru a adăuga o intrare nouă."
-#: admin/forms/domain.py:39
+#: forms/domain.py:39
msgid "Key selector"
msgstr "Selector cheie"
-#: admin/forms/domain.py:44 admin/serializers.py:30
-msgid ""
-"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
-"A value of 0 means no quota."
-msgstr ""
-"Limită distribuită intre căsuțele postale. Poate fi exprimată in KB, MB "
-"(implicit) sau GB. Valoarea 0 reprezintă nelimitat."
-
-#: admin/forms/domain.py:52
+#: forms/domain.py:52
msgid ""
"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
"GB. A value of 0 means no quota."
@@ -538,52 +608,43 @@ msgstr ""
"Limita implicită aplicată căsuțelor postale. Poate fi exprimată in KB, MB "
"(implicit) sau GB. Valoarea 0 reprezintă nelimitat."
-#: admin/forms/domain.py:97 admin/handlers.py:161
+#: forms/domain.py:97 handlers.py:166
msgid "domain alias"
msgstr "alias domeniu"
-#: admin/forms/domain.py:100 admin/forms/domain.py:176
-#: admin/forms/domain.py:184
+#: forms/domain.py:100 forms/domain.py:176 forms/domain.py:184
#, python-format
msgid "A %s with this name already exists"
msgstr "Itemul%s cu acest nume există"
-#: admin/forms/domain.py:108 admin/serializers.py:65
-msgid "No authorized MX record found for this domain"
-msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu"
-
-#: admin/forms/domain.py:120
+#: forms/domain.py:120
msgid "DKIM keys storage directory not configured"
msgstr "Folderul de stocare a cheilor DKIM nu este configurat"
-#: admin/forms/domain.py:150 admin/serializers.py:83
-msgid "Cannot be greater than domain quota"
-msgstr "Nu poate fi mai mare decat cota domeniului"
-
-#: admin/forms/domain.py:155
+#: forms/domain.py:155
msgid "You can't define an unlimited quota."
msgstr "Nu poți sa definești o cotă nelimitată"
-#: admin/forms/domain.py:176 admin/forms/domain.py:181
+#: forms/domain.py:176 forms/domain.py:181
msgid "domain"
msgstr "domeniu"
-#: admin/forms/domain.py:230
+#: forms/domain.py:230
msgid "Create a domain administrator"
msgstr "Creați un administrator de domeniu"
-#: admin/forms/domain.py:233
+#: forms/domain.py:233
msgid "Automatically create an administrator for this domain"
msgstr "Creează automat un administrator pentru acest domeniu"
-#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:139
-#: admin/templates/admin/domain_headers.html:3
-#: admin/templates/admin/identity_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:9
+#: forms/domain.py:238 templates/admin/domain_detail.html:159
+#: templates/admin/domain_headers.html:3
+#: templates/admin/identity_headers.html:2
+#: templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nume"
-#: admin/forms/domain.py:241
+#: forms/domain.py:241
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -591,733 +652,717 @@ msgstr ""
"Numele administratorului. Nu include aici si numele domeniului, el va fi "
"automat alipit. "
-#: admin/forms/domain.py:251
+#: forms/domain.py:251
msgid "Generate a random password for the administrator."
msgstr "Generează o parolă aleatorie pentru administrator."
-#: admin/forms/domain.py:257
+#: forms/domain.py:257
msgid "With a mailbox"
msgstr "Cu casuță postală"
-#: admin/forms/domain.py:260
+#: forms/domain.py:260
msgid "Create a mailbox for the administrator."
msgstr "Creează o căsuță postală pentru administrator. "
-#: admin/forms/domain.py:266
+#: forms/domain.py:266
msgid "Create aliases"
msgstr "Crează aliasuri "
-#: admin/forms/domain.py:269
+#: forms/domain.py:269
msgid "Automatically create standard aliases for this domain"
msgstr "Creează automat aliasuri standard pentru acest domeniu"
-#: admin/forms/domain.py:285
+#: forms/domain.py:285
msgid "Invalid format"
msgstr "Format invalid"
-#: admin/forms/domain.py:314
-#, python-format
-msgid "User '%s' already exists"
-msgstr "Utilizatorul '%s' exista deja"
-
-#: admin/forms/domain.py:426
+#: forms/domain.py:426
msgid "Domain modified"
msgstr "Domeniu modficat"
-#: admin/forms/domain.py:447
+#: forms/domain.py:447
msgid "Options"
msgstr "Opțiuni"
-#: admin/forms/domain.py:455
+#: forms/domain.py:455
msgid "New domain"
msgstr "Domeniu nou"
-#: admin/forms/domain.py:468
+#: forms/domain.py:468
msgid "Domain created"
msgstr "Domeniu creat"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: forms/export.py:9 forms/import_.py:13
msgid "Separator"
msgstr "Sepatator"
-#: admin/forms/forward.py:12
+#: forms/forward.py:12
msgid "Recipient(s)"
msgstr "Destinatar(i)"
-#: admin/forms/forward.py:16
+#: forms/forward.py:16
msgid "Indicate one or more recipients separated by a ','"
msgstr "Indica unul sau mai mulți destinatari separați prin ','"
-#: admin/forms/forward.py:19
+#: forms/forward.py:19
msgid "Keep local copies"
msgstr "Ține o copii locale"
-#: admin/forms/forward.py:22
+#: forms/forward.py:22
msgid "Forward messages and store copies into your local mailbox"
msgstr ""
"Redirecționează mesajele și stochează copiile în căsuța postală locală "
-#: admin/forms/import_.py:11
+#: forms/import_.py:11
msgid "Select a file"
msgstr "Selectează un fișier"
-#: admin/forms/import_.py:19
+#: forms/import_.py:19
msgid "Continue on error"
msgstr "Continuă și dacă apar erori"
-#: admin/forms/import_.py:20
+#: forms/import_.py:20
msgid "Don't treat duplicated objects as error"
msgstr "Nu trata obiecte dublicat ca eroare"
-#: admin/forms/import_.py:38
+#: forms/import_.py:38
msgid "Crypt passwords"
msgstr "Encriptează parola"
-#: admin/forms/import_.py:40
+#: forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
msgstr ""
"Bifeaza această opțune dacă parolele conținute în fșierul tău nu sunt "
"encriptate"
-#: admin/handlers.py:210
+#: handlers.py:215
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Importul de cont a esuat (%s): domeniul nu există"
-#: admin/handlers.py:223 admin/models/mailbox.py:350
+#: handlers.py:228 models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "Căsuța poștală {} deja există"
-#: admin/handlers.py:231
+#: handlers.py:236
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importul de cont a esuat (%s): valuare de cotă incorectă"
-#: admin/handlers.py:271
-#: admin/templates/admin/_global_statistics_widget.html:17
-#: admin/templates/admin/_per_domain_statistics_widget.html:8
-#: admin/templates/admin/identities.html:5
+#: handlers.py:276 templates/admin/_global_statistics_widget.html:17
+#: templates/admin/_per_domain_statistics_widget.html:8
+#: templates/admin/identities.html:5
msgid "Identities"
msgstr "Identități"
-#: admin/handlers.py:287 admin/templates/admin/forward.html:2
+#: handlers.py:292 templates/admin/forward.html:2
msgid "Forward"
msgstr "Redirecționează"
-#: admin/lib.py:38
+#: lib.py:48
msgid "A mailbox is required"
msgstr "O căsuță poștală este necesară"
-#: admin/lib.py:128
+#: lib.py:138
msgid "You are not allowed to import domains"
msgstr "Nu ești autorizat să imporți domenii"
-#: admin/lib.py:139
+#: lib.py:149
msgid "You are not allowed to import domain aliases."
msgstr "Nu ești autorizat să imporți aliasuri de domenii"
-#: admin/lib.py:189 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161
-#: admin/tests/test_mx.py:164
+#: lib.py:199 tests/test_mx.py:152 tests/test_mx.py:161 tests/test_mx.py:164
#, python-format
msgid "No DNS record found for %s"
msgstr " Nu s-a găsit nicio înregistrare DNS pentru %s"
-#: admin/lib.py:192
+#: lib.py:202
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr "Nu %(type)sînregistrati pentru %(name)s"
-#: admin/lib.py:196 admin/tests/test_mx.py:156
+#: lib.py:206 tests/test_mx.py:156
msgid "No working name servers found"
msgstr "Nu s-au găsit NS-uri funcționale"
-#: admin/lib.py:199 admin/tests/test_mx.py:158
+#: lib.py:209 tests/test_mx.py:158
#, 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:227
+#: lib.py:212
+#, python-format
+msgid "DNS name is too long: %s"
+msgstr ""
+
+#: lib.py:239
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Adresă IP invalidă pentru {domain}; {addr}"
-#: admin/management/commands/subcommands/_import.py:93
+#: lib.py:309
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Obiectul deja există: %s"
+
+#: lib.py:313
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d obiecte importate cu succes"
+
+#: management/commands/subcommands/_import.py:93
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
"Fișierul CSV nu este codat UTF-8, incercăm să determinăm codarea automat"
-#: admin/management/commands/subcommands/_import.py:105
+#: management/commands/subcommands/_import.py:105
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr "Citim fișierul CSV folosind codarea %(encoding)s"
-#: admin/management/commands/subcommands/_import.py:116
+#: management/commands/subcommands/_import.py:116
#, python-format
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/_mx.py:116
+#: management/commands/subcommands/_mx.py:121
msgid "MX {} listed by DNSBL provider {}"
msgstr "MX {} listat de furnizorul DNSBL {}"
-#: admin/management/commands/subcommands/_mx.py:164
+#: management/commands/subcommands/_mx.py:169
msgid "Domain has no MX record"
msgstr "Domeniul nu are înregistrare MX"
-#: admin/management/commands/subcommands/_mx.py:168
+#: management/commands/subcommands/_mx.py:173
msgid "Domain {} has no MX record"
msgstr "Domeniul {} nu are înregistrări MX"
-#: admin/management/commands/subcommands/_mx.py:188
+#: management/commands/subcommands/_mx.py:193
msgid "Invalid MX record: {}"
msgstr "Înregistrare MX invalidă: {}"
-#: admin/management/commands/subcommands/_mx.py:194
+#: management/commands/subcommands/_mx.py:199
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "Înregistrarea MX pentru domeniul {0} este invalidă: {1}"
-#: admin/management/commands/subcommands/_mx.py:208
+#: management/commands/subcommands/_mx.py:213
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] Problemă(e) MX pentru domeniul {}"
-#: admin/management/commands/subcommands/_mx.py:266
+#: management/commands/subcommands/_mx.py:271
msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr "[modoboa] Problemă(e) DNSBL pentru domeniul {} "
-#: admin/models/alias.py:32 admin/models/mailbox.py:95
+#: models/alias.py:32
+msgid "Domain not found."
+msgstr "Domeniu negăsit"
+
+#: models/alias.py:37
+#, fuzzy
+#| msgid "Alias with this name already exists"
+msgid "An alias with this name already exists."
+msgstr "Un alias cu acelasi nume deja există"
+
+#: models/alias.py:71 models/mailbox.py:92
msgid "address"
msgstr "adresă"
-#: admin/models/alias.py:34
+#: models/alias.py:73
msgid "The alias address."
msgstr "Adresă alias."
-#: admin/models/alias.py:39 admin/models/domain.py:43
-#: admin/models/domain_alias.py:42
+#: models/alias.py:78 models/domain.py:43 models/domain_alias.py:41
msgid "enabled"
msgstr "activat"
-#: admin/models/alias.py:40 admin/models/domain_alias.py:43
+#: models/alias.py:79 models/domain_alias.py:42
msgid "Check to activate this alias"
msgstr "Bifează pentru a activa acest alias"
-#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32
+#: models/alias.py:84 templates/admin/alias_detail.html:32
msgid "Description"
msgstr "Descriere"
-#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29
+#: models/alias.py:86 templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Expiră la"
-#: admin/models/alias.py:87
+#: models/alias.py:127
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:119
+#: models/alias.py:159
msgid "Invalid address"
msgstr "Adresă invalidă"
-#: admin/models/alias.py:140
+#: models/alias.py:180
msgid "Local recipient {}@{} not found"
msgstr "Destinatar local {}@{} nu poate fi găsit"
-#: admin/models/alias.py:170
-#, python-format
-msgid "Invalid line: %s"
+#: models/alias.py:215
+#, fuzzy
+#| msgid "Invalid line: %s"
+msgid "Invalid line: {}"
msgstr "Linie invalidă: %s"
-#: admin/models/alias.py:176
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "Domeniul '%s' nu există"
-
-#: admin/models/domain.py:26 admin/models/domain_alias.py:34
+#: models/domain.py:26 models/domain_alias.py:33
msgid "name"
msgstr "nume"
-#: admin/models/domain.py:27
+#: models/domain.py:27
msgid "The domain name"
msgstr "Numele domeniului"
-#: admin/models/domain.py:39
+#: models/domain.py:39
msgid "Number of messages this domain can send per day"
msgstr "Numărul de mesaje pe care acest domeniu le poate trimite pe zi"
-#: admin/models/domain.py:44
+#: models/domain.py:44
msgid "Check to activate this domain"
msgstr "Bifează pentru a activa domeniul"
-#: admin/models/domain.py:49
+#: models/domain.py:49
msgid "Enable DNS checks"
msgstr "Activează verificările DNS"
-#: admin/models/domain.py:50
+#: models/domain.py:50
msgid "Check to enable DNS checks for this domain"
msgstr "Bifează pentru a activa verificările DNS pentru acest domeniu"
-#: admin/models/domain.py:57
+#: models/domain.py:57
msgid "Enable DKIM signing"
msgstr "Activează semnarea DKIM"
-#: admin/models/domain.py:59
+#: models/domain.py:59
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
"Dacă activezi această facilitate, o chieie DKIM se va genera pt acest "
"domeniu."
-#: admin/models/domain.py:65
+#: models/domain.py:65
msgid "Key length"
msgstr "Mărime cheie"
-#: admin/models/domain.py:323 admin/models/domain_alias.py:67
+#: models/domain.py:357 models/domain_alias.py:66
msgid "Invalid line"
msgstr "Linie invalidă"
-#: admin/models/domain.py:333
-msgid "No authorized MX record found for domain {}"
+#: models/domain.py:367
+#, fuzzy
+#| msgid "No authorized MX record found for domain {}"
+msgid "{}: no authorized MX record found for domain"
msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu {}"
-#: admin/models/domain.py:340
-msgid "Invalid quota value for domain '{}'"
+#: models/domain.py:374
+#, fuzzy
+#| msgid "Invalid quota value for domain '{}'"
+msgid "{}: invalid quota value for domain"
msgstr "Valuare de cotă invalidă pentru domeniul '{}'"
-#: admin/models/domain.py:347
-msgid "Invalid default mailbox quota value for domain '{}'"
+#: models/domain.py:381
+#, fuzzy
+#| msgid "Invalid default mailbox quota value for domain '{}'"
+msgid "{}: invalid default mailbox quota value for domain"
msgstr "Valuare implicită de cotă invalidă pentru domeniul '{}'"
-#: admin/models/domain.py:352
-msgid "Default mailbox quota cannot be greater than domain quota"
+#: models/domain.py:386
+#, fuzzy
+#| msgid "Default mailbox quota cannot be greater than domain quota"
+msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr ""
"Valuarea de cotă implicită a unei cutii poștale nu poate fi mai mare decât "
"cota de domeniu"
-#: admin/models/domain_alias.py:35
+#: models/domain_alias.py:34
msgid "The alias name"
msgstr "Numele aliasului"
-#: admin/models/domain_alias.py:37
+#: models/domain_alias.py:36
msgid "target"
msgstr "Țintă"
-#: admin/models/domain_alias.py:38
+#: models/domain_alias.py:37
msgid "The domain this alias points to"
msgstr "Domeniul către care indică acest alias"
-#: admin/models/domain_alias.py:76
+#: models/domain_alias.py:75
#, python-format
msgid "Unknown domain %s"
msgstr "Domeniu necunoscut %s"
-#: admin/models/mailbox.py:97
+#: models/mailbox.py:94
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Adresa de email (fără partea @domeniu)"
-#: admin/models/mailbox.py:166
+#: models/mailbox.py:156
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Nu s-a reușit preluarea locației pentru cutia poștală (%s)"
-#: admin/models/mailbox.py:264
+#: models/mailbox.py:254
msgid "A quota is required"
msgstr "O cotă este necesară"
-#: admin/models/mailbox.py:270
-msgid "Domain quota exceeded"
+#: models/mailbox.py:261
+#, fuzzy
+#| msgid "Domain quota exceeded"
+msgid "{}: domain quota exceeded"
msgstr "Cota pentru domeniu a fost depașită"
-#: admin/serializers.py:37
-msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr ""
-"Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 "
-"înseamnă fără cotă."
-
-#: admin/serializers.py:115 admin/serializers.py:322 admin/serializers.py:424
-msgid "Permission denied."
-msgstr "Permisiune refuzată."
-
-#: admin/serializers.py:168
-msgid ""
-"List of administered domains (resellers and domain administrators only)."
-msgstr ""
-"Lista domenilor administrate (doar reselleri și administratori de domeniu)"
-
-#: admin/serializers.py:272
-msgid "Not allowed for this role."
-msgstr "Ne permis pentru acest rol."
-
-#: admin/serializers.py:284
-msgid "Must be equal to mailbox full_address"
-msgstr "Trebuie să fie egal cu mailbox full_address"
-
-#: admin/serializers.py:309
-msgid "Local domain {} does not exist"
-msgstr "Domeniu local {} nu există"
-
-#: admin/serializers.py:411
-msgid "A list of recipient"
-msgstr "O listă de destinatari"
-
-#: admin/serializers.py:422
-msgid "Domain not found."
-msgstr "Domeniu negăsit"
-
-#: admin/serializers.py:471
-msgid "You don't have access to this domain."
-msgstr "Nu ai acces la acest domeniu."
-
-#: admin/serializers.py:479
-msgid "You don't have access to this mailbox."
-msgstr "Nu ai acces la această cutie postală"
-
-#: admin/templates/admin/_domain_dkim_key.html:6
-#: admin/templates/admin/_domain_dkim_key.html:20
+#: templates/admin/_domain_dkim_key.html:6
+#: templates/admin/_domain_dkim_key.html:20
msgid "Close"
msgstr "Închide"
-#: admin/templates/admin/_domain_dkim_key.html:7
+#: templates/admin/_domain_dkim_key.html:7
#, python-format
msgid "DKIM public key for %(domain)s"
msgstr "Cheia DKIM publică pentru %(domain)s"
-#: admin/templates/admin/_domain_dkim_key.html:11
-msgid "Raw format"
-msgstr "Format Raw"
+#: templates/admin/_domain_dkim_key.html:11
+msgid "Raw format. Click to copy"
+msgstr ""
-#: admin/templates/admin/_domain_dkim_key.html:15
-msgid "Bind/named format"
+#: templates/admin/_domain_dkim_key.html:15
+#, fuzzy
+#| msgid "Bind/named format"
+msgid "Bind/named format. Click to copy"
msgstr "Format de tip bind/named"
-#: admin/templates/admin/_domain_dnschecks_status.html:4
+#: templates/admin/_domain_dnschecks_status.html:4
msgctxt "checks"
msgid "Disabled"
msgstr "Dezactivat"
-#: admin/templates/admin/_domain_dnschecks_status.html:6
+#: templates/admin/_domain_dnschecks_status.html:6
msgid "Awaiting checks"
msgstr "Se așteaptă verificările"
-#: admin/templates/admin/_domain_dnschecks_status.html:16
-#: admin/templates/admin/_domain_dnschecks_status.html:26
-#: admin/templates/admin/_domain_dnschecks_status.html:34
-#: admin/templates/admin/_domain_dnschecks_status.html:42
+#: templates/admin/_domain_dnschecks_status.html:16
+#: templates/admin/_domain_dnschecks_status.html:26
+#: templates/admin/_domain_dnschecks_status.html:34
+#: templates/admin/_domain_dnschecks_status.html:42
msgid "No record found"
msgstr "Nu s-a găsit nicio înregistrare"
-#: admin/templates/admin/_domain_dnschecks_status.html:24
+#: templates/admin/_domain_dnschecks_status.html:24
msgid "Waiting for key to be generated"
msgstr "Așteptarea generării cheii"
-#: admin/templates/admin/_global_statistics_widget.html:4
+#: templates/admin/_global_statistics_widget.html:4
msgid "Global statistics"
msgstr "Statistici globale"
-#: admin/templates/admin/_global_statistics_widget.html:8
+#: templates/admin/_global_statistics_widget.html:8
msgid "Quantity"
msgstr "Cantitate"
-#: admin/templates/admin/_global_statistics_widget.html:14
-#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:87
+#: templates/admin/_global_statistics_widget.html:14
+#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:87
msgid "Domain aliases"
msgstr "Aliasuri de domeniu"
-#: admin/templates/admin/_per_domain_statistics_widget.html:4
+#: templates/admin/_per_domain_statistics_widget.html:4
msgid "Per-domain statistics"
msgstr "Statistici per domeniu"
-#: admin/templates/admin/account_detail.html:16
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/domain_detail.html:19
-#: admin/templates/admin/identities_table.html:7
+#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16
+#: templates/admin/domain_detail.html:19
+#: templates/admin/identities_table.html:7
msgid "(disabled)"
msgstr "(dezactivat)"
-#: admin/templates/admin/account_detail.html:22
-#: admin/templates/admin/alias_detail.html:22
-#: admin/templates/admin/domain_detail.html:25
+#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22
+#: templates/admin/domain_detail.html:25
msgid "Summary"
msgstr "Sumar"
-#: admin/templates/admin/account_detail.html:26
+#: templates/admin/account_detail.html:26
msgid "Full name"
msgstr "Numele complet"
-#: admin/templates/admin/account_detail.html:32
-#: admin/templates/admin/alias_detail.html:26
+#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26
msgid "Created"
msgstr "Creat"
-#: admin/templates/admin/account_detail.html:35
+#: templates/admin/account_detail.html:35
msgid "Last login"
msgstr "Ultima autentficare"
-#: admin/templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:38
msgid "Secondary email"
msgstr "Email secundar"
-#: admin/templates/admin/account_detail.html:38
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:41
msgid "Not defined"
msgstr "Nedefinit"
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:41
msgid "Phone number"
msgstr "Număr telefon"
-#: admin/templates/admin/account_detail.html:61
+#: templates/admin/account_detail.html:61
msgid "Administered domains"
msgstr "Domenii administrate"
-#: admin/templates/admin/account_detail.html:67
+#: templates/admin/account_detail.html:67
msgid "No domain defined."
msgstr "Nu există domenii administrate"
-#: admin/templates/admin/account_detail.html:81
+#: templates/admin/account_detail.html:81
msgid "Aliases"
msgstr "Aliasuri"
-#: admin/templates/admin/account_detail.html:87
+#: templates/admin/account_detail.html:87
msgid "No alias defined"
msgstr "Ne există alias definit"
-#: admin/templates/admin/account_detail.html:93
+#: templates/admin/account_detail.html:93
msgid "Additional sender addresses"
msgstr "Adresa adițională a expeditorului"
-#: admin/templates/admin/account_detail.html:99
+#: templates/admin/account_detail.html:99
msgid "No sender address defined"
msgstr "Nu există o adresă a expeditorului definită"
-#: admin/templates/admin/account_general_form.html:12
-#: admin/templates/admin/aliasform.html:13
+#: templates/admin/account_general_form.html:12
+#: templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Domeniul este dezactivat"
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/identities.html:33
+#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33
msgid "Alias"
msgstr "Alias"
-#: admin/templates/admin/alias_detail.html:27
+#: templates/admin/alias_detail.html:27
msgid "Modified"
msgstr "Modificat"
-#: admin/templates/admin/dnsbl_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:10
msgid "Provider"
msgstr "Furnizor"
-#: admin/templates/admin/dnsbl_domain_detail.html:11
-#: admin/templates/admin/identities_quota_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:11
+#: templates/admin/identities_quota_headers.html:2
+#: templates/admin/mx_domain_detail.html:10
msgid "Address"
msgstr "Adresă"
-#: admin/templates/admin/dnsbl_domain_detail.html:12
-#: admin/templates/admin/domain_detail.html:114
-#: admin/templates/admin/domains_log_headers.html:6
-#: admin/templates/admin/messages_log_headers.html:6
+#: templates/admin/dnsbl_domain_detail.html:12
+#: templates/admin/domain_detail.html:114
+#: templates/admin/domains_log_headers.html:6
+#: templates/admin/messages_log_headers.html:6
msgid "Status"
msgstr "Statut"
-#: admin/templates/admin/dnsbl_domain_detail.html:21
+#: templates/admin/dnsbl_domain_detail.html:21
msgid "listed"
msgstr "listat"
-#: admin/templates/admin/dnsbl_domain_detail.html:29
+#: templates/admin/dnsbl_domain_detail.html:29
msgid "Everything is fine, this domain is not listed."
msgstr "Totul este în regulă, domeniul este nelistat."
-#: admin/templates/admin/dnsbl_domain_detail.html:32
+#: templates/admin/dnsbl_domain_detail.html:32
msgid "No information available for this domain."
msgstr "Nu există informații valabile pentru acest domeniu."
-#: admin/templates/admin/domain_alarms.html:19
+#: templates/admin/domain_alarms.html:19
msgid "Opened alarms for"
msgstr "Alarme deschise pentru"
-#: admin/templates/admin/domain_alarms.html:25
-#: admin/templates/admin/domains_log_headers.html:3
-#: admin/templates/admin/messages_log_headers.html:3
+#: templates/admin/domain_alarms.html:25
+#: templates/admin/domains_log_headers.html:3
+#: templates/admin/messages_log_headers.html:3
msgid "Date"
msgstr "Data"
-#: admin/templates/admin/domain_alarms.html:26
+#: templates/admin/domain_alarms.html:26
msgid "Message"
msgstr "Mesaj"
-#: admin/templates/admin/domain_alarms.html:27
+#: templates/admin/domain_alarms.html:27
msgid "Mailbox"
msgstr "Căsuța poștală"
-#: admin/templates/admin/domain_alarms.html:40
+#: templates/admin/domain_alarms.html:40
msgid "No opened alarm"
msgstr "Nicio alarmă deschisă"
-#: admin/templates/admin/domain_detail.html:29
+#: templates/admin/domain_detail.html:29
msgid "Creation date"
msgstr "Dată de creare"
-#: admin/templates/admin/domain_detail.html:33
+#: templates/admin/domain_detail.html:33
msgid "Last modification date"
msgstr "Data ultimei modficări"
-#: admin/templates/admin/domain_detail.html:45
+#: templates/admin/domain_detail.html:45
msgid "Mailbox aliases"
msgstr "Alias-uri cutii poștale"
-#: admin/templates/admin/domain_detail.html:50
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domain_detail.html:65
-#: admin/templates/admin/domains_quotas.html:11
-#: admin/templates/admin/domains_quotas.html:12
-#: admin/templates/admin/newdomainform.html:3
+#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57
+#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65
+#: templates/admin/domains_quotas.html:11
+#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3
msgid "MB"
msgstr "MB"
-#: admin/templates/admin/domain_detail.html:54
-#: admin/templates/admin/domain_detail.html:73
+#: templates/admin/domain_detail.html:54 templates/admin/domain_detail.html:73
msgid "Usage"
msgstr "Utilizare"
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domains_quotas.html:11
+#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11
msgctxt "quota"
msgid "used"
msgstr "utilizat"
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domains_quotas.html:12
+#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12
msgid "allocated"
msgstr "alocat"
-#: admin/templates/admin/domain_detail.html:70
+#: templates/admin/domain_detail.html:70
msgid "per day"
msgstr "pe zi"
-#: admin/templates/admin/domain_detail.html:76
+#: templates/admin/domain_detail.html:76
msgctxt "message count"
msgid "used"
msgstr "folosit"
-#: admin/templates/admin/domain_detail.html:106
+#: templates/admin/domain_detail.html:106
msgid "DNS"
msgstr "DNS"
-#: admin/templates/admin/domain_detail.html:121
+#: templates/admin/domain_detail.html:121
msgid "DKIM key"
msgstr "Cheie DKIM"
-#: admin/templates/admin/domain_detail.html:125
+#: templates/admin/domain_detail.html:125
msgid "Show key"
msgstr "Arată cheia"
-#: admin/templates/admin/domain_detail.html:127
+#: templates/admin/domain_detail.html:133
+msgid "Warning"
+msgstr ""
+
+#: templates/admin/domain_detail.html:139
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgstr ""
+
+#: templates/admin/domain_detail.html:142
+msgid "No"
+msgstr ""
+
+#: templates/admin/domain_detail.html:143
msgid "Generate new key"
msgstr "Generează o cheie nouă"
-#: admin/templates/admin/domain_detail.html:129
+#: templates/admin/domain_detail.html:143
+msgid "Yes"
+msgstr ""
+
+#: templates/admin/domain_detail.html:149
msgid "Not generated"
msgstr "Negenerat"
-#: admin/templates/admin/domain_detail.html:136
+#: templates/admin/domain_detail.html:156
msgid "Administrators"
msgstr "Administratori"
-#: admin/templates/admin/domain_detail.html:148
-#: admin/templatetags/admin_tags.py:279
+#: templates/admin/domain_detail.html:168 templatetags/admin_tags.py:279
msgid "Remove this permission"
msgstr "Elimină această permisie"
-#: admin/templates/admin/domain_detail.html:153
+#: templates/admin/domain_detail.html:173
msgid "No domain administrator defined yet."
msgstr "Nu există un domeniu de administrator definit incă"
-#: admin/templates/admin/domain_headers.html:5
-#: admin/templates/admin/identity_headers.html:4
+#: templates/admin/domain_headers.html:5
+#: templates/admin/identity_headers.html:4
msgid "Tags"
msgstr "Taguri"
-#: admin/templates/admin/domain_headers.html:7
+#: templates/admin/domain_headers.html:7
msgid "DNS status"
msgstr "Status DNS"
-#: admin/templates/admin/domain_headers.html:9
-#: admin/templates/admin/identity_headers.html:5
+#: templates/admin/domain_headers.html:9
+#: templates/admin/identity_headers.html:5
msgid "Actions"
msgstr "Acțiuni"
-#: admin/templates/admin/domain_options_form.html:10
+#: templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Nu puteți crea un nou administrator de domeniu"
-#: admin/templates/admin/domains.html:28
-#: admin/templates/admin/identities.html:29
+#: templates/admin/domains.html:28 templates/admin/identities.html:29
msgid "Add"
msgstr "Adaugă"
-#: admin/templates/admin/domains_log_headers.html:2
+#: templates/admin/domains_log_headers.html:2
msgid "Queue ID"
msgstr "Queue ID"
-#: admin/templates/admin/domains_log_headers.html:4
-#: admin/templates/admin/messages_log_headers.html:4
+#: templates/admin/domains_log_headers.html:4
+#: templates/admin/messages_log_headers.html:4
msgid "From"
msgstr "De la"
-#: admin/templates/admin/domains_log_headers.html:5
-#: admin/templates/admin/messages_log_headers.html:5
+#: templates/admin/domains_log_headers.html:5
+#: templates/admin/messages_log_headers.html:5
msgid "To"
msgstr "Către"
-#: admin/templates/admin/domains_quota_headers.html:3
-#: admin/templates/admin/identities_quota_headers.html:4
+#: templates/admin/domains_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:4
msgid "Limit"
msgstr "Limită"
-#: admin/templates/admin/domains_quota_headers.html:4
+#: templates/admin/domains_quota_headers.html:4
msgid "Used"
msgstr "Utilizat"
-#: admin/templates/admin/domains_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:5
msgid "Allocated"
msgstr "Alocat"
-#: admin/templates/admin/domains_quota_headers.html:6
-#: admin/templates/admin/identities_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:6
+#: templates/admin/identities_quota_headers.html:5
#, python-format
msgid "Usage (%%)"
msgstr "Utilizat (%%)"
-#: admin/templates/admin/domains_table.html:5
+#: templates/admin/domains_table.html:5
msgid "disabled"
msgstr "dezactivat"
-#: admin/templates/admin/forward.html:2
+#: templates/admin/forward.html:2
msgid "Automatically forward emails to another address"
msgstr "Redirecționează automat emailuri la altă adresă"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:87
+#: templates/admin/forward.html:9 views/alias.py:88
msgid "Update"
msgstr "Actualizează"
-#: admin/templates/admin/identities.html:32
+#: templates/admin/identities.html:32
msgid "Account"
msgstr "Cont"
-#: admin/templates/admin/identities_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:3
msgid "Value"
msgstr "Valuare"
-#: admin/templates/admin/identity_headers.html:3
+#: templates/admin/identity_headers.html:3
msgid "Fullname/Recipient"
msgstr "Nume Complet/Destinatar"
-#: admin/templates/admin/import_domains_form.html:6
+#: templates/admin/import_domains_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats:
"
"- domain; name; quota; default mailbox quota; enabled
"
@@ -1328,243 +1373,241 @@ msgid ""
"use a different character as separator."
msgstr ""
"Furnizați un fișier CSV unde liniile respectă unul dintre următoarele "
-"formate: - domain; name; quota; default mailbox quota; enabled "
-"
- domainalias; name; targeted domain; "
-"enabled
- relaydomain; name; target host; target port; "
-"service; enabled; verify recipients
Primul element al "
-"fiecărei linii este obligatoriu și trebuie să fie egal cu una dintre "
-"valorile anterioare. Puteți utiliza un caracter diferit ca separator."
+"formate: - domain; name; quota; default mailbox quota; enabled "
+"em>
- domainalias; name; targeted domain; enabled"
+"li>
- relaydomain; name; target host; target port; service; enabled; "
+"verify recipients
Primul element al fiecărei linii este "
+"obligatoriu și trebuie să fie egal cu una dintre valorile anterioare. Puteți "
+"utiliza un caracter diferit ca separator."
-#: admin/templates/admin/import_identities_form.html:6
+#: 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 ""
"Furnizați un fișier CSV unde liniile respectă unul dintre următoarele "
"formate:- account; loginname; password; first name; last name; "
"enabled; group; address; quota; [, domain, ...]
- alias; "
-"address; enabled; recipient; recipient; ...
Primul element"
-" al fiecărei linii este obligatoriu și trebuie să fie egal cu una dintre "
-"valorile anterioare.
Puteți utiliza un caracter diferit ca "
-"separator.
"
+"address; enabled; recipient; recipient; ...
Primul element "
+"al fiecărei linii este obligatoriu și trebuie să fie egal cu una dintre "
+"valorile anterioare.
Puteți utiliza un caracter diferit ca separator."
+"
"
-#: admin/templates/admin/importform.html:6
+#: templates/admin/importform.html:6
msgid "Help"
msgstr "Ajutor"
-#: admin/templates/admin/importform.html:13
+#: templates/admin/importform.html:13
msgid "Importing..."
msgstr "Importare..."
-#: admin/templates/admin/index.html:6
-msgid "Admin"
-msgstr "Administrator"
-
-#: admin/templates/admin/mailboxes_raw.html:3
+#: templates/admin/mailboxes_raw.html:3
msgid "Choose a value"
msgstr "Alege o valuare"
-#: admin/templates/admin/mailform.html:7
+#: templates/admin/mailform.html:7
msgid "Use domain default value"
msgstr "Folosește valuarea implicită a domeniului"
-#: admin/templates/admin/messages_log_headers.html:2
+#: templates/admin/messages_log_headers.html:2
msgid "ID"
msgstr "ID"
-#: admin/templates/admin/mx_domain_detail.html:11
+#: templates/admin/mx_domain_detail.html:11
msgid "Updated"
msgstr "Actualizat"
-#: admin/templates/admin/mx_domain_detail.html:23
+#: templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
msgstr ""
"Acest IP nu se potrivește cu nicio înregistrare MX definită în parametrii"
-#: admin/templates/admin/mx_domain_detail.html:36
+#: templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
msgstr "Nu există înregistrări MX pentru acest domeniu."
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
+#: templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
msgstr ""
-"Modoboa a detectat ca domeniul %(domain)s este listat sub DNSBL la urmatorii"
-" furnizori DNSBL:"
+"Modoboa a detectat ca domeniul %(domain)s este listat sub DNSBL la urmatorii "
+"furnizori DNSBL:"
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
+#: templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
"The domain's reputation will be affected and there is a chance that emails "
"coming from it are considered as spam. You should contact those providers "
"and ask them to unlist detected IP address(es)."
msgstr ""
-"Reputația domeniului va fi afectată și există șansa ca e-mailurile provenite"
-" de la acestă adresă să fie considerate spam. Ar trebui să contactați acești"
-" furnizori și să îi solicitați să elimine adresele(sau adresa) IP detectate."
+"Reputația domeniului va fi afectată și există șansa ca e-mailurile provenite "
+"de la acestă adresă să fie considerate spam. Ar trebui să contactați acești "
+"furnizori și să îi solicitați să elimine adresele(sau adresa) IP detectate."
-#: admin/templates/admin/notifications/domain_invalid_mx.html:3
+#: templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
msgstr ""
"Modoboa a detectat ca domeniul %(domain)s nu are înregistrări MX valide: "
-#: admin/templates/admin/searchform.html:6
+#: templates/admin/searchform.html:6
msgid "Search"
msgstr "Caută"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_m"
msgstr "activat_m"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_f"
msgstr "activat_f"
-#: admin/templatetags/admin_tags.py:47
+#: templatetags/admin_tags.py:47
msgid "List domains"
msgstr "Listă domenii"
-#: admin/templatetags/admin_tags.py:52 admin/templatetags/admin_tags.py:112
+#: templatetags/admin_tags.py:52 templatetags/admin_tags.py:112
msgid "List quotas"
msgstr "Listă cote"
-#: admin/templatetags/admin_tags.py:57
+#: templatetags/admin_tags.py:57
msgid "Message logs"
msgstr "Jurnalele de mesaje"
-#: admin/templatetags/admin_tags.py:69 admin/templatetags/admin_tags.py:117
-#: admin/views/import_.py:85 admin/views/import_.py:107
+#: templatetags/admin_tags.py:69 templatetags/admin_tags.py:117
+#: views/import_.py:56 views/import_.py:78
msgid "Import"
msgstr "Import"
-#: admin/templatetags/admin_tags.py:75 admin/templatetags/admin_tags.py:123
-#: admin/views/export.py:39 admin/views/export.py:67
+#: templatetags/admin_tags.py:75 templatetags/admin_tags.py:123
+#: views/export.py:39 views/export.py:67
msgid "Export"
msgstr "Export"
-#: admin/templatetags/admin_tags.py:107
+#: templatetags/admin_tags.py:107
msgid "List identities"
msgstr "Listare identități"
-#: admin/templatetags/admin_tags.py:142
+#: templatetags/admin_tags.py:142
msgid "View the domain's identities"
msgstr "Afișare identități domeniului"
-#: admin/templatetags/admin_tags.py:149
+#: templatetags/admin_tags.py:149
msgid "View domain's alarms"
msgstr "Vezi alarmele domeniului"
-#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:198
-#: admin/templatetags/admin_tags.py:211
+#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:198
+#: templatetags/admin_tags.py:211
msgid "Edit {}"
msgstr "Editează {}"
-#: admin/templatetags/admin_tags.py:165 admin/templatetags/admin_tags.py:202
-#: admin/templatetags/admin_tags.py:216
+#: templatetags/admin_tags.py:165 templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:216
#, python-format
msgid "Delete %s?"
msgstr "Șterge %s?"
-#: admin/tests/test_mx.py:155
+#: tests/test_mx.py:155
#, python-format
msgid "No MX record for %s"
msgstr "Nu există înregistrări MX pentru %s"
-#: admin/tests/test_mx.py:167 admin/tests/test_mx.py:170
+#: tests/test_mx.py:167 tests/test_mx.py:170
#, python-format
msgid "Invalid IP address format for %(domain)s; %(addr)s"
msgstr "Format invalid de IP pentru %(domain)s; %(addr)s "
-#: admin/views/alias.py:29
+#: views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Un alias cu acelasi nume deja există"
-#: admin/views/alias.py:54
+#: views/alias.py:55
msgid "Create"
msgstr "Creează"
-#: admin/views/alias.py:66
+#: views/alias.py:67
msgid "New alias"
msgstr "Alias nou"
-#: admin/views/alias.py:67
+#: views/alias.py:68
msgid "Alias created"
msgstr "Alias creat"
-#: admin/views/alias.py:79
+#: views/alias.py:80
msgid "Alias modified"
msgstr "Alias modificat"
-#: admin/views/alias.py:103
+#: views/alias.py:105
msgid "Alias deleted"
msgid_plural "Aliases deleted"
msgstr[0] "Alias șters"
msgstr[1] "Aliasuri șterse"
msgstr[2] "Aliasuri șterse"
-#: admin/views/dns.py:28
+#: views/dns.py:28
msgid "MX records of {}"
msgstr "Înregistrări MX ale {}"
-#: admin/views/dns.py:51
+#: views/dns.py:51
msgid "DNSBL summary for {}"
msgstr "Sumar DNSBL pentru {}"
-#: admin/views/domain.py:244
-msgid "You can't delete your own domain"
-msgstr "Nu poți să îți ștergi propriul domeniu"
-
-#: admin/views/domain.py:247
+#: views/domain.py:249
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Domeniu șters"
msgstr[1] "Domenii șterse"
msgstr[2] "Domenii șterse"
-#: admin/views/export.py:38
+#: views/export.py:38
msgid "Export identities"
msgstr "Exportă identități"
-#: admin/views/export.py:66
+#: views/export.py:66
msgid "Export domains"
msgstr "Exportă domenii"
-#: admin/views/identity.py:107 admin/views/identity.py:201
-#: admin/views/identity.py:206
+#: views/identity.py:108 views/identity.py:204 views/identity.py:209
msgid "Invalid request"
msgstr "Cerere invalidă"
-#: admin/views/identity.py:191
+#: views/identity.py:193
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Cont șters"
msgstr[1] "Conturi șterse"
msgstr[2] "Conturi șterse"
-#: admin/views/import_.py:61
-#, python-format
-msgid "Object already exists: %s"
-msgstr "Obiectul deja există: %s"
-
-#: admin/views/import_.py:65
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d obiecte importate cu succes"
-
-#: admin/views/import_.py:84
+#: views/import_.py:55
msgid "Import domains"
msgstr "Importă domenii"
-#: admin/views/import_.py:106
+#: views/import_.py:77
msgid "Import identities"
msgstr "Importă identități"
-#: admin/views/user.py:36
+#: views/user.py:52
msgid "Forward updated"
msgstr "Redirecționare actualizată"
+
+#~ msgid "Mailboxes owner"
+#~ msgstr "Propietarul cutiilor postale"
+
+#~ msgid "The UNIX account who owns mailboxes on the filesystem"
+#~ msgstr ""
+#~ "Contul UNIX care are in propietate casuțele poștale în sistemul de fișiere"
+
+#, python-format
+#~ msgid "Domain '%s' does not exist"
+#~ msgstr "Domeniul '%s' nu există"
+
+#~ msgid "Raw format"
+#~ msgstr "Format Raw"
+
+#~ msgid "Admin"
+#~ msgstr "Administrator"
diff --git a/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po
index 6d14552f6..5379699e2 100644
--- a/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po
+++ b/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po
@@ -2,39 +2,41 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
-#
+#
# Translators:
# Antoine Nguyen , 2023
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-03-09 16:48+0100\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2023-02-22 16:16+0000\n"
"Last-Translator: Antoine Nguyen , 2023\n"
-"Language-Team: Romanian (Romania) (https://www.transifex.com/tonio/teams/13749/ro_RO/)\n"
+"Language-Team: Romanian (Romania) (https://www.transifex.com/tonio/"
+"teams/13749/ro_RO/)\n"
+"Language: ro_RO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ro_RO\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
-#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174
+#: static/admin/js/admin.js:129 static/admin/js/admin.js:174
msgid "No more domain to show"
msgstr "Nu mai sunt domenii de afișat"
-#: admin/static/admin/js/admin.js:149
+#: static/admin/js/admin.js:149
msgid "Do not delete domain directory"
msgstr "Nu sterge directorul pentru domeniu"
-#: admin/static/admin/js/admin.js:151
+#: static/admin/js/admin.js:151
msgid "This operation will remove ALL data associated to this domain."
msgstr ""
"Această operațiune va șterge toată informația asociată cu acest domeniu."
-#: admin/static/admin/js/admin.js:152
+#: static/admin/js/admin.js:152
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
@@ -42,18 +44,24 @@ msgstr ""
"Această operațiune va șterge toată informația asociată cu acest domeniu, cu "
"excepția conturilor."
-#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433
+#: static/admin/js/admin.js:177 static/admin/js/admin.js:436
msgid "No more quota to show"
msgstr "Nu mai există cote de afișat"
-#: admin/static/admin/js/admin.js:306
+#: static/admin/js/admin.js:180
+#, fuzzy
+#| msgid "No more quota to show"
+msgid "No more log to show"
+msgstr "Nu mai există cote de afișat"
+
+#: static/admin/js/admin.js:309
msgid "No domain administrator defined"
msgstr "Nu există configurat un administartor de domeniu"
-#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430
+#: static/admin/js/admin.js:365 static/admin/js/admin.js:433
msgid "No more identity to show"
msgstr "Nu mai sunt identități de afișat"
-#: admin/static/admin/js/admin.js:404
+#: static/admin/js/admin.js:407
msgid "Do not delete mailbox directory"
msgstr "Nu sterge directorul mailbox"
diff --git a/modoboa/admin/locale/ru/LC_MESSAGES/django.po b/modoboa/admin/locale/ru/LC_MESSAGES/django.po
index 1fc028018..c93633a69 100644
--- a/modoboa/admin/locale/ru/LC_MESSAGES/django.po
+++ b/modoboa/admin/locale/ru/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-06 13:15+0200\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2013-12-03 09:35+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/"
@@ -19,120 +19,257 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: admin/api.py:142
+#: api/v1/serializers.py:35 forms/domain.py:44
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr ""
+
+#: api/v1/serializers.py:42
+msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgstr ""
+
+#: api/v1/serializers.py:73 forms/domain.py:108
+msgid "No authorized MX record found for this domain"
+msgstr ""
+
+#: api/v1/serializers.py:91 forms/domain.py:150
+msgid "Cannot be greater than domain quota"
+msgstr ""
+
+#: api/v1/serializers.py:126 api/v1/serializers.py:321
+#: api/v2/serializers.py:430 models/alias.py:34
+#, fuzzy
+#| msgid "Permissions"
+msgid "Permission denied."
+msgstr "Права"
+
+#: api/v1/serializers.py:177 api/v2/serializers.py:73 api/v2/serializers.py:359
+#: forms/alias.py:108 forms/alias.py:110
+#, fuzzy
+#| msgid "A quota is required"
+msgid "This field is required"
+msgstr "Требуется квота"
+
+#: api/v1/serializers.py:189
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+
+#: api/v1/serializers.py:295 api/v2/serializers.py:409
+msgid "Not allowed for this role."
+msgstr ""
+
+#: api/v1/serializers.py:313
+msgid "Must be equal to mailbox full_address"
+msgstr ""
+
+#: api/v1/serializers.py:350 api/v2/serializers.py:454 forms/account.py:178
+#: forms/account.py:180 forms/domain.py:165 forms/domain.py:294
+#: forms/domain.py:297
+#, fuzzy
+#| msgid "A quota is required"
+msgid "This field is required."
+msgstr "Требуется квота"
+
+#: api/v1/serializers.py:362 api/v2/serializers.py:471
+#, fuzzy
+#| msgid "Domain does not exist"
+msgid "Local domain {} does not exist"
+msgstr "Домен не существует"
+
+#: api/v1/serializers.py:448
+msgid "A list of recipient"
+msgstr ""
+
+#: api/v1/serializers.py:495
+#, fuzzy
+#| msgid "You don't have access to this domain"
+msgid "You don't have access to this domain."
+msgstr "Вы не имеете права доступа к этому домену"
+
+#: api/v1/serializers.py:503
+#, fuzzy
+#| msgid "You don't have access to this domain"
+msgid "You don't have access to this mailbox."
+msgstr "Вы не имеете права доступа к этому домену"
+
+#: api/v1/viewsets.py:175
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/app_settings.py:20 admin/handlers.py:261
-#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5
+#: api/v2/serializers.py:99 forms/domain.py:314
+#, python-format
+msgid "User '%s' already exists"
+msgstr "Пользователь '%s' уже существует"
+
+#: api/v2/serializers.py:209 api/v2/serializers.py:217 app_settings.py:237
+#: app_settings.py:245 forms/account.py:351
+msgid "Must be a positive integer"
+msgstr ""
+
+#: api/v2/serializers.py:226 app_settings.py:255
+#, fuzzy
+#| msgid "Domain modified"
+msgid "Directory not found."
+msgstr "Домен изменен"
+
+#: api/v2/serializers.py:231 app_settings.py:261
+msgid "openssl not found, please make sure it is installed."
+msgstr ""
+
+#: api/v2/serializers.py:246 app_settings.py:278
+msgid "This field only allows valid IP addresses (or networks)"
+msgstr ""
+
+#: api/v2/serializers.py:258 app_settings.py:293
+msgid "Define at least one authorized network / address"
+msgstr ""
+
+#: api/v2/serializers.py:459
+msgid "A mailbox is required to create aliases."
+msgstr ""
+
+#: api/v2/viewsets.py:74 forms/account.py:365 forms/account.py:373
+#: forms/alias.py:91
+msgid "You don't have access to this domain"
+msgstr "Вы не имеете права доступа к этому домену"
+
+#: api/v2/viewsets.py:77 views/domain.py:246
+msgid "You can't delete your own domain"
+msgstr "Вы не можете удалить собственный домен"
+
+#: app_settings.py:23 app_settings.py:300 handlers.py:266
+#: templates/admin/_global_statistics_widget.html:11
+#: templates/admin/domains.html:5
msgid "Domains"
msgstr "Домены"
-#: admin/app_settings.py:23
+#: app_settings.py:26 app_settings.py:303
msgid "Enable MX checks"
msgstr ""
-#: admin/app_settings.py:26
+#: app_settings.py:29 app_settings.py:305
msgid "Check that every domain has a valid MX record"
msgstr ""
-#: admin/app_settings.py:31
+#: app_settings.py:34 app_settings.py:309
msgid "Valid MXs"
msgstr ""
-#: admin/app_settings.py:34
+#: app_settings.py:37 app_settings.py:312
msgid ""
"A list of IP or network address every MX record should match. A warning will "
"be sent if a record does not respect it."
msgstr ""
-#: admin/app_settings.py:42
+#: app_settings.py:45 app_settings.py:318
msgid "New domains must use authorized MX(s)"
msgstr ""
-#: admin/app_settings.py:45
+#: app_settings.py:48 app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
msgstr ""
-#: admin/app_settings.py:51
+#: app_settings.py:54 app_settings.py:326
msgid "Enable SPF checks"
msgstr ""
-#: admin/app_settings.py:54
+#: app_settings.py:57 app_settings.py:328
msgid "Check if every domain has a valid SPF record"
msgstr ""
-#: admin/app_settings.py:59
+#: app_settings.py:62 app_settings.py:332
msgid "Enable DKIM checks"
msgstr ""
-#: admin/app_settings.py:62
+#: app_settings.py:65 app_settings.py:334
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr ""
-#: admin/app_settings.py:68
+#: app_settings.py:71 app_settings.py:339
msgid "Enable DMARC checks"
msgstr ""
-#: admin/app_settings.py:71
+#: app_settings.py:74 app_settings.py:341
msgid "Check if every domain has a valid DMARC record"
msgstr ""
-#: admin/app_settings.py:76
+#: app_settings.py:79 app_settings.py:345
msgid "Enable autoconfig checks"
msgstr ""
-#: admin/app_settings.py:79
+#: app_settings.py:82 app_settings.py:347
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr ""
-#: admin/app_settings.py:84
+#: app_settings.py:87 app_settings.py:352
msgid "Enable DNSBL checks"
msgstr ""
-#: admin/app_settings.py:87
+#: app_settings.py:90 app_settings.py:354
msgid "Check every domain against major DNSBL providers"
msgstr ""
-#: admin/app_settings.py:92
+#: app_settings.py:95 app_settings.py:358
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:95
+#: app_settings.py:99 app_settings.py:360
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:100
+#: app_settings.py:104 app_settings.py:365
msgid "DKIM keys storage directory"
msgstr ""
-#: admin/app_settings.py:103
+#: app_settings.py:107 app_settings.py:367
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
"world."
msgstr ""
-#: admin/app_settings.py:111
+#: app_settings.py:115 app_settings.py:373
msgid "Default DKIM key length"
msgstr ""
-#: admin/app_settings.py:115
+#: app_settings.py:119 app_settings.py:375
msgid "Default length in bits for newly generated DKIM keys."
msgstr ""
-#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41
+#: app_settings.py:124 app_settings.py:379
+msgid "Default domain quota"
+msgstr ""
+
+#: app_settings.py:127 app_settings.py:381
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: app_settings.py:133 app_settings.py:386
+msgid "Default domain sending limit"
+msgstr ""
+
+#: app_settings.py:136 app_settings.py:388
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:141 app_settings.py:395
+#: templates/admin/domain_detail.html:41
msgid "Mailboxes"
msgstr "Почтовые ящики"
-#: admin/app_settings.py:122
+#: app_settings.py:144 app_settings.py:398
msgid "Handle mailboxes on filesystem"
msgstr "Обрабатывать почтовые ящики на диске"
-#: admin/app_settings.py:125
+#: app_settings.py:147 app_settings.py:400
#, fuzzy
msgid ""
"Rename or remove mailboxes on the filesystem when they get renamed or "
@@ -141,180 +278,158 @@ msgstr ""
"Удалять или переименовывать почтовые ящики на диске, если они удалены или "
"переименованы в Modoboa"
-#: admin/app_settings.py:131
-msgid "Mailboxes owner"
-msgstr "Почтовые ящики закончились"
-
-#: admin/app_settings.py:134
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "UNIX аккаунт владельца почтового ящика на диске"
-
-#: admin/app_settings.py:139
-msgid "Default domain quota"
-msgstr ""
-
-#: admin/app_settings.py:142
-msgid ""
-"Default quota (in MB) applied to freshly created domains with no value "
-"specified. A value of 0 means no quota."
-msgstr ""
-
-#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33
-#: admin/templates/admin/domain_detail.html:64
+#: app_settings.py:153 app_settings.py:405 forms/domain.py:49
+#: models/domain.py:32 templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr ""
-#: admin/app_settings.py:151
+#: app_settings.py:156
msgid ""
"Default mailbox quota (in MB) applied to freshly created mailboxes with no "
"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:157
+#: app_settings.py:162 app_settings.py:413
+msgid "Default mailbox sending limit"
+msgstr ""
+
+#: app_settings.py:165 app_settings.py:415
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:171 app_settings.py:420
msgid "Automatic account removal"
msgstr "Автоматическое удаление аккаунта"
-#: admin/app_settings.py:160
+#: app_settings.py:174 app_settings.py:422
msgid "When a mailbox is removed, also remove the associated account"
msgstr "При удалении почтового ящика, так же удалять и аккаунт владельца"
-#: admin/app_settings.py:164
+#: app_settings.py:178 app_settings.py:426
#, fuzzy
msgid "Automatic domain/mailbox creation"
msgstr "Домен создан"
-#: admin/app_settings.py:167
+#: app_settings.py:181 app_settings.py:428
msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
-#: admin/app_settings.py:173
+#: app_settings.py:187 app_settings.py:434
msgid "Create an alias when a mailbox is renamed"
msgstr ""
-#: admin/app_settings.py:176
+#: app_settings.py:190 app_settings.py:436
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr ""
-#: admin/app_settings.py:225 admin/app_settings.py:233
-#: admin/forms/account.py:335
-msgid "Must be a positive integer"
+#: app_settings.py:407
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
msgstr ""
-#: admin/app_settings.py:243
-#, fuzzy
-#| msgid "Domain modified"
-msgid "Directory not found."
-msgstr "Домен изменен"
-
-#: admin/app_settings.py:249
-msgid "openssl not found, please make sure it is installed."
-msgstr ""
-
-#: admin/app_settings.py:263
-msgid "Define at least one authorized network / address"
-msgstr ""
-
-#: admin/app_settings.py:273
+#: app_settings.py:451 app_settings.py:453
msgid "Administration"
msgstr ""
-#: admin/constants.py:28 admin/forms/alias.py:43
-#: admin/templates/admin/_per_domain_statistics_widget.html:7
-#: admin/templates/admin/domains_quota_headers.html:2
+#: constants.py:28 forms/alias.py:43
+#: templates/admin/_per_domain_statistics_widget.html:7
+#: templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr ""
-#: admin/constants.py:29
+#: constants.py:29
#, fuzzy
#| msgid "New domain"
msgid "Relay domain"
msgstr "Новый домен"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125
+#: constants.py:42
+msgid "Opened"
+msgstr ""
+
+#: constants.py:43
+msgid "Closed"
+msgstr ""
+
+#: forms/account.py:32 templates/admin/domain_detail.html:159
msgid "Username"
msgstr "Логин пользователя"
-#: admin/forms/account.py:34
+#: forms/account.py:34
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
msgstr ""
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: forms/account.py:39 templates/admin/account_detail.html:29
msgid "Role"
msgstr "Роль"
-#: admin/forms/account.py:40
+#: forms/account.py:40
msgid "Choose"
msgstr "Выбрать"
-#: admin/forms/account.py:41
+#: forms/account.py:41
msgid "What level of permission this user will have"
msgstr "Разрешения для этого пользователя"
-#: admin/forms/account.py:44 admin/forms/domain.py:245
+#: forms/account.py:44 forms/domain.py:248
#, fuzzy
#| msgid "Invalid request"
msgid "Random password"
msgstr "Ошибочный запрос"
-#: admin/forms/account.py:46
+#: forms/account.py:46
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
msgstr ""
-#: admin/forms/account.py:52
+#: forms/account.py:52
msgid "Password"
msgstr "Пароль"
-#: admin/forms/account.py:57
+#: forms/account.py:57
msgid "Confirmation"
msgstr "Подтверждение"
-#: admin/forms/account.py:60
+#: forms/account.py:60
msgid "Enter the same password as above, for verification."
msgstr "Введите такой же пароль как выше. Для проверки."
-#: admin/forms/account.py:72
+#: forms/account.py:72
msgid "Enabled"
msgstr "Разрешено"
-#: admin/forms/account.py:167
+#: forms/account.py:167
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:162 admin/forms/domain.py:291
-#: admin/forms/domain.py:294 admin/serializers.py:287
-#, fuzzy
-#| msgid "A quota is required"
-msgid "This field is required."
-msgstr "Требуется квота"
-
-#: admin/forms/account.py:186
+#: forms/account.py:186
msgid "The two password fields didn't match."
msgstr "Пароли не совпадают"
-#: admin/forms/account.py:199
+#: forms/account.py:199
msgid "You can't disable your own account"
msgstr "Вы не можете запретить собственный аккаунт"
-#: admin/forms/account.py:222
+#: forms/account.py:226
msgid "E-mail"
msgstr "Е-майл"
-#: admin/forms/account.py:224
+#: forms/account.py:228
msgid "Create an alias using the old address"
msgstr ""
-#: admin/forms/account.py:229 admin/forms/domain.py:41
-#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49
+#: forms/account.py:233 forms/domain.py:41
+#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49
msgid "Quota"
msgstr "Квота"
-#: admin/forms/account.py:232
+#: forms/account.py:236
#, fuzzy
#| msgid ""
#| "Quota in MB for this mailbox. Define a custom value or use domain's "
@@ -330,12 +445,21 @@ msgstr ""
"Оставьте пустым для неограниченного значения. (Не разрешено администраторам "
"домена)"
-#: admin/forms/account.py:242 admin/forms/domain.py:31
-#: admin/templates/admin/domain_headers.html:4
+#: forms/account.py:246 models/domain.py:36 models/mailbox.py:99
+#: templates/admin/account_detail.html:50 templates/admin/domain_detail.html:69
+msgid "Message sending limit"
+msgstr ""
+
+#: forms/account.py:250 models/mailbox.py:101
+msgid "Number of messages this mailbox can send per day"
+msgstr ""
+
+#: forms/account.py:253 forms/domain.py:31
+#: templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Синоним(ы)"
-#: admin/forms/account.py:245
+#: forms/account.py:256
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -349,13 +473,13 @@ msgstr ""
"Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
"добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
-#: admin/forms/account.py:251
+#: forms/account.py:262
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Ошибочный запрос"
-#: admin/forms/account.py:254
+#: forms/account.py:265
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -368,70 +492,64 @@ msgstr ""
"Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
"добавления."
-#: admin/forms/account.py:309 admin/forms/alias.py:88
-#: admin/models/mailbox.py:310
+#: forms/account.py:325 forms/alias.py:88 models/mailbox.py:313
msgid "Domain does not exist"
msgstr "Домен не существует"
-#: admin/forms/account.py:345
+#: forms/account.py:361
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "Домен не существует"
-#: admin/forms/account.py:349 admin/forms/account.py:357
-#: admin/forms/alias.py:91
-msgid "You don't have access to this domain"
-msgstr "Вы не имеете права доступа к этому домену"
-
-#: admin/forms/account.py:456
+#: forms/account.py:476
msgid "Domain(s)"
msgstr "Домен(ы)"
-#: admin/forms/account.py:458
+#: forms/account.py:478
msgid "Domain(s) that user administrates"
msgstr "Домен(ы) администрируемые пользователем"
-#: admin/forms/account.py:505 admin/forms/account.py:595
-#: admin/forms/domain.py:362 admin/forms/domain.py:433
+#: forms/account.py:525 forms/account.py:615 forms/domain.py:365
+#: forms/domain.py:436
msgid "General"
msgstr "Основные"
-#: admin/forms/account.py:509
+#: forms/account.py:529
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:513 admin/forms/account.py:601
+#: forms/account.py:533 forms/account.py:621
msgid "Mail"
msgstr "Почта"
-#: admin/forms/account.py:516
+#: forms/account.py:536
msgid "Permissions"
msgstr "Права"
-#: admin/forms/account.py:584
+#: forms/account.py:604
msgid "Account updated"
msgstr "аккаунт изменен"
-#: admin/forms/account.py:609
+#: forms/account.py:629
msgid "New account"
msgstr "Новый аккаунт"
-#: admin/forms/account.py:619
+#: forms/account.py:639
msgid "Account created"
msgstr "Аккаунт создан"
-#: admin/forms/alias.py:20
+#: forms/alias.py:20
#, fuzzy
#| msgid "Invalid request"
msgid "Random address"
msgstr "Ошибочный запрос"
-#: admin/forms/alias.py:23
+#: forms/alias.py:23
msgid "Email address"
msgstr "Е-майл адрес"
-#: admin/forms/alias.py:25
+#: forms/alias.py:25
#, fuzzy
#| msgid ""
#| "The alias address (without the domain part). For a 'catch-all' address, "
@@ -443,11 +561,11 @@ msgstr ""
"Адреса синонимов (без доменной части). Для указания адреса 'для всех' "
"введите символ *"
-#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
+#: forms/alias.py:31 templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Получатели"
-#: admin/forms/alias.py:33
+#: forms/alias.py:33
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -459,22 +577,15 @@ msgstr ""
"Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
"добавления."
-#: admin/forms/alias.py:108 admin/forms/alias.py:110
-#, fuzzy
-#| msgid "A quota is required"
-msgid "This field is required"
-msgstr "Требуется квота"
-
-#: admin/forms/alias.py:114
+#: forms/alias.py:114
msgid "No recipient defined"
msgstr "Получатель не определен"
-#: admin/forms/domain.py:28
-#: admin/templates/admin/_global_statistics_widget.html:7
+#: forms/domain.py:28 templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr ""
-#: admin/forms/domain.py:34
+#: forms/domain.py:34
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -482,67 +593,53 @@ msgstr ""
"Синоним(ы) этого домена. Вводите одно имя за раз. Нажмите ENTER для "
"добавления."
-#: admin/forms/domain.py:39
+#: forms/domain.py:39
msgid "Key selector"
msgstr ""
-#: admin/forms/domain.py:44 admin/serializers.py:30
-msgid ""
-"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
-"A value of 0 means no quota."
-msgstr ""
-
-#: admin/forms/domain.py:52
+#: forms/domain.py:52
msgid ""
"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or "
"GB. A value of 0 means no quota."
msgstr ""
-#: admin/forms/domain.py:94 admin/handlers.py:161
+#: forms/domain.py:97 handlers.py:166
msgid "domain alias"
msgstr ""
-#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181
+#: forms/domain.py:100 forms/domain.py:176 forms/domain.py:184
#, python-format
msgid "A %s with this name already exists"
msgstr ""
-#: admin/forms/domain.py:105 admin/serializers.py:64
-msgid "No authorized MX record found for this domain"
-msgstr ""
-
-#: admin/forms/domain.py:117
+#: forms/domain.py:120
msgid "DKIM keys storage directory not configured"
msgstr ""
-#: admin/forms/domain.py:147 admin/serializers.py:82
-msgid "Cannot be greater than domain quota"
-msgstr ""
-
-#: admin/forms/domain.py:152
+#: forms/domain.py:155
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:173 admin/forms/domain.py:178
+#: forms/domain.py:176 forms/domain.py:181
msgid "domain"
msgstr ""
-#: admin/forms/domain.py:227
+#: forms/domain.py:230
msgid "Create a domain administrator"
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:230
+#: forms/domain.py:233
msgid "Automatically create an administrator for this domain"
msgstr "Автоматически создаст администратора для этого домена"
-#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125
-#: admin/templates/admin/domain_headers.html:3
-#: admin/templates/admin/identity_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:9
+#: forms/domain.py:238 templates/admin/domain_detail.html:159
+#: templates/admin/domain_headers.html:3
+#: templates/admin/identity_headers.html:2
+#: templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Логин"
-#: admin/forms/domain.py:238
+#: forms/domain.py:241
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -550,733 +647,767 @@ msgstr ""
"Имя администратора. Не включайте имя домена оно будет добавлено "
"автоматически."
-#: admin/forms/domain.py:248
+#: forms/domain.py:251
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Generate a random password for the administrator."
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:254
+#: forms/domain.py:257
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:257
+#: forms/domain.py:260
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:263
+#: forms/domain.py:266
msgid "Create aliases"
msgstr "Создание синонимов"
-#: admin/forms/domain.py:266
+#: forms/domain.py:269
msgid "Automatically create standard aliases for this domain"
msgstr "Автоматически создает стандартные синонимы для этого домена"
-#: admin/forms/domain.py:282
+#: forms/domain.py:285
msgid "Invalid format"
msgstr "Неверный формат"
-#: admin/forms/domain.py:311
-#, python-format
-msgid "User '%s' already exists"
-msgstr "Пользователь '%s' уже существует"
-
-#: admin/forms/domain.py:423
+#: forms/domain.py:426
msgid "Domain modified"
msgstr "Домен изменен"
-#: admin/forms/domain.py:444
+#: forms/domain.py:447
msgid "Options"
msgstr "Опции"
-#: admin/forms/domain.py:452
+#: forms/domain.py:455
msgid "New domain"
msgstr "Новый домен"
-#: admin/forms/domain.py:465
+#: forms/domain.py:468
msgid "Domain created"
msgstr "Домен создан"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: forms/export.py:9 forms/import_.py:13
msgid "Separator"
msgstr "Разделитель"
-#: admin/forms/forward.py:12
+#: forms/forward.py:12
msgid "Recipient(s)"
msgstr "Получатели"
-#: admin/forms/forward.py:16
+#: forms/forward.py:16
msgid "Indicate one or more recipients separated by a ','"
msgstr "Укажите одного или нескольких получателей, разделенных запятой ','"
-#: admin/forms/forward.py:19
+#: forms/forward.py:19
msgid "Keep local copies"
msgstr "Сохранить локальную копию"
-#: admin/forms/forward.py:22
+#: forms/forward.py:22
msgid "Forward messages and store copies into your local mailbox"
msgstr ""
"Перенаправление сообщения, и сохранение копии в вашем локальном почтовом "
"ящике"
-#: admin/forms/import_.py:11
+#: forms/import_.py:11
msgid "Select a file"
msgstr "Выберите файл"
-#: admin/forms/import_.py:19
+#: forms/import_.py:19
msgid "Continue on error"
msgstr "Продолжать при ошибке"
-#: admin/forms/import_.py:20
+#: forms/import_.py:20
msgid "Don't treat duplicated objects as error"
msgstr "Не исправлять дублирующийся объект при ошибке"
-#: admin/forms/import_.py:38
+#: forms/import_.py:38
msgid "Crypt passwords"
msgstr "Шифровать пароль"
-#: admin/forms/import_.py:40
+#: forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "Выберите эту опцию если пароль в вашем файле не зашифрован "
-#: admin/handlers.py:210
+#: handlers.py:215
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
-#: admin/handlers.py:223 admin/models/mailbox.py:338
+#: handlers.py:228 models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
msgstr "Почтовый ящик %s существует"
-#: admin/handlers.py:231
+#: handlers.py:236
#, fuzzy, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
-#: admin/handlers.py:271
-#: admin/templates/admin/_global_statistics_widget.html:17
-#: admin/templates/admin/_per_domain_statistics_widget.html:8
-#: admin/templates/admin/identities.html:5
+#: handlers.py:276 templates/admin/_global_statistics_widget.html:17
+#: templates/admin/_per_domain_statistics_widget.html:8
+#: templates/admin/identities.html:5
msgid "Identities"
msgstr "Пользователи"
-#: admin/handlers.py:287 admin/templates/admin/forward.html:2
+#: handlers.py:292 templates/admin/forward.html:2
msgid "Forward"
msgstr "Перенаправленые"
-#: admin/lib.py:38
+#: lib.py:48
msgid "A mailbox is required"
msgstr ""
-#: admin/lib.py:128
+#: lib.py:138
#, fuzzy
#| msgid "You can't delete your own domain"
msgid "You are not allowed to import domains"
msgstr "Вы не можете удалить собственный домен"
-#: admin/lib.py:139
+#: lib.py:149
msgid "You are not allowed to import domain aliases."
msgstr ""
-#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136
-#: admin/tests/test_mx.py:139
+#: lib.py:199 tests/test_mx.py:152 tests/test_mx.py:161 tests/test_mx.py:164
#, python-format
msgid "No DNS record found for %s"
msgstr ""
-#: admin/lib.py:192
+#: lib.py:202
#, python-format
msgid "No %(type)s record for %(name)s"
msgstr ""
-#: admin/lib.py:196 admin/tests/test_mx.py:131
+#: lib.py:206 tests/test_mx.py:156
msgid "No working name servers found"
msgstr ""
-#: admin/lib.py:199 admin/tests/test_mx.py:133
+#: lib.py:209 tests/test_mx.py:158
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr ""
-#: admin/lib.py:227
+#: lib.py:212
+#, python-format
+msgid "DNS name is too long: %s"
+msgstr ""
+
+#: lib.py:239
#, python-brace-format
msgid "Invalid IP address format for {domain}; {addr}"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:93
+#: lib.py:309
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Объект уже существует: %s"
+
+#: lib.py:313
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d объектов импортировано"
+
+#: management/commands/subcommands/_import.py:93
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: management/commands/subcommands/_import.py:105
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: management/commands/subcommands/_import.py:116
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:132
-msgid "[modoboa] DNSBL issue(s) for domain {}"
+#: management/commands/subcommands/_mx.py:121
+msgid "MX {} listed by DNSBL provider {}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:152
+#: management/commands/subcommands/_mx.py:169
+#, fuzzy
+#| msgid "Domain modified"
+msgid "Domain has no MX record"
+msgstr "Домен изменен"
+
+#: management/commands/subcommands/_mx.py:173
msgid "Domain {} has no MX record"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:163
+#: management/commands/subcommands/_mx.py:193
+msgid "Invalid MX record: {}"
+msgstr ""
+
+#: management/commands/subcommands/_mx.py:199
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:180
+#: management/commands/subcommands/_mx.py:213
msgid "[modoboa] MX issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:32 admin/models/mailbox.py:95
-msgid "address"
-msgstr "адрес"
-
-#: admin/models/alias.py:34
-#, fuzzy
-#| msgid "The alias name"
-msgid "The alias address."
-msgstr "Имя синонима"
-
-#: admin/models/alias.py:39 admin/models/domain.py:37
-#: admin/models/domain_alias.py:42
-msgid "enabled"
-msgstr "Разрешен"
-
-#: admin/models/alias.py:40 admin/models/domain_alias.py:43
-msgid "Check to activate this alias"
-msgstr "Отметить для активации синонима"
-
-#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32
-msgid "Description"
+#: management/commands/subcommands/_mx.py:271
+msgid "[modoboa] DNSBL issue(s) for domain {}"
msgstr ""
-#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29
-msgid "Expire at"
-msgstr ""
-
-#: admin/models/alias.py:87
-msgid "alias"
-msgstr "Синоним"
-
-#: admin/models/alias.py:119
-#, fuzzy
-#| msgid "Invalid request"
-msgid "Invalid address"
-msgstr "Ошибочный запрос"
-
-#: admin/models/alias.py:140
-#, fuzzy
-#| msgid "Local recipient %s not found"
-msgid "Local recipient {}@{} not found"
-msgstr "Локальный получатель %s не найден"
-
-#: admin/models/alias.py:170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Неверная строка %s"
-
-#: admin/models/alias.py:176
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "Домен '%s' не существует"
-
-#: admin/models/domain.py:27 admin/models/domain_alias.py:34
-msgid "name"
-msgstr "имя"
-
-#: admin/models/domain.py:28
-msgid "The domain name"
-msgstr "Имя домена"
-
-#: admin/models/domain.py:38
-msgid "Check to activate this domain"
-msgstr "Отметить для активации этого домена"
-
-#: admin/models/domain.py:43
-msgid "Enable DNS checks"
-msgstr ""
-
-#: admin/models/domain.py:44
-#, fuzzy
-#| msgid "Check to activate this domain"
-msgid "Check to enable DNS checks for this domain"
-msgstr "Отметить для активации этого домена"
-
-#: admin/models/domain.py:51
-msgid "Enable DKIM signing"
-msgstr ""
-
-#: admin/models/domain.py:53
-msgid ""
-"If you activate this feature, a DKIM key will be generated for this domain."
-msgstr ""
-
-#: admin/models/domain.py:59
-msgid "Key length"
-msgstr ""
-
-#: admin/models/domain.py:312 admin/models/domain_alias.py:67
-msgid "Invalid line"
-msgstr "Ошибочная строка"
-
-#: admin/models/domain.py:322
-msgid "No authorized MX record found for domain {}"
-msgstr ""
-
-#: admin/models/domain.py:329
-msgid "Invalid quota value for domain '{}'"
-msgstr ""
-
-#: admin/models/domain.py:336
-msgid "Invalid default mailbox quota value for domain '{}'"
-msgstr ""
-
-#: admin/models/domain.py:341
-msgid "Default mailbox quota cannot be greater than domain quota"
-msgstr ""
-
-#: admin/models/domain_alias.py:35
-msgid "The alias name"
-msgstr "Имя синонима"
-
-#: admin/models/domain_alias.py:37
-msgid "target"
-msgstr "адресат"
-
-#: admin/models/domain_alias.py:38
-msgid "The domain this alias points to"
-msgstr "Домен этого синонима указывает на"
-
-#: admin/models/domain_alias.py:76
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Неизвестный домен %s"
-
-#: admin/models/mailbox.py:97
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Адрес почтового ящика (без @domain.tld)"
-
-#: admin/models/mailbox.py:160
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Ошибка получения места находжения почтового ящика (%s)"
-
-#: admin/models/mailbox.py:253
-msgid "A quota is required"
-msgstr "Требуется квота"
-
-#: admin/models/mailbox.py:259
-#, fuzzy
-#| msgid "Domain created"
-msgid "Domain quota exceeded"
-msgstr "Домен создан"
-
-#: admin/serializers.py:37
-msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr ""
-
-#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410
-#, fuzzy
-#| msgid "Permissions"
-msgid "Permission denied."
-msgstr "Права"
-
-#: admin/serializers.py:158
-msgid ""
-"List of administered domains (resellers and domain administrators only)."
-msgstr ""
-
-#: admin/serializers.py:262
-msgid "Not allowed for this role."
-msgstr ""
-
-#: admin/serializers.py:274
-msgid "Must be equal to mailbox full_address"
-msgstr ""
-
-#: admin/serializers.py:299
-#, fuzzy
-#| msgid "Domain does not exist"
-msgid "Local domain {} does not exist"
-msgstr "Домен не существует"
-
-#: admin/serializers.py:397
-msgid "A list of recipient"
-msgstr ""
-
-#: admin/serializers.py:408
+#: models/alias.py:32
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
msgstr "Домен изменен"
-#: admin/serializers.py:457
+#: models/alias.py:37
#, fuzzy
-#| msgid "You don't have access to this domain"
-msgid "You don't have access to this domain."
-msgstr "Вы не имеете права доступа к этому домену"
+#| msgid "Alias with this name already exists"
+msgid "An alias with this name already exists."
+msgstr "Синоним с таким именем уже есть"
-#: admin/serializers.py:465
+#: models/alias.py:71 models/mailbox.py:92
+msgid "address"
+msgstr "адрес"
+
+#: models/alias.py:73
#, fuzzy
-#| msgid "You don't have access to this domain"
-msgid "You don't have access to this mailbox."
-msgstr "Вы не имеете права доступа к этому домену"
+#| msgid "The alias name"
+msgid "The alias address."
+msgstr "Имя синонима"
-#: admin/templates/admin/_domain_dkim_key.html:6
-#: admin/templates/admin/_domain_dkim_key.html:20
+#: models/alias.py:78 models/domain.py:43 models/domain_alias.py:41
+msgid "enabled"
+msgstr "Разрешен"
+
+#: models/alias.py:79 models/domain_alias.py:42
+msgid "Check to activate this alias"
+msgstr "Отметить для активации синонима"
+
+#: models/alias.py:84 templates/admin/alias_detail.html:32
+msgid "Description"
+msgstr ""
+
+#: models/alias.py:86 templates/admin/alias_detail.html:29
+msgid "Expire at"
+msgstr ""
+
+#: models/alias.py:127
+msgid "alias"
+msgstr "Синоним"
+
+#: models/alias.py:159
+#, fuzzy
+#| msgid "Invalid request"
+msgid "Invalid address"
+msgstr "Ошибочный запрос"
+
+#: models/alias.py:180
+#, fuzzy
+#| msgid "Local recipient %s not found"
+msgid "Local recipient {}@{} not found"
+msgstr "Локальный получатель %s не найден"
+
+#: models/alias.py:215
+#, fuzzy
+#| msgid "Invalid line: %s"
+msgid "Invalid line: {}"
+msgstr "Неверная строка %s"
+
+#: models/domain.py:26 models/domain_alias.py:33
+msgid "name"
+msgstr "имя"
+
+#: models/domain.py:27
+msgid "The domain name"
+msgstr "Имя домена"
+
+#: models/domain.py:39
+msgid "Number of messages this domain can send per day"
+msgstr ""
+
+#: models/domain.py:44
+msgid "Check to activate this domain"
+msgstr "Отметить для активации этого домена"
+
+#: models/domain.py:49
+msgid "Enable DNS checks"
+msgstr ""
+
+#: models/domain.py:50
+#, fuzzy
+#| msgid "Check to activate this domain"
+msgid "Check to enable DNS checks for this domain"
+msgstr "Отметить для активации этого домена"
+
+#: models/domain.py:57
+msgid "Enable DKIM signing"
+msgstr ""
+
+#: models/domain.py:59
+msgid ""
+"If you activate this feature, a DKIM key will be generated for this domain."
+msgstr ""
+
+#: models/domain.py:65
+msgid "Key length"
+msgstr ""
+
+#: models/domain.py:357 models/domain_alias.py:66
+msgid "Invalid line"
+msgstr "Ошибочная строка"
+
+#: models/domain.py:367
+msgid "{}: no authorized MX record found for domain"
+msgstr ""
+
+#: models/domain.py:374
+msgid "{}: invalid quota value for domain"
+msgstr ""
+
+#: models/domain.py:381
+msgid "{}: invalid default mailbox quota value for domain"
+msgstr ""
+
+#: models/domain.py:386
+msgid "{}: default mailbox quota cannot be greater than domain quota"
+msgstr ""
+
+#: models/domain_alias.py:34
+msgid "The alias name"
+msgstr "Имя синонима"
+
+#: models/domain_alias.py:36
+msgid "target"
+msgstr "адресат"
+
+#: models/domain_alias.py:37
+msgid "The domain this alias points to"
+msgstr "Домен этого синонима указывает на"
+
+#: models/domain_alias.py:75
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Неизвестный домен %s"
+
+#: models/mailbox.py:94
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Адрес почтового ящика (без @domain.tld)"
+
+#: models/mailbox.py:156
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr "Ошибка получения места находжения почтового ящика (%s)"
+
+#: models/mailbox.py:254
+msgid "A quota is required"
+msgstr "Требуется квота"
+
+#: models/mailbox.py:261
+#, fuzzy
+#| msgid "Domain created"
+msgid "{}: domain quota exceeded"
+msgstr "Домен создан"
+
+#: templates/admin/_domain_dkim_key.html:6
+#: templates/admin/_domain_dkim_key.html:20
msgid "Close"
msgstr ""
-#: admin/templates/admin/_domain_dkim_key.html:7
+#: templates/admin/_domain_dkim_key.html:7
#, python-format
msgid "DKIM public key for %(domain)s"
msgstr ""
-#: admin/templates/admin/_domain_dkim_key.html:11
+#: templates/admin/_domain_dkim_key.html:11
+msgid "Raw format. Click to copy"
+msgstr ""
+
+#: templates/admin/_domain_dkim_key.html:15
#, fuzzy
#| msgid "Invalid format"
-msgid "Raw format"
+msgid "Bind/named format. Click to copy"
msgstr "Неверный формат"
-#: admin/templates/admin/_domain_dkim_key.html:15
-#, fuzzy
-#| msgid "Invalid format"
-msgid "Bind/named format"
-msgstr "Неверный формат"
-
-#: admin/templates/admin/_domain_dnschecks_status.html:4
+#: templates/admin/_domain_dnschecks_status.html:4
#, fuzzy
msgctxt "checks"
msgid "Disabled"
msgstr "Разрешен"
-#: admin/templates/admin/_domain_dnschecks_status.html:6
+#: templates/admin/_domain_dnschecks_status.html:6
msgid "Awaiting checks"
msgstr ""
-#: admin/templates/admin/_domain_dnschecks_status.html:16
-#: admin/templates/admin/_domain_dnschecks_status.html:26
-#: admin/templates/admin/_domain_dnschecks_status.html:34
-#: admin/templates/admin/_domain_dnschecks_status.html:42
+#: templates/admin/_domain_dnschecks_status.html:16
+#: templates/admin/_domain_dnschecks_status.html:26
+#: templates/admin/_domain_dnschecks_status.html:34
+#: templates/admin/_domain_dnschecks_status.html:42
#, fuzzy
#| msgid "Domain modified"
msgid "No record found"
msgstr "Домен изменен"
-#: admin/templates/admin/_domain_dnschecks_status.html:24
+#: templates/admin/_domain_dnschecks_status.html:24
msgid "Waiting for key to be generated"
msgstr ""
-#: admin/templates/admin/_global_statistics_widget.html:4
+#: templates/admin/_global_statistics_widget.html:4
#, fuzzy
#| msgid "Statistics"
msgid "Global statistics"
msgstr "Статистика"
-#: admin/templates/admin/_global_statistics_widget.html:8
+#: templates/admin/_global_statistics_widget.html:8
#, fuzzy
msgid "Quantity"
msgstr "Карантин"
-#: admin/templates/admin/_global_statistics_widget.html:14
-#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:73
+#: templates/admin/_global_statistics_widget.html:14
+#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:87
msgid "Domain aliases"
msgstr "Синонимы доменов"
-#: admin/templates/admin/_per_domain_statistics_widget.html:4
+#: templates/admin/_per_domain_statistics_widget.html:4
msgid "Per-domain statistics"
msgstr ""
-#: admin/templates/admin/account_detail.html:16
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/domain_detail.html:19
-#: admin/templates/admin/identities_table.html:7
+#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16
+#: templates/admin/domain_detail.html:19
+#: templates/admin/identities_table.html:7
#, fuzzy
msgid "(disabled)"
msgstr "Разрешен"
-#: admin/templates/admin/account_detail.html:22
-#: admin/templates/admin/alias_detail.html:22
-#: admin/templates/admin/domain_detail.html:25
+#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22
+#: templates/admin/domain_detail.html:25
msgid "Summary"
msgstr ""
-#: admin/templates/admin/account_detail.html:26
+#: templates/admin/account_detail.html:26
#, fuzzy
#| msgid "File name"
msgid "Full name"
msgstr "Имя файла"
-#: admin/templates/admin/account_detail.html:32
-#: admin/templates/admin/alias_detail.html:26
+#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26
#, fuzzy
#| msgid "Create"
msgid "Created"
msgstr "Создать"
-#: admin/templates/admin/account_detail.html:35
+#: templates/admin/account_detail.html:35
msgid "Last login"
msgstr ""
-#: admin/templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:38
msgid "Secondary email"
msgstr ""
-#: admin/templates/admin/account_detail.html:38
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:41
#, fuzzy
#| msgid "No recipient defined"
msgid "Not defined"
msgstr "Получатель не определен"
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:41
msgid "Phone number"
msgstr ""
-#: admin/templates/admin/account_detail.html:55
+#: templates/admin/account_detail.html:61
#, fuzzy
msgid "Administered domains"
msgstr "Список квот"
-#: admin/templates/admin/account_detail.html:61
+#: templates/admin/account_detail.html:67
#, fuzzy
#| msgid "No recipient defined"
msgid "No domain defined."
msgstr "Получатель не определен"
-#: admin/templates/admin/account_detail.html:75
+#: templates/admin/account_detail.html:81
#, fuzzy
#| msgid "Alias(es)"
msgid "Aliases"
msgstr "Синоним(ы)"
-#: admin/templates/admin/account_detail.html:81
+#: templates/admin/account_detail.html:87
#, fuzzy
#| msgid "No recipient defined"
msgid "No alias defined"
msgstr "Получатель не определен"
-#: admin/templates/admin/account_detail.html:87
+#: templates/admin/account_detail.html:93
msgid "Additional sender addresses"
msgstr ""
-#: admin/templates/admin/account_detail.html:93
+#: templates/admin/account_detail.html:99
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:12
-#: admin/templates/admin/aliasform.html:13
+#: templates/admin/account_general_form.html:12
+#: templates/admin/aliasform.html:13
#, fuzzy
msgid "Domain is disabled"
msgstr "Домен удален"
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/identities.html:33
+#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33
#, fuzzy
#| msgid "alias"
msgid "Alias"
msgstr "Синоним"
-#: admin/templates/admin/alias_detail.html:27
+#: templates/admin/alias_detail.html:27
#, fuzzy
#| msgid "Alias modified"
msgid "Modified"
msgstr "Синоним изменен"
-#: admin/templates/admin/dnsbl_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:10
msgid "Provider"
msgstr ""
-#: admin/templates/admin/dnsbl_domain_detail.html:11
-#: admin/templates/admin/identities_quota_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:11
+#: templates/admin/identities_quota_headers.html:2
+#: templates/admin/mx_domain_detail.html:10
msgid "Address"
msgstr "Адрес"
-#: admin/templates/admin/dnsbl_domain_detail.html:12
-#: admin/templates/admin/domain_detail.html:100
-#: admin/templates/admin/messages_log_headers.html:6
+#: templates/admin/dnsbl_domain_detail.html:12
+#: templates/admin/domain_detail.html:114
+#: templates/admin/domains_log_headers.html:6
+#: templates/admin/messages_log_headers.html:6
#, fuzzy
#| msgid "Statistics"
msgid "Status"
msgstr "Статистика"
-#: admin/templates/admin/dnsbl_domain_detail.html:21
+#: templates/admin/dnsbl_domain_detail.html:21
msgid "listed"
msgstr ""
-#: admin/templates/admin/dnsbl_domain_detail.html:29
+#: templates/admin/dnsbl_domain_detail.html:29
msgid "Everything is fine, this domain is not listed."
msgstr ""
-#: admin/templates/admin/dnsbl_domain_detail.html:32
+#: templates/admin/dnsbl_domain_detail.html:32
msgid "No information available for this domain."
msgstr ""
-#: admin/templates/admin/domain_detail.html:29
+#: templates/admin/domain_alarms.html:19
+msgid "Opened alarms for"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:25
+#: templates/admin/domains_log_headers.html:3
+#: templates/admin/messages_log_headers.html:3
+msgid "Date"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:26
+#, fuzzy
+#| msgid "Usage (%%)"
+msgid "Message"
+msgstr "использование (%%)"
+
+#: templates/admin/domain_alarms.html:27
+#, fuzzy
+#| msgid "Mailboxes"
+msgid "Mailbox"
+msgstr "Почтовые ящики"
+
+#: templates/admin/domain_alarms.html:40
+msgid "No opened alarm"
+msgstr ""
+
+#: templates/admin/domain_detail.html:29
msgid "Creation date"
msgstr "Дата создания"
-#: admin/templates/admin/domain_detail.html:33
+#: templates/admin/domain_detail.html:33
msgid "Last modification date"
msgstr "Дата последней модификации"
-#: admin/templates/admin/domain_detail.html:45
+#: templates/admin/domain_detail.html:45
msgid "Mailbox aliases"
msgstr "Синонимы почтового ящика"
-#: admin/templates/admin/domain_detail.html:50
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domain_detail.html:65
-#: admin/templates/admin/domains_quotas.html:11
-#: admin/templates/admin/domains_quotas.html:12
-#: admin/templates/admin/newdomainform.html:3
+#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57
+#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65
+#: templates/admin/domains_quotas.html:11
+#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3
msgid "MB"
msgstr "Мб"
-#: admin/templates/admin/domain_detail.html:54
+#: templates/admin/domain_detail.html:54 templates/admin/domain_detail.html:73
#, fuzzy
#| msgid "Usage (%%)"
msgid "Usage"
msgstr "использование (%%)"
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domains_quotas.html:11
+#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11
msgctxt "quota"
msgid "used"
msgstr ""
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domains_quotas.html:12
+#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12
msgid "allocated"
msgstr ""
-#: admin/templates/admin/domain_detail.html:92
+#: templates/admin/domain_detail.html:70
+msgid "per day"
+msgstr ""
+
+#: templates/admin/domain_detail.html:76
+msgctxt "message count"
+msgid "used"
+msgstr ""
+
+#: templates/admin/domain_detail.html:106
msgid "DNS"
msgstr ""
-#: admin/templates/admin/domain_detail.html:107
+#: templates/admin/domain_detail.html:121
msgid "DKIM key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:111
+#: templates/admin/domain_detail.html:125
msgid "Show key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:113
+#: templates/admin/domain_detail.html:133
+msgid "Warning"
+msgstr ""
+
+#: templates/admin/domain_detail.html:139
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgstr ""
+
+#: templates/admin/domain_detail.html:142
+msgid "No"
+msgstr ""
+
+#: templates/admin/domain_detail.html:143
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:115
+#: templates/admin/domain_detail.html:143
+msgid "Yes"
+msgstr ""
+
+#: templates/admin/domain_detail.html:149
#, fuzzy
#| msgid "No recipient defined"
msgid "Not generated"
msgstr "Получатель не определен"
-#: admin/templates/admin/domain_detail.html:122
+#: templates/admin/domain_detail.html:156
msgid "Administrators"
msgstr "Администраторы"
-#: admin/templates/admin/domain_detail.html:134
-#: admin/templatetags/admin_tags.py:265
+#: templates/admin/domain_detail.html:168 templatetags/admin_tags.py:279
msgid "Remove this permission"
msgstr "Удалить это разрешение"
-#: admin/templates/admin/domain_detail.html:139
+#: templates/admin/domain_detail.html:173
#, fuzzy
#| msgid "No domain administrator defined"
msgid "No domain administrator defined yet."
msgstr "Администратор домена не определен"
-#: admin/templates/admin/domain_headers.html:5
-#: admin/templates/admin/identity_headers.html:4
+#: templates/admin/domain_headers.html:5
+#: templates/admin/identity_headers.html:4
msgid "Tags"
msgstr "Теги"
-#: admin/templates/admin/domain_headers.html:7
+#: templates/admin/domain_headers.html:7
#, fuzzy
#| msgid "Statistics"
msgid "DNS status"
msgstr "Статистика"
-#: admin/templates/admin/domain_headers.html:9
-#: admin/templates/admin/identity_headers.html:5
+#: templates/admin/domain_headers.html:9
+#: templates/admin/identity_headers.html:5
msgid "Actions"
msgstr "Действие"
-#: admin/templates/admin/domain_options_form.html:10
+#: templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr ""
-#: admin/templates/admin/domains.html:28
-#: admin/templates/admin/identities.html:29
+#: templates/admin/domains.html:28 templates/admin/identities.html:29
#, fuzzy
#| msgid "Address"
msgid "Add"
msgstr "Адрес"
-#: admin/templates/admin/domains_quota_headers.html:3
-#: admin/templates/admin/identities_quota_headers.html:4
+#: templates/admin/domains_log_headers.html:2
+msgid "Queue ID"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:4
+#: templates/admin/messages_log_headers.html:4
+msgid "From"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:5
+#: templates/admin/messages_log_headers.html:5
+msgid "To"
+msgstr ""
+
+#: templates/admin/domains_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:4
msgid "Limit"
msgstr "Лимит"
-#: admin/templates/admin/domains_quota_headers.html:4
+#: templates/admin/domains_quota_headers.html:4
msgid "Used"
msgstr ""
-#: admin/templates/admin/domains_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:5
#, fuzzy
#| msgid "Alias created"
msgid "Allocated"
msgstr "Синоним создан"
-#: admin/templates/admin/domains_quota_headers.html:6
-#: admin/templates/admin/identities_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:6
+#: templates/admin/identities_quota_headers.html:5
#, python-format
msgid "Usage (%%)"
msgstr "использование (%%)"
-#: admin/templates/admin/domains_table.html:5
+#: templates/admin/domains_table.html:5
#, fuzzy
msgid "disabled"
msgstr "Разрешен"
-#: admin/templates/admin/forward.html:2
+#: templates/admin/forward.html:2
msgid "Automatically forward emails to another address"
msgstr "Автоматически перенаправлять письма на другой адрес"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:87
+#: templates/admin/forward.html:9 views/alias.py:88
msgid "Update"
msgstr "Обновление"
-#: admin/templates/admin/identities.html:32
+#: templates/admin/identities.html:32
#, fuzzy
#| msgid "Add account"
msgid "Account"
msgstr "Добавить аккаунт"
-#: admin/templates/admin/identities_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:3
msgid "Value"
msgstr "Значение"
-#: admin/templates/admin/identity_headers.html:3
+#: templates/admin/identity_headers.html:3
msgid "Fullname/Recipient"
msgstr "Полное имя/получатель"
-#: admin/templates/admin/import_domains_form.html:6
+#: templates/admin/import_domains_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: "
"- domain; name; quota; default mailbox quota; enabled
"
@@ -1287,7 +1418,7 @@ msgid ""
"use a different character as separator."
msgstr ""
-#: admin/templates/admin/import_identities_form.html:6
+#: 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; "
@@ -1297,156 +1428,150 @@ msgid ""
"use a different character as separator."
msgstr ""
-#: admin/templates/admin/importform.html:6
+#: templates/admin/importform.html:6
msgid "Help"
msgstr "Подсказка"
-#: admin/templates/admin/importform.html:13
+#: templates/admin/importform.html:13
msgid "Importing..."
msgstr "Импорт..."
-#: admin/templates/admin/index.html:6
-msgid "Admin"
-msgstr ""
-
-#: admin/templates/admin/mailboxes_raw.html:3
+#: templates/admin/mailboxes_raw.html:3
msgid "Choose a value"
msgstr "Выбрать значение"
-#: admin/templates/admin/mailform.html:7
+#: templates/admin/mailform.html:7
msgid "Use domain default value"
msgstr "Используются значения домена по умолчанию "
-#: admin/templates/admin/messages_log_headers.html:2
+#: templates/admin/messages_log_headers.html:2
msgid "ID"
msgstr ""
-#: admin/templates/admin/messages_log_headers.html:3
-msgid "Date"
-msgstr ""
-
-#: admin/templates/admin/messages_log_headers.html:4
-msgid "From"
-msgstr ""
-
-#: admin/templates/admin/messages_log_headers.html:5
-msgid "To"
-msgstr ""
-
-#: admin/templates/admin/mx_domain_detail.html:11
+#: templates/admin/mx_domain_detail.html:11
#, fuzzy
#| msgid "Update"
msgid "Updated"
msgstr "Обновление"
-#: admin/templates/admin/mx_domain_detail.html:23
+#: templates/admin/mx_domain_detail.html:23
msgid "This IP does not match any of the valid MXs defined in parameters"
msgstr ""
-#: admin/templates/admin/mx_domain_detail.html:36
+#: templates/admin/mx_domain_detail.html:36
msgid "No MX record found for this domain."
msgstr ""
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
+#: templates/admin/notifications/domain_in_dnsbl.html:3
#, python-format
msgid ""
"Modoboa detected that domain %(domain)s is listed by the following DNSBL "
"providers:"
msgstr ""
-#: admin/templates/admin/notifications/domain_in_dnsbl.html:11
+#: templates/admin/notifications/domain_in_dnsbl.html:11
msgid ""
"The domain's reputation will be affected and there is a chance that emails "
"coming from it are considered as spam. You should contact those providers "
"and ask them to unlist detected IP address(es)."
msgstr ""
-#: admin/templates/admin/notifications/domain_invalid_mx.html:3
+#: templates/admin/notifications/domain_invalid_mx.html:3
#, python-format
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
msgstr ""
-#: admin/templates/admin/searchform.html:6
+#: templates/admin/searchform.html:6
msgid "Search"
msgstr "Поиск"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_m"
msgstr "enabled_m"
-#: admin/templatetags/admin_tags.py:19
+#: templatetags/admin_tags.py:19
msgid "enabled_f"
msgstr "enabled_f"
-#: admin/templatetags/admin_tags.py:45
+#: templatetags/admin_tags.py:47
#, fuzzy
msgid "List domains"
msgstr "Список квот"
-#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105
+#: templatetags/admin_tags.py:52 templatetags/admin_tags.py:112
msgid "List quotas"
msgstr "Список квот"
-#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110
-#: admin/views/import_.py:85 admin/views/import_.py:107
+#: templatetags/admin_tags.py:57
+msgid "Message logs"
+msgstr ""
+
+#: templatetags/admin_tags.py:69 templatetags/admin_tags.py:117
+#: views/import_.py:56 views/import_.py:78
msgid "Import"
msgstr "Импорт"
-#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116
-#: admin/views/export.py:39 admin/views/export.py:67
+#: templatetags/admin_tags.py:75 templatetags/admin_tags.py:123
+#: views/export.py:39 views/export.py:67
msgid "Export"
msgstr "Экспорт"
-#: admin/templatetags/admin_tags.py:100
+#: templatetags/admin_tags.py:107
msgid "List identities"
msgstr "Список пользователей"
-#: admin/templatetags/admin_tags.py:135
+#: templatetags/admin_tags.py:142
msgid "View the domain's identities"
msgstr "Информация о домене"
-#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184
-#: admin/templatetags/admin_tags.py:197
+#: templatetags/admin_tags.py:149
+#, fuzzy
+#| msgid "The domain name"
+msgid "View domain's alarms"
+msgstr "Имя домена"
+
+#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:198
+#: templatetags/admin_tags.py:211
msgid "Edit {}"
msgstr ""
-#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188
-#: admin/templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:165 templatetags/admin_tags.py:202
+#: templatetags/admin_tags.py:216
#, python-format
msgid "Delete %s?"
msgstr "Удалить %s?"
-#: admin/tests/test_mx.py:130
+#: tests/test_mx.py:155
#, python-format
msgid "No MX record for %s"
msgstr ""
-#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145
+#: tests/test_mx.py:167 tests/test_mx.py:170
#, python-format
msgid "Invalid IP address format for %(domain)s; %(addr)s"
msgstr ""
-#: admin/views/alias.py:29
+#: views/alias.py:30
msgid "Alias with this name already exists"
msgstr "Синоним с таким именем уже есть"
-#: admin/views/alias.py:54
+#: views/alias.py:55
msgid "Create"
msgstr "Создать"
-#: admin/views/alias.py:66
+#: views/alias.py:67
msgid "New alias"
msgstr "Новый синоним"
-#: admin/views/alias.py:67
+#: views/alias.py:68
msgid "Alias created"
msgstr "Синоним создан"
-#: admin/views/alias.py:79
+#: views/alias.py:80
msgid "Alias modified"
msgstr "Синоним изменен"
-#: admin/views/alias.py:103
+#: views/alias.py:105
#, fuzzy
#| msgid "Alias created"
msgid "Alias deleted"
@@ -1455,67 +1580,67 @@ msgstr[0] "Синоним создан"
msgstr[1] "Синоним создан"
msgstr[2] "Синоним создан"
-#: admin/views/dns.py:28
+#: views/dns.py:28
msgid "MX records of {}"
msgstr ""
-#: admin/views/dns.py:51
+#: views/dns.py:51
msgid "DNSBL summary for {}"
msgstr ""
-#: admin/views/domain.py:202
-msgid "You can't delete your own domain"
-msgstr "Вы не можете удалить собственный домен"
-
-#: admin/views/domain.py:205
+#: views/domain.py:249
msgid "Domain deleted"
msgid_plural "Domains deleted"
msgstr[0] "Домен удален"
msgstr[1] "Домена удалено"
msgstr[2] "Доменов удалено"
-#: admin/views/export.py:38
+#: views/export.py:38
msgid "Export identities"
msgstr "Экспорт пользователя"
-#: admin/views/export.py:66
+#: views/export.py:66
msgid "Export domains"
msgstr "Экспорт доменов"
-#: admin/views/identity.py:107 admin/views/identity.py:201
-#: admin/views/identity.py:206
+#: views/identity.py:108 views/identity.py:204 views/identity.py:209
msgid "Invalid request"
msgstr "Ошибочный запрос"
-#: admin/views/identity.py:191
+#: views/identity.py:193
msgid "Account deleted"
msgid_plural "Accounts deleted"
msgstr[0] "Аккаунт удален"
msgstr[1] "Аккаунта удалено"
msgstr[2] "Аккаунтов удалено"
-#: admin/views/import_.py:61
-#, python-format
-msgid "Object already exists: %s"
-msgstr "Объект уже существует: %s"
-
-#: admin/views/import_.py:65
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d объектов импортировано"
-
-#: admin/views/import_.py:84
+#: views/import_.py:55
msgid "Import domains"
msgstr "Импорт доменов"
-#: admin/views/import_.py:106
+#: views/import_.py:77
msgid "Import identities"
msgstr "Импорт информации о пользователях"
-#: admin/views/user.py:36
+#: views/user.py:52
msgid "Forward updated"
msgstr "Перенаправление обновлено"
+#~ msgid "Mailboxes owner"
+#~ msgstr "Почтовые ящики закончились"
+
+#~ msgid "The UNIX account who owns mailboxes on the filesystem"
+#~ msgstr "UNIX аккаунт владельца почтового ящика на диске"
+
+#, python-format
+#~ msgid "Domain '%s' does not exist"
+#~ msgstr "Домен '%s' не существует"
+
+#, fuzzy
+#~| msgid "Invalid format"
+#~ msgid "Raw format"
+#~ msgstr "Неверный формат"
+
#~ msgid "File name"
#~ msgstr "Имя файла"
diff --git a/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po
index a8a27971a..8391f79fb 100644
--- a/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po
+++ b/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po
@@ -2,38 +2,40 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
-#
+#
# Translators:
# Antoine Nguyen , 2023
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-03-09 16:48+0100\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2023-02-22 16:16+0000\n"
"Last-Translator: Antoine Nguyen , 2023\n"
"Language-Team: Russian (https://www.transifex.com/tonio/teams/13749/ru/)\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ru\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/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174
+#: static/admin/js/admin.js:129 static/admin/js/admin.js:174
msgid "No more domain to show"
msgstr "Нет больше доменов для показа"
-#: admin/static/admin/js/admin.js:149
+#: static/admin/js/admin.js:149
msgid "Do not delete domain directory"
msgstr "Не удаляйте каталог домена"
-#: admin/static/admin/js/admin.js:151
+#: static/admin/js/admin.js:151
msgid "This operation will remove ALL data associated to this domain."
msgstr "Эта операция удалит ВСЕ данные, связанные с этим доменом."
-#: admin/static/admin/js/admin.js:152
+#: static/admin/js/admin.js:152
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
@@ -41,18 +43,24 @@ msgstr ""
"Эта операция удалит ВСЕ данные, связанные с этим доменом, за исключением "
"аккаунтов."
-#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433
+#: static/admin/js/admin.js:177 static/admin/js/admin.js:436
msgid "No more quota to show"
msgstr "Нет больше квоты для показа"
-#: admin/static/admin/js/admin.js:306
+#: static/admin/js/admin.js:180
+#, fuzzy
+#| msgid "No more quota to show"
+msgid "No more log to show"
+msgstr "Нет больше квоты для показа"
+
+#: static/admin/js/admin.js:309
msgid "No domain administrator defined"
msgstr "Не указан администратор домена"
-#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430
+#: static/admin/js/admin.js:365 static/admin/js/admin.js:433
msgid "No more identity to show"
msgstr "Нет личности для показа"
-#: admin/static/admin/js/admin.js:404
+#: static/admin/js/admin.js:407
msgid "Do not delete mailbox directory"
msgstr "Не удаляйте каталог почтовых ящиков"
diff --git a/modoboa/admin/locale/sv/LC_MESSAGES/django.po b/modoboa/admin/locale/sv/LC_MESSAGES/django.po
index 5053a186b..192eb4bf3 100644
--- a/modoboa/admin/locale/sv/LC_MESSAGES/django.po
+++ b/modoboa/admin/locale/sv/LC_MESSAGES/django.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-06 13:15+0200\n"
+"POT-Creation-Date: 2023-02-22 18:52+0100\n"
"PO-Revision-Date: 2018-08-14 08:35+0000\n"
"Last-Translator: Olle Gustafsson \n"
"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/"
@@ -21,29 +21,138 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/api.py:142
+#: api/v1/serializers.py:35 forms/domain.py:44
+#, fuzzy
+#| msgid ""
+#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgid ""
+"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
+"A value of 0 means no quota."
+msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota."
+
+#: api/v1/serializers.py:42
+msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
+msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota."
+
+#: api/v1/serializers.py:73 forms/domain.py:108
+msgid "No authorized MX record found for this domain"
+msgstr "Inga auktoriserade MX inlägg finns för denna domänen"
+
+#: api/v1/serializers.py:91 forms/domain.py:150
+msgid "Cannot be greater than domain quota"
+msgstr "Får inte vara större än domän kvot"
+
+#: api/v1/serializers.py:126 api/v1/serializers.py:321
+#: api/v2/serializers.py:430 models/alias.py:34
+msgid "Permission denied."
+msgstr "Åtskomst nekad."
+
+#: api/v1/serializers.py:177 api/v2/serializers.py:73 api/v2/serializers.py:359
+#: forms/alias.py:108 forms/alias.py:110
+msgid "This field is required"
+msgstr "Detta fält krävs"
+
+#: api/v1/serializers.py:189
+msgid ""
+"List of administered domains (resellers and domain administrators only)."
+msgstr ""
+"Lista över administrerade domäner (endast återförsäljare och "
+"domänadministratörer)."
+
+#: api/v1/serializers.py:295 api/v2/serializers.py:409
+msgid "Not allowed for this role."
+msgstr "Inte tillåtet för denna roll."
+
+#: api/v1/serializers.py:313
+msgid "Must be equal to mailbox full_address"
+msgstr "Måste vara lika med brevlådans full_address"
+
+#: api/v1/serializers.py:350 api/v2/serializers.py:454 forms/account.py:178
+#: forms/account.py:180 forms/domain.py:165 forms/domain.py:294
+#: forms/domain.py:297
+msgid "This field is required."
+msgstr "Detta fält krävs."
+
+#: api/v1/serializers.py:362 api/v2/serializers.py:471
+msgid "Local domain {} does not exist"
+msgstr "Lokal domän {} finns inte"
+
+#: api/v1/serializers.py:448
+msgid "A list of recipient"
+msgstr "En lista på mottagare"
+
+#: api/v1/serializers.py:495
+msgid "You don't have access to this domain."
+msgstr "Du har inte åtkomst till denna domän."
+
+#: api/v1/serializers.py:503
+msgid "You don't have access to this mailbox."
+msgstr "Du har inte åtkomst till denna brevlåda."
+
+#: api/v1/viewsets.py:175
msgid "Here is your new Modoboa password: {}"
msgstr ""
-#: admin/app_settings.py:20 admin/handlers.py:261
-#: admin/templates/admin/_global_statistics_widget.html:11
-#: admin/templates/admin/domains.html:5
+#: api/v2/serializers.py:99 forms/domain.py:314
+#, python-format
+msgid "User '%s' already exists"
+msgstr "Användare '%s' finns redan"
+
+#: api/v2/serializers.py:209 api/v2/serializers.py:217 app_settings.py:237
+#: app_settings.py:245 forms/account.py:351
+msgid "Must be a positive integer"
+msgstr "Måste vara ett positivt heltal"
+
+#: api/v2/serializers.py:226 app_settings.py:255
+msgid "Directory not found."
+msgstr "Katalog kunde ej hittas."
+
+#: api/v2/serializers.py:231 app_settings.py:261
+msgid "openssl not found, please make sure it is installed."
+msgstr "openssl hittades inte, kontroller att det är installerat."
+
+#: api/v2/serializers.py:246 app_settings.py:278
+msgid "This field only allows valid IP addresses (or networks)"
+msgstr ""
+
+#: api/v2/serializers.py:258 app_settings.py:293
+msgid "Define at least one authorized network / address"
+msgstr "Ange åtminstonde en auktoriserad nätverk / adress"
+
+#: api/v2/serializers.py:459
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "A mailbox is required to create aliases."
+msgstr "En brevlåda krävs"
+
+#: api/v2/viewsets.py:74 forms/account.py:365 forms/account.py:373
+#: forms/alias.py:91
+msgid "You don't have access to this domain"
+msgstr "Du har inte åtkomst till denna domän"
+
+#: api/v2/viewsets.py:77 views/domain.py:246
+msgid "You can't delete your own domain"
+msgstr "Du kan inte radera din egen domän"
+
+#: app_settings.py:23 app_settings.py:300 handlers.py:266
+#: templates/admin/_global_statistics_widget.html:11
+#: templates/admin/domains.html:5
msgid "Domains"
msgstr "Domäner"
-#: admin/app_settings.py:23
+#: app_settings.py:26 app_settings.py:303
msgid "Enable MX checks"
msgstr "Aktivera MX kontroll"
-#: admin/app_settings.py:26
+#: app_settings.py:29 app_settings.py:305
msgid "Check that every domain has a valid MX record"
msgstr "Kontrollera att varje domän har ett giltigt MX record"
-#: admin/app_settings.py:31
+#: app_settings.py:34 app_settings.py:309
msgid "Valid MXs"
msgstr "Giltiga MX"
-#: admin/app_settings.py:34
+#: app_settings.py:37 app_settings.py:312
msgid ""
"A list of IP or network address every MX record should match. A warning will "
"be sent if a record does not respect it."
@@ -51,11 +160,11 @@ msgstr ""
"En lista över IP eller nätverksadresser varje MX record skall matcha. En "
"varning kommer skickas om ett record inte matchar."
-#: admin/app_settings.py:42
+#: app_settings.py:45 app_settings.py:318
msgid "New domains must use authorized MX(s)"
msgstr "Nya domäner måste använda auktoriseradade MX inlägg"
-#: admin/app_settings.py:45
+#: app_settings.py:48 app_settings.py:321
msgid ""
"Prevent the creation of a new domain if its MX record does not use one of "
"the defined addresses."
@@ -63,75 +172,75 @@ msgstr ""
"Förhindra uppskapandet av nya domäner om ett MX inlägg inte använder ett "
"fördefinerat."
-#: admin/app_settings.py:51
+#: app_settings.py:54 app_settings.py:326
#, fuzzy
#| msgid "Enable DNS checks"
msgid "Enable SPF checks"
msgstr "Aktivera DNS kontroller"
-#: admin/app_settings.py:54
+#: app_settings.py:57 app_settings.py:328
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid SPF record"
msgstr "Kontrollera att varje domän har ett giltigt MX record"
-#: admin/app_settings.py:59
+#: app_settings.py:62 app_settings.py:332
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DKIM checks"
msgstr "Aktivera MX kontroll"
-#: admin/app_settings.py:62
+#: app_settings.py:65 app_settings.py:334
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
msgstr "Kontrollera att varje domän har ett giltigt MX record"
-#: admin/app_settings.py:68
+#: app_settings.py:71 app_settings.py:339
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable DMARC checks"
msgstr "Aktivera MX kontroll"
-#: admin/app_settings.py:71
+#: app_settings.py:74 app_settings.py:341
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid DMARC record"
msgstr "Kontrollera att varje domän har ett giltigt MX record"
-#: admin/app_settings.py:76
+#: app_settings.py:79 app_settings.py:345
#, fuzzy
#| msgid "Enable MX checks"
msgid "Enable autoconfig checks"
msgstr "Aktivera MX kontroll"
-#: admin/app_settings.py:79
+#: app_settings.py:82 app_settings.py:347
#, fuzzy
#| msgid "Check that every domain has a valid MX record"
msgid "Check if every domain has a valid records for autoconfiguration"
msgstr "Kontrollera att varje domän har ett giltigt MX record"
-#: admin/app_settings.py:84
+#: app_settings.py:87 app_settings.py:352
msgid "Enable DNSBL checks"
msgstr "Aktivera DNSBL kontroller"
-#: admin/app_settings.py:87
+#: app_settings.py:90 app_settings.py:354
msgid "Check every domain against major DNSBL providers"
msgstr "Kontrollera varje domän mot större DNSBL leverantörer"
-#: admin/app_settings.py:92
+#: app_settings.py:95 app_settings.py:358
msgid "Custom DNS server"
msgstr ""
-#: admin/app_settings.py:95
+#: app_settings.py:99 app_settings.py:360
msgid "Use a custom DNS server instead of local server configuration"
msgstr ""
-#: admin/app_settings.py:100
+#: app_settings.py:104 app_settings.py:365
msgid "DKIM keys storage directory"
msgstr "DKIM nycklar lagrings katalog"
-#: admin/app_settings.py:103
+#: app_settings.py:107 app_settings.py:367
msgid ""
"Absolute path of the directory where DKIM private keys will be stored. Make "
"sure this directory belongs to root user and is not readable by the outside "
@@ -141,43 +250,19 @@ msgstr ""
"till att den här katalogen ägs av root-användaren och inte kan läsas av "
"utomstående."
-#: admin/app_settings.py:111
+#: app_settings.py:115 app_settings.py:373
msgid "Default DKIM key length"
msgstr "Standard DKIM nyckellängd"
-#: admin/app_settings.py:115
+#: app_settings.py:119 app_settings.py:375
msgid "Default length in bits for newly generated DKIM keys."
msgstr "Standardlängd i bitar för genererade DKIM nycklar."
-#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41
-msgid "Mailboxes"
-msgstr "Brevlådor"
-
-#: admin/app_settings.py:122
-msgid "Handle mailboxes on filesystem"
-msgstr "Hantera brevlådor på filsystem"
-
-#: admin/app_settings.py:125
-msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
-msgstr ""
-"Byt namn på eller ta bort brevlådor på filsystemet när de kommer byta namn "
-"eller tas bort inom Modoboa"
-
-#: admin/app_settings.py:131
-msgid "Mailboxes owner"
-msgstr "Brevlådans ägare"
-
-#: admin/app_settings.py:134
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "Den UNIX-konto som äger brevlådor på filsystemet"
-
-#: admin/app_settings.py:139
+#: app_settings.py:124 app_settings.py:379
msgid "Default domain quota"
msgstr "Standard domän kvota"
-#: admin/app_settings.py:142
+#: app_settings.py:127 app_settings.py:381
msgid ""
"Default quota (in MB) applied to freshly created domains with no value "
"specified. A value of 0 means no quota."
@@ -185,12 +270,41 @@ msgstr ""
"Standard kvota (i MB) applicerad på nyskapade domäner som inte har något "
"värde specificerat. Ett värde på 0 betyder ingen kvota."
-#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33
-#: admin/templates/admin/domain_detail.html:64
+#: app_settings.py:133 app_settings.py:386
+#, fuzzy
+#| msgid "Default domain quota"
+msgid "Default domain sending limit"
+msgstr "Standard domän kvota"
+
+#: app_settings.py:136 app_settings.py:388
+msgid ""
+"Number of messages freshly created domains will be allowed to send per day. "
+"Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:141 app_settings.py:395
+#: templates/admin/domain_detail.html:41
+msgid "Mailboxes"
+msgstr "Brevlådor"
+
+#: app_settings.py:144 app_settings.py:398
+msgid "Handle mailboxes on filesystem"
+msgstr "Hantera brevlådor på filsystem"
+
+#: app_settings.py:147 app_settings.py:400
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Byt namn på eller ta bort brevlådor på filsystemet när de kommer byta namn "
+"eller tas bort inom Modoboa"
+
+#: app_settings.py:153 app_settings.py:405 forms/domain.py:49
+#: models/domain.py:32 templates/admin/domain_detail.html:64
msgid "Default mailbox quota"
msgstr "Standard brevlåde kvota"
-#: admin/app_settings.py:151
+#: app_settings.py:156
#, fuzzy
#| msgid ""
#| "Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -202,66 +316,83 @@ msgstr ""
"Standard brevlåde kvota (i MB) applicerad på nyligen skapade domäner där "
"inget värde angetts. 0 betyder ingen kvota."
-#: admin/app_settings.py:157
+#: app_settings.py:162 app_settings.py:413
+#, fuzzy
+#| msgid "Default mailbox quota"
+msgid "Default mailbox sending limit"
+msgstr "Standard brevlåde kvota"
+
+#: app_settings.py:165 app_settings.py:415
+msgid ""
+"Number of messages freshly created mailboxes will be allowed to send per "
+"day. Leave empty for no limit."
+msgstr ""
+
+#: app_settings.py:171 app_settings.py:420
msgid "Automatic account removal"
msgstr "Automatisk konto borttagning"
-#: admin/app_settings.py:160
+#: app_settings.py:174 app_settings.py:422
msgid "When a mailbox is removed, also remove the associated account"
msgstr "När en brevlåda raderas, radera också tillhörande konto"
-#: admin/app_settings.py:164
+#: app_settings.py:178 app_settings.py:426
msgid "Automatic domain/mailbox creation"
msgstr "Automatisk skapande av domän/brevlåda"
-#: admin/app_settings.py:167
+#: app_settings.py:181 app_settings.py:428
msgid "Create a domain and a mailbox when an account is automatically created."
msgstr "Skapa en domän och en brevlåda när ett konto skapas automatiskt."
-#: admin/app_settings.py:173
+#: app_settings.py:187 app_settings.py:434
msgid "Create an alias when a mailbox is renamed"
msgstr "Skapa ett alias när en brevlåda döps om"
-#: admin/app_settings.py:176
+#: app_settings.py:190 app_settings.py:436
msgid "Create an alias using the old address when a mailbox is renamed."
msgstr "Skapa ett alias med den gamla adressen när en brevlåda bytt namn."
-#: admin/app_settings.py:225 admin/app_settings.py:233
-#: admin/forms/account.py:335
-msgid "Must be a positive integer"
-msgstr "Måste vara ett positivt heltal"
+#: app_settings.py:407
+#, fuzzy
+#| msgid ""
+#| "Default mailbox quota (in MB) applied to freshly created domains with no "
+#| "value specified. A value of 0 means no quota."
+msgid ""
+"Default mailbox quota (in MB) applied to freshly created domains with no "
+"value specified. A value of 0 means no quota."
+msgstr ""
+"Standard brevlåde kvota (i MB) applicerad på nyligen skapade domäner där "
+"inget värde angetts. 0 betyder ingen kvota."
-#: admin/app_settings.py:243
-msgid "Directory not found."
-msgstr "Katalog kunde ej hittas."
-
-#: admin/app_settings.py:249
-msgid "openssl not found, please make sure it is installed."
-msgstr "openssl hittades inte, kontroller att det är installerat."
-
-#: admin/app_settings.py:263
-msgid "Define at least one authorized network / address"
-msgstr "Ange åtminstonde en auktoriserad nätverk / adress"
-
-#: admin/app_settings.py:273
+#: app_settings.py:451 app_settings.py:453
msgid "Administration"
msgstr "Administration"
-#: admin/constants.py:28 admin/forms/alias.py:43
-#: admin/templates/admin/_per_domain_statistics_widget.html:7
-#: admin/templates/admin/domains_quota_headers.html:2
+#: constants.py:28 forms/alias.py:43
+#: templates/admin/_per_domain_statistics_widget.html:7
+#: templates/admin/domains_quota_headers.html:2
msgid "Domain"
msgstr "Domän"
-#: admin/constants.py:29
+#: constants.py:29
msgid "Relay domain"
msgstr "Relay domän"
-#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125
+#: constants.py:42
+msgid "Opened"
+msgstr ""
+
+#: constants.py:43
+#, fuzzy
+#| msgid "Close"
+msgid "Closed"
+msgstr "Stäng"
+
+#: forms/account.py:32 templates/admin/domain_detail.html:159
msgid "Username"
msgstr "Användarnamn"
-#: admin/forms/account.py:34
+#: forms/account.py:34
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -269,23 +400,23 @@ msgstr ""
"Användarens namn. Måste vara en giltig e-postadress för vanliga användare "
"eller för administratörer med brevlåda."
-#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29
+#: forms/account.py:39 templates/admin/account_detail.html:29
msgid "Role"
msgstr "Roll"
-#: admin/forms/account.py:40
+#: forms/account.py:40
msgid "Choose"
msgstr "Välj"
-#: admin/forms/account.py:41
+#: forms/account.py:41
msgid "What level of permission this user will have"
msgstr "Vilken nivå av behörighet den här användaren har"
-#: admin/forms/account.py:44 admin/forms/domain.py:245
+#: forms/account.py:44 forms/domain.py:248
msgid "Random password"
msgstr "Slumpmässigt lösenord"
-#: admin/forms/account.py:46
+#: forms/account.py:46
msgid ""
"Generate a random password. If you're updating this account and check this "
"box, a new password will be generated."
@@ -293,55 +424,48 @@ msgstr ""
"Skapa ett slumpmässigt lösenord. Om du uppdaterar det här kontot och "
"markerar den här rutan genereras ett nytt lösenord."
-#: admin/forms/account.py:52
+#: forms/account.py:52
msgid "Password"
msgstr "Lösenord"
-#: admin/forms/account.py:57
+#: forms/account.py:57
msgid "Confirmation"
msgstr "Bekräftelse"
-#: admin/forms/account.py:60
+#: forms/account.py:60
msgid "Enter the same password as above, for verification."
msgstr "Ange samma lösenord som ovan för verifiering."
-#: admin/forms/account.py:72
+#: forms/account.py:72
msgid "Enabled"
msgstr "Aktiverad"
-#: admin/forms/account.py:167
+#: forms/account.py:167
msgid "Only super administrators are allowed for this mode"
msgstr "Endast superadmininstratörer tillåts åtkomst till det här läget"
-#: admin/forms/account.py:178 admin/forms/account.py:180
-#: admin/forms/domain.py:162 admin/forms/domain.py:291
-#: admin/forms/domain.py:294 admin/serializers.py:287
-msgid "This field is required."
-msgstr "Detta fält krävs."
-
-#: admin/forms/account.py:186
+#: forms/account.py:186
msgid "The two password fields didn't match."
msgstr "Dessa två lösnordsfält matchar inte."
-#: admin/forms/account.py:199
+#: forms/account.py:199
msgid "You can't disable your own account"
msgstr "Du kan inte inaktivera ditt eget konto"
-#: admin/forms/account.py:222
+#: forms/account.py:226
msgid "E-mail"
msgstr "E-post"
-#: admin/forms/account.py:224
+#: forms/account.py:228
msgid "Create an alias using the old address"
msgstr "Skapa ett alias med den gamla adressen"
-#: admin/forms/account.py:229 admin/forms/domain.py:41
-#: admin/templates/admin/account_detail.html:45
-#: admin/templates/admin/domain_detail.html:49
+#: forms/account.py:233 forms/domain.py:41
+#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49
msgid "Quota"
msgstr "Kvot"
-#: admin/forms/account.py:232
+#: forms/account.py:236
#, fuzzy
#| msgid ""
#| "Quota in MB for this mailbox. Define a custom value or use domain's "
@@ -356,12 +480,21 @@ msgstr ""
"domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej "
"tillåtet för domänadministratörer)."
-#: admin/forms/account.py:242 admin/forms/domain.py:31
-#: admin/templates/admin/domain_headers.html:4
+#: forms/account.py:246 models/domain.py:36 models/mailbox.py:99
+#: templates/admin/account_detail.html:50 templates/admin/domain_detail.html:69
+msgid "Message sending limit"
+msgstr ""
+
+#: forms/account.py:250 models/mailbox.py:101
+msgid "Number of messages this mailbox can send per day"
+msgstr ""
+
+#: forms/account.py:253 forms/domain.py:31
+#: templates/admin/domain_headers.html:4
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:245
+#: forms/account.py:256
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
@@ -371,11 +504,11 @@ msgstr ""
"för att lägga till nytt. För att skapa ett \"catch-all\" alias, ange bara "
"domännamnet (@domain.tld)."
-#: admin/forms/account.py:251
+#: forms/account.py:262
msgid "Sender addresses"
msgstr "Avsändaradress"
-#: admin/forms/account.py:254
+#: forms/account.py:265
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
@@ -385,77 +518,71 @@ msgstr ""
"med från denna adress, även om den inte finns lokalt. Ange en adress per "
"rad. Tryck RETUR för att lägga till ny rad."
-#: admin/forms/account.py:309 admin/forms/alias.py:88
-#: admin/models/mailbox.py:310
+#: forms/account.py:325 forms/alias.py:88 models/mailbox.py:313
msgid "Domain does not exist"
msgstr "Domän existerar inte"
-#: admin/forms/account.py:345
+#: forms/account.py:361
msgid "Local domain does not exist"
msgstr "Lokal domän existerar inte"
-#: admin/forms/account.py:349 admin/forms/account.py:357
-#: admin/forms/alias.py:91
-msgid "You don't have access to this domain"
-msgstr "Du har inte åtkomst till denna domän"
-
-#: admin/forms/account.py:456
+#: forms/account.py:476
msgid "Domain(s)"
msgstr "Domän(er)"
-#: admin/forms/account.py:458
+#: forms/account.py:478
msgid "Domain(s) that user administrates"
msgstr "Domän(er) användaren administrerar"
-#: admin/forms/account.py:505 admin/forms/account.py:595
-#: admin/forms/domain.py:362 admin/forms/domain.py:433
+#: forms/account.py:525 forms/account.py:615 forms/domain.py:365
+#: forms/domain.py:436
msgid "General"
msgstr "Generellt"
-#: admin/forms/account.py:509
+#: forms/account.py:529
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:513 admin/forms/account.py:601
+#: forms/account.py:533 forms/account.py:621
msgid "Mail"
msgstr "Post"
-#: admin/forms/account.py:516
+#: forms/account.py:536
msgid "Permissions"
msgstr "Rättigheter"
-#: admin/forms/account.py:584
+#: forms/account.py:604
msgid "Account updated"
msgstr "Konto uppdaterat"
-#: admin/forms/account.py:609
+#: forms/account.py:629
msgid "New account"
msgstr "Nytt konto"
-#: admin/forms/account.py:619
+#: forms/account.py:639
msgid "Account created"
msgstr "Konto skapat"
-#: admin/forms/alias.py:20
+#: forms/alias.py:20
msgid "Random address"
msgstr "Slumpmässig adress"
-#: admin/forms/alias.py:23
+#: forms/alias.py:23
msgid "Email address"
msgstr "E-post adress"
-#: admin/forms/alias.py:25
+#: forms/alias.py:25
msgid ""
"The alias address. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr ""
"Alias adress. För en \"catch-all\"-alias, ange bara domännamnet (@domän.tld)."
-#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37
+#: forms/alias.py:31 templates/admin/alias_detail.html:37
msgid "Recipients"
msgstr "Mottagare"
-#: admin/forms/alias.py:33
+#: forms/alias.py:33
msgid ""
"Addresses this alias will point to. Indicate only one address per input, "
"press ENTER to add a new input."
@@ -463,20 +590,15 @@ msgstr ""
"Adresser detta alias kommer peka på. Ange bara en adress per fält, tryck "
"RETUR för att lägga till ytterligare."
-#: admin/forms/alias.py:108 admin/forms/alias.py:110
-msgid "This field is required"
-msgstr "Detta fält krävs"
-
-#: admin/forms/alias.py:114
+#: forms/alias.py:114
msgid "No recipient defined"
msgstr "Ingen mottagare definierad"
-#: admin/forms/domain.py:28
-#: admin/templates/admin/_global_statistics_widget.html:7
+#: forms/domain.py:28 templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:34
+#: forms/domain.py:34
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -484,20 +606,11 @@ msgstr ""
"Alias för denna domän. Ange endast ett namn per rad, tryck ENTER för att "
"lägga till en rad."
-#: admin/forms/domain.py:39
+#: forms/domain.py:39
msgid "Key selector"
msgstr "Nyckelväljare"
-#: admin/forms/domain.py:44 admin/serializers.py:30
-#, fuzzy
-#| msgid ""
-#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgid ""
-"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
-"A value of 0 means no quota."
-msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota."
-
-#: admin/forms/domain.py:52
+#: forms/domain.py:52
#, fuzzy
#| msgid ""
#| "Default quota in MB applied to mailboxes. A value of 0 means no quota."
@@ -506,51 +619,43 @@ msgid ""
"GB. A value of 0 means no quota."
msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota."
-#: admin/forms/domain.py:94 admin/handlers.py:161
+#: forms/domain.py:97 handlers.py:166
msgid "domain alias"
msgstr "domän alias"
-#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181
+#: forms/domain.py:100 forms/domain.py:176 forms/domain.py:184
#, python-format
msgid "A %s with this name already exists"
msgstr "En %s med detta namn finns redan"
-#: admin/forms/domain.py:105 admin/serializers.py:64
-msgid "No authorized MX record found for this domain"
-msgstr "Inga auktoriserade MX inlägg finns för denna domänen"
-
-#: admin/forms/domain.py:117
+#: forms/domain.py:120
msgid "DKIM keys storage directory not configured"
msgstr "DKIM nycklar lagringskatalog ej konfigurerad"
-#: admin/forms/domain.py:147 admin/serializers.py:82
-msgid "Cannot be greater than domain quota"
-msgstr "Får inte vara större än domän kvot"
-
-#: admin/forms/domain.py:152
+#: forms/domain.py:155
msgid "You can't define an unlimited quota."
msgstr "Du kan inte ange en obegränsad kvota."
-#: admin/forms/domain.py:173 admin/forms/domain.py:178
+#: forms/domain.py:176 forms/domain.py:181
msgid "domain"
msgstr "domän"
-#: admin/forms/domain.py:227
+#: forms/domain.py:230
msgid "Create a domain administrator"
msgstr "Skapa en domän administratör"
-#: admin/forms/domain.py:230
+#: forms/domain.py:233
msgid "Automatically create an administrator for this domain"
msgstr "Skapa en domän administratör automatiskt för denna domän"
-#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125
-#: admin/templates/admin/domain_headers.html:3
-#: admin/templates/admin/identity_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:9
+#: forms/domain.py:238 templates/admin/domain_detail.html:159
+#: templates/admin/domain_headers.html:3
+#: templates/admin/identity_headers.html:2
+#: templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Namn"
-#: admin/forms/domain.py:238
+#: forms/domain.py:241
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -558,666 +663,725 @@ msgstr ""
"Administratörens namn. Inkludera inte domänens namn här, den kommer att "
"läggas till automatiskt."
-#: admin/forms/domain.py:248
+#: forms/domain.py:251
msgid "Generate a random password for the administrator."
msgstr "Skapa ett slumpmässigt lösenord för administratören."
-#: admin/forms/domain.py:254
+#: forms/domain.py:257
msgid "With a mailbox"
msgstr "Med en brevlåda"
-#: admin/forms/domain.py:257
+#: forms/domain.py:260
msgid "Create a mailbox for the administrator."
msgstr "Skapa en brevlåda för administratören."
-#: admin/forms/domain.py:263
+#: forms/domain.py:266
msgid "Create aliases"
msgstr "Skapa alias."
-#: admin/forms/domain.py:266
+#: forms/domain.py:269
msgid "Automatically create standard aliases for this domain"
msgstr "Skapa automatiskt standard alias för den här domänen"
-#: admin/forms/domain.py:282
+#: forms/domain.py:285
msgid "Invalid format"
msgstr "Ogiltigt format"
-#: admin/forms/domain.py:311
-#, python-format
-msgid "User '%s' already exists"
-msgstr "Användare '%s' finns redan"
-
-#: admin/forms/domain.py:423
+#: forms/domain.py:426
msgid "Domain modified"
msgstr "Domän ändrad"
-#: admin/forms/domain.py:444
+#: forms/domain.py:447
msgid "Options"
msgstr "Inställningar"
-#: admin/forms/domain.py:452
+#: forms/domain.py:455
msgid "New domain"
msgstr "Ny domän"
-#: admin/forms/domain.py:465
+#: forms/domain.py:468
msgid "Domain created"
msgstr "Domän skapad"
-#: admin/forms/export.py:9 admin/forms/import_.py:13
+#: forms/export.py:9 forms/import_.py:13
msgid "Separator"
msgstr "Separator"
-#: admin/forms/forward.py:12
+#: forms/forward.py:12
msgid "Recipient(s)"
msgstr "Mottagare"
-#: admin/forms/forward.py:16
+#: forms/forward.py:16
msgid "Indicate one or more recipients separated by a ','"
msgstr "Ange en eller flera mottagare separerade med ett ','"
-#: admin/forms/forward.py:19
+#: forms/forward.py:19
msgid "Keep local copies"
msgstr "Behåll lokal kopia"
-#: admin/forms/forward.py:22
+#: forms/forward.py:22
msgid "Forward messages and store copies into your local mailbox"
msgstr "Vidarebefordra meddelande och spara kopia i din lokala brevlåda"
-#: admin/forms/import_.py:11
+#: forms/import_.py:11
msgid "Select a file"
msgstr "Välj en fil"
-#: admin/forms/import_.py:19
+#: forms/import_.py:19
msgid "Continue on error"
msgstr "Fortsätt vid fel"
-#: admin/forms/import_.py:20
+#: forms/import_.py:20
msgid "Don't treat duplicated objects as error"
msgstr "Behandla inte dubletter som fel"
-#: admin/forms/import_.py:38
+#: forms/import_.py:38
msgid "Crypt passwords"
msgstr "Krypterade lösenord"
-#: admin/forms/import_.py:40
+#: forms/import_.py:40
msgid "Check this option if passwords contained in your file are not crypted"
msgstr "Markera det här alternativet om lösenord i filen inte är krypterad"
-#: admin/handlers.py:210
+#: handlers.py:215
#, python-format
msgid "Account import failed (%s): domain does not exist"
msgstr "Konto import misslyckades (%s): domänen existerar inte"
-#: admin/handlers.py:223 admin/models/mailbox.py:338
+#: handlers.py:228 models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "Brevlåda {} finns redan"
-#: admin/handlers.py:231
+#: handlers.py:236
#, python-format
msgid "Account import failed (%s): wrong quota value"
msgstr "Importering av konto misslyckades (%s): Fel kvota värde"
-#: admin/handlers.py:271
-#: admin/templates/admin/_global_statistics_widget.html:17
-#: admin/templates/admin/_per_domain_statistics_widget.html:8
-#: admin/templates/admin/identities.html:5
+#: handlers.py:276 templates/admin/_global_statistics_widget.html:17
+#: templates/admin/_per_domain_statistics_widget.html:8
+#: templates/admin/identities.html:5
msgid "Identities"
msgstr "Konton"
-#: admin/handlers.py:287 admin/templates/admin/forward.html:2
+#: handlers.py:292 templates/admin/forward.html:2
msgid "Forward"
msgstr "Vidarebefordra"
-#: admin/lib.py:38
+#: lib.py:48
msgid "A mailbox is required"
msgstr "En brevlåda krävs"
-#: admin/lib.py:128
+#: lib.py:138
msgid "You are not allowed to import domains"
msgstr "Du tillåts inte att importera domäner"
-#: admin/lib.py:139
+#: lib.py:149
msgid "You are not allowed to import domain aliases."
msgstr "Du tillåts inte att importera domän alias."
-#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136
-#: admin/tests/test_mx.py:139
+#: lib.py:199 tests/test_mx.py:152 tests/test_mx.py:161 tests/test_mx.py:164
#, fuzzy, python-format
#| msgid "No DNS records found for %s"
msgid "No DNS record found for %s"
msgstr "Inga DNS-poster hittades för %s"
-#: admin/lib.py:192
+#: lib.py:202
#, fuzzy, python-format
#| msgid "No MX record for %s"
msgid "No %(type)s record for %(name)s"
msgstr "Ingen MX-post för %s"
-#: admin/lib.py:196 admin/tests/test_mx.py:131
+#: lib.py:206 tests/test_mx.py:156
msgid "No working name servers found"
msgstr "Inga fungerande namnservrar hittades"
-#: admin/lib.py:199 admin/tests/test_mx.py:133
+#: lib.py:209 tests/test_mx.py:158
#, python-format
msgid "DNS resolution timeout, unable to query %s at the moment"
msgstr "DNS-upplösning timeout, kan inte fråga %s för tillfället"
-#: admin/lib.py:227
+#: lib.py:212
+#, python-format
+msgid "DNS name is too long: %s"
+msgstr ""
+
+#: lib.py:239
#, fuzzy, python-brace-format
#| msgid "Invalid IP address format for %(domain)s; %(addr)s"
msgid "Invalid IP address format for {domain}; {addr}"
msgstr "Ogiltigt IP-adress format för %(domain)s; %(addr)s"
-#: admin/management/commands/subcommands/_import.py:93
+#: lib.py:309
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Objektet existerar redan: %s"
+
+#: lib.py:313
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objekt importerade"
+
+#: management/commands/subcommands/_import.py:93
msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:105
+#: management/commands/subcommands/_import.py:105
#, python-format
msgid "Reading CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_import.py:116
+#: management/commands/subcommands/_import.py:116
#, python-format
msgid "Unable to decode CSV file using %(encoding)s encoding"
msgstr ""
-#: admin/management/commands/subcommands/_mx.py:132
-msgid "[modoboa] DNSBL issue(s) for domain {}"
-msgstr "[modoboa] DNSBL fråga(or) för domän {}"
+#: management/commands/subcommands/_mx.py:121
+msgid "MX {} listed by DNSBL provider {}"
+msgstr ""
-#: admin/management/commands/subcommands/_mx.py:152
+#: management/commands/subcommands/_mx.py:169
+#, fuzzy
+#| msgid "Domain {} has no MX record"
+msgid "Domain has no MX record"
+msgstr "Domän {} saknar MX record"
+
+#: management/commands/subcommands/_mx.py:173
msgid "Domain {} has no MX record"
msgstr "Domän {} saknar MX record"
-#: admin/management/commands/subcommands/_mx.py:163
+#: management/commands/subcommands/_mx.py:193
+#, fuzzy
+#| msgid "MX records of {}"
+msgid "Invalid MX record: {}"
+msgstr "MX record för {}"
+
+#: management/commands/subcommands/_mx.py:199
#, python-brace-format
msgid "MX record for domain {0} is invalid: {1}"
msgstr "MX record för domän {0} är ogiltig: {1}"
-#: admin/management/commands/subcommands/_mx.py:180
+#: management/commands/subcommands/_mx.py:213
msgid "[modoboa] MX issue(s) for domain {}"
msgstr "[modoboa] MX problem för domän {}"
-#: admin/models/alias.py:32 admin/models/mailbox.py:95
+#: management/commands/subcommands/_mx.py:271
+msgid "[modoboa] DNSBL issue(s) for domain {}"
+msgstr "[modoboa] DNSBL fråga(or) för domän {}"
+
+#: models/alias.py:32
+msgid "Domain not found."
+msgstr "Domän kunde ej hittas."
+
+#: models/alias.py:37
+#, fuzzy
+#| msgid "Alias with this name already exists"
+msgid "An alias with this name already exists."
+msgstr "Alias med detta namn existerar redan"
+
+#: models/alias.py:71 models/mailbox.py:92
msgid "address"
msgstr "adress"
-#: admin/models/alias.py:34
+#: models/alias.py:73
msgid "The alias address."
msgstr "Alias adressen."
-#: admin/models/alias.py:39 admin/models/domain.py:37
-#: admin/models/domain_alias.py:42
+#: models/alias.py:78 models/domain.py:43 models/domain_alias.py:41
msgid "enabled"
msgstr "aktiverad"
-#: admin/models/alias.py:40 admin/models/domain_alias.py:43
+#: models/alias.py:79 models/domain_alias.py:42
msgid "Check to activate this alias"
msgstr "Markera för aktivera detta alias"
-#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32
+#: models/alias.py:84 templates/admin/alias_detail.html:32
msgid "Description"
msgstr "Beskrivning"
-#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29
+#: models/alias.py:86 templates/admin/alias_detail.html:29
msgid "Expire at"
msgstr "Går ut"
-#: admin/models/alias.py:87
+#: models/alias.py:127
msgid "alias"
msgstr "alias"
-#: admin/models/alias.py:119
+#: models/alias.py:159
msgid "Invalid address"
msgstr "Ogiltigt adress"
-#: admin/models/alias.py:140
+#: models/alias.py:180
msgid "Local recipient {}@{} not found"
msgstr "Lokal mottagare {}@{} kunde inte hittas."
-#: admin/models/alias.py:170
-#, python-format
-msgid "Invalid line: %s"
+#: models/alias.py:215
+#, fuzzy
+#| msgid "Invalid line: %s"
+msgid "Invalid line: {}"
msgstr "Ogiltig rad: %s"
-#: admin/models/alias.py:176
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "Domänen '%s' existerar inte"
-
-#: admin/models/domain.py:27 admin/models/domain_alias.py:34
+#: models/domain.py:26 models/domain_alias.py:33
msgid "name"
msgstr "namn"
-#: admin/models/domain.py:28
+#: models/domain.py:27
msgid "The domain name"
msgstr "Domännamnet"
-#: admin/models/domain.py:38
+#: models/domain.py:39
+msgid "Number of messages this domain can send per day"
+msgstr ""
+
+#: models/domain.py:44
msgid "Check to activate this domain"
msgstr "Markera för att aktivera denna domän"
-#: admin/models/domain.py:43
+#: models/domain.py:49
msgid "Enable DNS checks"
msgstr "Aktivera DNS kontroller"
-#: admin/models/domain.py:44
+#: models/domain.py:50
msgid "Check to enable DNS checks for this domain"
msgstr "Markera för att aktivera DNS kontroller för den här domänen"
-#: admin/models/domain.py:51
+#: models/domain.py:57
msgid "Enable DKIM signing"
msgstr "Aktivera DKIM-signering"
-#: admin/models/domain.py:53
+#: models/domain.py:59
msgid ""
"If you activate this feature, a DKIM key will be generated for this domain."
msgstr ""
"Om du aktiverar den här funktionen genereras en DKIM-nyckel för den här "
"domänen."
-#: admin/models/domain.py:59
+#: models/domain.py:65
msgid "Key length"
msgstr "Nyckellängd"
-#: admin/models/domain.py:312 admin/models/domain_alias.py:67
+#: models/domain.py:357 models/domain_alias.py:66
msgid "Invalid line"
msgstr "Ogiltig rad"
-#: admin/models/domain.py:322
-msgid "No authorized MX record found for domain {}"
+#: models/domain.py:367
+#, fuzzy
+#| msgid "No authorized MX record found for domain {}"
+msgid "{}: no authorized MX record found for domain"
msgstr "Inga auktoriserade MX inlägg finns för domänen {}"
-#: admin/models/domain.py:329
-msgid "Invalid quota value for domain '{}'"
+#: models/domain.py:374
+#, fuzzy
+#| msgid "Invalid quota value for domain '{}'"
+msgid "{}: invalid quota value for domain"
msgstr "Ogiltig kvota värd för domän '{}'"
-#: admin/models/domain.py:336
-msgid "Invalid default mailbox quota value for domain '{}'"
+#: models/domain.py:381
+#, fuzzy
+#| msgid "Invalid default mailbox quota value for domain '{}'"
+msgid "{}: invalid default mailbox quota value for domain"
msgstr "Ogiltig standard brevlådekvota för domän '{}'"
-#: admin/models/domain.py:341
-msgid "Default mailbox quota cannot be greater than domain quota"
+#: models/domain.py:386
+#, fuzzy
+#| msgid "Default mailbox quota cannot be greater than domain quota"
+msgid "{}: default mailbox quota cannot be greater than domain quota"
msgstr "Standard brevlådekvota kan inte vara större än domänkvotan"
-#: admin/models/domain_alias.py:35
+#: models/domain_alias.py:34
msgid "The alias name"
msgstr "Alias namn"
-#: admin/models/domain_alias.py:37
+#: models/domain_alias.py:36
msgid "target"
msgstr "mål"
-#: admin/models/domain_alias.py:38
+#: models/domain_alias.py:37
msgid "The domain this alias points to"
msgstr "Domän dit detta alias pekar mot"
-#: admin/models/domain_alias.py:76
+#: models/domain_alias.py:75
#, python-format
msgid "Unknown domain %s"
msgstr "Okänt kommando %s"
-#: admin/models/mailbox.py:97
+#: models/mailbox.py:94
msgid "Mailbox address (without the @domain.tld part)"
msgstr "Brevlåde adress (utan @domain.tld)"
-#: admin/models/mailbox.py:160
+#: models/mailbox.py:156
#, python-format
msgid "Failed to retrieve mailbox location (%s)"
msgstr "Kunde inte hitta brevlådans sökväg (%s)"
-#: admin/models/mailbox.py:253
+#: models/mailbox.py:254
msgid "A quota is required"
msgstr "En kvota krävs"
-#: admin/models/mailbox.py:259
-msgid "Domain quota exceeded"
+#: models/mailbox.py:261
+#, fuzzy
+#| msgid "Domain quota exceeded"
+msgid "{}: domain quota exceeded"
msgstr "Domänkvota överskriden"
-#: admin/serializers.py:37
-msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
-msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota."
-
-#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410
-msgid "Permission denied."
-msgstr "Åtskomst nekad."
-
-#: admin/serializers.py:158
-msgid ""
-"List of administered domains (resellers and domain administrators only)."
-msgstr ""
-"Lista över administrerade domäner (endast återförsäljare och "
-"domänadministratörer)."
-
-#: admin/serializers.py:262
-msgid "Not allowed for this role."
-msgstr "Inte tillåtet för denna roll."
-
-#: admin/serializers.py:274
-msgid "Must be equal to mailbox full_address"
-msgstr "Måste vara lika med brevlådans full_address"
-
-#: admin/serializers.py:299
-msgid "Local domain {} does not exist"
-msgstr "Lokal domän {} finns inte"
-
-#: admin/serializers.py:397
-msgid "A list of recipient"
-msgstr "En lista på mottagare"
-
-#: admin/serializers.py:408
-msgid "Domain not found."
-msgstr "Domän kunde ej hittas."
-
-#: admin/serializers.py:457
-msgid "You don't have access to this domain."
-msgstr "Du har inte åtkomst till denna domän."
-
-#: admin/serializers.py:465
-msgid "You don't have access to this mailbox."
-msgstr "Du har inte åtkomst till denna brevlåda."
-
-#: admin/templates/admin/_domain_dkim_key.html:6
-#: admin/templates/admin/_domain_dkim_key.html:20
+#: templates/admin/_domain_dkim_key.html:6
+#: templates/admin/_domain_dkim_key.html:20
msgid "Close"
msgstr "Stäng"
-#: admin/templates/admin/_domain_dkim_key.html:7
+#: templates/admin/_domain_dkim_key.html:7
#, python-format
msgid "DKIM public key for %(domain)s"
msgstr "DKIM publik nyckel for %(domain)s"
-#: admin/templates/admin/_domain_dkim_key.html:11
-msgid "Raw format"
-msgstr "Råformat"
+#: templates/admin/_domain_dkim_key.html:11
+msgid "Raw format. Click to copy"
+msgstr ""
-#: admin/templates/admin/_domain_dkim_key.html:15
-msgid "Bind/named format"
+#: templates/admin/_domain_dkim_key.html:15
+#, fuzzy
+#| msgid "Bind/named format"
+msgid "Bind/named format. Click to copy"
msgstr "Bind/named format"
-#: admin/templates/admin/_domain_dnschecks_status.html:4
+#: templates/admin/_domain_dnschecks_status.html:4
msgctxt "checks"
msgid "Disabled"
msgstr "Inaktiverad"
-#: admin/templates/admin/_domain_dnschecks_status.html:6
+#: templates/admin/_domain_dnschecks_status.html:6
msgid "Awaiting checks"
msgstr "Väntar kontroll"
-#: admin/templates/admin/_domain_dnschecks_status.html:16
-#: admin/templates/admin/_domain_dnschecks_status.html:26
-#: admin/templates/admin/_domain_dnschecks_status.html:34
-#: admin/templates/admin/_domain_dnschecks_status.html:42
+#: templates/admin/_domain_dnschecks_status.html:16
+#: templates/admin/_domain_dnschecks_status.html:26
+#: templates/admin/_domain_dnschecks_status.html:34
+#: templates/admin/_domain_dnschecks_status.html:42
#, fuzzy
#| msgid "No DNS records found for %s"
msgid "No record found"
msgstr "Inga DNS-poster hittades för %s"
-#: admin/templates/admin/_domain_dnschecks_status.html:24
+#: templates/admin/_domain_dnschecks_status.html:24
msgid "Waiting for key to be generated"
msgstr ""
-#: admin/templates/admin/_global_statistics_widget.html:4
+#: templates/admin/_global_statistics_widget.html:4
msgid "Global statistics"
msgstr "Global statistik"
-#: admin/templates/admin/_global_statistics_widget.html:8
+#: templates/admin/_global_statistics_widget.html:8
msgid "Quantity"
msgstr "Mängd"
-#: admin/templates/admin/_global_statistics_widget.html:14
-#: admin/templates/admin/domain_detail.html:37
-#: admin/templates/admin/domain_detail.html:73
+#: templates/admin/_global_statistics_widget.html:14
+#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:87
msgid "Domain aliases"
msgstr "Domän alias"
-#: admin/templates/admin/_per_domain_statistics_widget.html:4
+#: templates/admin/_per_domain_statistics_widget.html:4
msgid "Per-domain statistics"
msgstr "Per domän statistik"
-#: admin/templates/admin/account_detail.html:16
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/domain_detail.html:19
-#: admin/templates/admin/identities_table.html:7
+#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16
+#: templates/admin/domain_detail.html:19
+#: templates/admin/identities_table.html:7
msgid "(disabled)"
msgstr "(inaktiverad)"
-#: admin/templates/admin/account_detail.html:22
-#: admin/templates/admin/alias_detail.html:22
-#: admin/templates/admin/domain_detail.html:25
+#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22
+#: templates/admin/domain_detail.html:25
msgid "Summary"
msgstr "Sammanställning"
-#: admin/templates/admin/account_detail.html:26
+#: templates/admin/account_detail.html:26
msgid "Full name"
msgstr "Fullständigt nam"
-#: admin/templates/admin/account_detail.html:32
-#: admin/templates/admin/alias_detail.html:26
+#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26
msgid "Created"
msgstr "Skapad"
-#: admin/templates/admin/account_detail.html:35
+#: templates/admin/account_detail.html:35
msgid "Last login"
msgstr "Senast inloggad"
-#: admin/templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:38
msgid "Secondary email"
msgstr "Sekundär e-post"
-#: admin/templates/admin/account_detail.html:38
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:38
+#: templates/admin/account_detail.html:41
msgid "Not defined"
msgstr "Ej definierad"
-#: admin/templates/admin/account_detail.html:41
+#: templates/admin/account_detail.html:41
msgid "Phone number"
msgstr "Telefonnummer"
-#: admin/templates/admin/account_detail.html:55
+#: templates/admin/account_detail.html:61
msgid "Administered domains"
msgstr "Administrerade domäner"
-#: admin/templates/admin/account_detail.html:61
+#: templates/admin/account_detail.html:67
msgid "No domain defined."
msgstr "Ingen domän angedd."
-#: admin/templates/admin/account_detail.html:75
+#: templates/admin/account_detail.html:81
msgid "Aliases"
msgstr "Alias"
-#: admin/templates/admin/account_detail.html:81
+#: templates/admin/account_detail.html:87
msgid "No alias defined"
msgstr "Inga alias angedda"
-#: admin/templates/admin/account_detail.html:87
+#: templates/admin/account_detail.html:93
msgid "Additional sender addresses"
msgstr "Övriga avsändaradresser"
-#: admin/templates/admin/account_detail.html:93
+#: templates/admin/account_detail.html:99
msgid "No sender address defined"
msgstr "Inga avsändaradresser angedda"
-#: admin/templates/admin/account_general_form.html:12
-#: admin/templates/admin/aliasform.html:13
+#: templates/admin/account_general_form.html:12
+#: templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Domänen är inaktiverad"
-#: admin/templates/admin/alias_detail.html:16
-#: admin/templates/admin/identities.html:33
+#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33
msgid "Alias"
msgstr "Alias"
-#: admin/templates/admin/alias_detail.html:27
+#: templates/admin/alias_detail.html:27
msgid "Modified"
msgstr "Ändrad"
-#: admin/templates/admin/dnsbl_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:10
msgid "Provider"
msgstr "Leverantör"
-#: admin/templates/admin/dnsbl_domain_detail.html:11
-#: admin/templates/admin/identities_quota_headers.html:2
-#: admin/templates/admin/mx_domain_detail.html:10
+#: templates/admin/dnsbl_domain_detail.html:11
+#: templates/admin/identities_quota_headers.html:2
+#: templates/admin/mx_domain_detail.html:10
msgid "Address"
msgstr "Adress"
-#: admin/templates/admin/dnsbl_domain_detail.html:12
-#: admin/templates/admin/domain_detail.html:100
-#: admin/templates/admin/messages_log_headers.html:6
+#: templates/admin/dnsbl_domain_detail.html:12
+#: templates/admin/domain_detail.html:114
+#: templates/admin/domains_log_headers.html:6
+#: templates/admin/messages_log_headers.html:6
msgid "Status"
msgstr "Status"
-#: admin/templates/admin/dnsbl_domain_detail.html:21
+#: templates/admin/dnsbl_domain_detail.html:21
msgid "listed"
msgstr "listad"
-#: admin/templates/admin/dnsbl_domain_detail.html:29
+#: templates/admin/dnsbl_domain_detail.html:29
msgid "Everything is fine, this domain is not listed."
msgstr "Allt är okej, denna domän är ej listad."
-#: admin/templates/admin/dnsbl_domain_detail.html:32
+#: templates/admin/dnsbl_domain_detail.html:32
msgid "No information available for this domain."
msgstr "Ingen information tillgänglig för den här domänen."
-#: admin/templates/admin/domain_detail.html:29
+#: templates/admin/domain_alarms.html:19
+msgid "Opened alarms for"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:25
+#: templates/admin/domains_log_headers.html:3
+#: templates/admin/messages_log_headers.html:3
+msgid "Date"
+msgstr ""
+
+#: templates/admin/domain_alarms.html:26
+#, fuzzy
+#| msgid "Usage"
+msgid "Message"
+msgstr "Användande"
+
+#: templates/admin/domain_alarms.html:27
+#, fuzzy
+#| msgid "Mailboxes"
+msgid "Mailbox"
+msgstr "Brevlådor"
+
+#: templates/admin/domain_alarms.html:40
+msgid "No opened alarm"
+msgstr ""
+
+#: templates/admin/domain_detail.html:29
msgid "Creation date"
msgstr "Skapelsedatum"
-#: admin/templates/admin/domain_detail.html:33
+#: templates/admin/domain_detail.html:33
msgid "Last modification date"
msgstr "Senast ändrad"
-#: admin/templates/admin/domain_detail.html:45
+#: templates/admin/domain_detail.html:45
msgid "Mailbox aliases"
msgstr "Brevlåde alias"
-#: admin/templates/admin/domain_detail.html:50
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domain_detail.html:65
-#: admin/templates/admin/domains_quotas.html:11
-#: admin/templates/admin/domains_quotas.html:12
-#: admin/templates/admin/newdomainform.html:3
+#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57
+#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65
+#: templates/admin/domains_quotas.html:11
+#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3
msgid "MB"
msgstr "MB"
-#: admin/templates/admin/domain_detail.html:54
+#: templates/admin/domain_detail.html:54 templates/admin/domain_detail.html:73
msgid "Usage"
msgstr "Användande"
-#: admin/templates/admin/domain_detail.html:57
-#: admin/templates/admin/domains_quotas.html:11
+#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11
msgctxt "quota"
msgid "used"
msgstr "använt"
-#: admin/templates/admin/domain_detail.html:58
-#: admin/templates/admin/domains_quotas.html:12
+#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12
msgid "allocated"
msgstr "allokerat"
-#: admin/templates/admin/domain_detail.html:92
+#: templates/admin/domain_detail.html:70
+msgid "per day"
+msgstr ""
+
+#: templates/admin/domain_detail.html:76
+#, fuzzy
+#| msgctxt "quota"
+#| msgid "used"
+msgctxt "message count"
+msgid "used"
+msgstr "använt"
+
+#: templates/admin/domain_detail.html:106
msgid "DNS"
msgstr "DNS"
-#: admin/templates/admin/domain_detail.html:107
+#: templates/admin/domain_detail.html:121
msgid "DKIM key"
msgstr "DKIM nyckel"
-#: admin/templates/admin/domain_detail.html:111
+#: templates/admin/domain_detail.html:125
msgid "Show key"
msgstr "Visa nyckel"
-#: admin/templates/admin/domain_detail.html:113
+#: templates/admin/domain_detail.html:133
+msgid "Warning"
+msgstr ""
+
+#: templates/admin/domain_detail.html:139
+msgid "DKIM keys already exist for this domain. Do you want to overwrite them?"
+msgstr ""
+
+#: templates/admin/domain_detail.html:142
+msgid "No"
+msgstr ""
+
+#: templates/admin/domain_detail.html:143
msgid "Generate new key"
msgstr ""
-#: admin/templates/admin/domain_detail.html:115
+#: templates/admin/domain_detail.html:143
+msgid "Yes"
+msgstr ""
+
+#: templates/admin/domain_detail.html:149
msgid "Not generated"
msgstr "Ej genererad"
-#: admin/templates/admin/domain_detail.html:122
+#: templates/admin/domain_detail.html:156
msgid "Administrators"
msgstr "Administratörer"
-#: admin/templates/admin/domain_detail.html:134
-#: admin/templatetags/admin_tags.py:265
+#: templates/admin/domain_detail.html:168 templatetags/admin_tags.py:279
msgid "Remove this permission"
msgstr "Radera detta tillstånd"
-#: admin/templates/admin/domain_detail.html:139
+#: templates/admin/domain_detail.html:173
msgid "No domain administrator defined yet."
msgstr "Ingen domänadministratöre ännu definierad."
-#: admin/templates/admin/domain_headers.html:5
-#: admin/templates/admin/identity_headers.html:4
+#: templates/admin/domain_headers.html:5
+#: templates/admin/identity_headers.html:4
msgid "Tags"
msgstr "Tagg"
-#: admin/templates/admin/domain_headers.html:7
+#: templates/admin/domain_headers.html:7
msgid "DNS status"
msgstr "DNS status"
-#: admin/templates/admin/domain_headers.html:9
-#: admin/templates/admin/identity_headers.html:5
+#: templates/admin/domain_headers.html:9
+#: templates/admin/identity_headers.html:5
msgid "Actions"
msgstr "Åtgärder"
-#: admin/templates/admin/domain_options_form.html:10
+#: templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Du kan inte skapa en ny domänadministratör"
-#: admin/templates/admin/domains.html:28
-#: admin/templates/admin/identities.html:29
+#: templates/admin/domains.html:28 templates/admin/identities.html:29
msgid "Add"
msgstr "Lägg till"
-#: admin/templates/admin/domains_quota_headers.html:3
-#: admin/templates/admin/identities_quota_headers.html:4
+#: templates/admin/domains_log_headers.html:2
+msgid "Queue ID"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:4
+#: templates/admin/messages_log_headers.html:4
+msgid "From"
+msgstr ""
+
+#: templates/admin/domains_log_headers.html:5
+#: templates/admin/messages_log_headers.html:5
+msgid "To"
+msgstr ""
+
+#: templates/admin/domains_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:4
msgid "Limit"
msgstr "Gräns"
-#: admin/templates/admin/domains_quota_headers.html:4
+#: templates/admin/domains_quota_headers.html:4
msgid "Used"
msgstr "Använd"
-#: admin/templates/admin/domains_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:5
msgid "Allocated"
msgstr "Allokerad"
-#: admin/templates/admin/domains_quota_headers.html:6
-#: admin/templates/admin/identities_quota_headers.html:5
+#: templates/admin/domains_quota_headers.html:6
+#: templates/admin/identities_quota_headers.html:5
#, python-format
msgid "Usage (%%)"
msgstr "Användning (%%)"
-#: admin/templates/admin/domains_table.html:5
+#: templates/admin/domains_table.html:5
msgid "disabled"
msgstr "inaktiverad"
-#: admin/templates/admin/forward.html:2
+#: templates/admin/forward.html:2
msgid "Automatically forward emails to another address"
msgstr "Vidarebefordra automatiskt e-post till en annan adress"
-#: admin/templates/admin/forward.html:9 admin/views/alias.py:87
+#: templates/admin/forward.html:9 views/alias.py:88
msgid "Update"
msgstr "Uppdatera"
-#: admin/templates/admin/identities.html:32
+#: templates/admin/identities.html:32
msgid "Account"
msgstr "Konto"
-#: admin/templates/admin/identities_quota_headers.html:3
+#: templates/admin/identities_quota_headers.html:3
msgid "Value"
msgstr "Värde"
-#: admin/templates/admin/identity_headers.html:3
+#: templates/admin/identity_headers.html:3
msgid "Fullname/Recipient"
msgstr "Fullständigt namn/Mottagare"
-#: admin/templates/admin/import_domains_form.html:6
+#: templates/admin/import_domains_form.html:6
msgid ""
"Provide a CSV file where lines respect one of the following formats: