From 1d83a3b70635f3681fd52608821282bc81c77303 Mon Sep 17 00:00:00 2001 From: Anthony Bourguignon Date: Fri, 5 Oct 2018 14:48:01 +0200 Subject: [PATCH 1/6] convert user password at login if it's not using the right scheme --- modoboa/core/tests/test_authentication.py | 28 +++++++++++++++++++++++ modoboa/core/views/auth.py | 17 ++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py index 020f3015b..f6826f551 100644 --- a/modoboa/core/tests/test_authentication.py +++ b/modoboa/core/tests/test_authentication.py @@ -12,6 +12,7 @@ from django.test import override_settings from django.urls import reverse from modoboa.lib.tests import NO_SMTP, ModoTestCase +from modoboa.core.password_hashers import get_password_hasher from .. import factories, models try: @@ -67,6 +68,33 @@ class AuthenticationTestCase(ModoTestCase): self.assertEqual(response.status_code, 302) self.assertTrue(response.url.endswith(reverse("core:dashboard"))) + def test_password_scheme(self): + """Validate password scheme changes.""" + url = reverse("core:parameters") + username = "user@test.com" + password = "toto" + data = {"username": username, "password": password} + user = models.User.objects.get(username=username) + pw_hash = get_password_hasher('fallback_scheme')() + + self.client.logout() + self.set_global_parameter("password_scheme", "sha512crypt") + response = self.client.post(reverse("core:login"), data) + user.refresh_from_db() + self.assertTrue(user.password.startswith("{SHA512-CRYPT}")) + + self.client.logout() + self.set_global_parameter("password_scheme", "sha256") + response = self.client.post(reverse("core:login"), data) + user.refresh_from_db() + self.assertTrue(user.password.startswith("{SHA256}")) + + self.client.logout() + self.set_global_parameter("password_scheme", "fallback_scheme") + response = self.client.post(reverse("core:login"), data) + user.refresh_from_db() + self.assertTrue(user.password.startswith(pw_hash.scheme)) + class PasswordResetTestCase(ModoTestCase): """Test password reset service.""" diff --git a/modoboa/core/views/auth.py b/modoboa/core/views/auth.py index 8bcac9731..0280f1652 100644 --- a/modoboa/core/views/auth.py +++ b/modoboa/core/views/auth.py @@ -17,6 +17,8 @@ from django.utils.translation import ugettext as _ from django.views.decorators.cache import never_cache from modoboa.core import forms +from modoboa.core.password_hashers import get_password_hasher +from modoboa.parameters import tools as param_tools from .. import signals from .base import find_nextlocation @@ -33,6 +35,21 @@ def dologin(request): user = authenticate(username=form.cleaned_data["username"], password=form.cleaned_data["password"]) if user and user.is_active: + # check if password scheme is correct + scheme = param_tools.get_global_parameter("password_scheme", + raise_exception=False) + # use SHA512CRYPT as default fallback + if scheme is None: + pwhash = get_password_hasher('sha512crypt')() + else: + pwhash = get_password_hasher(scheme)() + if not user.password.startswith(pwhash.scheme): + logging.info( + _("Password scheme mismatch. Updating %s password") % user.username + ) + user.set_password(form.cleaned_data["password"]) + user.save() + login(request, user) if not form.cleaned_data["rememberme"]: request.session.set_expiry(0) From 5955adfdab973968ddeb98de973305360f1740e5 Mon Sep 17 00:00:00 2001 From: Anthony Bourguignon Date: Fri, 5 Oct 2018 15:52:16 +0200 Subject: [PATCH 2/6] add a parameter to choose between updating the password to the default scheme or not --- modoboa/core/app_settings.py | 8 ++++++ modoboa/core/tests/test_authentication.py | 7 ++++++ modoboa/core/tests/test_views.py | 1 + modoboa/core/views/auth.py | 30 ++++++++++++----------- 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index c0af12596..1e0124a4f 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -68,6 +68,14 @@ class GeneralParametersForm(param_forms.AdminParametersForm): widget=forms.TextInput(attrs={"class": "form-control"}) ) + update_scheme = YesNoField( + label=ugettext_lazy("Update password scheme"), + initial=True, + help_text=ugettext_lazy( + "Update user password at login to use the default password scheme" + ) + ) + default_password = forms.CharField( label=ugettext_lazy("Default password"), initial="password", diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py index f6826f551..1b912a0b5 100644 --- a/modoboa/core/tests/test_authentication.py +++ b/modoboa/core/tests/test_authentication.py @@ -95,6 +95,13 @@ class AuthenticationTestCase(ModoTestCase): user.refresh_from_db() self.assertTrue(user.password.startswith(pw_hash.scheme)) + self.client.logout() + self.set_global_parameter("password_scheme", "sha256crypt") + self.set_global_parameter("update_scheme", False) + response = self.client.post(reverse("core:login"), data) + user.refresh_from_db() + self.assertTrue(user.password.startswith(pw_hash.scheme)) + class PasswordResetTestCase(ModoTestCase): """Test password reset service.""" diff --git a/modoboa/core/tests/test_views.py b/modoboa/core/tests/test_views.py index 221445348..69d1c285e 100644 --- a/modoboa/core/tests/test_views.py +++ b/modoboa/core/tests/test_views.py @@ -36,6 +36,7 @@ SETTINGS_SAMPLE = { "csrfmiddlewaretoken": "SGgMVZsA4TPqoiV786TMST6xgOlhAf4F", "limits-deflt_user_mailboxes_limit": "0", "core-password_scheme": "sha512crypt", + "core-update_scheme": True, "core-items_per_page": "30", "limits-deflt_user_mailbox_aliases_limit": "0", "limits-deflt_domain_mailboxes_limit": "0", diff --git a/modoboa/core/views/auth.py b/modoboa/core/views/auth.py index 0280f1652..45054f149 100644 --- a/modoboa/core/views/auth.py +++ b/modoboa/core/views/auth.py @@ -35,20 +35,22 @@ def dologin(request): user = authenticate(username=form.cleaned_data["username"], password=form.cleaned_data["password"]) if user and user.is_active: - # check if password scheme is correct - scheme = param_tools.get_global_parameter("password_scheme", - raise_exception=False) - # use SHA512CRYPT as default fallback - if scheme is None: - pwhash = get_password_hasher('sha512crypt')() - else: - pwhash = get_password_hasher(scheme)() - if not user.password.startswith(pwhash.scheme): - logging.info( - _("Password scheme mismatch. Updating %s password") % user.username - ) - user.set_password(form.cleaned_data["password"]) - user.save() + if param_tools.get_global_parameter("update_scheme", + raise_exception=False): + # check if password scheme is correct + scheme = param_tools.get_global_parameter("password_scheme", + raise_exception=False) + # use SHA512CRYPT as default fallback + if scheme is None: + pwhash = get_password_hasher('sha512crypt')() + else: + pwhash = get_password_hasher(scheme)() + if not user.password.startswith(pwhash.scheme): + logging.info( + _("Password scheme mismatch. Updating %s password") % user.username + ) + user.set_password(form.cleaned_data["password"]) + user.save() login(request, user) if not form.cleaned_data["rememberme"]: From 9bb466143c7019efb4c6adbd66335e096a3a15cc Mon Sep 17 00:00:00 2001 From: Anthony Bourguignon Date: Fri, 5 Oct 2018 16:20:01 +0200 Subject: [PATCH 3/6] update translation files --- .../admin/locale/cs_CZ/LC_MESSAGES/django.po | 578 +++++++++------- modoboa/admin/locale/de/LC_MESSAGES/django.po | 454 +++++++------ .../admin/locale/el_GR/LC_MESSAGES/django.po | 454 +++++++------ modoboa/admin/locale/en/LC_MESSAGES/django.po | 454 +++++++------ modoboa/admin/locale/es/LC_MESSAGES/django.po | 454 +++++++------ modoboa/admin/locale/fr/LC_MESSAGES/django.po | 466 ++++++------- modoboa/admin/locale/it/LC_MESSAGES/django.po | 454 +++++++------ .../admin/locale/ja_JP/LC_MESSAGES/django.po | 454 +++++++------ .../admin/locale/nl_NL/LC_MESSAGES/django.po | 454 +++++++------ .../admin/locale/pl_PL/LC_MESSAGES/django.po | 454 +++++++------ .../admin/locale/pt_BR/LC_MESSAGES/django.po | 604 +++++++++-------- .../admin/locale/pt_PT/LC_MESSAGES/django.po | 454 +++++++------ .../admin/locale/ro_RO/LC_MESSAGES/django.po | 620 ++++++++++-------- modoboa/admin/locale/ru/LC_MESSAGES/django.po | 454 +++++++------ modoboa/admin/locale/sv/LC_MESSAGES/django.po | 574 +++++++++------- .../admin/locale/zh_TW/LC_MESSAGES/django.po | 519 ++++++++------- .../limits/locale/cs_CZ/LC_MESSAGES/django.po | 88 +-- .../limits/locale/de/LC_MESSAGES/django.po | 88 +-- .../limits/locale/el_GR/LC_MESSAGES/django.po | 88 +-- .../limits/locale/en/LC_MESSAGES/django.po | 88 +-- .../limits/locale/es/LC_MESSAGES/django.po | 88 +-- .../limits/locale/fr/LC_MESSAGES/django.po | 88 +-- .../limits/locale/it/LC_MESSAGES/django.po | 88 +-- .../limits/locale/ja_JP/LC_MESSAGES/django.po | 88 +-- .../limits/locale/nl_NL/LC_MESSAGES/django.po | 88 +-- .../limits/locale/pl_PL/LC_MESSAGES/django.po | 88 +-- .../limits/locale/pt_BR/LC_MESSAGES/django.po | 88 +-- .../limits/locale/pt_PT/LC_MESSAGES/django.po | 88 +-- .../limits/locale/ro_RO/LC_MESSAGES/django.po | 168 +++-- .../limits/locale/ru/LC_MESSAGES/django.po | 88 +-- .../limits/locale/sv/LC_MESSAGES/django.po | 88 +-- .../limits/locale/zh_TW/LC_MESSAGES/django.po | 107 +-- modoboa/locale/cs_CZ/LC_MESSAGES/django.po | 439 +++++++------ modoboa/locale/de/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/el_GR/LC_MESSAGES/django.po | 332 +++++----- modoboa/locale/en/LC_MESSAGES/django.po | 315 ++++----- modoboa/locale/es/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/fr/LC_MESSAGES/django.po | 333 +++++----- modoboa/locale/it/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/ja_JP/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/nl_NL/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/pl_PL/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/pt_BR/LC_MESSAGES/django.po | 402 +++++++----- modoboa/locale/pt_PT/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/ro_RO/LC_MESSAGES/django.po | 456 +++++++------ modoboa/locale/ru/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/sv/LC_MESSAGES/django.po | 330 +++++----- modoboa/locale/zh_TW/LC_MESSAGES/django.po | 358 +++++----- .../locale/cs_CZ/LC_MESSAGES/django.po | 16 +- .../locale/de/LC_MESSAGES/django.po | 16 +- .../locale/el_GR/LC_MESSAGES/django.po | 16 +- .../locale/en/LC_MESSAGES/django.po | 16 +- .../locale/es/LC_MESSAGES/django.po | 16 +- .../locale/fr/LC_MESSAGES/django.po | 16 +- .../locale/it/LC_MESSAGES/django.po | 16 +- .../locale/ja_JP/LC_MESSAGES/django.po | 16 +- .../locale/nl_NL/LC_MESSAGES/django.po | 16 +- .../locale/pl_PL/LC_MESSAGES/django.po | 16 +- .../locale/pt_BR/LC_MESSAGES/django.po | 23 +- .../locale/pt_PT/LC_MESSAGES/django.po | 16 +- .../locale/ro_RO/LC_MESSAGES/django.po | 26 +- .../locale/ru/LC_MESSAGES/django.po | 16 +- .../locale/sv/LC_MESSAGES/django.po | 23 +- .../locale/zh_TW/LC_MESSAGES/django.po | 23 +- .../locale/cs_CZ/LC_MESSAGES/django.po | 22 +- .../transport/locale/de/LC_MESSAGES/django.po | 38 ++ .../locale/el_GR/LC_MESSAGES/django.po | 38 ++ .../transport/locale/en/LC_MESSAGES/django.po | 12 +- .../transport/locale/es/LC_MESSAGES/django.po | 38 ++ .../transport/locale/fr/LC_MESSAGES/django.po | 12 +- .../transport/locale/it/LC_MESSAGES/django.po | 38 ++ .../locale/ja_JP/LC_MESSAGES/django.po | 38 ++ .../locale/nl_NL/LC_MESSAGES/django.po | 38 ++ .../locale/pl_PL/LC_MESSAGES/django.po | 12 +- .../locale/pt_BR/LC_MESSAGES/django.po | 19 +- .../locale/pt_PT/LC_MESSAGES/django.po | 38 ++ .../locale/ro_RO/LC_MESSAGES/django.po | 22 +- .../transport/locale/ru/LC_MESSAGES/django.po | 40 ++ .../transport/locale/sv/LC_MESSAGES/django.po | 16 +- .../locale/zh_TW/LC_MESSAGES/django.po | 19 +- 80 files changed, 8508 insertions(+), 7232 deletions(-) create mode 100644 modoboa/transport/locale/de/LC_MESSAGES/django.po create mode 100644 modoboa/transport/locale/el_GR/LC_MESSAGES/django.po create mode 100644 modoboa/transport/locale/es/LC_MESSAGES/django.po create mode 100644 modoboa/transport/locale/it/LC_MESSAGES/django.po create mode 100644 modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po create mode 100644 modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po create mode 100644 modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po create mode 100644 modoboa/transport/locale/ru/LC_MESSAGES/django.po diff --git a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po index 256770fda..c4ec18881 100644 --- a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Peter Sveter, 2016-2017 # Jarda Tesar , 2017-2018 @@ -10,723 +10,773 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-08-10 11:53+0000\n" "Last-Translator: Jarda Tesar \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/language/cs_CZ/)\n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/" +"modoboa/language/cs_CZ/)\n" +"Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domény" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Povolit MX kontroly" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "Ověřit, zda má každá doména platný MX záznam" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "Platné MX záznamy" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud toto záznam nerespektuje, bude odesláno varování." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud " +"toto záznam nerespektuje, bude odesláno varování." -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "Nové domény musí používat autorizovaný/é MX záznam(y)" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." -msgstr "Zamezit vytvoření nové domény, pokud její MX záznamy neodpovídají jedné ze zadaných adres." +msgstr "" +"Zamezit vytvoření nové domény, pokud její MX záznamy neodpovídají jedné ze " +"zadaných adres." -#: admin/app_settings.py:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Povolit DNSBL kontroly" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Ověřit každou doménu vůči hlavním DNSBL providerům" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "Složka pro uložení DKIM klíčů" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Absolutní cesta ke složce, kde budou uloženy privátní DKIM klíče. Ujistěte se, že vytvořená složka patří uživateli root a není možné z ní číst okolním světem." +msgstr "" +"Absolutní cesta ke složce, kde budou uloženy privátní DKIM klíče. Ujistěte " +"se, že vytvořená složka patří uživateli root a není možné z ní číst okolním " +"světem." -#: admin/app_settings.py:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "Výchozí délka DKIM klíče" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "Výchozí délka v bitech pro nově vygenerované DKIM klíče." -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Schránky" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Spravovat schránky v souborovém systému" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" -msgstr "Přejmenovat nebo odstranit schránky v souborovém systému, pokud jsou přejmenovány nebo odstraněny v Modoboa" +msgstr "" +"Přejmenovat nebo odstranit schránky v souborovém systému, pokud jsou " +"přejmenovány nebo odstraněny v Modoboa" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Majitel schránky" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Účet UNIXu, který vlastní schránky v souborovém systému" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Výchozí kvóta domény" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -msgstr "Výchozí kvóta (v MB), které se použije u nově vytvořených domén bez uvedené hodnoty kvóty. Hodnota 0 znamená, že se kvóta nepoužívá." +msgstr "" +"Výchozí kvóta (v MB), které se použije u nově vytvořených domén bez uvedené " +"hodnoty kvóty. Hodnota 0 znamená, že se kvóta nepoužívá." -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Výchozí kvóta schránky" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." -msgstr "Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou kvótu." +msgstr "" +"Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, " +"které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou " +"kvótu." -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Automatické odstranění účtu" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "Když je schránka odstraněná, odstranit také přiřazený účet uživatele" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Automatické vytvoření domény/schránky" -#: admin/app_settings.py:128 -msgid "" -"Create a domain and a mailbox when an account is automatically created." +#: admin/app_settings.py:129 +msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Při založení účtu automaticky vytvořit doménu a schránku." -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "Vytvořit alias, pokud je mailová schránka přejmenována" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." -msgstr "Vytvořit alias použitím původní adresy, pokud je mailová schránka přejmenována." +msgstr "" +"Vytvořit alias použitím původní adresy, pokud je mailová schránka " +"přejmenována." -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Musí se jednat o kladné číslo" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 msgid "Directory not found." msgstr "Složka nenalezena." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "openssl nenalezeno, prosím ujistěte se, že je nainstalováno." -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "Definujte alespoň jednu autorizovanou síť / adresu" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Správa" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Doména" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "Relay doména" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Uživatelské jméno" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." -msgstr "Název uživatele. U běžných uživatelů musí být uvedena platná e-mailová adresa nebo u administrátorů schránka." +msgstr "" +"Název uživatele. U běžných uživatelů musí být uvedena platná e-mailová " +"adresa nebo u administrátorů schránka." -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Role" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Vybrat" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Jaká úroveň oprávnění bude tomuto uživateli nastavena" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "Náhodné heslo" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." -msgstr "Vygenerovat náhodné heslo. Pokud upravujete tento účet a zaškrtnete tuto položku, bude vygenerováno nové heslo." +msgstr "" +"Vygenerovat náhodné heslo. Pokud upravujete tento účet a zaškrtnete tuto " +"položku, bude vygenerováno nové heslo." -#: admin/forms/account.py:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Heslo" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Potvrzení" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Vložte stejné heslo jako v poli výše, pro jeho ověření." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Povoleno" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Pouze super správci jsou oprávnění pro tento režim" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "Toto pole je vyžadováno." -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Obě pole s heslem se neshodují." -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Nemůžete zakázat váš vlastní účet" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "Vytvořit alias použitím původní adresy" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Kvóta" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " "administrators)." -msgstr "Kvóta pro tuto chránku v MB. Definujte vlastní hodnotu nebo použijte výchozí hodnotu domény. Ponechejte prázdné pro neomezenou kvótu (není povoleno správcům domény)." +msgstr "" +"Kvóta pro tuto chránku v MB. Definujte vlastní hodnotu nebo použijte výchozí " +"hodnotu domény. Ponechejte prázdné pro neomezenou kvótu (není povoleno " +"správcům domény)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(y)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias(y) této schránky. V rámci vstupu vložte pouze jeden alias, stiskněte ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)." +msgstr "" +"Alias(y) této schránky. V rámci vstupu vložte pouze jeden alias, stiskněte " +"ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte " +"'*' (např. *@domena.cz)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Adresa odesílatele" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat e-maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy." +msgstr "" +"Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat e-" +"maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci " +"vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Doména neexistuje" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "Lokální doména neexistuje" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Nemáte oprávnění k přístupu k této doméně" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Doména(y)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Doména(y) pod správou uživatele" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Obecné" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Profil" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Mail" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Oprávnění" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Účet aktualizován" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nový účet" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Účet vytvořen" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Náhodná adresa" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Emailová adresa" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias adresy. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)." +msgstr "" +"Alias adresy. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Příjemci" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "Adresy na které bude tento alias ukazovat. Adresy zadávejte jednotlivo, stisknutím klávesy ENTER přidáte nový vstup." +msgstr "" +"Adresy na které bude tento alias ukazovat. Adresy zadávejte jednotlivo, " +"stisknutím klávesy ENTER přidáte nový vstup." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "Toto pole je vyžadováno" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Nebyl určen příjemce" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." -msgstr "Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího aliasu stiskněte po vložení ENTER." +msgstr "" +"Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího " +"aliasu stiskněte po vložení ENTER." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "Identifikátor klíče" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "doménový alias" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 -#: admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "%s s tímto názvem již existuje" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "Nebyly nalezeny žádné autorizované MX záznamy pro tuto doménu" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "Není nastavena složka pro ukládání DKIM klíčů" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "Nemůže být vyšší než kvóta domény" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "Neomezená kvóta nelze definovat." -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "doména" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Vytvořit správce domény" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Automaticky vytvořit správce této domény" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Jméno" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." -msgstr "Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn." +msgstr "" +"Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "Generovat náhodné heslo pro administrátora." -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "S mailovou schránkou" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "Vytvořit mailovou schránku pro administrátora." -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Vytvořit aliasy" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Automaticky vytvořit běžné aliasy pro tuto doménu" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Neplatný formát" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Uživatel '%s' již existuje" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Doména upravena" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Možnosti" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Nová doména" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Doména vytvořena" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Název souboru" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Oddělovač" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Příjemce(i)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Uveďte jednoho nebo více příjemců oddělených pomocí ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Ponechat místní kopie" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "Přeposílat zprávy a ukládat kopie do místní schránky" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Vybrat soubor" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Při výskytu chyby pokračovat" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Nepovažovat duplikáty objektů za chybu" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Zašifrovat hesla" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Zatrhněte toto pole, pokud hesla ve vašem souboru nejsou zašifrována" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "Schránka {} již existuje" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Import účtu selhal (%s): chybná hodnota kvóty" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identity" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Přeposlat" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Schránka je vyžadována" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Nemáte oprávnění pro import domén" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "Nemáte oprávnění pri import doménových aliasů" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "Nenalezeny žádné DNS záznamy pro %s" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "Žádný MX záznam pro %s" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "Nenalezeny žádné funkční DNS servery" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "Vypršel časový limit DNS požadavku, nelze získat %s v tuto chvíli" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "Nelze vyhledat IP adresy pro %(domain)s; %(error)s" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Neplatný formát IP adresy pro %(domain)s; %(addr)s" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problém(y) pro doménu {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "Doména {} nemá MX záznam" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "MX záznam pro doménu {0} je neplatný: {1}" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX problém(y) pro doménu {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "adresa" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "Adresa aliasu." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "povoleno" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Zatrhněte pole pro povolení tohoto aliasu" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Popis" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Vyprší o" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Neplatná adresa" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Lokální příjemce {}@{} nebyl nalezen" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Neplatný řádek: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Doména '%s' neexistuje" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "název" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Doménové jméno" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "Kvóta v MB sdílená mezi schránky. Hodnota 0 = žádná kvóta." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "Výchozí kvóta v MB pro schránky. Hodnota 0 = žádná kvóta." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Zatrhněte pole pro povolení této domény" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Zapnout kontrolu DNS" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Zaškrtněte pro zapnutí kontroly DNS pro tuto doménu" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "Povolit DKIM podepisování" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." -msgstr "Pokud povolíte tuto možnost, bude vygenerován DKIM klíč pro tuto doménu." +msgstr "" +"Pokud povolíte tuto možnost, bude vygenerován DKIM klíč pro tuto doménu." -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "Délka klíče" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Neplatný řádek" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "Nenalezeny žádný autorizovaný MX záznam pro doménu {}" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Neplatná hodnota kvóty pro doménu '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Neplatná výchozí hodnota kvóty schránky pro doménu '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "Výchozí kvóta mailové schránky nemůže být větší než kvóta domény" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Název aliasu" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "cíl" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Doména, na kterou tento alias odkazuje" @@ -735,57 +785,57 @@ msgstr "Doména, na kterou tento alias odkazuje" msgid "Unknown domain %s" msgstr "Neznámá doména %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adresa schránky (bez části @doména.tld)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Nebylo možné zjistit umístění schránky (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Kvóta je vyžadována" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Kvóta domény byla překročena" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Přístup zamítnut." -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "Zobrazit spravované domény (jenom distributori a správci domén)" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Není povoleno pro tuto roli." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Musí být rovno hodnote schránky celá_adresa" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "Lokální doména {} neexistuje" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "Seznam příjemců" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "Doména nebyla nalezena." -#: admin/serializers.py:407 +#: admin/serializers.py:433 msgid "You don't have access to this domain." msgstr "K této doméně nemáte přístup." -#: admin/serializers.py:415 +#: admin/serializers.py:441 msgid "You don't have access to this mailbox." msgstr "K této schránce nemáte přístup." @@ -990,20 +1040,24 @@ msgstr "DKIM klíč" msgid "Show key" msgstr "Zobrazit klíč" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "Nevygenerováno" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Správci" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Odstranit toto oprávnění" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Dosud nebyl určen správce domény." @@ -1057,7 +1111,7 @@ msgstr "zákázáno" msgid "Automatically forward emails to another address" msgstr "Automaticky přesměrovat emaily na jinou adresu" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Aktualizovat" @@ -1082,17 +1136,32 @@ msgid "" "verify recipients

The first element of each line is " "mandatory and must be equal to one of the previous values.

You can " "use a different character as separator.

" -msgstr "Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených formátů:
  • doména; název; kvóta, výchotí_kvóta schránky; povoleno
  • doménový_alias; název; cílová_doména; povoleno
  • relay_doména; název; cílový_host; cílový_port; služba; povoleno; ověřit_příjemce

První element každého řádku je povinný a musí být shodný s některou z předchozích hodnot.

Můžete také použít jiný oddělovač hodnot.

" +msgstr "" +"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených " +"formátů:
  • doména; název; kvóta, výchotí_kvóta schránky; povoleno
  • doménový_alias; název; cílová_doména; povoleno
  • relay_doména; název; cílový_host; cílový_port; služba; povoleno; " +"ověřit_příjemce

První element každého řádku je povinný a " +"musí být shodný s některou z předchozích hodnot.

Můžete také použít " +"jiný oddělovač hodnot.

" #: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
    " -"
  • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
  • alias; address; enabled; " +"
  • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
  • alias; address; enabled; " "recipient; recipient; ...

The first element of each line " -"is mandatory and must be equal to one of the previous values.

You can" -" use a different character as separator.

" -msgstr "Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených formátů:\n
  • uživatelské_konto; přihlašovací_jméno; heslo; křestní_jméno; příjmení; povoleno; skupina; adresa; kvóta; [, doména, ...]
  • alias; adresa; povoleno; příjemce; příjemce; ...
    • První element každého řádku je povinný a musí být shodný s některou z předchozích hodnot.

      Můžete také použít jiný oddělovač hodnot.

      " +"is mandatory and must be equal to one of the previous values.

      You can " +"use a different character as separator.

      " +msgstr "" +"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených " +"formátů:\n" +"
      • uživatelské_konto; přihlašovací_jméno; heslo; křestní_jméno; " +"příjmení; povoleno; skupina; adresa; kvóta; [, doména, ...]
      • alias; adresa; povoleno; příjemce; příjemce; ...

          První element každého řádku je povinný a musí být shodný s " +"některou z předchozích hodnot.

          Můžete také použít jiný oddělovač " +"hodnot.

          " #: admin/templates/admin/importform.html:6 msgid "Help" @@ -1131,14 +1200,19 @@ msgstr "Pro tuto doménu nebyl nalezen žádný MX záznam." msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "Modoboa zjistilo, že doména %(domain)s je uvedena v seznamu u následujících poskytovatelů DNSBL:" +msgstr "" +"Modoboa zjistilo, že doména %(domain)s je uvedena v seznamu u následujících " +"poskytovatelů DNSBL:" #: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "Reputace domény bude ovlivněna, a je možné, že e-maily přicházející z ní jsou považovány za spam. Měli byste kontaktovat tyto poskytovatele a požádat je o odstranění IP adresy (adres) ze seznamu." +msgstr "" +"Reputace domény bude ovlivněna, a je možné, že e-maily přicházející z ní " +"jsou považovány za spam. Měli byste kontaktovat tyto poskytovatele a požádat " +"je o odstranění IP adresy (adres) ze seznamu." #: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format @@ -1149,72 +1223,72 @@ msgstr "Modoboa zjistilo, že doména %(domain)s nemá platný MX záznam:" msgid "Search" msgstr "Hledat" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "Aktivovaný" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "Aktivovaná" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Seznam domén" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Seznam kvót" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Import" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Export" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Seznam identit" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Zobrazit seznam identit domény" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Upravit {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Smazat %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Alias s tímto názvem již existuje" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Vytvořit" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Nový alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias vytvořen" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias upraven" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias smazán" @@ -1230,11 +1304,11 @@ msgstr "MX záznamy pro {}" msgid "DNSBL summary for {}" msgstr "DNSBL přehled pro {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Nemůžete smazat vlastní doménu" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Doména smazána" @@ -1242,20 +1316,20 @@ msgstr[1] "Domény smazány" msgstr[2] "Domén smazáno" msgstr[3] "Domén smazáno" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Exportovat identity" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Exportovat domény" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Neplatný požadavek" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Účet smazán" @@ -1263,21 +1337,21 @@ msgstr[1] "Účty smazány" msgstr[2] "Účtů smazáno" msgstr[3] "Účtů smazáno" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Objekt již existuje: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d objektů úspěšně importováno" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importovat domény" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importovat identity" diff --git a/modoboa/admin/locale/de/LC_MESSAGES/django.po b/modoboa/admin/locale/de/LC_MESSAGES/django.po index 6aadc9012..33fbd48c3 100644 --- a/modoboa/admin/locale/de/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/de/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2015-09-09 09:33+0000\n" "Last-Translator: controlc.de\n" "Language-Team: German (http://www.transifex.com/tonio/modoboa/language/de/)\n" @@ -20,76 +20,76 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domains" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Postfächer" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Postfächer im Dateisystem verwalten" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -97,21 +97,21 @@ msgstr "" "Postfächer auch in Dateisystem umbenennen oder entfernen wenn sie in Modoboa " "umbenannt oder entfernt werden" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Postfach-Besitzer" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" "UID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und " "Nachrichten im Dateisystem ist." -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Standard-Domainquota" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -119,14 +119,14 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "Standard-Domainquota" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -138,72 +138,72 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Automatische Konto-Entfernung" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "Beim Löschen des Postfachs auch das Konto entfernen." -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Automatische Domain- /Postfach-Erstellung" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Erstelle eine Domain und ein Postfach, wenn ein Konto automatisch erstellt " "wurde." -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Muss eine positive Ganzzahl sein" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Domain verändert" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Verwaltung" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domain" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Neue Domain" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Benutzername" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -211,80 +211,80 @@ msgstr "" "Der Benutzername. Muss eine gültige E-Mail-Adresse für 'Normale Benutzer' " "oder Administratoren mit einer Mailbox sein." -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rolle" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Auswählen" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Rechte, die der Benutzer haben wird" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 #, fuzzy #| msgid "Invalid address" msgid "Random password" msgstr "Ungültige Adresse" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Passwort" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Bestätigung" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Passwort bestätigen" -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Aktiviert" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Nur Super-Administratoren dürfen diesen Modus benutzen." -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "Ein Postfach ist erforderlich" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Die angegebenen Passwörter stimmen nicht überein" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Sie können Ihr eigenes Konto nicht deaktivieren" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-Mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -294,12 +294,12 @@ msgstr "" "nutzen Sie den Standardwert der Domain. Lassen Sie das Feld leer für " "unbegrenztes Quota (Domain-Administratoren ist dies nicht gestattet)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(e)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -314,13 +314,13 @@ msgstr "" "an. Bestätigen Sie die Eingabe mit ENTER. Geben Sie '*' an, um einen " "'catchall'-Alias (Bsp: *@example.com) zu erstellen." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 #, fuzzy #| msgid "Invalid address" msgid "Sender addresses" msgstr "Ungültige Adresse" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 #, fuzzy #| msgid "" #| "Addresses this alias will point to. Indicate only one address per input, " @@ -333,70 +333,70 @@ msgstr "" "Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein " "und bestätigen Sie mit ENTER." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Domain existiert nicht" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "Domain existiert nicht" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domain(s)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domain(s), die dieser Benutzer administriert" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Allgemein" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "E-Mail" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Berechtigungen" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Konto aktualisiert" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Neues Konto" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Konto erstellt" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 #, fuzzy #| msgid "Invalid address" msgid "Random address" msgstr "Ungültige Adresse" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "E-Mail Adresse" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -404,11 +404,11 @@ msgstr "" "Die Alias-Adresse. Geben Sie nur den Domainnamen (@domain.tld) für eine " "'catch-all' Alias an." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Empfänger" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -416,22 +416,22 @@ msgstr "" "Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein " "und bestätigen Sie mit ENTER." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required" msgstr "Ein Postfach ist erforderlich" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Keine Empfänger angegeben" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -440,55 +440,55 @@ msgstr "" "Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu " "erhalten." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "Domain-Alias" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Ein %s mit diesem Namen existiert bereits" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "Domain" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Domain-Administrator erstellen" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Automatisch Administrator für diese Domain anlegen" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Name" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -496,241 +496,255 @@ msgstr "" "Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird " "automatisch angehängt." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "Domain-Administrator erstellen" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Domain-Administrator erstellen" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Aliase erstellen" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Automatisch Standard-Aliase für Domain anlegen" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Ungültiges Format" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Benutzer %s existiert bereits" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domain verändert" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Optionen" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Neue Domain" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domain erstellt." -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Dateiname" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Separator" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Empfänger" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Geben sie einen oder mehrere, durch ',' separierte Empfänger an" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Lokale Kopien behalten" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "Nachricht weiterleiten und Kopie in Mailbox ablegen" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Wählen Sie eine Datei" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Bei Fehler fortfahren" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Doppelte Objekte nicht als Fehler behandeln" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Passwörter verschlüsseln" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Auswählen, wenn Kennwörter in Datei nicht verschlüsselt sind" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "Postfach %s existiert bereits" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Konto Import fehlgeschlagen (%s): ungültiger Quota-Wert" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identitäten" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Weiterleiten" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Ein Postfach ist erforderlich" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Sie verfügen nicht über ausreichend Rechte, um Domains zu importieren." -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "" "Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren." -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "Adresse" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "Die Alias-Adresse" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "aktiviert" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Auswählen, um den Alias zu aktivieren" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "Alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Ungültige Adresse" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Lokaler Empfänger {}@{} nicht gefunden" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Ungültige Zeile: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Domain '%s' existiert nicht" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "Name" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Name der Domain" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -740,7 +754,7 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -750,66 +764,66 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Auswählen, um diese Domain zu aktivieren" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Auswählen, um diese Domain zu aktivieren" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Ungültige Zeile" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid quota value for domain '{}'" msgstr "Ungültiger Quota-Wert für Domain '%s'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Ungültiger Quota-Wert für Domain '%s'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Der Alias-Name" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "Ziel" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Domain, auf die dieser Alias verweist" @@ -818,67 +832,67 @@ msgstr "Domain, auf die dieser Alias verweist" msgid "Unknown domain %s" msgstr "Unbekannte Domain %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Postfach-Adresse (ohne den '@domain.tld' Teil)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Der Speicherort des Postfachs (%s) konnte nicht bestimmt werden" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Ein Quota ist erforderlich" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Domain erstellt." -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Berechtigungen" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "" -#: admin/serializers.py:253 +#: admin/serializers.py:275 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "Domain existiert nicht" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "" -#: admin/serializers.py:358 +#: admin/serializers.py:384 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Domain verändert" -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1119,22 +1133,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Keine Empfänger angegeben" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administratoren" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Diese Berechtigung entfernen" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." @@ -1196,7 +1214,7 @@ msgstr "deaktiviert" msgid "Automatically forward emails to another address" msgstr "Nachrichten automatisch an andere Adresse weiterleiten" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Aktualisieren" @@ -1338,72 +1356,72 @@ msgstr "" msgid "Search" msgstr "Suchen" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "aktiviert_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "aktiviert_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Domain-Liste" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Quota-Liste" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Import" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Export" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Identitäten-Liste" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Domain-Identitäten anzeigen" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "%s löschen?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Ein Alias mit diesem Namen existiert bereits" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Erstellen" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Neuer Alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias erstellt" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias verändert" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1419,50 +1437,50 @@ msgstr "" msgid "DNSBL summary for {}" msgstr "" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Sie können Ihre eigene Domain nicht löschen" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domain gelöscht" msgstr[1] "Domains gelöscht" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Identitäten exportieren" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Domains exportieren" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Ungültige Anfrage" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Konto gelöscht" msgstr[1] "Konten gelöscht" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Objekt existiert bereits: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d Objekte erfolgreich importiert" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Domains importieren" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Identitäten importieren" diff --git a/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po b/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po index 55d10dcad..8e14360ba 100644 --- a/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-10-12 08:13+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,25 +20,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domains" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Ενεργοποίηση ελέγχου MX" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "Έγκυρα MXς" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -46,11 +46,11 @@ msgstr "" "Μια λίστα από IP ή δικτυακές διευθύνσεις που κάθε εγράφη MX πρέπει να " "ταιριάζει. " -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "Τα νέα domain πρέπει να χρησιμοποιούν εξουσιοδοτημένους MX(s)" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -58,42 +58,42 @@ msgstr "" "Αποτροπή δημιουργίας νέου domain, εάν η εγράφη MX χρησιμοποιεί μια από τις " "είδη ορισμένες διευθύνσεις." -#: admin/app_settings.py:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Ενεργοποίηση ελέγχου DNSBL" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Έλεγχος κάθε domain κατά κύριους DNSBL πάροχους" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Γραμματοκιβώτια" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Χειριστείτε γραμματοκιβώτια στο σύστημα αρχείων" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -101,21 +101,21 @@ msgstr "" "Μετονομασία και διαγραφή γραμματοκιβωτίων στο σύστημα αρχείων, όταν " "μετονομάζονται ή διαγράφονται από το Medaboa " -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Ο ιδιοκτήτης των γραμματοκιβωτίων" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" "Ο UNIX λογαριασμός που είναι ιδιοκτήτης των γραμματοκιβωτίων στο σύστημα " "αρχείων" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Προκαθορισμένο domain quota" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -123,12 +123,12 @@ msgstr "" "Προκαθορισμένο quota (σε MB) που εφαρμόζεται στα νέα domains χωρίς " "προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. " -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Προκαθορισμένο quota γραμματοκιβωτίου " -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -136,75 +136,75 @@ msgstr "" "Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα " "domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. " -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Αυτόματη αφαίρεση λογαριασμών" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Όταν αφαιρείται ένα γραμματοκιβώτιο, να αφαιρείται και ο σχετικός λογαριασμός" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Αυτόματη δημιουργία domain/γραμματοκιβωτίων" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Δημιουργία domain και γραμματοκιβωτίου κατά την αυτόματη δημιουργία " "λογαριασμού" -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "Δημιουργία ενός ψευδώνυμου κατά τη μετονομασία ενός γραμματοκιβωτίου" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση όταν " "μετονομάζεται ένα γραμματοκιβώτιο." -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Πρέπει να είναι θετικός ακέραιος" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "To domain δεν βρέθηκε." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "Ορίστε τουλάχιστον μια εξουσιοδοτημένη διεύθυνση / δίκτυο" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Διαχείριση" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domain" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Νέο domain" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Όνομα Χρήστη" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -212,23 +212,23 @@ msgstr "" "Το όνομα του χρήστη. Πρέπει να είναι μια έγκυρη e-mail διεύθυνση για απλούς " "χρήστες ή διαχειριστές με γραμματοκιβώτιο." -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Ρόλος" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Επιλογή" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Το επίπεδο δικαιωμάτων αυτού του χρήστη" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "Τυχαίως κωδικός" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -236,54 +236,54 @@ msgstr "" "Δημιουργία ενός τυχαίου κωδικού. Εάν ενημερώνεται αυτό το λογαριασμό και " "επιλέξετε το box, ένας νέος τυχαίος κωδικός θα δημιουργηθεί. " -#: admin/forms/account.py:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Κωδικός" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Επιβεβαίωση" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Εισάγετε τον ίδιο κωδικό για επιβεβαίωση. " -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Ενεργοποιημένο" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Μόνο σε super διαχειριστές επιτρέπεται αυτή η λειτουργία. " -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "Αυτό το πεδίο απαιτείτε." -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Οι δύο κωδικοί δεν είναι ίδιοι" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Δεν μπορείτε να απενεργοποιήσετε τον δικό σας λογαριασμό" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -293,12 +293,12 @@ msgstr "" "χρησιμοποιήστε την προεπιλεγμένη του τομέα. Αφήστε το κενό για να μη βάλετε " "όριο (δεν επιτρέπεται για διαχειριστές domain)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Ψευδώνυμο(μα) " -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 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 " @@ -308,11 +308,11 @@ msgstr "" "πατήστε ENTER για να προσθέσετε επιπλέον. Για να δημιουργήσετε ένα catchall " "ψευδώνυμο, εισάγετε το όνομα τομέα (@domain.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Διεύθυνση αποστολέα" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 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 " @@ -323,66 +323,66 @@ msgstr "" "ακόμη και εάν αυτή δεν υπάρχει τοπικά στον server. Εισάγετε μόνο μια " "διεύθυνση ανά γραμμή. Πιέστε ENTER για να εισάγεται επιπλέον διευθύνσεις. " -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Το domain δεν υπάρχει" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "To τοπικό domain δεν υπάρχει" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Δεν έχετε πρόσβαση σε αυτό το domain" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domain(s)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Τα domains που ο χρήστης διαχειρίζεται" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Γενικά" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Προφιλ" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Μήνυμα" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Δικαιώματα" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Ο λογαριασμός ενημερώθηκε" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Νέος λογαριασμός" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Ο λογαριασμός δημιουργήθηκε" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Τυχαία διεύθυνση" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Διεύθυνση Email" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -390,11 +390,11 @@ msgstr "" "Διεύθυνση ψευδώνυμου. Για να δημιουργήσεις catchall ψευδώνυμα, απλός " "εισάγεται το όνομα του domain (@domain.tld)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Παραλήπτες" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -402,20 +402,20 @@ msgstr "" "Οι διευθύνσεις στις οποίες το ψευδώνυμο θα δείχνει. Εισάγεται μόνο μία " "διεύθυνση ανά εγράφη, πατήστε ENTER για να εισάγεται επιπλέον." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "Το πεδίο απαιτείται " -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Δεν έχει ορισθεί παραλήπτης" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Τύπος" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -423,55 +423,55 @@ msgstr "" "Ψευδώνυμο(μα) από το domain. Εισάγεται μόνο ένα όνομα ανά γραμμή, πατήστε " "ENTER για να εισάγεται επιπλέον. " -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "Ψευδώνυμα (alias) domain " -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Το '%s' με αυτό το όνομα υπάρχει ήδη" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "Δεν υπάρχουν ΜΧ έγραφες για αυτό το domain " -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "Δεν μπορεί να είναι μεγαλύτερο από το domain quota." -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "Δεν μπορείτε να ορίσετε ένα απεριόριστο quota." -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domain" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Δημιουργία διαχειριστή domain" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Αυτόματη δημιουργία διαχειριστή για αυτό το domain" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Όνομα" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -479,306 +479,320 @@ msgstr "" "Το όνομα του διαχειριστή. Μην συμπεριλάβετε το όνομα του domain, γιατί θα " "προσαρτηθεί αυτόματα στο τέλος." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "Δημιουργήστε έναν τυχαίο κωδικό πρόσβασης για το διαχειριστή." -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "Με ένα γραμματοκιβώτιο" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "Δημιουργήστε ένα γραμματοκιβώτιο για το διαχειριστή." -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Δημιουργία Ψευδώνυμου" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Δημιουργήστε αυτόματα standard ψευδώνυμα για αυτόν το domain" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Λάθος μορφοποίηση" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Ο χρήστης '%s' υπάρχει ήδη" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Το domain άλλαξε" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Επιλογές" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Νέο domain" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Το domain δημιουργήθηκε" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Όνομα αρχείου" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Διαχωριστικό" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Παραλήπτες" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Προσθέστε παραπάνω από έναν παραλήπτη μετά το διαχωριστικό ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Αποθήκευση τοπικών αντιγράφων" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Προώθηση μηνυμάτων και αποθήκευση αντιγράφων στο τοπικό γραμματοκιβώτιο" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Επιλέξτε αρχείο" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Συνέχεια σε περίπτωση σφάλματος" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Μην αντιμετωπίζετε τα διπλότυπα αντικείμενα ως σφάλματα" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Κρυπτογράφηση κωδικών" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Επιλέξτε εάν οι κωδικοί που βρίσκονται στο αρχείο δεν είναι κρυπτογραφημένοι" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Η εισαγωγή λογαριασμού απέτυχε (%s): το domain δεν υπάρχει" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "Το γραμματοκιβώτιο {} είδη υπάρχει " -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Η εισαγωγή του λογαριασμού (%s) απέτυχε: λάθος τιμή στο quota" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Ταυτότητες" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Προώθηση" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Απαιτείται γραμματοκιβώτιο" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Δεν έχετε δικαίωμα εισαγωγής domain" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "Δεν επιτρέπεται να εισαγάγετε ψευδώνυμα στο domain." -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS records found for %s" msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. " -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No MX record for %s" msgstr "Έγραφες MX από{}" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL ζήτημα(τα) για το domain {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "Το Domain {} δεν έχει εγγραφή MX " -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Η εγγραφή MX για το domain {0} δεν είναι έγκυρη: {1} " -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX ζήτημα(τα) για το domain {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "διεύθυνση" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "Η εναλλακτική διεύθυνση." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "ενεργοποιημένο" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Επιλέξτε για να ενεργοποιήσετε αυτό το ψευδώνυμο" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Περιγραφή" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Λήγει την " -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "Ψευδώνυμο" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Λάθος διεύθυνση" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Ο τοπικός παραλήπτης {}@{} δεν βρέθηκε" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Λάθος γραμμή: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Το domain '%s' δεν υπάρχει" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "όνομα" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Το όνομα του domain" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "" "Κοινόχρηστο quota σε MB μεταξύ γραμματοκιβωτίων. Μια τιμή 0 σημαίνει ότι δεν " "υπάρχει quota. " -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 " "σημαίνει ότι δεν υπάρχει quota. " -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Επιλέξτε για να ενεργοποιηθεί αυτό το domain" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Ενεργοποίση ελέγχου DNS" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Επιλέξτε για να ενεργοποιήσετε τους ελέγχους DNS για αυτόν το domain" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Λάθος γραμμή" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "Δεν βρέθηκε εξουσιοδοτημένη εγγραφή MX για το domain {}" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Μη έγκυρη τιμή quota για το domain '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" "Μη έγκυρη τιμή quota για το προεπιλεγμένο γραμματοκιβώτιο για το domain '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Το προεπιλεγμένο quota για το γραμματοκιβώτιο δεν πρέπει να είναι μεγαλύτερο " "από το domain quota. " -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Το όνομα του ψευδώνυμου" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "στόχος" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "To domain στο οποίο αναφέρεται αυτό το ψευδώνυμο" @@ -787,61 +801,61 @@ msgstr "To domain στο οποίο αναφέρεται αυτό το ψευδ msgid "Unknown domain %s" msgstr "Άγνωστο domain %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Διεύθυνση γραμματοκιβωτίου (χωρίς το @domain.tld κομμάτι)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Σφάλμα κατά την ανάκτηση της τοποθεσίας του γραμματοκιβωτίου (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Ένα quota απαιτείται " -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Υπέρβαση του domain quota" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Η άδεια απορρίφθηκε." -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Λίστα διαχειριζόμενων domains (αφορά μόνο μεταπωλητές και διαχειριστές " "domain)" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Δεν επιτρέπεται για αυτόν τον ρόλο." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Πρέπει να είναι ίσο με την full_address του γραμματοκιβωτίου" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "Το τοπικός domain {} δεν υπάρχει" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "Λίστα παραληπτών" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "To domain δεν βρέθηκε." -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Δεν έχετε πρόσβαση σε αυτό το domain" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1052,22 +1066,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "Not defined" msgid "Not generated" msgstr "Μη καθορισμένο" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Διαχειριστές" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Αφαίρεση αυτού του δικαιώματος" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Δεν έχει καθοριστεί ακόμη διαχειριστής του domain." @@ -1121,7 +1139,7 @@ msgstr "απενεργοποιημένο" msgid "Automatically forward emails to another address" msgstr "Αυτόματη προώθηση των email σε άλλη διεύθυνση" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Ενημέρωση" @@ -1238,72 +1256,72 @@ msgstr "" msgid "Search" msgstr "Αναζήτηση" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "enabled_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "enabled_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Λίστα domains" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "List Quotas" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Εισαγωγή" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Εξαγωγή" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Λίστα ταυτοτήτων" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Εμφάνιση των ταυτοτήτων του domain" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Επεξεργασία{}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Διαγραφή %s;" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Υπάρχει είδη αυτό το ψευδώνυμο" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Δημιουργία" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Νέο ψευδώνυμο" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Το ψευδώνυμο δημιουργήθηκε" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Το ψευδώνυμο τροποποιήθηκε" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Το ψευδώνυμο διαγράφηκε" @@ -1317,50 +1335,50 @@ msgstr "Έγραφες MX από{}" msgid "DNSBL summary for {}" msgstr "Περίληψη DNSBL για{}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Δεν μπορείτε να σβήσετε το δικό σας domain" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Το domain διαφράφηκε" msgstr[1] "Τα domains διαφράφηκαν" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Εξαγωγή ταυτοτήτων" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Εξαγωγή των domain" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Λάθος αίτημα" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Ο λογαριασμός διαγράφηκε" msgstr[1] "Οι λογαριασμοί διαγράφηκαν" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Το αντικείμενο υπάρχει ήδη: %s'" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d αντικείμενα εισήχθησαν με επιτυχία" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Εισαγωγή των domain" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Εισαγωγή ταυτοτήτων" diff --git a/modoboa/admin/locale/en/LC_MESSAGES/django.po b/modoboa/admin/locale/en/LC_MESSAGES/django.po index 84cdd8d1d..7cc77d846 100644 --- a/modoboa/admin/locale/en/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,711 +17,725 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" msgstr "" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 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:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 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:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 msgid "Directory not found." msgstr "" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 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:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "" -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " "administrators)." msgstr "" -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "" -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." msgstr "" -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "" -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." msgstr "" -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." msgstr "" -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "" -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "" -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "" @@ -730,57 +744,57 @@ msgstr "" msgid "Unknown domain %s" msgstr "" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "" -#: admin/serializers.py:407 +#: admin/serializers.py:433 msgid "You don't have access to this domain." msgstr "" -#: admin/serializers.py:415 +#: admin/serializers.py:441 msgid "You don't have access to this mailbox." msgstr "" @@ -985,20 +999,24 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "" @@ -1052,7 +1070,7 @@ msgstr "" msgid "Automatically forward emails to another address" msgstr "" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "" @@ -1144,72 +1162,72 @@ msgstr "" msgid "Search" msgstr "" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "" @@ -1223,50 +1241,50 @@ msgstr "" msgid "DNSBL summary for {}" msgstr "" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "" msgstr[1] "" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "" msgstr[1] "" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "" diff --git a/modoboa/admin/locale/es/LC_MESSAGES/django.po b/modoboa/admin/locale/es/LC_MESSAGES/django.po index 2451d6b11..53b7fcc70 100644 --- a/modoboa/admin/locale/es/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/es/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-06-28 00:48+0000\n" "Last-Translator: Evilham \n" "Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/" @@ -20,25 +20,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Dominios" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Habilitar comprobación MX" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "Compruebe que cada dominio tenga un registro MX válido" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "MX Validos" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -46,52 +46,52 @@ msgstr "" "Una lista de IP o dirección de red, cada registro MX debe coincidir. Se " "enviará una advertencia si un registro no la respeta." -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Habilitar comprobación DNSBL" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Compruebe cada dominio con los principales proveedores de DNSBL" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Mailboxes" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Manejar mailboxes en el sistema de fichero" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -99,19 +99,19 @@ msgstr "" "Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean " "renombrados o eliminados dentro de Modoboa" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Propietario de los mailboxes" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Cuenta de UNIX que posee los mailboxes en el sistema de ficheros" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Cuota del dominio por defecto" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -119,12 +119,12 @@ msgstr "" "Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que " "no tuvieran un valor especificado. Un valor de 0 significa que no hay cuota." -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Cuota de mailbox por defecto" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -132,70 +132,70 @@ msgstr "" "La cuota de mailbox por defecto (en MB) se aplica a los dominios nuevos que " "no especifican este valor. Un valor de 0 significa ningún limite." -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Elminar cuentas automáticamente" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "Cuando un mailbox es eliminado, también lo es su cuenta asociada." -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Creación automática de dominio/buzón" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Crear un dominio y un buzón cuando se cree automáticamente una cuenta." -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Debe ser un entero positivo" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "Dominio no encontrado." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administración" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Dominio" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Nuevo dominio" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Nombre de usuario" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -203,78 +203,78 @@ msgstr "" "El nombre del usuario. Debe ser una dirección de 'e-mail' válida para " "usuarios simples o administradores con un buzón." -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rol" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Elija" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Qué nivel de permiso tendrá este usuario" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 #, fuzzy #| msgid "Random address" msgid "Random password" msgstr "Dirección aleatoria" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Contraseña" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Confirmación" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Introduzca la misma contraseña que arriba, para verificación." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Activado" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Sólo se permiten superadministradores para este modo" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "Este campo es obligatorio." -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Las contraseñas no concuerdan" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "No puede deshabilitar su propia cuenta" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "Email" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Cuota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -284,12 +284,12 @@ msgstr "" "dominio por defecto. Déjelo vacío para definir un valor ilimitado (no " "permitido para los administradores del dominio)" -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 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 " @@ -299,11 +299,11 @@ msgstr "" "ENTER para agregar una nueva entrada. Para crear un alias catchall, " "simplemente ingrese el nombre de dominio (@ domain.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Direcciónes de remitente" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 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 " @@ -314,66 +314,66 @@ msgstr "" "exista localmente. Indique una dirección por entrada. Presione ENTER para " "agregar una nueva entrada." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "El dominio no existe" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "El dominio no existe" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "No tienes acceso a este dominio" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Dominio(s)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Dominio(s) que el usuario administra" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "General" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Correo" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Permisos" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Cuenta actualizada" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nueva cuenta" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Cuenta creada" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Dirección aleatoria" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Dirección de email" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -381,11 +381,11 @@ msgstr "" "La dirección del alias. Para crear un alias catchall, simplemente ingrese el " "nombre de dominio (@ domain.tld)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatarios" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -393,20 +393,20 @@ msgstr "" "Las direcciones a las que apunta este alias. Indique sólo una dirección por " "entrada, presione ENTER para agregar una nueva entrada." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "Este campo es obligatorio" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "No ha puesto destinatario" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -414,57 +414,57 @@ msgstr "" "Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione " "ENTER para añadir una nueva entrada." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "alias del dominio" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Ya existe un %s con ese nombre" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 #, fuzzy #| msgid "No MX record found for this domain." msgid "No authorized MX record found for this domain" msgstr "No se encontró ningún registro MX para este dominio." -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "No puede superar la cuota de dominio" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "No puede definir una cuota ilimitada." -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "dominio" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Crear un administrador del dominio" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Automáticamente crear una administrador para este dominio" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nombre" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -472,306 +472,320 @@ msgstr "" "El nombre del administrador. No incluya el nombre del dominio aquí, será " "añadido automáticamente." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 #, fuzzy #| msgid "Create a mailbox for the administrator." msgid "Generate a random password for the administrator." msgstr "Crear mailbox para el administrador." -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "Con una mailbox" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "Crear mailbox para el administrador." -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Crear alias" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Automáticamente crear alias estándar para este dominio" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Formato inválido" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "El usuario '%s' ya existe" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Dominio modificado" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Opciones" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Nuevo dominio" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Dominio creado" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Nombre del fichero" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Separador" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Destinatario(s)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Indique uno o más destinatarios separados por una ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Mantener copias locales" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "Reenvía mensajes y guarda copias en su mailbox local" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Seleccione un fichero" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Continúe en error." -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "No tratar objetos duplicados como error" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Contraseñas cifradas" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Marque esta opción si las contraseñas que contiene su fichero no están " "cifradas" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Falló la importación de la cuenta (%s): el dominio no existe" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "El buzón {} ya existe" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Error en la importación de la cuenta (%s): valor de cuota incorrecto" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identidades" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Siguiente" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Es obligatorio un buzón" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "No está autorizado para importar dominios" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "No está autorizado para importar alias de dominio." -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS records found for %s" msgstr "No se encontró ningún registro MX para este dominio." -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No MX record for %s" msgstr "Registros MX de {}" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problema(s) para el dominio {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "El dominio {} no tiene registro MX" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "El registro MX para el dominio {0} no es válido: {1}" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX problema(s) para el dominio {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "dirección" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "La dirección del alias." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "activado" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Marcar para activar este alias" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Descripción" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Caduca en" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Dirección inválida" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Receptor local {}@{} no encontrado" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Línea inválida: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "El dominio '%s' no existe" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "nombre" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Nombre del dominio" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "" "La cuota compartida entre las mailboxes en MB. Un valor de 0 significa " "ningún limite." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Marcar para activar este dominio" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Activar comprobación de DNS" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Seleccionar para activar la comprobación de DNS para este dominio" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Línea inválida" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 #, fuzzy #| msgid "No MX record found for this domain." msgid "No authorized MX record found for domain {}" msgstr "No se encontró ningún registro MX para este dominio." -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Cuota inválida para dominio '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Cuota de mailbox por defecto inválida para dominio '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "La cuota de mailbox por defecto no puede superar la cuota de dominio" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Nombre del alias" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "objetivo" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "El dominio al que este alias apunta" @@ -780,61 +794,61 @@ msgstr "El dominio al que este alias apunta" msgid "Unknown domain %s" msgstr "Dominio desconocido %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Dirección del mailbox (sin la parte @dominio.tld)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Fallo al recuperar la localización del mailbox (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Una cuota es obligatoria" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Cuota de dominio excedida" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Permiso denegado." -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista de dominios administrados (sólo distribuidores y administradores de " "dominio)." -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "No estás autorizado para esta función." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Debe ser igual a la dirección completa del buzón" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "El dominio local {} no existe" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "Lista de destinatarios" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "Dominio no encontrado." -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "No tienes acceso a este dominio" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1045,22 +1059,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "Not defined" msgid "Not generated" msgstr "Sin definir" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administradores" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Eliminar este permiso" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Aún no se define un administrador de dominio." @@ -1116,7 +1134,7 @@ msgstr "deshabilitado" msgid "Automatically forward emails to another address" msgstr "Reenvía automáticamente los correos a otra dirección" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Actualizar" @@ -1233,72 +1251,72 @@ msgstr "" msgid "Search" msgstr "Buscar" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "Activado" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "Activado" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Listar dominios" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Listar cuotas" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importar" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Exportar" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Listar identidades" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Ver las identidades del dominio" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Editar {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "¿Eliminar %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Ya existe un alias con este nombre" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Crear" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Nuevo alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias creado" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias modificado" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias eliminado" @@ -1312,50 +1330,50 @@ msgstr "Registros MX de {}" msgid "DNSBL summary for {}" msgstr "Resumen de DNSBL para {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "No puedo eliminar su propio dominio" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Dominio eliminado" msgstr[1] "Dominios eliminados" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Exportar identidades" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Exportar dominios" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Petición inválida" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Cuenta eliminada" msgstr[1] "Cuentas eliminadas" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "El objeto ya existe: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d objetos importados con éxito" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importar dominios" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importar identidades" diff --git a/modoboa/admin/locale/fr/LC_MESSAGES/django.po b/modoboa/admin/locale/fr/LC_MESSAGES/django.po index 2c6e804ae..b00391e20 100644 --- a/modoboa/admin/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-01-25 09:18+0100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -18,25 +18,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domaines" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Activer la vérification des MX" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "Vérifie que chaque domaine a un enregistrement MX valide" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "MX(s) valide(s)" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -45,11 +45,11 @@ msgstr "" "respecter. Un avertissement sera envoyé dès qu'un enregistrement ne la " "respecte pas." -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "Les nouveaux domaines doivent utiliser un ou plusieurs MX autorisés" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -57,42 +57,45 @@ msgstr "" "Empêcher la création d'un domaine s'il n'a pas au moins un MX utilisant une " "adresse autorisée." -#: admin/app_settings.py:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Activer les vérifications DNSBL" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Vérifie chaque domaine auprès des fournisseurs de DNSBL" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "Répertoire de stockage des clés DKIM" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Chemin absolu du répertoire dans lequel seront stockées les clés DKIM. Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il n'est pas lisible par le monde extérieur." +msgstr "" +"Chemin absolu du répertoire dans lequel seront stockées les clés DKIM. " +"Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il " +"n'est pas lisible par le monde extérieur." -#: admin/app_settings.py:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "Taille par défaut d'une clé DKIM" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "Taille par défaut en octets des clés DKIM nouvellement générées." -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Boites" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Gérer les boites sur le système de fichiers" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -100,19 +103,19 @@ msgstr "" "Renommer ou supprimer les boites sur le système de fichiers quand elles sont " "renommées ou supprimées dans Modoboa" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Propriétaire des boites" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Le compte UNIX qui possède les boites sur le système de fichiers" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Quota de domaine par défaut" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -120,12 +123,12 @@ msgstr "" "Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne " "spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué." -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Quota par défaut pour une boîte aux lettres" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -133,72 +136,73 @@ msgstr "" "Quota par défaut pour une boîte aux lettres utilisé pour les domaines " "nouvellement créés. Une valeur à 0 signifie pas de quota." -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Suppression automatique de compte" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en " "même temps" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Création automatique de domaine/boite aux lettres" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Créer un domaine et une boite aux lettres quand un compte est créé " "automatiquement." -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "Créer un alias quand une boite aux lettres est renommée" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres " "est renommée." -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Doit être un entier positif" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 msgid "Directory not found." msgstr "Répertoire introuvable." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." -msgstr "impossible de trouver openssl, veuillez vous assurer vous qu'il est installé." +msgstr "" +"impossible de trouver openssl, veuillez vous assurer vous qu'il est installé." -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "Définissez au moins un réseau / une adresse autorisé" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administration" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domaine" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "Domaine relais" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Nom d'utilisateur" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -206,23 +210,23 @@ msgstr "" "Le nom de l'utilisateur. Doit être une adresse e-mail valide pour les " "utilisateurs simples ou les administrateurs avec une boite aux lettres." -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rôle" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Choisir" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Quel niveau de permission cet utilisateur aura" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "Mot de passe aléatoire" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -230,54 +234,54 @@ msgstr "" "Générer un mot de passe aléatoire. Si vous modifiez ce compte et cochez " "cette case, un nouveau mot de passe sera généré." -#: admin/forms/account.py:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Mot de passe" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Confirmation" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Entrer le même mot de passe, pour vérification." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Activé" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Seuls les super administrateurs sont autorisés pour ce mode" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "Ce champ est requis." -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Les deux mots de passe ne correspondent pas." -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Vous ne pouvez pas désactiver votre propre compte" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "Créer un alias en utilisant l'ancienne adresse" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -287,12 +291,12 @@ msgstr "" "valeur par défaut du domaine. Laisser vide pour définir une valeur illimitée " "(interdit pour les admins. de domaine)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 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 " @@ -302,11 +306,11 @@ msgstr "" "sur ENTREE pour ajouter un nouveau champ. Pour créer un alias 'fourre-tout', " "entrer seulement le nom du domaine (@domain.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Adresses d'envoi" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 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 " @@ -317,66 +321,66 @@ msgstr "" "même si elle(s) n'existe(nt) pas localement. Indiquer une adresse par champ. " "Appuyer sur ENTREE pour ajouter un nouveau champ." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Domaine inexistant" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "Le domaine local n'existe pas" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Vous n'avez pas accès à ce domaine" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domaine(s)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domaine(s) que cet utilisateur administre" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Général" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Profil" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Courrier" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Permissions" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Compte mis à jour" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nouveau compte" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Compte créé" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Adresse aléatoire" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Adresse email" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -384,11 +388,11 @@ msgstr "" "L'adresse de l'alias. Pour créer un alias \"fourre-tout\", saisissez " "uniquement le nom du domaine (@domain.tld)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinataires" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -396,20 +400,20 @@ msgstr "" "Les adresses vers lesquelles cet alias pointera. Indiquer une adresse par " "champ, appuyer sur ENTREE pour ajouter un nouveau champ." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "Ce champ est requis." -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Aucune destinataire défini" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Type" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -417,55 +421,55 @@ msgstr "" "Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE " "pour ajouter un nouveau champ." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "Sélecteur de clé" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "alias de domaine" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Un %s de ce nom existe déjà" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "Aucun enregistrement MX autorisé trouvé pour ce domaine" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "Répertoire de stockage des clés DKIM non configuré" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "Ne peut pas être supérieur au quota du domaine" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "Vous ne pouvez pas définir de quota illimité" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domaine" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Créer un administrateur de domaine" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Créer automatiquement un administrateur pour ce domaine" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nom" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -473,304 +477,320 @@ msgstr "" "Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera " "ajouté automatiquement." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "Générer un mot de passe aléatoire pour cet administrateur." -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "Avec une boite aux lettres" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "Créer une boite aux lettres pour l'administrateur" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Créer des alias" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Créer automatiquement des alias standard pour ce domaine" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Format invalide" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "L'utilisateur '%s' existe déjà" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domaine modifié" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Options" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Nouveau domaine" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domaine créé" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Nom du fichier" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Séparateur" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Destinataire(s)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Indiquer un ou plusieurs destinataires séparés par une ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Conserver des copies locales" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "Transférer les messages et conserver une copie dans votre boite locale" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Sélectionner un fichier" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Continuer en cas d'erreur" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Ne pas traiter les objets dupliqués comme des erreurs" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Chiffrer les mots de passe" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Cocher cette option si les mots de passe contenus dans votre fichier ne sont " "pas chiffrés" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "L'import du compte a échoué (%s): le domaine n'existe pas" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "La boite {} existe déjà" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "L'import du compte a échoué (%s): mauvais quota" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identités" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Transfert" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Une boite aux lettres est requise" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Vous n'êtes pas autorisé à importer des domaines" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "Vous n'êtes pas autorisé à importer des alias de domaine." -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "Aucun enregistrement DNS trouvé pour %s." -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "Aucun enregistrement MX trouvé pour %s" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "Aucun serveur de noms fonctionnel trouvé" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "Timeout de résolution DNS, impossible de requêter %s pour l'instant" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "Impossible de chercher des adresses IP pour %(domain)s; %(error)s" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Format d'adresse IP incorrect pour %(domain)s; %(addr)s" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "Le domaine {} n'a pas d'enregistrement MX" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Enregistrement MX invalide pour le domaine {0} : {1}" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] problème(s) de MX pour le domaine {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "Adresse" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "L'adresse de l'alias" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "Activé" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Cocher pour activer cet alias" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Description" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Expire le" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Adresse invalide" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Destinataire local {}@{} introuvable" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Ligne invalide : %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Domaine '%s' inexistant" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "Nom" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Le nom du domaine" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "" "Quota en Mo partagé entre les boîtes aux lettres. Une valeur à 0 signifie " "pas de quota." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Quota par défaut en Mo appliqué aux boîtes aux lettres. Une valeur à 0 " "signifie pas de quota." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Cocher pour activer ce domaine" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Activer les tests DNS" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Cocher pour activer les tests DNS pour ce domaine" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "Activer la signature DKIM" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." -msgstr "Si vous activez cette fonctionnalité, une clé DKIM sera générée pour ce domain." +msgstr "" +"Si vous activez cette fonctionnalité, une clé DKIM sera générée pour ce " +"domain." -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "Taille de la clé" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Ligne invalide" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "Aucun enregistrement MX autorisé trouvé pour le domaine {}" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Quota invalide pour le domaine '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" "Quota par défaut pour une boîte aux lettres invalide pour le domaine '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Le quota par défaut d'une boîte aux lettres ne peut pas être supérieur au " "quota du domaine" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Le nom de l'alias" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "cible" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Le domaine vers lequel cet alias pointe" @@ -779,59 +799,59 @@ msgstr "Le domaine vers lequel cet alias pointe" msgid "Unknown domain %s" msgstr "Domaine %s inconnu" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Impossible de récuperer l'emplacement de la boite (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Un quota est requis" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Quota du domaine dépassé" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Permission refusée." -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Liste des domaines administrés (revendeurs et administrateurs de domaine " "seulement)." -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Non autorisé pour ce rôle." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Doit être égale au champ full_address dans mailbox" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "Le domaine local {} n'existe pas" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "Une liste de destinataire" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "Domaine introuvable." -#: admin/serializers.py:407 +#: admin/serializers.py:433 msgid "You don't have access to this domain." msgstr "Vous n'avez pas accès à ce domaine." -#: admin/serializers.py:415 +#: admin/serializers.py:441 msgid "You don't have access to this mailbox." msgstr "Vous n'avez pas accès à cette boîtes aux lettres." @@ -1036,20 +1056,24 @@ msgstr "Clé DKIM" msgid "Show key" msgstr "Afficher la clé" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "Non générée" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administrateurs" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Supprimer cette permission" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Aucun administrateur de domaine défini." @@ -1103,7 +1127,7 @@ msgstr "Desactivé" msgid "Automatically forward emails to another address" msgstr "Transférer automatiquement les messages vers une autre adresse" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Mettre à jour" @@ -1218,72 +1242,72 @@ msgstr "" msgid "Search" msgstr "Chercher" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "Activé" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "Activée" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Lister les domaines" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Lister les quotas" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importer" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Exporter" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Lister les identités" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Voir les identités du domaine" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Modifier {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Supprimer %s ?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Un alias de ce nom existe déjà" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Créer" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Nouvel alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias créé" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias modifié" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias supprimé" @@ -1297,50 +1321,50 @@ msgstr "Enregistrements MX de {}" msgid "DNSBL summary for {}" msgstr "Résumé DNSBL pour {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Vous ne pouvez pas supprimer votre propre domaine" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domaine supprimé" msgstr[1] "Domaines supprimés" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Export d'identités" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Export de domaines" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Requête invalide" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Compte supprimé" msgstr[1] "Comptes supprimés" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "L'objet existe déjà : %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d objets importés avec succès" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importer des domaines" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importer des identités" diff --git a/modoboa/admin/locale/it/LC_MESSAGES/django.po b/modoboa/admin/locale/it/LC_MESSAGES/django.po index cc8a1bad8..eb0fef5d2 100644 --- a/modoboa/admin/locale/it/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/it/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2015-10-11 11:48+0000\n" "Last-Translator: Rocco \n" "Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" @@ -20,76 +20,76 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domini" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Caselle di posta" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Gestione delle caselle di posta nel filsystem" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -97,19 +97,19 @@ msgstr "" "Rinomina o rimuovi le caselle di posta nel filesystem quando vengono " "rinominate o cancellate in Modoboa " -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Proprietario delle caselle postali" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "L'account UNIX a cui appartengono le caselle postali nel filsystem" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Quota predefinita per il domini" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -117,14 +117,14 @@ msgstr "" "Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. " "Un valore 0 implica nessuna quota." -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "Quota predefinita per il domini" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -136,73 +136,73 @@ msgstr "" "Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. " "Un valore 0 implica nessuna quota." -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Rimozione automatica dell'account" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Quando una casella postale viene rimossa rimuovi anche l'account associato" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Creazione automatica del domini/casella di posta elettronica" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Crea un dominio ed una casella di posta elettronica quando si crea un " "account utente" -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Dev'essere un intero positivo" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Dominio modificato" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Amministrazione" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Dominio" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Nuovo dominio" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Nome utente" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -210,81 +210,81 @@ msgstr "" "Il nome dell'utente. Dev'essere un indirizzo e-mail per gli utenti semplici " "o gli amministratori che posseggono una casella" -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Ruolo" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Scegli" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Il livello di permessi che avrà questo utente" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 #, fuzzy #| msgid "Invalid address" msgid "Random password" msgstr "Indirizzo non valido" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Password" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Conferma" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "" "Inserisci la medesima password che hai inserito sopra, per la verifica." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Abilitato" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Solo i super amministratori possono operare in questa modalità" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "É necessaria una casella" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Le password nei due campi non corrispondono" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Tu non puoi disabilitare il tuo account" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -294,12 +294,12 @@ msgstr "" "quello predefinito. Lasciare vuoto per non impostare limiti (non consentito " "per gli amministratori di dominio)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -314,13 +314,13 @@ msgstr "" "premere INVIO per aggiungere un nuovo elemento. Utilizzare il carattere '*' " "per creare un alias 'prenditutto' (p.es.: *@dominio.org)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 #, fuzzy #| msgid "Invalid address" msgid "Sender addresses" msgstr "Indirizzo non valido" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 #, fuzzy #| msgid "" #| "Addresses this alias will point to. Indicate only one address per input, " @@ -333,70 +333,70 @@ msgstr "" "Indirizzi verso il quale questo alias punterà . Indicare un solo indirizzo " "per ogni ingresso , premere INVIO per aggiungere un nuovo input ." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Il dominio non esiste" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "Il dominio non esiste" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Non hai accesso a questo dominio" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Dominio(i)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Dominio(i) amministrato(i) dall'utente" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Generale" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Posta" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Permessi" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Account aggiornato" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nuovo account" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Account creato" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 #, fuzzy #| msgid "Invalid address" msgid "Random address" msgstr "Indirizzo non valido" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Indirizzo email" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -404,11 +404,11 @@ msgstr "" "Indirizzi email alias. Per creare un alias catchall specifica il nome del " "dominio (@domain.tld)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatari" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -416,22 +416,22 @@ msgstr "" "Indirizzi verso il quale questo alias punterà . Indicare un solo indirizzo " "per ogni ingresso , premere INVIO per aggiungere un nuovo input ." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required" msgstr "É necessaria una casella" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Non è stato definito un destinatario" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -439,55 +439,55 @@ msgstr "" "Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO " "per aggiungere un nuovo elemento" -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "alias del dominio" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Un %s con questo nome esiste già" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "dominio" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Crea un amministratore di dominio" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Crea automaticamente un amministratore per questo dominio" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nome" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -495,242 +495,256 @@ msgstr "" "Il nome dell'amministratore. Non includere il nome del dominio, verrà " "aggiunto automaticamente." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "Crea un amministratore di dominio" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Crea un amministratore di dominio" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Crea alias" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Crea automaticamente gli alias standard per questo dominio" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Formato non valido" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "L'utente '%s' esiste già" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Dominio modificato" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Opzioni" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Nuovo dominio" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Dominio creato" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Nome del file" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Separatore" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Destinatario(i)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Indicare uno o più destinatari separati da ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Mantieni copie locali" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Inoltra i messaggi e memorizza le copie nella tua casella di posta locale" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Seleziona un file" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Continuare in caso di errore" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Non considerare errore gli oggetti duplicati" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Cripta le password" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Seleziona questa opzione se le password contenute nel file non sono criptate" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Importazione dell'account fallito (%s): il dominio non esiste" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "La casella di posta %s esiste già" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importazione account fallito(%s): valore della quota errato" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identità" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Inoltra" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "É necessaria una casella" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Non hai i permessi di importare domini" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "Non hai i permessi di importare gli alias dominio" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "indirizzo" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "Indirizzi Alias." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "Attivato" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Seleziona per attivare questo alias" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Indirizzo non valido" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Destinatario locale {}@{} non trovato" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Riga non valida: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Il dominio '%s' non esiste" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "nome" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Il nome del dominio" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -740,7 +754,7 @@ msgstr "" "Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. " "Un valore 0 implica nessuna quota." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -750,66 +764,66 @@ msgstr "" "Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. " "Un valore 0 implica nessuna quota." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Seleziona per attivare questo dominio" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Seleziona per attivare questo dominio" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Riga non valida" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid quota value for domain '{}'" msgstr "Valore della quota non valido per il dominio '%s'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Valore della quota non valido per il dominio '%s'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Il nome dell'alias" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "destinazione" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Il dominio a cui punta questo alias" @@ -818,67 +832,67 @@ msgstr "Il dominio a cui punta questo alias" msgid "Unknown domain %s" msgstr "Dominio sconosciuto %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Indirizzo della casella di posta (senza la parte @dominio.org)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Impossibile recuperare la posizione della casella di posta (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "È richiesta una quota" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Dominio creato" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Permessi" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "" -#: admin/serializers.py:253 +#: admin/serializers.py:275 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "Il dominio non esiste" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "" -#: admin/serializers.py:358 +#: admin/serializers.py:384 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Dominio modificato" -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Non hai accesso a questo dominio" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1119,22 +1133,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Non è stato definito un destinatario" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Amministratori" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Rimuovi questo permesso" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." @@ -1196,7 +1214,7 @@ msgstr "Disabilitato" msgid "Automatically forward emails to another address" msgstr "Inoltra automaticamente le e-mail ad un altro indirizzo" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Aggiorna" @@ -1340,72 +1358,72 @@ msgstr "" msgid "Search" msgstr "Ricerca" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "Abilitato" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "Abilitata" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Lista domini" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Elenco quote" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importa" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Esporta" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Elenco identità" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Visualizza le identita del dominio" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Eliminare %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Un alias con questo nome esiste già" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Crea" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Nuovo alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias creato" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias modificato" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1421,50 +1439,50 @@ msgstr "" msgid "DNSBL summary for {}" msgstr "" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Non puoi cancellare il tuo dominio" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Dominio cancellato" msgstr[1] "Domini cancellati" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Identità di esportazione" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Esporta domini" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Richiesta non valida" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Account cancellato" msgstr[1] "Account cancellati" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "L'oggetto esiste già: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d oggetti importati correttamente" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importa domini" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Identità di importazione" diff --git a/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po index d311eba9a..f6531e7ec 100644 --- a/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2016-09-14 17:06+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -19,76 +19,76 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "ドメイン" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "DNSBL チェックを有効にする" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "すべてのドメインを 主な DNSBL プロバイダーでチェックする" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "メールボックス" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "ファイルシステムのメールボックスを操作する" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -96,19 +96,19 @@ msgstr "" "Modoboa で、メールボックスの名前の変更もしくは、削除したとき、ファイルシステ" "ム上のメールボックスも、名前の変更もしくは削除する。" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "メールボックス所有者" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "ファイルシステム上のメールボックスを所有するUNIXアカウント" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "デフォルトドメインクォータ" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -117,14 +117,14 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "デフォルトドメインクォータ" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -137,71 +137,71 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "アカウントの自動削除" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "メールボックスが削除されたとき、関連するアカウントも削除します" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "ドメインとメールボックスを自動作成" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "アカウントが自動的に作成されたとき、ドメインとメールボックを作成します。" -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "正の整数でなければいけません" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "ドメインが見つかりません" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "管理" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "ドメイン" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "新しいドメイン" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "ユーザー名" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -210,80 +210,80 @@ msgstr "" "メールボックスを持つユーザーもしくは管理者の有効な電子メールアドレスでなけれ" "ばなりません。" -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "ロール" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "選ぶ" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "このユーザーは、アクセス許可のレベルを持つことになります" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 #, fuzzy #| msgid "Invalid address" msgid "Random password" msgstr "不正なアドレス" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "パスワード" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "確認" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "確認のため、上記と同じパスワードを入力します。" -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "有効化" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "スーパー管理者だけが、このモードのために許可されています。" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "メールボックスは必須です" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "2つのパスワード項目が一致しません" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "あなた自身のアカウントは無効化できません" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "電子メール" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "クォータ" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -294,12 +294,12 @@ msgstr "" "無制限の値を定義する場合は空白のままにします\n" "(ドメイン管理者には許可されていません)" -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "エイリアス" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -316,79 +316,79 @@ msgstr "" " 「キャッチオール」エイリアスを作成するには、 ' * '文字を使用してください " "(例: *@domain.tld)" -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." msgstr "" -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "ドメインは存在しません" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "ローカルドメインは存在しません" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "このドメインにアクセスする権限がありません" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "ドメイン" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "ユーザーに管理されたドメイン" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "全般" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "メール" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "アクセス許可" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "アカウントを更新しました" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "新しいアカウト" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "アカウントを作成しました" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 #, fuzzy #| msgid "Invalid address" msgid "Random address" msgstr "不正なアドレス" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "メールアドレス" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -397,11 +397,11 @@ msgstr "" "キャッチオールエイリアスを作成するためには、ドメイン名だけを入力します " "(@domain.tld)" -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "受信者" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -410,20 +410,20 @@ msgstr "" "input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追" "加します" -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "受信者が定義されていません" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "タイプ" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -432,57 +432,57 @@ msgstr "" "input ごとに1つの名前を入力して、 ENTER キーを押して、新しい input を追加しま" "す" -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "ドメインエイリアス" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr " %s という名前は、すでに存在しています" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 #, fuzzy #| msgid "No information available for this domain." msgid "No authorized MX record found for this domain" msgstr "このドメインに関する情報がありません。" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "ドメイン" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "ドメイン管理者を作成する" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "自動的にドメインの管理者を作成する" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "名前" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -490,242 +490,256 @@ msgstr "" "管理者の名前\n" "ここでは、ドメイン名を含めないでください、それが自動的に付加されます。" -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "ドメイン管理者を作成する" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "ドメイン管理者を作成する" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "エイリアスを作成" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "自動的にドメインの標準的なエイリアスを作成する" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "不正なフォーマット" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "ユーザー %s はすでに存在します" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "ドメインが修正されました" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "オプション" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "新しいドメイン" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "ドメインが作成されました" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "ファイル名" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "セパレーター" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "受信者" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "\",\"で区切られた1つまたは複数の受信者を示します" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "ローカルコピーを保持する" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "メッセージを転送して、ローカルのメールボックスへコピーを格納します。" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "ファイルを選択" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "エラーのときに続行する" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "重複したオブジェクトをエラーとして処理しない" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "パスワード暗号化" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "ファイルに含まれるパスワードが暗号化されていない場合は、このオプションを" "チェックしてください" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "アカウントのインポートに失敗しました (%s): ドメインが存在しません" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "メールボックス {} はすでに存在します" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "アカウントのインポートに失敗しました (%s): 不正なクォータの値" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "ID" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "転送先" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "メールボックスは必須です" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "ドメインのインポートは許可されていません" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "ドメインエイリアスのインポートは許可されていません" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, fuzzy, python-format #| msgid "No information available for this domain." msgid "No DNS records found for %s" msgstr "このドメインに関する情報がありません。" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, fuzzy, python-format #| msgid "No information available for this domain." msgid "No MX record for %s" msgstr "このドメインに関する情報がありません。" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] ドメイン {} の DNSBL結果" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "アドレス" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "エイリアスアドレス" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "有効" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "このエイリアスをアクティブにするために確認してください" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "エイリアス" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "不正なアドレス" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "ローカル受信者 {}@{} は見つかりません" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "不正な行: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "ドメイン %s は、存在しません" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "名前" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "ドメイン名" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -736,7 +750,7 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -747,70 +761,70 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "このドメインをアクティブするために確認してください" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 #, fuzzy #| msgid "Enable DNSBL checks" msgid "Enable DNS checks" msgstr "DNSBL チェックを有効にする" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "このドメインをアクティブするために確認してください" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "不正な行" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 #, fuzzy #| msgid "No information available for this domain." msgid "No authorized MX record found for domain {}" msgstr "このドメインに関する情報がありません。" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid quota value for domain '{}'" msgstr "不正なドメイン %s のクォータ値" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid default mailbox quota value for domain '{}'" msgstr "不正なドメイン %s のクォータ値" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "エイリアス名" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "ターゲット" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "ドメインこのエイリアスポイントへ" @@ -819,61 +833,61 @@ msgstr "ドメインこのエイリアスポイントへ" msgid "Unknown domain %s" msgstr "不明なドメイン %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "メールボックスアドレス (@domain.tld 部分なし)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "メールボックスの場所の取得に失敗しました (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "クォータは必須です" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "ドメインが作成されました" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "アクセス拒否" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "管理しているドメインのリスト (リセーラーとドメイン管理者のみ)" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "このロールには許可されていません" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "メールボックス full_address に等しくなければなりません" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "ローカルドメイン {} は、存在しません" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "ドメインが見つかりません" -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "このドメインにアクセスする権限がありません" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1092,20 +1106,24 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "管理者" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "このパーミッションを削除" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "ドメイン管理者が指定されていません" @@ -1163,7 +1181,7 @@ msgstr "無効化" msgid "Automatically forward emails to another address" msgstr "電子メールをほかのアドレスへ自動的に転送します" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "更新" @@ -1302,72 +1320,72 @@ msgstr "" msgid "Search" msgstr "検索" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "enabled_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "enabled_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "ドメイン一覧を表示" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "クォータ一覧を表示" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "インポート" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "エクスポート" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "ID 一覧を表示" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "ドメインの ID を表示" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "{} を編集" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "%s を削除しますか?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "このエイリアス名がすでに存在しています" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "作成" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "新しいエイリアス" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "エイリアスが作成されました" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "エイリアスは修正されました" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "" @@ -1380,48 +1398,48 @@ msgstr "" msgid "DNSBL summary for {}" msgstr "{} のDNSBL 要約" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "あなた自身のドメインは削除できません" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "ドメインを削除しました" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "ID をエクスポート" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "ドメインをエクスポート" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "不正なリクエスト" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "アカウントを削除しました" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "オブジェクトはすでに存在します: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d オブジェクトのインポートに成功しました" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "ドメインをインポート" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "ID をインポート" diff --git a/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po index 001c339d7..513bcaf02 100644 --- a/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2014-12-31 11:37+0000\n" "Last-Translator: TuxBrother \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -20,76 +20,76 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domeinen" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "Controlleer of ieder domein een valide MX record heeft" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "Correcte MX-records" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Zet DNSBL controle aan" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Controlleer ieder domein bij de grote DNSBL providers" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Mailboxen" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Pas mailboxen op het bestandssysteem aan" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -97,20 +97,20 @@ msgstr "" "Hernoem of verwijder mailboxen op het bestandssysteem wanner ze hernoemd of " "verwijderd worden in Modoboa." -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Eigenaar van de mailboxen" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" "De UNIX account die de rechten heeft tot de mailboxen op het bestandssysteem" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Standaard domein quota" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -118,14 +118,14 @@ msgstr "" "Standaard quota (in MB) om op nieuw aangemaakte domeinen zonder waarde toe " "te passen. Een waarde van 0 betekend geen quota." -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "Standaard domein quota" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -137,73 +137,73 @@ msgstr "" "Standaard quota (in MB) om op nieuw aangemaakte domeinen zonder waarde toe " "te passen. Een waarde van 0 betekend geen quota." -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Automatish een account verwijderen" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Als een mailbox word verwijderd, verwijder dan ook de bijbehorende account" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Domein en mailbox automatisch aanmaken" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Maak een domein en mailbox aan wanneer een account automatisch is aangemaakt." -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "Maak een alias aan wanneer een mailbox word hernoemd" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Maak een alias aan met het oude adres wanneer een mailbox word hernoemd" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Dit moet een positive integer zijn." -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Domein gewijzigd" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administratie" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domein" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Nieuw domein" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Gebruikersnaam" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -211,80 +211,80 @@ msgstr "" "De naam van de gebruiker. Moet een geldig e-mail adres zijn voor gebruikers " "of administrators met een mailbox." -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rol" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Kiezen" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Welk niveau van rechten deze gebruiker zal hebben" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 #, fuzzy #| msgid "Invalid request" msgid "Random password" msgstr "Willekeuring wachtwoord" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Wachtwoord" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Bevestiging" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Herhaal wachtwoord ter verificatie" -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Actief" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Alleen super administrators mogen dit" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "Een mailbox is benodigd" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "De wachtwoorden komen niet overeen." -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "U kunt uw eigen account niet uitschakelen" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "Maak een alias aan met het oude adres" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -294,12 +294,12 @@ msgstr "" "stanaard waarde van het domein. Laat leeg om een ongelimiteerde waarde te " "definieren (niet toegestaan voor domein administrators)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(sen)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -314,13 +314,13 @@ msgstr "" "ENTER om een nieuwe regel te krijgen. Gebruik een wildcard '*' om een 'catch-" "all' adres te maken (bijvoorbeeld: *@domein.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 #, fuzzy #| msgid "Invalid request" msgid "Sender addresses" msgstr "Ongeldig verzoek" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -333,70 +333,70 @@ msgstr "" "Mailbox(en) waarnaar deze alias zal verwijzen. Geef slechts een adres per " "regel op, en toets ENTER om een nieuwe regel te krijgen." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Domein bestaat niet" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "Domein bestaat niet" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "U heeft geen toegang tot dit domein" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domein(en)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domein(en) die gebruiker mag beheren" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Algemeen" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Profiel" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Mail" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Rechten" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Account aangepast" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nieuw account" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Account aangemaakt" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 #, fuzzy #| msgid "Invalid request" msgid "Random address" msgstr "Willekeuring adres" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Email adres" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 #, fuzzy #| msgid "" #| "The alias address (without the domain part). For a 'catch-all' address, " @@ -408,11 +408,11 @@ msgstr "" "Het alias adres (zonder het domein deel). Voor een 'catch-all' adres, vul " "een * in." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Ontvangers" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -424,22 +424,22 @@ msgstr "" "Mailbox(en) waarnaar deze alias zal verwijzen. Geef slechts een adres per " "regel op, en toets ENTER om een nieuwe regel te krijgen." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required" msgstr "Een mailbox is benodigd" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Geen ontvanger opgegeven" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Type" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -447,306 +447,320 @@ msgstr "" "Alias(sen) van dit domein. Geef slechts een adres per regel op, en toets " "ENTER om een nieuwe regel te krijgen." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "domein alias" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Een %s met deze naam bestaat al" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domein" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Maak een domein administrator aan" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Automatisch een administrator aanmaken voor dit domein" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Naam" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "" "De naam van de administrator. De domeinnaam word automatisch toegevoegd." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "Maak een domein administrator aan" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "Met een mailbox" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Maak een domein administrator aan" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Aliassen aanmaken" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Automatisch een standaard alias voor dit domein aanmaken" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Verkeerd formaat" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Gebruiker '%s' bestaat al" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domein gewijzigd" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Opties" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Nieuw domein" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domein aangemaakt" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Bestandsnaam" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Scheidingsteken" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Ontvanger(s)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Geef een of meer ontvangers op, gescheiden door een komma" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Lokale kopie behouden" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "Stuur berichten door en sla een kopie op in uw mailbox" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Bestand selecteren" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Doorgaan als er een fout optreed" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Zie duplicaten niet als fout" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Versleutel wachtwoorden" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Vink deze optie aan als wachtwoorden in uw bestand niet versleuteld zijn" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Accounts importeren mislukt (%s): domein bestaat niet" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "Mailbox %s bestaat al" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Account import is mislukt (%s): verkeerd quotum waarde" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identiteiten" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Doorsturen" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Een mailbox is benodigd" -#: admin/lib.py:134 +#: admin/lib.py:132 #, fuzzy #| msgid "You can't delete your own domain" msgid "You are not allowed to import domains" msgstr "U kunt uw eigen domein niet verwijderen" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "U bent niet gemachtigd om domein aliassen te importeren." -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS records found for %s" msgstr "Geen mx record gevonden voor dit domein" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No MX record for %s" msgstr "Geen mx record gevonden voor dit domein" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problemen voor domein {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "Domein {} heeft geen MX record(s)" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "MX record voor domein {0} is ongeldig: {1}" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX probleem met domein {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "adres" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 #, fuzzy #| msgid "The alias name" msgid "The alias address." msgstr "De alias naam" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "actief" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Aanvinken om deze alias te activeren" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Omschrijving" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Verloopt op" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 #, fuzzy #| msgid "Invalid request" msgid "Invalid address" msgstr "Ongeldig verzoek" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 #, fuzzy #| msgid "Local recipient %s not found" msgid "Local recipient {}@{} not found" msgstr "Lokale ontvanger %s niet gevonden" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Ongeldige regel: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Domein '%s' bestaat niet" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "naam" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "De domeinnaam" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -756,7 +770,7 @@ msgstr "" "Standaard quota (in MB) om op nieuw aangemaakte domeinen zonder waarde toe " "te passen. Een waarde van 0 betekend geen quota." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -766,66 +780,66 @@ msgstr "" "Standaard quota (in MB) om op nieuw aangemaakte domeinen zonder waarde toe " "te passen. Een waarde van 0 betekend geen quota." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Aanvinken om dit domein te activeren" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Activeer DNS checks" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Aanvinken om dit domein te activeren" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Verkeerde regel" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid quota value for domain '{}'" msgstr "Verkeerde quota waarde voor domein '%s'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Verkeerde quota waarde voor domein '%s'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "De alias naam" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "doel" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "De domein alias verwijst naar" @@ -834,67 +848,67 @@ msgstr "De domein alias verwijst naar" msgid "Unknown domain %s" msgstr "Onbekend domein %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Mailbox adres (zonder het @domein.naam deel)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Mislukt om de mailbox locatie te verkijgen (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Een quota is vereist" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Domein aangemaakt" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Toegang geweigerd" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Niet toegestaan met deze rol" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Moet gelijk zijn aan het volledige e-mail adres" -#: admin/serializers.py:253 +#: admin/serializers.py:275 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "Domein bestaat niet" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "Een lijst van ontvangers" -#: admin/serializers.py:358 +#: admin/serializers.py:384 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Domein gewijzigd" -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "U heeft geen toegang tot dit domein" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1135,22 +1149,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Geen ontvanger opgegeven" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administrators" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Deze bevoegdheid verwijderen" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." @@ -1212,7 +1230,7 @@ msgstr "uitgeschakeld" msgid "Automatically forward emails to another address" msgstr "Automatisch mails doorsturen naar een ander adres" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Toepassen" @@ -1360,72 +1378,72 @@ msgstr "" msgid "Search" msgstr "Zoeken" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "geactiveerd_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "geactiveerd_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Weergeef domeinen" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Weergeef quota's" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importeren" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Exporteren" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Weergeef identiteiten" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Weergeef de identiteiten van dit domein" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Verwijder %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Een alias met deze naam bestaat al" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Aanmaken" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Nieuwe alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias aangemaakt" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias aangepast" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1441,50 +1459,50 @@ msgstr "" msgid "DNSBL summary for {}" msgstr "DNSBL samenvatting voor {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "U kunt uw eigen domein niet verwijderen" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domeinen verwijderd" msgstr[1] "Domeinen verwijderd" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Identiteiten exporteren" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Exporteer domeinen" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Ongeldig verzoek" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Account verwijderd" msgstr[1] "Accounts verwijderd" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Object bestaat al: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d objecten successvol geimporteerd" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importeer domeinen" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Identiteiten importeren" diff --git a/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po index 74a67a6ee..3dc9e594a 100644 --- a/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-12-07 08:37+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -24,25 +24,25 @@ msgstr "" "%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/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domeny" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Włącz sprawdzanie rekordów MX" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "Sprawdź czy dla domeny zdefiniowano poprawny rekord MX" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "Poprawne MXy" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -50,11 +50,11 @@ msgstr "" "Lista adresów IP lub sieci dla każdego pasującego rekordu MX. Monit zostanie " "wysłany w przypadku błędu." -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "Nowe domeny muszą używać autoryzowanych MX'ów" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -62,42 +62,42 @@ msgstr "" "Zapobiegaj tworzeniu nowych domen jeśli ich MXy nie są jednym ze " "zdefiniowanych adresów." -#: admin/app_settings.py:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Włącz sprawdzanie DNSBL" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Sprawdź każdą domenę po kątem głównych providerów DNSBL" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Skrzynki pocztowe" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Przechowuj skrzynka na filesystemie" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -105,19 +105,19 @@ msgstr "" "Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub " "usuniętę przez Modoboa" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Właściciel skrzynek" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Konto UNIX właściciela skrzynek na filesystemie" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Domyślne ograniczenie dla domeny" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -125,12 +125,12 @@ msgstr "" "Domyślne ograniczenie (w MB) dla nowych domen, gdy nie zostało podane. (0 - " "brak ograniczenia)" -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Domyślna przestrzeń dla konta pocztowego" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -138,68 +138,68 @@ msgstr "" "Domyślna pojemność skrzynki (w MB) dla nowo tworzonych domen bez podanej " "wartości. 0 oznacza brak limitu." -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Automatyczne usuwanie konta" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "Gdy usuwana jest skrzynka usuń powizane z nią konto" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Automatyczne tworzenie domeny/skrzynki" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Utwórz domenę i skrzynkę gdy tworzone jest konto" -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "Utwórz alias podczas zmiany nazwy skrzynki" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "Utwórz alias używając starego adresu podczas zmiany nazwy skrzynki." -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Musi być liczbą całkowitą dodatnią" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "Domena nie znaleziona." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "Zdefiniuj przynajmniej jedną autoryzowaną sieć / adres" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administracja" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domena" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Username" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -207,23 +207,23 @@ msgstr "" "Username musi być poprawnym adresem e-mail dla zwykłych użytkowników i " "administratorów posiadających skrzynkę." -#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rola" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Wybierz" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Jaki zakres uprawnień będzie miał użytkownik" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "Losowe hasło" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -231,54 +231,54 @@ msgstr "" "Wygeneruj losowe hasło. Jeśli aktualizujesz to konto i zaznaczysz te pole, " "to zostanie wygenerowane nowe hasło." -#: admin/forms/account.py:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Hasło" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Potwierdzenie" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Wprowadź hasło ponownie" -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Włączone" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Tylko super administratorzy mogą korzystać z tej opcji" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "To pole jest wymagane" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Hasła nie są zgodne" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Nie możesz wyłączyć swojego konta" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "Utwórz alias używając starego adresu" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Limit" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -288,12 +288,12 @@ msgstr "" "wartości dla domeny. Brak limitu jeśli pozostawisz niewypełnione (opcja " "niedozwolona dla administratorów domen)" -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(y)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 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 " @@ -303,11 +303,11 @@ msgstr "" "kolejne pole. Aby stworzyć alias \"catchall\" po prostu podaj nazwę domeny " "(@domena.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Adres nadawcy" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 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 " @@ -317,66 +317,66 @@ msgstr "" "podczas wysyłania wiadomości, nawet jeśli taki nie istnieje lokalnie. Podaj " "jeden adres w polu. Naciśnij ENTER aby dodać nowe pole." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Domena nie istnieje" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "Domena lokalna nie istnieje" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Nie masz uprawnień dla tej domeny" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domena(y)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domena(y), którmi zarządza użytkownik" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Ogólne" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Profil" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Mail" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Uprawnienia" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Konto zaktualizowane" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nowe konto" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Konto utworzone" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Adres losowy" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Adres e-mail" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -384,11 +384,11 @@ msgstr "" "Adres aliasu. W celu utworzenia aliasu typu catchall wprowadź jedynie nazwę " "domeny (np. @domena.pl)" -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Odbiorcy" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -396,75 +396,75 @@ msgstr "" "Adres na który wskazuje alias. Wprowadź pojedynczo. Wciśnij ENTER aby dodać " "kolejny." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "To pole jest wymagane" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Nie zdefiniowano odbiorców" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." msgstr "" "Alias(y) tej domeny. Wprowadź pojedynczo. Wciśnij ENTER aby dodać kolejny." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "alias domeny" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Nazwa %s już istnieje" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "Nie znaleziono autoryzowanych dla tej domeny rekordów MX " -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "Nie może być wyższa niż limit domeny" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "Nie możesz przypisać nielimitowanej przestrzeni" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domena" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Utwórz administratora domeny" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Automatycznie utwórz administratora dla tej domeny" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nazwa" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -472,301 +472,315 @@ msgstr "" "Nazwa administratora. Nie dodawaj tutaj nazwy domeny, zostanie dodana " "automatycznie" -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "Wygeneruj losowe hasło dla administratora." -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "Ze skrzynką" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "Utwórz skrzynkę dla administratora." -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Utwórz aliasy" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Automatycznie utwórz standardowe aliasy dla tej domeny" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Niepoprawny format" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Użytkownik '%s' już istnieje" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domena zmodyfikowana" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Opcje" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Nowa domena" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domena utworzona" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Nazwa pliku" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Separator" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Odbiorca(y)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Wprowadź jednego lub wielu odbiorców używając przecinka" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Zachowuj lokalne kopie" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "Przekazuj wiadomości i przechowuj kopie w twojej skrzynce" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Wybierz plik" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Kontynuuj przy błędzie" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Nie traktuj zdublowanych obiektów jako błąd" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Szyfruj hasła" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Zaznacz opcję jeśli hasła w twoim pliku nie są zaszyfrowane" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Błąd importu (%s): domena nie istnieje" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "Skrzynka {} już istnieje" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Błąd importu (%s): błędna wartość limitu" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Tożsamości" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Przekaż" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Skrzynka jest obowiązkowa" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Nie masz uprawnień do importowania domen" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "Nie masz uprawnień do importowania aliasów." -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS records found for %s" msgstr "Nie znaleziono rekordu MX dla tej domeny" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No MX record for %s" msgstr "Rekordy MX dla {}" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problem(y) dla domeny {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "Domena {} nie ma zdefiniowanego rekordu MX" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Rekord MX dla domeny {0} jest niepoprawny: {1}" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] Wykryto problem(y) z MX dla domeny {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "adres" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "Adres aliasu." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "włączone" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Zaznacz aby włączyć alias." -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Opis" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Wygasa" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Niepoprawny adres" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Lokalny odbiorca {}@{} nie został odnaleziony" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Niepoprawna linia: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Domena '%s' nie istnieje" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "nazwa" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Nazwa domeny" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "" "Przydział w MB dzielony między skrzynki. Wartość 0 oznacza brak limitu." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Domyślne ograniczenie (w MB) dla nowych skrzynek. Wartość 0 oznacza brak " "ograniczenia." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Zaznacz, aby aktywować domenę" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Aktywuj sprawdzanie rekordów DNS" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Zaznacz aby aktywować sprawdzanie DNS dla tej domeny" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Niepoprawna linia" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "Nie znaleziono autoryzowanego rekordu MX dla domeny {}" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Niepoprawna wartość przydziału (quoty) dla domeny {}" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Niepoprawna wartość domyślna przydziału (quoty) dla domeny '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Domyślna wartość przydziału (quota) nie może być wyższa niż przydział domeny" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Nazwa aliasu" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "cel" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Alias wskazuje na" @@ -775,60 +789,60 @@ msgstr "Alias wskazuje na" msgid "Unknown domain %s" msgstr "Nieznana domena %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adres skrzynki (bez części @domena.pl)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Błąd - nie udało się odczytać lokalizacji skrzynki (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Limit jest wymagany" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Przekroczono limit przydziału" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Odmowa dostępu" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista administratorów domen (tylko resellerów i administratorów domen)." -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Niedozwolone dla tej roli." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Musi być równe z full_address skrzynki." -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "Lokalna domena {} nie istnieje" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "Lista odbiorców" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "Domena nie znaleziona." -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Nie masz uprawnień dla tej domeny" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1039,22 +1053,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "Not defined" msgid "Not generated" msgstr "Nie zdefiniowano" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administratorzy" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Usuń to uprawnienie" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Nie zdefiniowano jeszcze administratorów domeny." @@ -1108,7 +1126,7 @@ msgstr "wyłączone" msgid "Automatically forward emails to another address" msgstr "Automatycznie przekazuj wiadomości do do innych odbiorców" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Zaktualizuj" @@ -1225,72 +1243,72 @@ msgstr "" msgid "Search" msgstr "Szukaj" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "enabled_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "enabled_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Lista domen" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Lista limitów" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importuj" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Exportuj" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Lista tożsamości" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Pokaż tożsamości domeny" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Edytuj {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Usunąć %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Alias z taką nazwą już istnieje" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Utwórz" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Nowy alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias utworzony" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias zmodyfikowany" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias skasowano" @@ -1306,11 +1324,11 @@ msgstr "Rekordy MX dla {}" msgid "DNSBL summary for {}" msgstr "DNSBL podsumowanie dla {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Nie możesz usunąć swoje własnej domeny" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domena usunięta" @@ -1318,20 +1336,20 @@ msgstr[1] "Domeny usunięte" msgstr[2] "Domeny usunięte" msgstr[3] "Domeny usunięte" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Eksportuj tożsamości" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Eksportuj domeny" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Nieprawidłowe żądanie" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Konto usunięte" @@ -1339,21 +1357,21 @@ msgstr[1] "Konta usunięte" msgstr[2] "Konta usunięte" msgstr[3] "Konta usunięte" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Obiekt %s już istnieje" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "Zaimportowano %d obiektów z sukcesem" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importuj domeny" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importuj tożsamości" diff --git a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po index ad76ffea5..4b2131f46 100644 --- a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # csmk, 2014 # Ian Moone, 2016 @@ -15,723 +15,783 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" +"language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domínios" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Habilitar checagens MX" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 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:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "MXs válidos" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "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." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"Uma lista de IP ou endereços de rede devem ser compatíveis com todas as " +"entradas MX. Um a será enviado caso alguma entrada não respeitar isso." -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "Novos domínios devem usar MX (s) autorizados" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." -msgstr "Impedir a criação de um novo domínio se o registro MX não usar um dos endereços definidos." +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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Habilitar checagens DNSBL" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Checar cada domínio em relação aos principais provedores DNSBL." -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "Diretório de armazenamento de chaves DKIM" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Caminho absoluto do diretório onde as chaves privadas DKIM serão armazenadas. Certifique-se de que este diretório pertença ao usuário root e não seja legível pelo mundo externo." +msgstr "" +"Caminho absoluto do diretório onde as chaves privadas DKIM serão " +"armazenadas. Certifique-se de que este diretório pertença ao usuário root e " +"não seja legível pelo mundo externo." -#: admin/app_settings.py:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "Comprimento padrão da chave DKIM" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 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:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Caixas de correios" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Tratar caixas de mensagens no sistema de arquivos." -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 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" +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:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Proprietário de caixas de mensagens" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 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:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Cota padrão do domínio" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -msgstr "Cota padrão (em MB) aplicada para novos domínios sem nenhum valor especificado. Um valor de 0 indica que não existe cota." +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:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Cota padrão da caixa de correio" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 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." +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:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Remoção automática da conta" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" -msgstr "Quando uma caixa de correio é removida, também remove a conta associada" +msgstr "" +"Quando uma caixa de correio é removida, também remove a conta associada" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Criação automática de domínio/caixa de correio" -#: admin/app_settings.py:128 -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:129 +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:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "Criar um alias quando uma caixa de correio é renomeada" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." -msgstr "Crie um alias usando o endereço antigo quando uma caixa de correio for renomeada." +msgstr "" +"Crie um alias usando o endereço antigo quando uma caixa de correio for " +"renomeada." -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Deve ser um inteiro positivo" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 msgid "Directory not found." msgstr "Diretório não encontrado." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 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:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "Defina pelo menos uma rede ou endereço autorizado" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administração" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domínio" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "Domínio de relay" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Nome de usuário" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." -msgstr "O nome de usuário. Deve ser um endereço de e-mail válido para usuários simples ou administradores com uma caixa de mensagens." +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:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Papel" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Escolher" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Qual nível de permissão terá esse usuário" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "Senha aleatória" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." -msgstr "Gerar uma senha aleatória. Se você estiver atualizando esta conta e marcar essa opção, uma nova senha será gerada." +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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Senha" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Confirmação" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Para verificação, digite a mesma senha que a anterior." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Ativado" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Apenas super administradores estão liberados para este modo" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "Este campo é obrigatório." -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Os dois campos de senha não coincidiram." -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Você não pode desabilitar seu própria conta" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/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:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Cota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " "administrators)." -msgstr "Cota em MB para esta caixa de mensagens. Defina um valor customizado ou use o padrão do domínio. Deixe em branco para definir um valor ilimitado (não permitido para administradores de domínios)." +msgstr "" +"Cota em MB para esta caixa de mensagens. Defina um valor customizado ou use " +"o padrão do domínio. Deixe em branco para definir um valor ilimitado (não " +"permitido para administradores de domínios)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(es)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias(es) desta caixa de e-mail. Indique apenas um endereço por entrada, pressione ENTER para adicionar uma nova entrada. Para criar um catchall alias, apenas insira o nome do domínio (@domain.tld)." +msgstr "" +"Alias(es) desta caixa de e-mail. Indique apenas um endereço por entrada, " +"pressione ENTER para adicionar uma nova entrada. Para criar um catchall " +"alias, apenas insira o nome do domínio (@domain.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Endereços do remetente" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "Endereço(s) do remetente adicional(is) para esta conta. O usuário poderá enviar e-mails usando este(s) endereço(s), mesmo que ele(s) não exista(m) localmente. Indique um endereço por entrada. Pressione ENTER para adicionar uma nova entrada." +msgstr "" +"Endereço(s) do remetente adicional(is) para esta conta. O usuário poderá " +"enviar e-mails usando este(s) endereço(s), mesmo que ele(s) não exista(m) " +"localmente. Indique um endereço por entrada. Pressione ENTER para adicionar " +"uma nova entrada." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Domínio não existe" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "Domínio local não existe" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Você não tem acesso a esse domínio" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domínio(s)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domínio(s) que o usuário administra" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Geral" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Perfil" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Correio" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Permissões" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Conta atualizada" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nova conta" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Conta criada" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Endereços aleatórios" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Endereço de e-mail" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "O endereço alias. Para criar um alias de captura, basta digitar o nome de domínio (@domain.tld)." +msgstr "" +"O endereço alias. Para criar um alias de captura, basta digitar o nome de " +"domínio (@domain.tld)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatários" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "Endereços que este alias vai apontar. Indique apenas um endereço por entrada, pressione ENTER para adicionar uma nova entrada." +msgstr "" +"Endereços que este alias vai apontar. Indique apenas um endereço por " +"entrada, pressione ENTER para adicionar uma nova entrada." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "Este campo é obrigatório" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Nenhum destinatário definido" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." -msgstr "Alias(es) para esse domínio. Indique apenas um nome por entrada, pressione ENTER para adicionar uma nova entrada." +msgstr "" +"Alias(es) para esse domínio. Indique apenas um nome por entrada, pressione " +"ENTER para adicionar uma nova entrada." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "alias de domínio" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 -#: admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Já existe um %s com este nome" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "Não pode ser maior do que a cota de domínio" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "Você não pode definir cota ilimitada." -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domínio" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Criar um administrador de domínio" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Criar automaticamente um administrador para este domínio" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nome" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." -msgstr "O nome de administrador. Não inclua aqui o nome de domínio. Ele será automaticamente adicionado." +msgstr "" +"O nome de administrador. Não inclua aqui o nome de domínio. Ele será " +"automaticamente adicionado." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Criar alias" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Criar automaticamente aliases padrão para este domínio" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Formato inválido" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "O usuário '%s' já existe" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domínio alterado" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Opções" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Novo domínio" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domínio criado" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Nome do arquivo" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Separador" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Destinatário(s)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Indique um ou mais destinatários separados por uma ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Manter cópias locais" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 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:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Selecione um arquivo" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Continuar em caso de erro" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Não tratar como erro objetos duplicados" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Criptografar senhas" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" -msgstr "Marcar essa opção se as senhas contidas no seu arquivo estão criptografadas" +msgstr "" +"Marcar essa opção se as senhas contidas no seu arquivo estão criptografadas" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, 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:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "Caixa de e-mail {} já existente" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, 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:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identidades" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Encaminhar" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "Um caixa de mensagens é obrigatória" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Você não tem permissão para importar domínios" -#: admin/lib.py:145 +#: admin/lib.py:143 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:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "O domínio {} não possui registro MX" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, 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:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] Problema(s) de MX para o domínio {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "endereço" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "O endereço alias." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "ativado" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Verificar para ativar o alias" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Descrição" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Expira em" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Endereço inválido" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Destinatário local {}@{} não encontrado" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Linha inválida: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "O domínio '%s' não existe" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "nome" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Nome do domínio" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." -msgstr "Cota em MB compartilhada entre caixas de correio. Um valor de 0 significa sem cota." +msgstr "" +"Cota em MB compartilhada entre caixas de correio. Um valor de 0 significa " +"sem cota." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." -msgstr "Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem cota." +msgstr "" +"Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem " +"cota." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Marque para ativar esse domínio" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Habilitar verificação DNS" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Marque para habilitar verificações DNS para este domínio" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Linha inválida" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Valor de cota inválida para o domínio '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 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:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" -msgstr "Valor padrão de cota para caixas de correio não pode ser maior que a cota do domínio" +msgstr "" +"Valor padrão de cota para caixas de correio não pode ser maior que a cota do " +"domínio" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Nome de alias" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "alvo" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Esse alias aponta para o domínio" @@ -740,57 +800,59 @@ msgstr "Esse alias aponta para o domínio" msgid "Unknown domain %s" msgstr "Domínio desconhecido %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Endereço da caixa de correio (sem a parte @meu.dominio)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, 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:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Uma cota é requerida" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Cota do domínio excedida" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Permissão negada." -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." -msgstr "Lista dos domínios administrados (somente revendedores e administradores de domínio)." +msgstr "" +"Lista dos domínios administrados (somente revendedores e administradores de " +"domínio)." -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Não permitido para este perfil." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Deve ser igual ao endereço completo da conta" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "Domínio local {} não existe" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "Domínio não encontrado." -#: admin/serializers.py:407 +#: admin/serializers.py:433 msgid "You don't have access to this domain." msgstr "" -#: admin/serializers.py:415 +#: admin/serializers.py:441 msgid "You don't have access to this mailbox." msgstr "" @@ -995,20 +1057,24 @@ msgstr "Chave DKIM" msgid "Show key" msgstr "Mostrar chave" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "Não gerado" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administradores" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Remover essa persmissão" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Nenhum domínio de administrador definido ainda." @@ -1062,7 +1128,7 @@ msgstr "desabilitado" msgid "Automatically forward emails to another address" msgstr "Encaminhar e-mails automaticamente para outro endereço" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Atualizar" @@ -1087,17 +1153,30 @@ msgid "" "verify recipients

        The first element of each line is " "mandatory and must be equal to one of the previous values.

        You can " "use a different character as separator.

        " -msgstr "Forneça um arquivo CSV onde as linhas respeitem um dos seguintes formatos:
        • domain; name; quota; default mailbox quota; enabled
        • domainalias; name; targeted domain; enabled
        • relaydomain; name; target host; target port; service; enabled; verify recipients

        O primeiro elemento de cada linha é obrigatório e deve ser igual a um dos valores anteriores.

        Você pode usar um carácter diferente como separador.

        " +msgstr "" +"Forneça um arquivo CSV onde as linhas respeitem um dos seguintes formatos: " +"
        • domain; name; quota; default mailbox quota; enabled
        • " +"
        • domainalias; name; targeted domain; enabled
        • " +"
        • relaydomain; name; target host; target port; service; enabled; " +"verify recipients

        O primeiro elemento de cada linha é " +"obrigatório e deve ser igual a um dos valores anteriores.

        Você pode " +"usar um carácter diferente como separador.

        " #: admin/templates/admin/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.

        " -msgstr "Proveja um arquivo CSV onde as linhas respeitem um dos seguintes formatos:
        • account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...]
        • alias; address; enabled; recipient; recipient; ...

        O primeiro elemento de cada linha é obrigatório e deve ser igual a um dos valores anteriores.

        Você pode usar um carácter diferente como separador.

        " +"is mandatory and must be equal to one of the previous values.

        You can " +"use a different character as separator.

        " +msgstr "" +"Proveja um arquivo CSV onde as linhas respeitem um dos seguintes formatos: " +"
        • account; loginname; password; first name; last name; enabled; " +"group; address; quota; [, domain, ...]
        • alias; address; " +"enabled; recipient; recipient; ...

        O primeiro elemento de " +"cada linha é obrigatório e deve ser igual a um dos valores anteriores.

        " +"

        Você pode usar um carácter diferente como separador.

        " #: admin/templates/admin/importform.html:6 msgid "Help" @@ -1125,7 +1204,8 @@ msgstr "Atualizado" #: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" -msgstr "Este IP não corresponde a nenhum dos MXs válidos definidos nos parâmetros" +msgstr "" +"Este IP não corresponde a nenhum dos MXs válidos definidos nos parâmetros" #: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." @@ -1136,90 +1216,96 @@ msgstr "Nenhum registro MX foi encontrado para este domínio." msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "O Modoboa detectou que o domínio %(domain)s está listado pelos seguintes provedores DNSBL:" +msgstr "" +"O Modoboa detectou que o domínio %(domain)s está listado pelos seguintes " +"provedores DNSBL:" #: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "A reputação do domínio será afetada e há uma chance que os e-mails vindos dele sejam considerados spam. Você deve contatar aqueles provedores e pedir a eles a retirada do(s) endereço(s) IP(s) detectado(s) da lista." +msgstr "" +"A reputação do domínio será afetada e há uma chance que os e-mails vindos " +"dele sejam considerados spam. Você deve contatar aqueles provedores e pedir " +"a eles a retirada do(s) endereço(s) IP(s) detectado(s) da lista." #: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" -msgstr "O Modoboa detectou que o domínio %(domain)s não possui registro MX válido." +msgstr "" +"O Modoboa detectou que o domínio %(domain)s não possui registro MX válido." #: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Busca" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "Ativado" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "Ativada" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Listardomínios" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Listar quotas" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importar" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Exportar" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Listar identidades" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Ver as identidades de domínios" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Editar {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Remover %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Um alias para esse nome já existe" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Criar" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Novo alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias criado" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias modificado" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Aliases apagados" @@ -1233,50 +1319,50 @@ msgstr "Registro MX para {}" msgid "DNSBL summary for {}" msgstr "Sumário DNSBL para {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Você não pode deletar seu próprio domínio" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domínio deletado" msgstr[1] "Domínios deletados" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Exportar identidades" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Exportar domínios" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Solicitação inválida" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Conta deletada" msgstr[1] "Contas deletadas" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "O objeto já existe: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d objetos importados com sucesso" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importar domínios" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importar identidades" diff --git a/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po index c1ffe3223..7d569c10a 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: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,76 +24,76 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domínios" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Caixas de Correio" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Lidar com caixas de correio no sistema de ficheiros" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -101,19 +101,19 @@ msgstr "" "Renomear ou remover as caixas de correio no sistema de ficheiros quando " "estas são renomeadas no Modoboa" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Dono das caixas de correio" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 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:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Quota pré-definida para o domínio" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -121,14 +121,14 @@ 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:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "Quota pré-definida para o domínio" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -140,152 +140,152 @@ 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:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Remoção automática de conta" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 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:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Criação automatica de domino/caixa de correio" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 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:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Tem de ser um inteiro, positivo" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Domínio alterado" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administração" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domínio" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Novo domínio" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Nome de Utilizador" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 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:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Papel" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Escolher" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Que nível de permissões terá o utilizador" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 #, fuzzy #| msgid "Invalid request" msgid "Random password" msgstr "Pedido inválido" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Password" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Confirmação" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Repita a password acima, para verificação." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Ativo" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "É necessária uma caixa de correio" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Os dois campos de password não são idênticos." -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Não pode desativar a sua própria conta" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -295,12 +295,12 @@ 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:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(es)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -315,13 +315,13 @@ msgstr "" "clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias " "'catchall' (ex: *@domain.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 #, fuzzy #| msgid "Invalid request" msgid "Sender addresses" msgstr "Pedido inválido" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -334,70 +334,70 @@ 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:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "O domínio não existe" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "O domínio não existe" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Não tem acesso a este domínio" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domínio(s)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domínio(s) administrado pelo utilizador" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Geral" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Correio" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Permissões" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Conta actualizada" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nova conta" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Conta criada" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 #, fuzzy #| msgid "Invalid request" msgid "Random address" msgstr "Pedido inválido" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Endereço de e-mail" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 #, fuzzy #| msgid "" #| "The alias address (without the domain part). For a 'catch-all' address, " @@ -409,11 +409,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:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatários" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -425,22 +425,22 @@ msgstr "" "Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um " "endereço por entrada, pressionar ENTER para acrescentar uma nova entrada." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required" msgstr "É necessária uma caixa de correio" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Sem destinatário definido" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -448,55 +448,55 @@ msgstr "" "Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar " "ENTER para acrescentar uma nova entrada." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "'Alias' de domínio" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Já existe um(a) %s com este nome. " -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domínio" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Criar um administrador de domínio" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Criar automaticamente um administrador para este domínio" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nome" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -504,249 +504,263 @@ msgstr "" "O nome do administrador. Não inclua o nome do domínio já que este será " "automaticamente anexado." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 #, 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:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Criar um administrador de domínio" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr " Criar aliases" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Criar automaticamente aliases para este domínio" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Formato inválido" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "O utilizador '%s' já existe" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domínio alterado" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Opções" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Novo domínio" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domínio criado" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Nome do ficheiro" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Separador" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Destinatário(s)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Indicar um ou mais destinatários separados por ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Conservar cópias locais" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 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:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Escolha um ficheiro" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Continua com erro" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Não tratar objetos duplicados como erro" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Passwords encriptadas" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 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:218 +#: admin/handlers.py:214 #, 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:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "Caixa de correio %s já existe" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importação da conta falhou (%s): valor para quota inválido" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identidades" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Reencaminhar" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "É necessária uma caixa de correio" -#: admin/lib.py:134 +#: admin/lib.py:132 #, 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:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "endereços" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 #, fuzzy #| msgid "The alias name" msgid "The alias address." msgstr "O nome do 'alias'" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "ativo" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Marcar para ativar este alias" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 #, fuzzy #| msgid "Invalid request" msgid "Invalid address" msgstr "Pedido inválido" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 #, 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:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Linha inválida: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "O domínio '%s' não existe" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "nome" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "O nome do domínio" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -756,7 +770,7 @@ msgstr "" "Quota (em MB) a aplicar a domínios recentemente criados sem valor " "especificado. Um valor de 0 implica sem quota." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -766,66 +780,66 @@ msgstr "" "Quota (em MB) a aplicar a domínios recentemente criados sem valor " "especificado. Um valor de 0 implica sem quota." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Marcar para ativar este domínio" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Marcar para ativar este domínio" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Linha inválida" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 #, 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:309 +#: admin/models/domain.py:323 #, 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:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "O nome do 'alias'" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "alvo" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "O domínio para o qual este alias irá apontar" @@ -834,67 +848,67 @@ msgstr "O domínio para o qual este alias irá apontar" msgid "Unknown domain %s" msgstr "Domínio desconhecido: %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Endereços das caixas de correio (sem a parte @domain.tld)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, 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:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "É necessário uma quota" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Domínio criado" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Permissões" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "" -#: admin/serializers.py:253 +#: admin/serializers.py:275 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "O domínio não existe" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "" -#: admin/serializers.py:358 +#: admin/serializers.py:384 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Domínio alterado" -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Não tem acesso a este domínio" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1135,22 +1149,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Sem destinatário definido" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administradores" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Remover esta permissão" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." @@ -1212,7 +1230,7 @@ msgstr "inativo" msgid "Automatically forward emails to another address" msgstr "Reenviar automaticamente e-mails para outro endereço" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Actualizar" @@ -1308,72 +1326,72 @@ msgstr "" msgid "Search" msgstr "Procurar" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "enabled_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "enabled_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Listar domínios" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Listar as quotas" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importar" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Exportar" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Listar identidades" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Visualizar as identidades do domínio" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Eliminar %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Já existe um 'alias' com este nome" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Criar" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Novo 'alias'" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias criado" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "'Alias' modificado" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1389,50 +1407,50 @@ msgstr "" msgid "DNSBL summary for {}" msgstr "" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Não é possível eliminar o seu próprio domínio" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domínio criado" msgstr[1] "Domínios eliminados" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Exportar identidades" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Exportar domínios" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Pedido inválido" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Conta eliminada" msgstr[1] "Contas eliminadas" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Este objeto já existe: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d objetos importados com sucesso" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importar domínios" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importar identidades" diff --git a/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po index ea16b863e..d6ec5f607 100644 --- a/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po @@ -1,730 +1,798 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Andrei-Ilie Olteanu , 2018 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-07-03 13:17+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" +"language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"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/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domenii" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Activează verificările MX" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "Verifică ca fiecare domeniu are asociat un MX valid" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "MX-uri valide" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "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." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"O listă de IP-uri sau de adrese de rețea care pentru fiecare înregistrare MX " +"ar trebui să se potrivească. O avertizare va fi trimisă dacă o înregistrare " +"nu respectă această conformitate." -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "Domeniile noi trebuie să utilizeze MX(-uri) autorizate" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." -msgstr "Împiedică crearea unui nou domeniu dacă înregistrarea MX nu utilizează una dintre adresele definite." +msgstr "" +"Împiedică crearea unui nou domeniu dacă înregistrarea MX nu utilizează una " +"dintre adresele definite." -#: admin/app_settings.py:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Activează verificările DNSBL" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Verificați fiecare domeniu folosind furnizorii DNSBL majori" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "Folderul de stocare pentru cheile DKIM" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Calea absolută a directorului în care vor fi stocate cheile private DKIM. Asigurați-vă că acest director aparține utilizatorului root și nu poate fi citit de orice user." +msgstr "" +"Calea absolută a directorului în care vor fi stocate cheile private DKIM. " +"Asigurați-vă că acest director aparține utilizatorului root și nu poate fi " +"citit de orice user." -#: admin/app_settings.py:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "Mărimea implicită în caractere a chei DKIM" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 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:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Cutii poștale" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Gestionați cutiile poștale în sistemul de fișiere" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" -msgstr "Redenumește sau eliminează căsuțele poștale din sistemul de fișiere atunci când se redenumesc sau se elimină în Modoboa" +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:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Propietarul cutiilor postale" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" -msgstr "Contul UNIX care are in propietate casuțele poștale în sistemul de fișiere" +msgstr "" +"Contul UNIX care are in propietate casuțele poștale în sistemul de fișiere" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Cota-parte implicită a domeniului" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -msgstr "Cota implicită (în MB) aplicată domeniilor nou create, care nu au nicio valoare specificată. O valoare de 0 înseamnă că nu există o cotă." +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:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Cota implicită pentru cutia poștală" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 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ă pentru cutia poștală (în MB) aplicată domeniilor nou create, care nu au nicio valoare specificată. O valoare de 0 înseamnă că nu există o cotă." +msgstr "" +"Cota implicită pentru cutia poștală (î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:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Ștergere automată a contului" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 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:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Crearea automată a domeniului / cutiei poștale" -#: admin/app_settings.py:128 -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." +#: admin/app_settings.py:129 +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." -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 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:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." -msgstr "Creați un alias utilizând vechea adresă atunci când o cutie poștală este redenumită." +msgstr "" +"Creați un alias utilizând vechea adresă atunci când o cutie poștală este " +"redenumită." -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Trebuie să fie un număr întreg pozitiv" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 msgid "Directory not found." msgstr "Directorul nu a fost găsit." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 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:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "Definiți cel puțin o adresă de rețea autorizată" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administrare" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domeniu" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "Domeniu de relay" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Username" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." -msgstr "Numele de utilizator. Trebuie sa fie o adresa de e-mail valida pentru tilizatori simpli sau pentru administratori care au casuță poștală." +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:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rol" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Alege" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Ce nivel de permisiune va avea acest utilizator" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "Parolă aleatorie" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." -msgstr "Generați o parolă aleatorie. Dacă actualizați acest cont și bifați această casetă, va fi generată o nouă parolă." +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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Parolă" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Confirmare" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Introduce aceiași parolă ca deasupra, pentru verificare." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Activat" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "Numai superadministratorii sunt permiși la acest mod" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "Acest câmp este necesar." -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Cele două câmpuri de parolă nu s-au potrivit." -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Nu poți să îți ștergi propriul cont" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-mail" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "Crează un alias folosind vechea adresă" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Cotă-parte" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " "administrators)." -msgstr "Cota în MB pentru această căsuță poștală. Definiți o valoare particularizată sau utilizați valurea prestabilită a domeniului. Lăsați gol pentru a defini o valoare nelimitată (nu este permisă pentru administratorii de domeniu)." +msgstr "" +"Cota în MB pentru această căsuță poștală. Definiți o valoare particularizată " +"sau utilizați valurea prestabilită a domeniului. Lăsați gol pentru a defini " +"o valoare nelimitată (nu este permisă pentru administratorii de domeniu)." -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(uri)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias(uri) la această căsuță poștală. Indicați numai o singură adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă. Pentru a crea un alias de captură care sa prindă toate emailurile, trebuie doar să introduceți numele domeniului (@ domain.tld)." +msgstr "" +"Alias(uri) la această căsuță poștală. Indicați numai o singură adresă pentru " +"fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă. Pentru a crea " +"un alias de captură care sa prindă toate emailurile, trebuie doar să " +"introduceți numele domeniului (@ domain.tld)." -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Adresa expeditorului" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "Adresa(e) suplimentare a expeditorului pentru acest cont. Utilizatorului i se va permite să trimită e-mailuri utilizând această adresă, chiar dacă nu există pe plan local. Indicați o adresă pentru fiecare intrare. Apăsați ENTER pentru a adăuga o intrare nouă." +msgstr "" +"Adresa(e) suplimentare a expeditorului pentru acest cont. Utilizatorului i " +"se va permite să trimită e-mailuri utilizând această adresă, chiar dacă nu " +"există pe plan local. Indicați o adresă pentru fiecare intrare. Apăsați " +"ENTER pentru a adăuga o intrare nouă." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Domeniul nu există" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "Domeniul local nu există" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Nu aveți acces la acest domeniu" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domeniu(ii)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domeniu(ii) pe care utilizatorul le administrează" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "General" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Profil" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Mail" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Permisiuni" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Cont actualizat" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Cont nou" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Cont creat" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Adresă aleatorie" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Adresă email" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Adresa aliasului. Pentru a crea un alias care caputrează tot, trebuie doar să introduceți numele domeniului (@ domain.tld)." +msgstr "" +"Adresa aliasului. Pentru a crea un alias care caputrează tot, trebuie doar " +"să introduceți numele domeniului (@ domain.tld)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatarii" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "Adresele pe care sunt asociate cu acest alias. Indicați numai o singură adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă." +msgstr "" +"Adresele pe care sunt asociate cu acest alias. Indicați numai o singură " +"adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "Acest câmp este necesar" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Nu fost definit niciun destinatar" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tip" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." -msgstr "Alias (uri) la acest domeniu. Indicați un singur nume pe fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă." +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:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "Selector cheie" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "alias domeniu" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 -#: admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "Itemul%s cu acest nume există" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 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:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "Folderul de stocare a cheilor DKIM nu este configurat" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "Nu poate fi mai mare decat cota domeniului" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "Nu poți sa definești o cotă nelimitată" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domeniu" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Creați un administrator de domeniu" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Creează automat un administrator pentru acest domeniu" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nume" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." -msgstr "Numele administratorului. Nu include aici si numele domeniului, el va fi automat alipit. " +msgstr "" +"Numele administratorului. Nu include aici si numele domeniului, el va fi " +"automat alipit. " -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "Generează o parolă aleatorie pentru administrator." -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "Cu casuță postală" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "Creează o căsuță postală pentru administrator. " -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Crează aliasuri " -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Creează automat aliasuri standard pentru acest domeniu" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Format invalid" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Utilizatorul '%s'  exista deja" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domeniu modficat" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Opțiuni" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Domeniu nou" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domeniu creat" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Nume fișier" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Sepatator" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Destinatar(i)" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Indica unul sau mai mulți destinatari separați prin ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Ține o copii locale" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" -msgstr "Redirecționează mesajele și stochează copiile în căsuța postală locală " +msgstr "" +"Redirecționează mesajele și stochează copiile în căsuța postală locală " -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Selectează un fișier" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Continuă și dacă apar erori" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Nu trata obiecte dublicat ca eroare" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Encriptează parola" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" -msgstr "Bifeaza această opțune dacă parolele conținute în fșierul tău nu sunt encriptate" +msgstr "" +"Bifeaza această opțune dacă parolele conținute în fșierul tău nu sunt " +"encriptate" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Importul de cont a esuat (%s): domeniul nu există" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "Căsuța poștală {} deja există" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importul de cont a esuat (%s): valuare de cotă incorectă" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identități" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Redirecționează" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "O căsuță poștală este necesară" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Nu ești autorizat să imporți domenii" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "Nu ești autorizat să imporți aliasuri de domenii" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "Nu s-au găsit înregistrări DNS pentru %s" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "Nu există înregidtrări MX pentru %s" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "Nu s-au găsit NS-uri funcționale" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" -msgstr "Timeout întâmpinat la rezolvarea cererii DNS, imposibilă de interogat %s în acest moment" +msgstr "" +"Timeout întâmpinat la rezolvarea cererii DNS, imposibilă de interogat %s în " +"acest moment" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "Nu s-a reușit căutarea adreselor IP pentru %(domain)s;%(error)s" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Format invalid de IP pentru %(domain)s; %(addr)s " -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] Problemă(e) DNSBL pentru domeniul {} " -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "Domeniul {} nu are înregistrări MX" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, 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:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] Problemă(e) MX pentru domeniul {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "adresă" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "Adresă alias." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "activat" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Bifează pentru a activa acest alias" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Descriere" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Expiră la" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Adresă invalidă" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Destinatar local {}@{} nu poate fi găsit" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Linie invalidă: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Domeniul '%s' nu există" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "nume" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Numele domeniului" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." -msgstr "Cota în MB impărțită între cutiile poștale. O valuare 0 înseamnă fără cotă." +msgstr "" +"Cota în MB impărțită între cutiile poștale. O valuare 0 înseamnă fără cotă." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." -msgstr "Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 înseamnă fără cotă." +msgstr "" +"Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 " +"înseamnă fără cotă." -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Bifează pentru a activa domeniul" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Activează verificările DNS" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Bifează pentru a activa verificările DNS pentru acest domeniu" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "Activează semnarea DKIM" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 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." +msgstr "" +"Dacă activezi această facilitate, o chieie DKIM se va genera pt acest " +"domeniu." -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "Mărime cheie" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Linie invalidă" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu {}" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Valuare de cotă invalidă pentru domeniul '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Valuare implicită de cotă invalidă pentru domeniul '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" -msgstr "Valuarea de cotă implicită a unei cutii poștale nu poate fi mai mare decât cota de domeniu" +msgstr "" +"Valuarea de cotă implicită a unei cutii poștale nu poate fi mai mare decât " +"cota de domeniu" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Numele aliasului" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "Țintă" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Domeniul către care indică acest alias" @@ -733,57 +801,58 @@ msgstr "Domeniul către care indică acest alias" msgid "Unknown domain %s" msgstr "Domeniu necunoscut %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adresa de email (fără partea @domeniu)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, 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:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "O cotă este necesară" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Cota pentru domeniu a fost depașită" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Permisiune refuzată." -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." -msgstr "Lista domenilor administrate (doar reselleri și administratori de domeniu)" +msgstr "" +"Lista domenilor administrate (doar reselleri și administratori de domeniu)" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Ne permis pentru acest rol." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Trebuie să fie egal cu mailbox full_address" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "Domeniu local {} nu există" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "O listă de destinatari" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "Domeniu negăsit" -#: admin/serializers.py:407 +#: admin/serializers.py:433 msgid "You don't have access to this domain." msgstr "Nu ai acces la acest domeniu." -#: admin/serializers.py:415 +#: admin/serializers.py:441 msgid "You don't have access to this mailbox." msgstr "Nu ai acces la această cutie postală" @@ -988,20 +1057,24 @@ msgstr "Cheie DKIM" msgid "Show key" msgstr "Arată cheia" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "Negenerat" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administratori" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Elimină această permisie" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Nu există un domeniu de administrator definit incă" @@ -1055,7 +1128,7 @@ msgstr "dezactivat" msgid "Automatically forward emails to another address" msgstr "Redirecționează automat emailuri la altă adresă" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Actualizează" @@ -1080,17 +1153,31 @@ msgid "" "verify recipients

      The first element of each line is " "mandatory and must be equal to one of the previous values.

      You can " "use a different character as separator.

      " -msgstr "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." +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." #: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
        " -"
      • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
      • alias; address; enabled; " +"
      • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
      • alias; address; enabled; " "recipient; recipient; ...

      The first element of each line " -"is mandatory and must be equal to one of the previous values.

      You can" -" use a different character as separator.

      " -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.

      " +"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." +"

      " #: admin/templates/admin/importform.html:6 msgid "Help" @@ -1118,7 +1205,8 @@ msgstr "Actualizat" #: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" -msgstr "Acest IP nu se potrivește cu nicio înregistrare MX definită în parametrii" +msgstr "" +"Acest IP nu se potrivește cu nicio înregistrare MX definită în parametrii" #: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." @@ -1129,90 +1217,96 @@ msgstr "Nu există înregistrări MX pentru acest domeniu." 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:" +msgstr "" +"Modoboa a detectat ca domeniul %(domain)s este listat sub DNSBL la urmatorii " +"furnizori DNSBL:" #: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "Reputația domeniului va fi afectată și există șansa ca e-mailurile provenite de la acestă adresă să fie considerate spam. Ar trebui să contactați acești furnizori și să îi solicitați să elimine adresele(sau adresa) IP detectate." +msgstr "" +"Reputația domeniului va fi afectată și există șansa ca e-mailurile provenite " +"de la acestă adresă să fie considerate spam. Ar trebui să contactați acești " +"furnizori și să îi solicitați să elimine adresele(sau adresa) IP detectate." #: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" -msgstr "Modoboa a detectat ca domeniul %(domain)s nu are înregistrări MX valide: " +msgstr "" +"Modoboa a detectat ca domeniul %(domain)s nu are înregistrări MX valide: " #: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Caută" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "activat_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "activat_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Listă domenii" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Listă cote" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Import" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Export" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Listare identități" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Afișare identități domeniului" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Editează {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Șterge %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Un alias cu acelasi nume deja există" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Creează" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Alias nou" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias creat" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias modificat" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias șters" @@ -1227,52 +1321,52 @@ msgstr "Înregistrări MX ale {}" msgid "DNSBL summary for {}" msgstr "Sumar DNSBL pentru {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Nu poți să îți ștergi propriul domeniu" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domeniu șters" msgstr[1] "Domenii șterse" msgstr[2] "Domenii șterse" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Exportă identități" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Exportă domenii" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Cerere invalidă" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Cont șters" msgstr[1] "Conturi șterse" msgstr[2] "Conturi șterse" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Obiectul deja există: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d obiecte importate cu succes" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importă domenii" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importă identități" diff --git a/modoboa/admin/locale/ru/LC_MESSAGES/django.po b/modoboa/admin/locale/ru/LC_MESSAGES/django.po index 37751dc67..4a5dbdd55 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: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,76 +19,76 @@ 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/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Домены" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 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:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 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:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Почтовые ящики" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Обрабатывать почтовые ящики на диске" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 #, fuzzy msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " @@ -97,179 +97,179 @@ msgstr "" "Удалять или переименовывать почтовые ящики на диске, если они удалены или " "переименованы в Modoboa" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Почтовые ящики закончились" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "UNIX аккаунт владельца почтового ящика на диске" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 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:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 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:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Автоматическое удаление аккаунта" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "При удалении почтового ящика, так же удалять и аккаунт владельца" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 #, fuzzy msgid "Automatic domain/mailbox creation" msgstr "Домен создан" -#: admin/app_settings.py:128 +#: admin/app_settings.py:129 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Домен изменен" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "" -#: admin/constants.py:100 +#: admin/constants.py:99 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Новый домен" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Логин пользователя" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 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:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Роль" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Выбрать" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "Разрешения для этого пользователя" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 #, fuzzy #| msgid "Invalid request" msgid "Random password" msgstr "Ошибочный запрос" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Пароль" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Подтверждение" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Введите такой же пароль как выше. Для проверки." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Разрешено" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 #, fuzzy #| msgid "A quota is required" msgid "This field is required." msgstr "Требуется квота" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Пароли не совпадают" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Вы не можете запретить собственный аккаунт" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "Е-майл" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Квота" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " @@ -280,12 +280,12 @@ msgstr "" "Оставьте пустым для неограниченного значения. (Не разрешено администраторам " "домена)" -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Синоним(ы)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -299,13 +299,13 @@ msgstr "" "Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для " "добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)" -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 #, fuzzy #| msgid "Invalid request" msgid "Sender addresses" msgstr "Ошибочный запрос" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -318,70 +318,70 @@ msgstr "" "Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для " "добавления." -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Домен не существует" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "Домен не существует" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Вы не имеете права доступа к этому домену" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Домен(ы)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Домен(ы) администрируемые пользователем" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Основные" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Почта" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Права" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "аккаунт изменен" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Новый аккаунт" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Аккаунт создан" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 #, fuzzy #| msgid "Invalid request" msgid "Random address" msgstr "Ошибочный запрос" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "Е-майл адрес" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 #, fuzzy #| msgid "" #| "The alias address (without the domain part). For a 'catch-all' address, " @@ -393,11 +393,11 @@ msgstr "" "Адреса синонимов (без доменной части). Для указания адреса 'для всех' " "введите символ *" -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Получатели" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -409,22 +409,22 @@ msgstr "" "Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для " "добавления." -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 #, fuzzy #| msgid "A quota is required" msgid "This field is required" msgstr "Требуется квота" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Получатель не определен" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -432,55 +432,55 @@ msgstr "" "Синоним(ы) этого домена. Вводите одно имя за раз. Нажмите ENTER для " "добавления." -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Создание администратора домена" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "Автоматически создаст администратора для этого домена" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Логин" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -488,313 +488,327 @@ msgstr "" "Имя администратора. Не включайте имя домена оно будет добавлено " "автоматически." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "Создание администратора домена" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Создание администратора домена" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Создание синонимов" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Автоматически создает стандартные синонимы для этого домена" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Неверный формат" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Пользователь '%s' уже существует" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Домен изменен" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Опции" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Новый домен" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Домен создан" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Имя файла" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Разделитель" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Получатели" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Укажите одного или нескольких получателей, разделенных запятой ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Сохранить локальную копию" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Перенаправление сообщения, и сохранение копии в вашем локальном почтовом " "ящике" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Выберите файл" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Продолжать при ошибке" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Не исправлять дублирующийся объект при ошибке" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Шифровать пароль" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Выберите эту опцию если пароль в вашем файле не зашифрован " -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Ошибка импорта аккаунта (%s): домен должен существовать " -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "Почтовый ящик %s существует" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, fuzzy, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Ошибка импорта аккаунта (%s): домен должен существовать " -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Пользователи" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Перенаправленые" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "" -#: admin/lib.py:134 +#: admin/lib.py:132 #, fuzzy #| msgid "You can't delete your own domain" msgid "You are not allowed to import domains" msgstr "Вы не можете удалить собственный домен" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "адрес" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 #, fuzzy #| msgid "The alias name" msgid "The alias address." msgstr "Имя синонима" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "Разрешен" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Отметить для активации синонима" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "Синоним" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 #, fuzzy #| msgid "Invalid request" msgid "Invalid address" msgstr "Ошибочный запрос" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 #, fuzzy #| msgid "Local recipient %s not found" msgid "Local recipient {}@{} not found" msgstr "Локальный получатель %s не найден" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Неверная строка %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Домен '%s' не существует" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "имя" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Имя домена" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "" -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Отметить для активации этого домена" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Отметить для активации этого домена" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Ошибочная строка" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Имя синонима" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "адресат" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Домен этого синонима указывает на" @@ -803,67 +817,67 @@ msgstr "Домен этого синонима указывает на" msgid "Unknown domain %s" msgstr "Неизвестный домен %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Адрес почтового ящика (без @domain.tld)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Ошибка получения места находжения почтового ящика (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "Требуется квота" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Домен создан" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Права" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "" -#: admin/serializers.py:253 +#: admin/serializers.py:275 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "Домен не существует" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "" -#: admin/serializers.py:358 +#: admin/serializers.py:384 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Домен изменен" -#: admin/serializers.py:407 +#: admin/serializers.py:433 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Вы не имеете права доступа к этому домену" -#: admin/serializers.py:415 +#: admin/serializers.py:441 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." @@ -1101,22 +1115,26 @@ msgstr "" msgid "Show key" msgstr "" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Получатель не определен" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Администраторы" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Удалить это разрешение" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." @@ -1179,7 +1197,7 @@ msgstr "Разрешен" msgid "Automatically forward emails to another address" msgstr "Автоматически перенаправлять письма на другой адрес" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Обновление" @@ -1275,73 +1293,73 @@ msgstr "" msgid "Search" msgstr "Поиск" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "enabled_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "enabled_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 #, fuzzy msgid "List domains" msgstr "Список квот" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Список квот" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Импорт" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Экспорт" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Список пользователей" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Информация о домене" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Удалить %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Синоним с таким именем уже есть" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Создать" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Новый синоним" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Синоним создан" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Синоним изменен" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1358,52 +1376,52 @@ msgstr "" msgid "DNSBL summary for {}" msgstr "" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Вы не можете удалить собственный домен" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Домен удален" msgstr[1] "Домена удалено" msgstr[2] "Доменов удалено" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Экспорт пользователя" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Экспорт доменов" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Ошибочный запрос" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Аккаунт удален" msgstr[1] "Аккаунта удалено" msgstr[2] "Аккаунтов удалено" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Объект уже существует: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d объектов импортировано" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Импорт доменов" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Импорт информации о пользователях" diff --git a/modoboa/admin/locale/sv/LC_MESSAGES/django.po b/modoboa/admin/locale/sv/LC_MESSAGES/django.po index 2a8907fd5..f55cf87cc 100644 --- a/modoboa/admin/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/sv/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Martin Persson , 2014,2017 # Olle Gustafsson , 2013,2015-2018 @@ -10,723 +10,771 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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/sv/)\n" +"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" +"sv/)\n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domäner" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "Aktivera MX kontroll" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 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:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "Giltiga MX" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "En lista över IP eller nätverksadresser varje MX record skall matcha. En varning kommer skickas om ett record inte matchar." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"En lista över IP eller nätverksadresser varje MX record skall matcha. En " +"varning kommer skickas om ett record inte matchar." -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "Nya domäner måste använda auktoriseradade MX inlägg" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." -msgstr "Förhindra uppskapandet av nya domäner om ett MX inlägg inte använder ett fördefinerat." +msgstr "" +"Förhindra uppskapandet av nya domäner om ett MX inlägg inte använder ett " +"fördefinerat." -#: admin/app_settings.py:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "Aktivera DNSBL kontroller" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "Kontrollera varje domän mot större DNSBL leverantörer" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "DKIM nycklar lagrings katalog" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Absolut sökväg till katalogen där DKIM privata nycklar kommer lagras. Se till att den här katalogen ägs av root-användaren och inte kan läsas av utomstående." +msgstr "" +"Absolut sökväg till katalogen där DKIM privata nycklar kommer lagras. Se " +"till att den här katalogen ägs av root-användaren och inte kan läsas av " +"utomstående." -#: admin/app_settings.py:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "Standard DKIM nyckellängd" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "Standardlängd i bitar för genererade DKIM nycklar." -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Brevlådor" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "Hantera brevlådor på filsystem" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 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" +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:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "Brevlådans ägare" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Den UNIX-konto som äger brevlådor på filsystemet" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "Standard domän kvota" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -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." +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:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Standard brevlåde kvota" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 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." +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:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "Automatisk konto borttagning" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 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:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "Automatisk skapande av domän/brevlåda" -#: admin/app_settings.py:128 -msgid "" -"Create a domain and a mailbox when an account is automatically created." +#: admin/app_settings.py:129 +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:134 +#: admin/app_settings.py:135 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:137 +#: admin/app_settings.py:138 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:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "Måste vara ett positivt heltal" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 msgid "Directory not found." msgstr "Katalog kunde ej hittas." -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "openssl hittades inte, kontroller att det är installerat." -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "Ange åtminstonde en auktoriserad nätverk / adress" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "Administration" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domän" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "Relay domän" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "Användarnamn" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." -msgstr "Användarens namn. Måste vara en giltig e-postadress för vanliga användare eller för administratörer med brevlåda." +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:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Roll" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "Välj" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 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:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "Slumpmässigt lösenord" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." -msgstr "Skapa ett slumpmässigt lösenord. Om du uppdaterar det här kontot och markerar den här rutan genereras ett nytt lösenord." +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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "Lösenord" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "Bekräftelse" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "Ange samma lösenord som ovan för verifiering." -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "Aktiverad" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 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:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "Detta fält krävs." -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "Dessa två lösnordsfält matchar inte." -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "Du kan inte inaktivera ditt eget konto" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "E-post" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "Skapa ett alias med den gamla adressen" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Kvot" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " "administrators)." -msgstr "Kvot i MB för denna brevlåda. Definiera ett anpassat värde eller använda domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej tillåtet för domänadministratörer)." +msgstr "" +"Kvot i MB för denna brevlåda. Definiera ett anpassat värde eller använda " +"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:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias för denna brevlåda. Ange endast en adress per inmatning, tryck RETUR för att lägga till nytt. För att skapa ett \"catch-all\" alias, ange bara domännamnet (@domain.tld)." +msgstr "" +"Alias för denna brevlåda. Ange endast en adress per inmatning, tryck RETUR " +"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 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "Avsändaradress" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "Övriga avsändaradresser fär detta konto. Användaren tillåts skicka e-post 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." +msgstr "" +"Övriga avsändaradresser fär detta konto. Användaren tillåts skicka e-post " +"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:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "Domän existerar inte" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "Lokal domän existerar inte" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "Du har inte åtkomst till denna domän" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "Domän(er)" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "Domän(er) användaren administrerar" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "Generellt" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "Profil" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "Post" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "Rättigheter" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "Konto uppdaterat" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "Nytt konto" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "Konto skapat" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "Slumpmässig adress" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "E-post adress" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 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)." +msgstr "" +"Alias adress. För en \"catch-all\"-alias, ange bara domännamnet (@domän.tld)." -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Mottagare" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "Adresser detta alias kommer peka på. Ange bara en adress per fält, tryck RETUR för att lägga till ytterligare." +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:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "Detta fält krävs" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "Ingen mottagare definierad" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." -msgstr "Alias för denna domän. Ange endast ett namn per rad, tryck ENTER för att lägga till en rad." +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:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "Nyckelväljare" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "domän alias" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 -#: admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "En %s med detta namn finns redan" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 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:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "DKIM nycklar lagringskatalog ej konfigurerad" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "Får inte vara större än domän kvot" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "Du kan inte ange en obegränsad kvota." -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "domän" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "Skapa en domän administratör" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 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:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Namn" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." -msgstr "Administratörens namn. Inkludera inte domänens namn här, den kommer att läggas till automatiskt." +msgstr "" +"Administratörens namn. Inkludera inte domänens namn här, den kommer att " +"läggas till automatiskt." -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "Skapa ett slumpmässigt lösenord för administratören." -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "Med en brevlåda" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "Skapa en brevlåda för administratören." -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "Skapa alias." -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "Skapa automatiskt standard alias för den här domänen" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "Ogiltigt format" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "Användare '%s' finns redan" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "Domän ändrad" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "Inställningar" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "Ny domän" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "Domän skapad" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "Filnamn" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "Separator" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "Mottagare" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "Ange en eller flera mottagare separerade med ett ','" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "Behåll lokal kopia" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 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:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "Välj en fil" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "Fortsätt vid fel" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "Behandla inte dubletter som fel" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "Krypterade lösenord" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 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:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Konto import misslyckades (%s): domänen existerar inte" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "Brevlåda {} finns redan" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importering av konto misslyckades (%s): Fel kvota värde" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Konton" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Vidarebefordra" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "En brevlåda krävs" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "Du tillåts inte att importera domäner" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "Du tillåts inte att importera domän alias." -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "Inga DNS-poster hittades för %s" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "Ingen MX-post för %s" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "Inga fungerande namnservrar hittades" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, 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:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "Kunde inte slå upp ip adress för %(domain)s; %(error)s" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Ogiltigt IP-adress format för %(domain)s; %(addr)s" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL fråga(or) för domän {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "Domän {} saknar MX record" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, 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:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX problem för domän {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "adress" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "Alias adressen." -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "aktiverad" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "Markera för aktivera detta alias" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Beskrivning" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Går ut" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "alias" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "Ogiltigt adress" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "Lokal mottagare {}@{} kunde inte hittas." -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "Ogiltig rad: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "Domänen '%s' existerar inte" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "namn" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "Domännamnet" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "Kvota i MB delade mellan brevlådor. 0 betyder ingen kvota." -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 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/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "Markera för att aktivera denna domän" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "Aktivera DNS kontroller" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "Markera för att aktivera DNS kontroller för den här domänen" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "Aktivera DKIM-signering" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 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." +msgstr "" +"Om du aktiverar den här funktionen genereras en DKIM-nyckel för den här " +"domänen." -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "Nyckellängd" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "Ogiltig rad" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "Inga auktoriserade MX inlägg finns för domänen {}" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "Ogiltig kvota värd för domän '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Ogiltig standard brevlådekvota för domän '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 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:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "Alias namn" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "mål" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "Domän dit detta alias pekar mot" @@ -735,57 +783,59 @@ msgstr "Domän dit detta alias pekar mot" msgid "Unknown domain %s" msgstr "Okänt kommando %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "Brevlåde adress (utan @domain.tld)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Kunde inte hitta brevlådans sökväg (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "En kvota krävs" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "Domänkvota överskriden" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "Åtskomst nekad." -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." -msgstr "Lista över administrerade domäner (endast återförsäljare och domänadministratörer)." +msgstr "" +"Lista över administrerade domäner (endast återförsäljare och " +"domänadministratörer)." -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "Inte tillåtet för denna roll." -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "Måste vara lika med brevlådans full_address" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "Lokal domän {} finns inte" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "En lista på mottagare" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "Domän kunde ej hittas." -#: admin/serializers.py:407 +#: admin/serializers.py:433 msgid "You don't have access to this domain." msgstr "Du har inte åtkomst till denna domän." -#: admin/serializers.py:415 +#: admin/serializers.py:441 msgid "You don't have access to this mailbox." msgstr "Du har inte åtkomst till denna brevlåda." @@ -990,20 +1040,24 @@ msgstr "DKIM nyckel" msgid "Show key" msgstr "Visa nyckel" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "Ej genererad" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "Administratörer" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "Radera detta tillstånd" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "Ingen domänadministratöre ännu definierad." @@ -1057,7 +1111,7 @@ msgstr "inaktiverad" 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:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "Uppdatera" @@ -1082,17 +1136,30 @@ msgid "" "verify recipients

    The first element of each line is " "mandatory and must be equal to one of the previous values.

    You can " "use a different character as separator.

    " -msgstr "Tillhandahåll en CSV fil där raderna har följande format:
    • domain; name; quota; default mailbox quota; enabled
    • domainalias; name; targeted domain; enabled
    • relaydomain; name; target host; target port; service; enabled; verify recipients

    Det första elementet i varje rad är obligatoriskt och måste vara lika med en av de tidigare värdena.

    Du kan använda ett annat tecken som separator.

    " +msgstr "" +"Tillhandahåll en CSV fil där raderna har följande format:
      " +"
    • domain; name; quota; default mailbox quota; enabled
    • " +"
    • domainalias; name; targeted domain; enabled
    • " +"
    • relaydomain; name; target host; target port; service; enabled; " +"verify recipients

    Det första elementet i varje rad är " +"obligatoriskt och måste vara lika med en av de tidigare värdena.

    Du " +"kan använda ett annat tecken som separator.

    " #: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
      " -"
    • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
    • 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.

    " -msgstr "Tillhandahåll en CSV-fil där raderna har följande format:
    • account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...]
    • alias; address; enabled; recipient; recipient; ...

    Det första elementet i varje rad är obligatorisk och måste vara lika med en av de tidigare värdena.

    Du kan använda ett annat tecken separator.

    " +"is mandatory and must be equal to one of the previous values.

    You can " +"use a different character as separator.

    " +msgstr "" +"Tillhandahåll en CSV-fil där raderna har följande format:
      " +"
    • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
    • alias; address; enabled; " +"recipient; recipient; ...

    Det första elementet i varje " +"rad är obligatorisk och måste vara lika med en av de tidigare värdena.

    " +"

    Du kan använda ett annat tecken separator.

    " #: admin/templates/admin/importform.html:6 msgid "Help" @@ -1131,14 +1198,19 @@ msgstr "Inget MX record funnet för denna domän." msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "Modoboa har upptäckt att domän %(domain)s är listad host följande DNSBL leverantörer:" +msgstr "" +"Modoboa har upptäckt att domän %(domain)s är listad host följande DNSBL " +"leverantörer:" #: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "Domänens rykte kommer påverkas och det finns en chans att epost som kommer från den anses vara skräppost. Du bör kontakta dessa leverantörer och be den att avlista upptäckt IP adress(er)." +msgstr "" +"Domänens rykte kommer påverkas och det finns en chans att epost som kommer " +"från den anses vara skräppost. Du bör kontakta dessa leverantörer och be den " +"att avlista upptäckt IP adress(er)." #: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format @@ -1149,72 +1221,72 @@ msgstr "Modoboa upptäckte att domänen %(domain)s saknar giltiga MX record:" msgid "Search" msgstr "Sök" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "enabled_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "enabled_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "Lista domäner" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "Lista kvoter" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "Importera" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "Exportera" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "Lista konton" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "Visa domänens konton" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "Redigera {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "Radera %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "Alias med detta namn existerar redan" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "Skapa" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "Nytt alias" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "Alias skapat" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "Alias ändrat" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias raderat" @@ -1228,50 +1300,50 @@ msgstr "MX record för {}" msgid "DNSBL summary for {}" msgstr "DNSBL summering för {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "Du kan inte radera din egen domän" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domän raderad" msgstr[1] "Domäner raderade" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "Exportera konton" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "Exportera domäner" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "Ogiltig förfrågan" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Konto raderat" msgstr[1] "Konton raderade" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "Objektet existerar redan: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d objekt importerade" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "Importera domäner" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "Importera konton" diff --git a/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po index 81ff495bc..06d41c860 100644 --- a/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # akong , 2018 # freedom lee , 2018 @@ -10,723 +10,747 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-07-09 04:17+0000\n" "Last-Translator: akong \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/language/zh_TW/)\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" +"language/zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: admin/app_settings.py:22 admin/handlers.py:269 +#: admin/app_settings.py:23 admin/handlers.py:265 #: admin/templates/admin/_global_statistics_widget.html:11 #: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "網域" -#: admin/app_settings.py:25 +#: admin/app_settings.py:26 msgid "Enable MX checks" msgstr "啟用 MX 檢查" -#: admin/app_settings.py:28 +#: admin/app_settings.py:29 msgid "Check that every domain has a valid MX record" msgstr "檢查每個網域都有正確的 MX 紀錄" -#: admin/app_settings.py:33 +#: admin/app_settings.py:34 msgid "Valid MXs" msgstr "正確的 MX" -#: admin/app_settings.py:36 +#: admin/app_settings.py:37 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "每個 MX 紀錄應該要跟列出來的 IP 或網路位址一樣。假如紀錄不同的會有警告送出。" +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"每個 MX 紀錄應該要跟列出來的 IP 或網路位址一樣。假如紀錄不同的會有警告送出。" -#: admin/app_settings.py:44 +#: admin/app_settings.py:45 msgid "New domains must use authorized MX(s)" msgstr "新的網域必須要有已驗立的 MX(s)" -#: admin/app_settings.py:47 +#: admin/app_settings.py:48 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "假如 MX 紀錄未使用定義的位址請避免建立新的網域。" -#: admin/app_settings.py:53 +#: admin/app_settings.py:54 msgid "Enable DNSBL checks" msgstr "啟用 DNSBL 檢查" -#: admin/app_settings.py:56 +#: admin/app_settings.py:57 msgid "Check every domain against major DNSBL providers" msgstr "針對每個 DNSBL 供應商來檢查每個網域" -#: admin/app_settings.py:61 +#: admin/app_settings.py:62 msgid "DKIM keys storage directory" msgstr "DKIM 金鑰儲存目錄" -#: admin/app_settings.py:64 +#: admin/app_settings.py:65 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "絕對路徑的目錄將會給 DKIM 私鑰儲存。確認這個目錄屬於 root 使用者並且外面的世界無法讀取。" +msgstr "" +"絕對路徑的目錄將會給 DKIM 私鑰儲存。確認這個目錄屬於 root 使用者並且外面的世" +"界無法讀取。" -#: admin/app_settings.py:72 +#: admin/app_settings.py:73 msgid "Default DKIM key length" msgstr "預設 DKIM 金鑰長度" -#: admin/app_settings.py:76 +#: admin/app_settings.py:77 msgid "Default length in bits for newly generated DKIM keys." msgstr "預設長度是給新產生的 DKIM 金鑰用。" -#: admin/app_settings.py:80 admin/templates/admin/domain_detail.html:41 +#: admin/app_settings.py:81 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "信箱" -#: admin/app_settings.py:83 +#: admin/app_settings.py:84 msgid "Handle mailboxes on filesystem" msgstr "在檔案系統上處理信箱" -#: admin/app_settings.py:86 +#: admin/app_settings.py:87 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" msgstr "當他要在 Modoboa 上取得更名或移除就會在檔案系統上更名或移除信箱" -#: admin/app_settings.py:92 +#: admin/app_settings.py:93 msgid "Mailboxes owner" msgstr "信箱擁有者" -#: admin/app_settings.py:95 +#: admin/app_settings.py:96 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "UNIX 帳號是檔案系統上擁有的信箱" -#: admin/app_settings.py:100 +#: admin/app_settings.py:101 msgid "Default domain quota" msgstr "預設網域配額" -#: admin/app_settings.py:103 +#: admin/app_settings.py:104 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." msgstr "預設配額(以MB為單位)應用於未指定值的創立網域。值為0表示沒有配額。" -#: admin/app_settings.py:109 admin/models/domain.py:40 +#: admin/app_settings.py:110 admin/models/domain.py:41 #: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "預設信箱配額" -#: admin/app_settings.py:112 +#: admin/app_settings.py:113 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." -msgstr "預設信箱配額(以MB為單位)應用於未指定值的建立網域。值為0表示沒有配額。" +msgstr "" +"預設信箱配額(以MB為單位)應用於未指定值的建立網域。值為0表示沒有配額。" -#: admin/app_settings.py:118 +#: admin/app_settings.py:119 msgid "Automatic account removal" msgstr "自動刪除帳號" -#: admin/app_settings.py:121 +#: admin/app_settings.py:122 msgid "When a mailbox is removed, also remove the associated account" msgstr "當信箱移除時,也會移除關聯的帳號" -#: admin/app_settings.py:125 +#: admin/app_settings.py:126 msgid "Automatic domain/mailbox creation" msgstr "自動建立網域/信箱" -#: admin/app_settings.py:128 -msgid "" -"Create a domain and a mailbox when an account is automatically created." +#: admin/app_settings.py:129 +msgid "Create a domain and a mailbox when an account is automatically created." msgstr "當帳號自動建立後會建立網域和一個信箱。" -#: admin/app_settings.py:134 +#: admin/app_settings.py:135 msgid "Create an alias when a mailbox is renamed" msgstr "當信箱更名時會建立別名" -#: admin/app_settings.py:137 +#: admin/app_settings.py:138 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "當信箱更名時建立別名並使用在舊的位址。" -#: admin/app_settings.py:186 admin/app_settings.py:194 -#: admin/forms/account.py:331 +#: admin/app_settings.py:187 admin/app_settings.py:195 +#: admin/forms/account.py:332 msgid "Must be a positive integer" msgstr "必須是正整數" -#: admin/app_settings.py:204 +#: admin/app_settings.py:205 msgid "Directory not found." msgstr "目錄不存在" -#: admin/app_settings.py:210 +#: admin/app_settings.py:211 msgid "openssl not found, please make sure it is installed." msgstr "openssl 找不到,請確認已安裝。" -#: admin/app_settings.py:224 +#: admin/app_settings.py:225 msgid "Define at least one authorized network / address" msgstr "定義至少一個已驗證網路/位址" -#: admin/app_settings.py:234 +#: admin/app_settings.py:235 msgid "Administration" msgstr "管理員" -#: admin/constants.py:99 admin/forms/alias.py:49 +#: admin/constants.py:98 admin/forms/alias.py:47 #: admin/templates/admin/_per_domain_statistics_widget.html:7 #: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "網域" -#: admin/constants.py:100 +#: admin/constants.py:99 msgid "Relay domain" msgstr "網域轉送" -#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:120 +#: admin/forms/account.py:36 admin/templates/admin/domain_detail.html:121 msgid "Username" msgstr "使用者名稱" -#: admin/forms/account.py:40 +#: admin/forms/account.py:38 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:45 admin/templates/admin/account_detail.html:29 +#: admin/forms/account.py:43 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "身份" -#: admin/forms/account.py:46 +#: admin/forms/account.py:44 msgid "Choose" msgstr "選擇" -#: admin/forms/account.py:47 +#: admin/forms/account.py:45 msgid "What level of permission this user will have" msgstr "這個使用者有什麼樣的權限等級" -#: admin/forms/account.py:50 admin/forms/domain.py:227 +#: admin/forms/account.py:48 admin/forms/domain.py:223 msgid "Random password" msgstr "隨機密碼" -#: admin/forms/account.py:52 +#: admin/forms/account.py:50 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:58 +#: admin/forms/account.py:56 msgid "Password" msgstr "密碼" -#: admin/forms/account.py:63 +#: admin/forms/account.py:61 msgid "Confirmation" msgstr "確認" -#: admin/forms/account.py:66 +#: admin/forms/account.py:64 msgid "Enter the same password as above, for verification." msgstr "為了驗證,在下方輸入相同的密碼。" -#: admin/forms/account.py:78 +#: admin/forms/account.py:76 msgid "Enabled" msgstr "已啟用" -#: admin/forms/account.py:172 +#: admin/forms/account.py:171 msgid "Only super administrators are allowed for this mode" msgstr "只有超級管理員在這個模式下是允許的" -#: admin/forms/account.py:183 admin/forms/account.py:185 -#: admin/forms/domain.py:144 admin/forms/domain.py:273 -#: admin/forms/domain.py:276 admin/serializers.py:241 +#: admin/forms/account.py:182 admin/forms/account.py:184 +#: admin/forms/domain.py:140 admin/forms/domain.py:269 +#: admin/forms/domain.py:272 admin/serializers.py:263 msgid "This field is required." msgstr "這個欄位是必填的" -#: admin/forms/account.py:191 +#: admin/forms/account.py:190 msgid "The two password fields didn't match." msgstr "兩次鍵入的密碼不相符。" -#: admin/forms/account.py:204 +#: admin/forms/account.py:203 msgid "You can't disable your own account" msgstr "您不可以停用您擁有的帳號" -#: admin/forms/account.py:225 +#: admin/forms/account.py:226 msgid "E-mail" msgstr "電郵" -#: admin/forms/account.py:227 +#: admin/forms/account.py:228 msgid "Create an alias using the old address" msgstr "用舊的位址來建立別名" -#: admin/forms/account.py:232 admin/templates/admin/account_detail.html:45 +#: admin/forms/account.py:233 admin/templates/admin/account_detail.html:45 #: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "配額" -#: admin/forms/account.py:234 +#: admin/forms/account.py:235 msgid "" "Quota in MB for this mailbox. Define a custom value or use domain's default " "one. Leave empty to define an unlimited value (not allowed for domain " "administrators)." -msgstr "這個信箱有多少 MB 的配額。定義一個自訂的值或使用網域的預設值。保持空白是定義為無限制 (不允許網域管理者)。" +msgstr "" +"這個信箱有多少 MB 的配額。定義一個自訂的值或使用網域的預設值。保持空白是定義" +"為無限制 (不允許網域管理者)。" -#: admin/forms/account.py:242 admin/forms/domain.py:39 +#: admin/forms/account.py:243 admin/forms/domain.py:35 #: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "別名(是)" -#: admin/forms/account.py:245 +#: admin/forms/account.py:246 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 "這個信箱的別名(es)。一行只能輸入一個電子郵件,按 Enter 新增新的一行,要建立抓取別名,只要輸入網域名稱 (@domain.tld)。" +msgstr "" +"這個信箱的別名(es)。一行只能輸入一個電子郵件,按 Enter 新增新的一行,要建立抓" +"取別名,只要輸入網域名稱 (@domain.tld)。" -#: admin/forms/account.py:251 +#: admin/forms/account.py:252 msgid "Sender addresses" msgstr "傳送地址" -#: admin/forms/account.py:254 +#: admin/forms/account.py:255 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "新增這個帳號的寄件地址(es)。此使用者將會允許使用這個位址寄送郵件,即使這個不在本機。一行輸入一個位址。按 Enter 新增新的一行。" +msgstr "" +"新增這個帳號的寄件地址(es)。此使用者將會允許使用這個位址寄送郵件,即使這個不" +"在本機。一行輸入一個位址。按 Enter 新增新的一行。" -#: admin/forms/account.py:309 admin/forms/alias.py:94 -#: admin/models/mailbox.py:315 +#: admin/forms/account.py:310 admin/forms/alias.py:92 +#: admin/models/mailbox.py:316 msgid "Domain does not exist" msgstr "網域不存在" -#: admin/forms/account.py:341 +#: admin/forms/account.py:342 msgid "Local domain does not exist" msgstr "本地網域不存在" -#: admin/forms/account.py:345 admin/forms/account.py:353 -#: admin/forms/alias.py:97 +#: admin/forms/account.py:346 admin/forms/account.py:354 +#: admin/forms/alias.py:95 msgid "You don't have access to this domain" msgstr "您無權訪問此網域" -#: admin/forms/account.py:452 +#: admin/forms/account.py:453 msgid "Domain(s)" msgstr "網域" -#: admin/forms/account.py:454 +#: admin/forms/account.py:455 msgid "Domain(s) that user administrates" msgstr "系統管理者網域(S)" -#: admin/forms/account.py:500 admin/forms/account.py:590 -#: admin/forms/domain.py:344 admin/forms/domain.py:414 +#: admin/forms/account.py:501 admin/forms/account.py:591 +#: admin/forms/domain.py:340 admin/forms/domain.py:410 msgid "General" msgstr "一般" -#: admin/forms/account.py:504 +#: admin/forms/account.py:505 msgid "Profile" msgstr "檔案" -#: admin/forms/account.py:508 admin/forms/account.py:596 +#: admin/forms/account.py:509 admin/forms/account.py:597 msgid "Mail" msgstr "電子郵件" -#: admin/forms/account.py:511 +#: admin/forms/account.py:512 msgid "Permissions" msgstr "權限" -#: admin/forms/account.py:579 +#: admin/forms/account.py:580 msgid "Account updated" msgstr "帳號已更新" -#: admin/forms/account.py:604 +#: admin/forms/account.py:605 msgid "New account" msgstr "新帳號" -#: admin/forms/account.py:614 +#: admin/forms/account.py:615 msgid "Account created" msgstr "帳號已建立" -#: admin/forms/alias.py:26 +#: admin/forms/alias.py:24 msgid "Random address" msgstr "隨機位址" -#: admin/forms/alias.py:29 +#: admin/forms/alias.py:27 msgid "Email address" msgstr "電郵地址" -#: admin/forms/alias.py:31 +#: admin/forms/alias.py:29 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "此別名位址。要建立抓取別名,只要輸入網域名稱 (@domain.tld)。" -#: admin/forms/alias.py:37 admin/templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:35 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "收件人" -#: admin/forms/alias.py:39 +#: admin/forms/alias.py:37 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "這個別名的位址將會指到這。一行只能輸入一個電子郵件,按 Enter 新增新的一行。" +msgstr "" +"這個別名的位址將會指到這。一行只能輸入一個電子郵件,按 Enter 新增新的一行。" -#: admin/forms/alias.py:114 admin/forms/alias.py:116 +#: admin/forms/alias.py:112 admin/forms/alias.py:114 msgid "This field is required" msgstr "這個欄位是必填的" -#: admin/forms/alias.py:120 +#: admin/forms/alias.py:118 msgid "No recipient defined" msgstr "沒有定義收件人" -#: admin/forms/domain.py:36 +#: admin/forms/domain.py:32 #: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "類型" -#: admin/forms/domain.py:42 +#: admin/forms/domain.py:38 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." msgstr "這個網域的別名(es)。一行只能輸入一個電子郵件,按 Enter 新增新的一行。" -#: admin/forms/domain.py:47 +#: admin/forms/domain.py:43 msgid "Key selector" msgstr "Key selector" -#: admin/forms/domain.py:85 admin/handlers.py:171 +#: admin/forms/domain.py:81 admin/handlers.py:165 msgid "domain alias" msgstr "網域別名" -#: admin/forms/domain.py:88 admin/forms/domain.py:155 -#: admin/forms/domain.py:163 +#: admin/forms/domain.py:84 admin/forms/domain.py:151 admin/forms/domain.py:159 #, python-format msgid "A %s with this name already exists" msgstr "此 %s 及這個名稱已存在" -#: admin/forms/domain.py:96 admin/serializers.py:45 +#: admin/forms/domain.py:92 admin/serializers.py:53 msgid "No authorized MX record found for this domain" msgstr "沒有找到這個網域已驗證過的 MX 紀錄" -#: admin/forms/domain.py:108 +#: admin/forms/domain.py:104 msgid "DKIM keys storage directory not configured" msgstr "未設置 DKIM 金鑰儲存目錄" -#: admin/forms/domain.py:129 admin/serializers.py:55 +#: admin/forms/domain.py:125 admin/serializers.py:63 msgid "Cannot be greater than domain quota" msgstr "不可以超過網域配額" -#: admin/forms/domain.py:134 +#: admin/forms/domain.py:130 msgid "You can't define an unlimited quota." msgstr "您不可以定義無限制配額。" -#: admin/forms/domain.py:155 admin/forms/domain.py:160 +#: admin/forms/domain.py:151 admin/forms/domain.py:156 msgid "domain" msgstr "網域" -#: admin/forms/domain.py:209 +#: admin/forms/domain.py:205 msgid "Create a domain administrator" msgstr "建立網域管理者" -#: admin/forms/domain.py:212 +#: admin/forms/domain.py:208 msgid "Automatically create an administrator for this domain" msgstr "自動建立這個網域的管理者" -#: admin/forms/domain.py:217 admin/templates/admin/domain_detail.html:120 +#: admin/forms/domain.py:213 admin/templates/admin/domain_detail.html:121 #: admin/templates/admin/domain_headers.html:3 #: admin/templates/admin/identity_headers.html:2 #: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "名稱" -#: admin/forms/domain.py:220 +#: admin/forms/domain.py:216 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "管理者的名稱。不可以包括這裡的網域名稱,這將會自動附加。" -#: admin/forms/domain.py:230 +#: admin/forms/domain.py:226 msgid "Generate a random password for the administrator." msgstr "產生隨機密碼給管理員。" -#: admin/forms/domain.py:236 +#: admin/forms/domain.py:232 msgid "With a mailbox" msgstr "有附信箱" -#: admin/forms/domain.py:239 +#: admin/forms/domain.py:235 msgid "Create a mailbox for the administrator." msgstr "建立信箱給管理員" -#: admin/forms/domain.py:245 +#: admin/forms/domain.py:241 msgid "Create aliases" msgstr "建立別名" -#: admin/forms/domain.py:248 +#: admin/forms/domain.py:244 msgid "Automatically create standard aliases for this domain" msgstr "自動建立這個網域的標準別名" -#: admin/forms/domain.py:264 +#: admin/forms/domain.py:260 msgid "Invalid format" msgstr "無效格式" -#: admin/forms/domain.py:293 +#: admin/forms/domain.py:289 #, python-format msgid "User '%s' already exists" msgstr "使用者 '%s' 已存在" -#: admin/forms/domain.py:404 +#: admin/forms/domain.py:400 msgid "Domain modified" msgstr "網域已修改" -#: admin/forms/domain.py:425 +#: admin/forms/domain.py:421 msgid "Options" msgstr "選項" -#: admin/forms/domain.py:433 +#: admin/forms/domain.py:429 msgid "New domain" msgstr "新網域" -#: admin/forms/domain.py:446 +#: admin/forms/domain.py:442 msgid "Domain created" msgstr "網域已建立" -#: admin/forms/export.py:9 +#: admin/forms/export.py:11 msgid "File name" msgstr "檔案名稱" -#: admin/forms/export.py:15 admin/forms/import_.py:15 +#: admin/forms/export.py:17 admin/forms/import_.py:17 msgid "Separator" msgstr "分開" -#: admin/forms/forward.py:14 +#: admin/forms/forward.py:16 msgid "Recipient(s)" msgstr "收件人" -#: admin/forms/forward.py:18 +#: admin/forms/forward.py:20 msgid "Indicate one or more recipients separated by a ','" msgstr "指定一個或多個收件人並用 ',' 來分開" -#: admin/forms/forward.py:21 +#: admin/forms/forward.py:23 msgid "Keep local copies" msgstr "本機儲存" -#: admin/forms/forward.py:24 +#: admin/forms/forward.py:26 msgid "Forward messages and store copies into your local mailbox" msgstr "轉寄郵件及儲存一份到您的本機信箱" -#: admin/forms/import_.py:13 +#: admin/forms/import_.py:15 msgid "Select a file" msgstr "選擇檔案" -#: admin/forms/import_.py:21 +#: admin/forms/import_.py:23 msgid "Continue on error" msgstr "錯誤時仍繼續" -#: admin/forms/import_.py:22 +#: admin/forms/import_.py:24 msgid "Don't treat duplicated objects as error" msgstr "錯誤時不用處理重複的物件" -#: admin/forms/import_.py:40 +#: admin/forms/import_.py:42 msgid "Crypt passwords" msgstr "加密密碼" -#: admin/forms/import_.py:42 +#: admin/forms/import_.py:44 msgid "Check this option if passwords contained in your file are not crypted" msgstr "假如密碼包含在您的檔案且未加密時請勾選這個選項" -#: admin/handlers.py:218 +#: admin/handlers.py:214 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "帳號匯入失敗 (%s): 網域不存在" -#: admin/handlers.py:231 admin/models/mailbox.py:342 +#: admin/handlers.py:227 admin/models/mailbox.py:344 msgid "Mailbox {} already exists" msgstr "信箱 {} 已存在" -#: admin/handlers.py:239 +#: admin/handlers.py:235 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "帳號匯入失敗 (%s): 錯誤配額" -#: admin/handlers.py:279 +#: admin/handlers.py:275 #: admin/templates/admin/_global_statistics_widget.html:17 #: admin/templates/admin/_per_domain_statistics_widget.html:8 #: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "使用者" -#: admin/handlers.py:295 admin/templates/admin/forward.html:2 +#: admin/handlers.py:291 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "轉發" -#: admin/lib.py:44 +#: admin/lib.py:42 msgid "A mailbox is required" msgstr "信箱是必要的" -#: admin/lib.py:134 +#: admin/lib.py:132 msgid "You are not allowed to import domains" msgstr "您未允許匯入網域" -#: admin/lib.py:145 +#: admin/lib.py:143 msgid "You are not allowed to import domain aliases." msgstr "您未允許匯入網域別名。" -#: admin/lib.py:183 admin/tests/test_mx.py:122 +#: admin/lib.py:181 admin/tests/test_mx.py:125 #, python-format msgid "No DNS records found for %s" msgstr "沒有找到 %s 的 DNS 紀錄" -#: admin/lib.py:185 admin/tests/test_mx.py:125 +#: admin/lib.py:183 admin/tests/test_mx.py:128 #, python-format msgid "No MX record for %s" msgstr "沒有 %s 的 MX 紀錄" -#: admin/lib.py:187 admin/tests/test_mx.py:126 +#: admin/lib.py:185 admin/tests/test_mx.py:129 msgid "No working name servers found" msgstr "沒有找到執行中的名稱伺服器" -#: admin/lib.py:190 admin/tests/test_mx.py:128 +#: admin/lib.py:188 admin/tests/test_mx.py:131 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "DNS 解析逾時,無法查詢 %s 在這個時間點" -#: admin/lib.py:201 admin/tests/test_mx.py:131 +#: admin/lib.py:199 admin/tests/test_mx.py:134 #, python-format msgid "Unable to lookup ip addresses for %(domain)s; %(error)s" msgstr "無法查詢此 IP 位址 %(domain)s; %(error)s" -#: admin/lib.py:212 admin/tests/test_mx.py:134 +#: admin/lib.py:210 admin/tests/test_mx.py:137 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "無效的 IP 位址格式 %(domain)s; %(addr)s" -#: admin/management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_import.py:102 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:114 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_import.py:126 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "" + +#: admin/management/commands/subcommands/_mx.py:135 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] 此網域的 DNSBL 問題(s) {}" -#: admin/management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:155 msgid "Domain {} has no MX record" msgstr "網域 {} 沒有 MX 紀錄" -#: admin/management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:166 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "此網域的 MX 紀錄 {0} 是無效的: {1}" -#: admin/management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:183 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] 此網域的 MX 問題(s) {}" -#: admin/models/alias.py:35 admin/models/mailbox.py:97 +#: admin/models/alias.py:36 admin/models/mailbox.py:98 msgid "address" msgstr "地址" -#: admin/models/alias.py:37 +#: admin/models/alias.py:38 msgid "The alias address." msgstr "別名位址。" -#: admin/models/alias.py:42 admin/models/domain.py:48 -#: admin/models/domain_alias.py:47 +#: admin/models/alias.py:43 admin/models/domain.py:49 +#: admin/models/domain_alias.py:46 msgid "enabled" msgstr "已啟用" -#: admin/models/alias.py:43 admin/models/domain_alias.py:48 +#: admin/models/alias.py:44 admin/models/domain_alias.py:47 msgid "Check to activate this alias" msgstr "點擊啟用這個別名" -#: admin/models/alias.py:48 admin/templates/admin/alias_detail.html:32 +#: admin/models/alias.py:49 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "描述" -#: admin/models/alias.py:50 admin/templates/admin/alias_detail.html:29 +#: admin/models/alias.py:51 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "過期在" -#: admin/models/alias.py:93 +#: admin/models/alias.py:94 msgid "alias" msgstr "別名" -#: admin/models/alias.py:125 +#: admin/models/alias.py:126 msgid "Invalid address" msgstr "無效位址" -#: admin/models/alias.py:146 +#: admin/models/alias.py:147 msgid "Local recipient {}@{} not found" msgstr "本機收件人 {}@{} 未找到" -#: admin/models/alias.py:176 +#: admin/models/alias.py:177 #, python-format msgid "Invalid line: %s" msgstr "無效行: %s" -#: admin/models/alias.py:182 +#: admin/models/alias.py:183 #, python-format msgid "Domain '%s' does not exist" msgstr "網域 '%s' 不存在" -#: admin/models/domain.py:30 admin/models/domain_alias.py:39 +#: admin/models/domain.py:31 admin/models/domain_alias.py:38 msgid "name" msgstr "名稱" -#: admin/models/domain.py:31 +#: admin/models/domain.py:32 msgid "The domain name" msgstr "網域名稱" -#: admin/models/domain.py:35 +#: admin/models/domain.py:36 msgid "Quota in MB shared between mailboxes. A value of 0 means no quota." msgstr "信箱之間共用幾 MB 的配額。值為0表示沒配額。" -#: admin/models/domain.py:43 +#: admin/models/domain.py:44 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "預設套用在信箱幾 MB 的配額。值為0表示沒配額。" -#: admin/models/domain.py:49 +#: admin/models/domain.py:50 msgid "Check to activate this domain" msgstr "點擊啟用這個網域" -#: admin/models/domain.py:54 +#: admin/models/domain.py:55 msgid "Enable DNS checks" msgstr "啟用 DNS 檢查" -#: admin/models/domain.py:55 +#: admin/models/domain.py:56 msgid "Check to enable DNS checks for this domain" msgstr "點擊啟用這個網域的 DNS 檢查" -#: admin/models/domain.py:62 +#: admin/models/domain.py:63 msgid "Enable DKIM signing" msgstr "啟用 DKIM 簽署" -#: admin/models/domain.py:64 +#: admin/models/domain.py:65 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "假如您啟用這個功能,DKIM 金鑰將會產生給這個網域。" -#: admin/models/domain.py:70 +#: admin/models/domain.py:71 msgid "Key length" msgstr "金鑰長度" -#: admin/models/domain.py:285 admin/models/domain_alias.py:74 +#: admin/models/domain.py:299 admin/models/domain_alias.py:74 msgid "Invalid line" msgstr "無效的行" -#: admin/models/domain.py:295 +#: admin/models/domain.py:309 msgid "No authorized MX record found for domain {}" msgstr "沒有找到這個網域已驗證過的 MX 紀錄 {}" -#: admin/models/domain.py:302 +#: admin/models/domain.py:316 msgid "Invalid quota value for domain '{}'" msgstr "此網域有無效的配額值 '{}'" -#: admin/models/domain.py:309 +#: admin/models/domain.py:323 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "此網域有無效的預設信箱配額值 '{}'" -#: admin/models/domain.py:314 +#: admin/models/domain.py:328 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "預設的信箱配額不可以超過網域配額" -#: admin/models/domain_alias.py:40 +#: admin/models/domain_alias.py:39 msgid "The alias name" msgstr "別名名稱" -#: admin/models/domain_alias.py:42 +#: admin/models/domain_alias.py:41 msgid "target" msgstr "目標" -#: admin/models/domain_alias.py:43 +#: admin/models/domain_alias.py:42 msgid "The domain this alias points to" msgstr "此網域的這個別名指到" @@ -735,57 +759,57 @@ msgstr "此網域的這個別名指到" msgid "Unknown domain %s" msgstr "未知網域 %s" -#: admin/models/mailbox.py:99 +#: admin/models/mailbox.py:100 msgid "Mailbox address (without the @domain.tld part)" msgstr "信箱位址 (不要有 @domain.tld 這個部份)" -#: admin/models/mailbox.py:165 +#: admin/models/mailbox.py:166 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "無法收回信箱位置 (%s)" -#: admin/models/mailbox.py:258 +#: admin/models/mailbox.py:259 msgid "A quota is required" msgstr "配額是必要的" -#: admin/models/mailbox.py:264 +#: admin/models/mailbox.py:265 msgid "Domain quota exceeded" msgstr "網域配額已超過" -#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360 +#: admin/serializers.py:88 admin/serializers.py:288 admin/serializers.py:386 msgid "Permission denied." msgstr "權限不足" -#: admin/serializers.py:118 +#: admin/serializers.py:134 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "管理員網域列表 (只有經銷商和網域管理員)。" -#: admin/serializers.py:218 +#: admin/serializers.py:238 msgid "Not allowed for this role." msgstr "不允許這個身份" -#: admin/serializers.py:228 +#: admin/serializers.py:250 msgid "Must be equal to mailbox full_address" msgstr "必須跟信箱完整位址一樣" -#: admin/serializers.py:253 +#: admin/serializers.py:275 msgid "Local domain {} does not exist" msgstr "本機網域 {} 不存在" -#: admin/serializers.py:347 +#: admin/serializers.py:373 msgid "A list of recipient" msgstr "收件人列表" -#: admin/serializers.py:358 +#: admin/serializers.py:384 msgid "Domain not found." msgstr "網域不存在。" -#: admin/serializers.py:407 +#: admin/serializers.py:433 msgid "You don't have access to this domain." msgstr "您不能存取這個網域。" -#: admin/serializers.py:415 +#: admin/serializers.py:441 msgid "You don't have access to this mailbox." msgstr "您不能存取這個信箱。" @@ -990,20 +1014,24 @@ msgstr "DKIM 金鑰" msgid "Show key" msgstr "顯示金鑰" -#: admin/templates/admin/domain_detail.html:110 +#: admin/templates/admin/domain_detail.html:109 +msgid "Generate new key" +msgstr "" + +#: admin/templates/admin/domain_detail.html:111 msgid "Not generated" msgstr "沒有產生" -#: admin/templates/admin/domain_detail.html:117 +#: admin/templates/admin/domain_detail.html:118 msgid "Administrators" msgstr "管理員" -#: admin/templates/admin/domain_detail.html:129 -#: admin/templatetags/admin_tags.py:268 +#: admin/templates/admin/domain_detail.html:130 +#: admin/templatetags/admin_tags.py:269 msgid "Remove this permission" msgstr "移除這個權限" -#: admin/templates/admin/domain_detail.html:134 +#: admin/templates/admin/domain_detail.html:135 msgid "No domain administrator defined yet." msgstr "沒有定義網域管理員。" @@ -1057,7 +1085,7 @@ msgstr "已停用" msgid "Automatically forward emails to another address" msgstr "自動轉寄郵件到其他位址" -#: admin/templates/admin/forward.html:9 admin/views/alias.py:93 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:91 msgid "Update" msgstr "更新" @@ -1082,17 +1110,26 @@ msgid "" "verify recipients

The first element of each line is " "mandatory and must be equal to one of the previous values.

You can " "use a different character as separator.

" -msgstr "提供 CSV 檔並且每行使用以下格式:
  • 網域; 名稱; 配額; 預設信箱配額; 已啟用
  • 網域別名; 名稱; 目標網域; 已啟用
  • 轉送網域; 名稱; 目標主機; 目標連接埠; 服務; 已啟用; 驗證收件人

每一行的第一個元件都是強制性的且必須跟之前值是一樣的。

您可以使用不同的字元來分開。

" +msgstr "" +"提供 CSV 檔並且每行使用以下格式:
  • 網域; 名稱; 配額; 預設信箱配" +"額; 已啟用
  • 網域別名; 名稱; 目標網域; 已啟用
  • " +"
  • 轉送網域; 名稱; 目標主機; 目標連接埠; 服務; 已啟用; 驗證收件人

每一行的第一個元件都是強制性的且必須跟之前值是一樣的。

您" +"可以使用不同的字元來分開。

" #: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
    " -"
  • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
  • alias; address; enabled; " +"
  • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
  • alias; address; enabled; " "recipient; recipient; ...

The first element of each line " -"is mandatory and must be equal to one of the previous values.

You can" -" use a different character as separator.

" -msgstr "提供 CSV 檔並且每行使用以下格式:
  • 帳號; 登入名稱; 密碼; 名; 姓; 已啟用; 群組; 位址; 配額; [, 網域, ...]
  • 別名; 位址; 已啟用; 收件人; 收件人; ...

每一行的第一個元件都是強制性的且必須跟之前值是一樣的。

您可以使用不同的字元來分開。

" +"is mandatory and must be equal to one of the previous values.

You can " +"use a different character as separator.

" +msgstr "" +"提供 CSV 檔並且每行使用以下格式:
  • 帳號; 登入名稱; 密碼; 名; 姓; " +"已啟用; 群組; 位址; 配額; [, 網域, ...]
  • 別名; 位址; 已啟" +"用; 收件人; 收件人; ...

每一行的第一個元件都是強制性的且必" +"須跟之前值是一樣的。

您可以使用不同的字元來分開。

" #: admin/templates/admin/importform.html:6 msgid "Help" @@ -1138,7 +1175,9 @@ msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "此網域的信用將有機會影響從這裡寄出的郵件被當作垃圾郵件。您應該聯絡提供者並要求他們取消 IP 位址(es) 的偵測列表。" +msgstr "" +"此網域的信用將有機會影響從這裡寄出的郵件被當作垃圾郵件。您應該聯絡提供者並要" +"求他們取消 IP 位址(es) 的偵測列表。" #: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format @@ -1149,72 +1188,72 @@ msgstr "Modoboa 已偵測到網域 %(domain)s 沒有正確的 MX 紀錄:" msgid "Search" msgstr "搜尋" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_m" msgstr "enabled_m" -#: admin/templatetags/admin_tags.py:22 +#: admin/templatetags/admin_tags.py:23 msgid "enabled_f" msgstr "enabled_f" -#: admin/templatetags/admin_tags.py:48 +#: admin/templatetags/admin_tags.py:49 msgid "List domains" msgstr "網域清單" -#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:108 +#: admin/templatetags/admin_tags.py:54 admin/templatetags/admin_tags.py:109 msgid "List quotas" msgstr "配額清單" -#: admin/templatetags/admin_tags.py:65 admin/templatetags/admin_tags.py:113 -#: admin/views/import_.py:89 admin/views/import_.py:111 +#: admin/templatetags/admin_tags.py:66 admin/templatetags/admin_tags.py:114 +#: admin/views/import_.py:94 admin/views/import_.py:116 msgid "Import" msgstr "匯入" -#: admin/templatetags/admin_tags.py:71 admin/templatetags/admin_tags.py:119 -#: admin/views/export.py:43 admin/views/export.py:71 +#: admin/templatetags/admin_tags.py:72 admin/templatetags/admin_tags.py:120 +#: admin/views/export.py:48 admin/views/export.py:76 msgid "Export" msgstr "匯出" -#: admin/templatetags/admin_tags.py:103 +#: admin/templatetags/admin_tags.py:104 msgid "List identities" msgstr "使用者清單" -#: admin/templatetags/admin_tags.py:138 +#: admin/templatetags/admin_tags.py:139 msgid "View the domain's identities" msgstr "查看網域使用者" -#: admin/templatetags/admin_tags.py:144 admin/templatetags/admin_tags.py:187 -#: admin/templatetags/admin_tags.py:200 +#: admin/templatetags/admin_tags.py:145 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:201 msgid "Edit {}" msgstr "編輯 {}" -#: admin/templatetags/admin_tags.py:154 admin/templatetags/admin_tags.py:191 -#: admin/templatetags/admin_tags.py:205 +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:192 +#: admin/templatetags/admin_tags.py:206 #, python-format msgid "Delete %s?" msgstr "刪除 %s?" -#: admin/views/alias.py:35 +#: admin/views/alias.py:33 msgid "Alias with this name already exists" msgstr "這個名稱的別名已存在" -#: admin/views/alias.py:60 +#: admin/views/alias.py:58 msgid "Create" msgstr "建立" -#: admin/views/alias.py:72 +#: admin/views/alias.py:70 msgid "New alias" msgstr "新的別名" -#: admin/views/alias.py:73 +#: admin/views/alias.py:71 msgid "Alias created" msgstr "別名已建立" -#: admin/views/alias.py:85 +#: admin/views/alias.py:83 msgid "Alias modified" msgstr "別名已修改" -#: admin/views/alias.py:109 +#: admin/views/alias.py:107 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "別名已刪除" @@ -1227,48 +1266,48 @@ msgstr "MX 紀錄 {}" msgid "DNSBL summary for {}" msgstr "DNSBL 摘要 {}" -#: admin/views/domain.py:188 +#: admin/views/domain.py:199 msgid "You can't delete your own domain" msgstr "您不可以刪除您擁有的網域" -#: admin/views/domain.py:191 +#: admin/views/domain.py:202 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "網域移除" -#: admin/views/export.py:42 +#: admin/views/export.py:47 msgid "Export identities" msgstr "匯出使用者" -#: admin/views/export.py:70 +#: admin/views/export.py:75 msgid "Export domains" msgstr "匯出網域" -#: admin/views/identity.py:113 admin/views/identity.py:206 -#: admin/views/identity.py:211 +#: admin/views/identity.py:111 admin/views/identity.py:205 +#: admin/views/identity.py:210 msgid "Invalid request" msgstr "無效請求" -#: admin/views/identity.py:196 +#: admin/views/identity.py:195 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "帳號已刪除" -#: admin/views/import_.py:65 +#: admin/views/import_.py:70 #, python-format msgid "Object already exists: %s" msgstr "元件已存在: %s" -#: admin/views/import_.py:69 +#: admin/views/import_.py:74 #, python-format msgid "%d objects imported successfully" msgstr "%d 元件已匯入成功" -#: admin/views/import_.py:88 +#: admin/views/import_.py:93 msgid "Import domains" msgstr "匯入網域" -#: admin/views/import_.py:110 +#: admin/views/import_.py:115 msgid "Import identities" msgstr "匯入使用者" diff --git a/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po index 56a3f7f93..6b108b637 100644 --- a/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2015-01-06 10:05+0000\n" "Last-Translator: Miroslav Abrahám \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/" @@ -19,26 +19,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Výchozí omezení" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Správci domén" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -47,11 +47,11 @@ msgid "" "to deny any creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet správců domény (nastavení nového správce)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domény" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -59,12 +59,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet domén (nastavení nového správce)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Doménové aliasy" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -72,12 +72,12 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet doménových aliasů (nastavení nového správce)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Schránky" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -85,12 +85,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet schránek (nastavení nového správce)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Aliasy schránek" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -98,31 +98,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet aliasů (nastavení nového správce)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Výchozí omezení" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -131,7 +131,7 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet správců domény (nastavení nového správce)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -139,7 +139,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet doménových aliasů (nastavení nového správce)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -147,7 +147,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet schránek (nastavení nového správce)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -155,39 +155,39 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Maximální povolený počet aliasů (nastavení nového správce)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Omezení" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Maximální povolený počet domén, které může tento uživatel vytvořit" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "" "Maximální povolený počet doménových aliasů, které může tento uživatel " "vytvořit" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Maximální povolený počet schránek, které může tento uživatel vytvořit" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Maximální povolený počet správců domény, které může tento uživatel vytvořit" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." @@ -195,48 +195,48 @@ msgstr "" "Maximální povolený počet doménových aliasů, které může tento uživatel " "vytvořit" -#: limits/constants.py:49 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Maximální povolený počet schránek, které může tento uživatel vytvořit" -#: limits/constants.py:53 +#: limits/constants.py:54 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit" -#: limits/constants.py:58 +#: limits/constants.py:59 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Maximální povolený počet správců domény, které může tento uživatel vytvořit" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Neplatné omezení" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Zdroje" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: limit byl dosažen" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Nedostatek zdrojů" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Nemáte oprávnění nastavovat neomezené hodnoty" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "neomezeno" diff --git a/modoboa/limits/locale/de/LC_MESSAGES/django.po b/modoboa/limits/locale/de/LC_MESSAGES/django.po index cc8ec02e8..175a353da 100644 --- a/modoboa/limits/locale/de/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/de/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2014-12-03 11:02+0000\n" "Last-Translator: Arvedui \n" "Language-Team: German (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,26 +20,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Standard-Grenzwerte" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Domain-Administratoren" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -50,11 +50,11 @@ msgstr "" "Maximale Anzahl der Domain-Administratoren, die ein neuer Administrator " "erstellen darf" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domains" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -62,12 +62,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Domains, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Domain-Aliase" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -76,12 +76,12 @@ msgid "" msgstr "" "Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Mailboxen" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -89,12 +89,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Mailboxen, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Mailboxen-Aliase" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -102,31 +102,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Aliase, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Standard-Grenzwerte" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -137,7 +137,7 @@ msgstr "" "Maximale Anzahl der Domain-Administratoren, die ein neuer Administrator " "erstellen darf" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -146,7 +146,7 @@ msgid "" msgstr "" "Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -154,7 +154,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Mailboxen, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -162,82 +162,82 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Maximale Anzahl Aliase, die ein neuer Administrator erstellen darf" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Grenzwerte" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Maximale Anzahl Domains, die dieser Benutzer erstellen darf" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:49 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf" -#: limits/constants.py:53 +#: limits/constants.py:54 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:58 +#: limits/constants.py:59 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Ungültiger Grenzwert" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Ressourcen" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: Grenze erreicht" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Nicht ausreichend Ressourcen" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "" "Sie verfügen nicht über die erforderlichen Rechte, um unbegrenzte Werte " "anzugeben" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "unbegrenzt" diff --git a/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po b/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po index 9ae0da753..13b5a2dce 100644 --- a/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-10-11 19:02+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,24 +20,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "Προεπιλεγμένα όρια ανά διαχειριστή" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "Ενεργοποίηση ορίων ανά διαχειριστή" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "Ενεργοποίηση ή απενεργοποίηση ορίων ανά διαχειριστή" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Διαχειριστές domain" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -45,11 +45,11 @@ msgstr "" "Μέγιστος αριθμός επιτρεπτών διαχειριστών domain ενός νέου διαχειριστή. (0 " "για καμία δημιουργία, -1 για απεριόριστες δημιουργίες)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domains" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -57,12 +57,12 @@ msgstr "" "Μέγιστος αριθμός επιτρεπτών domain ενός νέου διαχειριστή. (0 για καμία " "δημιουργία, -1 για απεριόριστες δημιουργίες)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Ψευδώνυμα Domain" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -70,12 +70,12 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για domain, για νέους " "διαχειριστές. (Το 0 δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) " -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Γραμματοκιβώτια" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -83,12 +83,12 @@ msgstr "" "Μέγιστος αριθμός επιτρεπτών γραμματοκιβωτίων ενός νέου διαχειριστή. (0 για " "καμία δημιουργία, -1 για απεριόριστες δημιουργίες)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Ψευδώνυμο γραμματοκιβώτιου" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -96,11 +96,11 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για νέους διαχειριστές. (Το 0 " "δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) " -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "Quota" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" @@ -108,19 +108,19 @@ msgstr "" "To quota που ένας μεταπωλητής επιτρέπεται να μοιράζει μεταξύ των domains που " "δημιουργεί. (0 σημαίνει χωρίς quota)" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "Προκαθορισμένα ανά domain όρια" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "Ενεργοποίηση ορίων ανά domain" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "Ενεργοποίηση ή απενεργοποίηση ορίων ανά domain" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -128,7 +128,7 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενους διαχειριστές domain για ένα νέο domain. " "(0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -136,7 +136,7 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα domain για ένα νέο domain. (0 " "απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -144,7 +144,7 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα γραμματοκιβώτια για ένα νέο domain. (0 " "απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -152,85 +152,85 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για ένα νέο domain. (0 " "απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Όρια" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "" "Ο μέγιστος αριθμός domain που μπορούν να δημιουργηθούν από αυτόν τον χρήστη" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "" "Ο μέγιστος αριθμός από ψευδώνυμα domain που ο συγκεκριμένος χρήστης μπορεί " "να δημιουργήσει" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "" "Ο μέγιστος αριθμός γραμματοκυβωτίων που μπορούν να δημιουργηθούν από αυτόν " "τον χρήστη" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Ο μέγιστος αριθμός από ψευδώνυμα γραμματοκιβώτιον που ο συγκεκριμένος " "χρήστης μπορεί να δημιουργήσει. " -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Ο μέγιστος αριθμός διαχειριστών domain που μπορούν να δημιουργηθούν από " "αυτόν τον χρήστη" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "Διαμοιραζόμενο quota μεταξύ των domains του μεταπωλητή" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "" "Μέγιστος αριθμός από ψευδώνυμα domain που επιτρέπονται για αυτό το domain" -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "" "Μέγιστος αριθμός από γραμματοκιβώτια που επιτρέπονται για αυτό το domain." -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Μέγιστος αριθμός από ψευδώνυμα γραμματοκιβωτίων που επιτρέπονται για αυτό το " "domain. " -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "Μέγιστος αριθμός διαχειριστών domain για αυτό το domain" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Λάθος όριο" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Πόροι" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: χρήση ορίου" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Δεν υπάρχουν διαθέσιμοι πόροι" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Δεν έχετε δικαίωμα καταχώρισης απεριόριστων τιμών" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "χωρίς περιορισμούς" diff --git a/modoboa/limits/locale/en/LC_MESSAGES/django.po b/modoboa/limits/locale/en/LC_MESSAGES/django.po index 7291f4e78..b7fd1e123 100644 --- a/modoboa/limits/locale/en/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,184 +17,184 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" msgstr "" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "" -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "" -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "" diff --git a/modoboa/limits/locale/es/LC_MESSAGES/django.po b/modoboa/limits/locale/es/LC_MESSAGES/django.po index 6785a84db..b5e004584 100644 --- a/modoboa/limits/locale/es/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/es/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2013-10-01 09:56+0000\n" "Last-Translator: Pedro Gracia \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,26 +20,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Límites por defecto" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Administradores del dominio" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -50,11 +50,11 @@ msgstr "" "Número máximo de dominios permitido de administradores para un nuevo " "administrador" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Dominios" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -62,12 +62,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de dominios permitidos para un nuevo administrador" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Alias del dominio" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -76,12 +76,12 @@ msgid "" msgstr "" "Número máximo permitido de alias de dominio para un nuevo administrador" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Mailboxes" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -89,12 +89,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de mailboxes permitidas para un nuevo administrador" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Alias del mailbox" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -102,31 +102,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máxido de alias permitidos para un nuevo administrador" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Límites por defecto" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -137,7 +137,7 @@ msgstr "" "Número máximo de dominios permitido de administradores para un nuevo " "administrador" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -146,7 +146,7 @@ msgid "" msgstr "" "Número máximo permitido de alias de dominio para un nuevo administrador" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -154,7 +154,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de mailboxes permitidas para un nuevo administrador" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -162,82 +162,82 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Número máxido de alias permitidos para un nuevo administrador" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Límites" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Número máxima de dominios que este usuario puede crear" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Número máximo de alias de dominio que este usuario puede crear" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Número máximo de mailboxes que este usuario puede crear" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "Número máximo de alias a mailboxes que este usuario puede crear" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Número máximo de administradores de dominio que este usuario puede crear" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Número máximo de alias de dominio que este usuario puede crear" -#: limits/constants.py:49 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Número máximo de mailboxes que este usuario puede crear" -#: limits/constants.py:53 +#: limits/constants.py:54 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Número máximo de alias a mailboxes que este usuario puede crear" -#: limits/constants.py:58 +#: limits/constants.py:59 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Número máximo de administradores de dominio que este usuario puede crear" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Límite inválido" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Recursos" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: límete alcanzado" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "No hay suficientes recursos" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "No está autorizado definir valores ilimitados" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "ilimitado" diff --git a/modoboa/limits/locale/fr/LC_MESSAGES/django.po b/modoboa/limits/locale/fr/LC_MESSAGES/django.po index 38ffd663e..2725045f9 100644 --- a/modoboa/limits/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-03-03 08:05+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -18,24 +18,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "Limites administrateur par défaut" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "Activer les limites par administrateur" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "Activer ou désactiver les limites par administrateur" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Admins de domaine" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -43,11 +43,11 @@ msgstr "" "Nombre maximal d'admins de domaine pour un nouvel administrateur. (0 pour " "interdire toute création, -1 pour autoriser les création illimitées)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domaines" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -55,12 +55,12 @@ msgstr "" "Nombre maximal de domaines pour un nouvel administrateur. (0 pour interdire " "toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Alias de domaine" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -68,12 +68,12 @@ msgstr "" "Nombre maximal d'alias de domaine pour un nouvel administrateur. (0 pour " "interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Boites" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -81,12 +81,12 @@ msgstr "" "Nombre maximal de boites pour un nouvel administrateur. (0 pour interdire " "toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Alias de boite." -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -94,11 +94,11 @@ msgstr "" "Nombre maximal d'alias de boite pour un nouvel administrateur. (0 pour " "interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "Quota" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" @@ -106,19 +106,19 @@ msgstr "" "Le quota qu'un revendeur sera autorisé à partager entre les domaines qu'il " "créé. (0 signifie pas de quota)" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "Limites domaine par défaut" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "Activer les limites par domaine" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "Activer ou désactiver les limites par domaine" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -127,7 +127,7 @@ msgstr "" "domaine (0 pour interdire toute création, -1 pour autoriser les créations " "illimitées)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -135,7 +135,7 @@ msgstr "" "Nombre maximal d'alias de domaine autorisés pour un nouveau domaine. (0 pour " "interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -143,7 +143,7 @@ msgstr "" "Nombre maximal de boites aux lettres autorisées pour un nouveau domaine. (0 " "pour interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -151,72 +151,72 @@ msgstr "" "Nombre maximal d'alias autorisés pour un nouveau domaine. (0 pour interdire " "toute création, -1 pour autoriser les créations illimitées)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Limites" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Nombre maximal de domaines que cet utilisateur peut créer" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Nombre maximal d'alias de domain que cet utilisateur peut créer" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Nombre maximal de boites que cet utilisateur peut créer" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "Nombre maximal d'alias de boite que cet utilisateur peut créer" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "Nombre maximal d'admins de domaine que cet utilisateur peut créer" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "Quota partagé entre les domaines de ce revendeur" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Nombre maximal d'alias de domaine autorisés pour ce domaine." -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Nombre maximal de boites aux lettres autorisées pour ce domaine." -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Nombre maximal d'alias autorisés pour ce domaine." -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "Nombre maximal d'administrateurs de domaine autorisés pour ce domaine." -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Limite invalide" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Ressources" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s : limite atteinte" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Pas assez de ressources" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Vous n'êtes pas autorisé à définir des valeurs illimitées" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "illimité" diff --git a/modoboa/limits/locale/it/LC_MESSAGES/django.po b/modoboa/limits/locale/it/LC_MESSAGES/django.po index 2644ef594..b2a3b748a 100644 --- a/modoboa/limits/locale/it/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/it/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2013-12-23 00:56+0100\n" "Last-Translator: Alberto Berti \n" "Language-Team: ITALIANO \n" @@ -17,26 +17,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Limiti predefiniti" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Amministratori di domini" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -47,11 +47,11 @@ msgstr "" "Numero massimo di amministratori di domini consentiti per un nuovo " "amministratore" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domini" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -59,12 +59,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Numero massimo di domini consentiti per un nuovo amministratore" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Alias del dominio" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -73,12 +73,12 @@ msgid "" msgstr "" "Numero massimo di alias di dominio consentiti per un nuovo amministratore" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Caselle di posta" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -87,12 +87,12 @@ msgid "" msgstr "" "Numero massimo di caselle di posta consentite per un nuovo amministratore" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Alias delle caselle di posta" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -100,31 +100,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Numero massimo di alias consentiti per un nuovo amministratore" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Limiti predefiniti" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -135,7 +135,7 @@ msgstr "" "Numero massimo di amministratori di domini consentiti per un nuovo " "amministratore" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -144,7 +144,7 @@ msgid "" msgstr "" "Numero massimo di alias di dominio consentiti per un nuovo amministratore" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -153,7 +153,7 @@ msgid "" msgstr "" "Numero massimo di caselle di posta consentite per un nuovo amministratore" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -161,84 +161,84 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Numero massimo di alias consentiti per un nuovo amministratore" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Limiti" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Numero massimo di domini che questo utente può creare" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Numero massimo di alias di dominio che questo utente può creare" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Numero massimo di caselle di posta che questo utente può creare" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Numero massimo di alias di caselle di posta che questo utente può creare" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Numero massimo di amministratori di dominio che questo utente può creare" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Numero massimo di alias di dominio che questo utente può creare" -#: limits/constants.py:49 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Numero massimo di caselle di posta che questo utente può creare" -#: limits/constants.py:53 +#: limits/constants.py:54 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Numero massimo di alias di caselle di posta che questo utente può creare" -#: limits/constants.py:58 +#: limits/constants.py:59 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Numero massimo di amministratori di dominio che questo utente può creare" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Limite non valido" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Risorse" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: raggiunto il limite" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Risorse insufficienti" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Non ti è consentito definire valori non limitati" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "senza limiti" diff --git a/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po index bbb398b00..dbd326623 100644 --- a/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2016-06-07 07:16+0000\n" "Last-Translator: cwatanab \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -19,24 +19,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "デフォルトの管理者あたりの制限" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "管理者あたりの制限を有効にする" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "管理者あたりの制限を有効もしくは無効にする" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "ドメイン管理者" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -44,11 +44,11 @@ msgstr "" "新しい管理者に許可されたドメイン管理者の最大数 (0は作成を拒否、-1は無制限の作" "成を許可)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "ドメイン" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -56,12 +56,12 @@ msgstr "" "新しい管理者に許可されたドメインの最大数 (0は作成を拒否、-1は無制限の作成を許" "可)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "ドメインエイリアス" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -69,12 +69,12 @@ msgstr "" "新しい管理者に許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制限" "の作成を許可)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "メールボックス" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -82,12 +82,12 @@ msgstr "" "新しい管理者に許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の作" "成を許可)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "メールボックスエイリアス" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -95,29 +95,29 @@ msgstr "" "新しい管理者に許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を" "許可)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "デフォルトのドメインあたりの制限" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "ドメインあたりの制限を有効にする" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "ドメインあたりの制限を有効もしくは無効にする" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -125,7 +125,7 @@ msgstr "" "新しいドメインに許可されたドメイン管理者の最大数 (0は作成を拒否、-1は無制限の" "作成を許可)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -133,7 +133,7 @@ msgstr "" "新しいドメインに許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制" "限の作成を許可)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -141,7 +141,7 @@ msgstr "" "新しいドメインに許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の" "作成を許可)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -149,72 +149,72 @@ msgstr "" "新しいドメインに許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成" "を許可)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "制限" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "このユーザーが作成できるドメインの最大数" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "このユーザーが作成できるドメインエイリアスの最大数" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "このユーザーが作成できるメールボックスの最大数" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "このユーザーが作成できるメールボックスエイリアスの最大数" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "このユーザーが作成できるドメイン管理者の最大数" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "このドメインに許可されたドメインエイリアスの最大数" -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "このドメインに許可されたメールボックスの最大数" -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "このドメインに許可されたメールボックスエイリアスの最大数" -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "このドメインに許可されたドメイン管理者の最大数" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "不正な制限" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "リソース" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: 制限に達しました" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "リソースが足りません" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "無制限な値に設定するのは許可されていません" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "無制限" diff --git a/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po index d9ac4206f..bc2930886 100644 --- a/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2014-12-31 11:37+0000\n" "Last-Translator: TuxBrother \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -20,26 +20,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Standaard limieten" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Domein administrators" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -49,11 +49,11 @@ msgid "" msgstr "" "Maximum aantal toegestane domein administrators voor een nieuwe administrator" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domeinen" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -61,12 +61,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal toegestane domeinen voor een nieuwe administrator" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Domein aliassen" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -74,12 +74,12 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Maximum aantal domein aliassen voor een nieuwe administrator" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Mailboxen" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -87,12 +87,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal toegestane mailboxen voor een nieuwe administrator" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Mailbox aliassen" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -100,31 +100,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal aliassen voor een nieuwe administrator" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Standaard per-domein limieten" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -134,7 +134,7 @@ msgid "" msgstr "" "Maximum aantal toegestane domein administrators voor een nieuwe administrator" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -142,7 +142,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal domein aliassen voor een nieuwe administrator" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -150,7 +150,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal toegestane mailboxen voor een nieuwe administrator" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -158,80 +158,80 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Maximum aantal aliassen voor een nieuwe administrator" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Limieten" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Maximum aantal domeinen die deze gebruiker aan kan maken" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Maximum aantal domein-aliassen die deze gebruiker kan aanmaken" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Maximum aantal mailboxen die deze gebruiker kan aanmaken" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maximum mailbox aliassen die deze gebruiker kan aanmken" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "Maximum aantal domein administrators die deze gebruiker aan kan maken" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Maximum aantal domein-aliassen die deze gebruiker kan aanmaken" -#: limits/constants.py:49 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Maximum aantal mailboxen die deze gebruiker kan aanmaken" -#: limits/constants.py:53 +#: limits/constants.py:54 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Maximum mailbox aliassen die deze gebruiker kan aanmken" -#: limits/constants.py:58 +#: limits/constants.py:59 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "Maximum aantal domein administrators die deze gebruiker aan kan maken" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Ongeldige limiet" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Capaciteiten" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: limiet bereikt" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Niet genoeg capaciteit" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "U mag geen ongelimiteerde waardes opgeven" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "ongelimiteerd" diff --git a/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po index 86300c8e1..37e1d6951 100644 --- a/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-12-01 15:11+0000\n" "Last-Translator: Tomasz Proć \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -22,24 +22,24 @@ msgstr "" "%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" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "Domyślne limity per admin" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "Włącz limity per admin" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "Włącz lub wyłącz limity per admin" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Administratorzy domeny" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -47,11 +47,11 @@ msgstr "" "Maksymalna dozwolona liczba administratorów domen dla nowego administratora. " "(0 - tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domeny" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -59,12 +59,12 @@ msgstr "" "Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie " "niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Aliasy domen" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -72,12 +72,12 @@ msgstr "" "Maksymalna dozwolona ilość aliasów domen dla nowego administratora. (0 dla " "tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Skrzynki pocztowe" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -85,12 +85,12 @@ msgstr "" "Maksymalna dozwolona liczba skrzynek dla nowego administratora. (0 - " "tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Aliasy skrzynek pocztowych" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -98,11 +98,11 @@ msgstr "" "Maksymalna dozwolona liczba aliasów dla nowego administratora. (0 - " "tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "Pojemność" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" @@ -110,19 +110,19 @@ msgstr "" "Pojemność jaką reseller może dzielić między domenami które utworzy. (0 " "oznacza brak limitu)" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "Domyślne limity per domena" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "Włącz limity per domena" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "Włącz lub wyłącz limity per domena" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -130,7 +130,7 @@ msgstr "" "Max liczba administratrów nowej domeny. (0 tworzenie niedozwolone, -1 dla " "braku limitu)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -138,7 +138,7 @@ msgstr "" "Max liczba aliasów domen nowej domeny. (0 tworzenie niedozwolone, -1 " "nielimitowana ilość)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -146,7 +146,7 @@ msgstr "" "Max liczba skrzynek dla nowej domeny. (0 tworzenie niedozwolone, -1 " "nielimitowana ilość)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -154,73 +154,73 @@ msgstr "" "Max liczba aliasów dla nowej domeny. (0 tworzenie niedozwolone, -1 " "nielimitowana ilość)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Limity" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Maksymalna liczba domen, które może stworzyć użytkownik" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Maksymalna liczba aliasów domen, które może stworzyć użytkownik" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Maksymalna liczba skrzynek, które może stworzyć użytkownik" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maksymalna liczba aliasów skrzynek, które może stworzyć użytkownik" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Maksymalna liczba kont aministratorów domen, które może stworzyć użytkownik" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "Pojemność współdzielona między domenami tego resellera" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Max liczba aliasów domen dla tej domeny." -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Max liczba skrzynek dla tej domeny." -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Max liczba aliasów dla tej domeny." -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "Max liczba administratorów domeny." -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Nieprawidłowy limit" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Zasoby" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "Osiągnięto limit: %s" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Brak wystarczających zasobów" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Nie jesteś uprawniony do wprowadzenia nielimitowanej wartości" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "nielimitowane" diff --git a/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po index cc0880472..9b1aa2f2f 100644 --- a/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2016-05-17 12:19+0000\n" "Last-Translator: Jose Marcos Araujo \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" @@ -22,24 +22,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "Limite padrão por administrador" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "Habilitar limites por administrador" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "Habilitar ou desabilitar limites por administrador" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Administradores de domínio" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -48,11 +48,11 @@ msgstr "" "administrador. (0 a negar qualquer criação, -1 para permitir criações " "ilimitadas)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domínios" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -60,12 +60,12 @@ msgstr "" "Número máximo de domínios permitidos para um novo administrador. (0 a negar " "qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Alias de domínios" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -73,12 +73,12 @@ msgstr "" "O número máximo de alias de domínio permitidos para um novo administrador. " "(0 a negar qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Caixas de correios" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -86,12 +86,12 @@ msgstr "" "Número máximo de caixas de correio permitido para um novo administrador. (0 " "a negar qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Alias de caixas de correio" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -99,29 +99,29 @@ msgstr "" "Número máximo de alias permitidos para um novo administrador. (0 a negar " "qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "Limite padrão por domínio" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "Habilitar limites por domínio" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "Habilitar ou desabilitar limites por domínio" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -129,7 +129,7 @@ msgstr "" "Número máximo de administradores permitido para um novo domínio (0 para " "negar qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -137,7 +137,7 @@ msgstr "" "Número máximo de apelidos (aliases) permitido para um novo domínio (0 para " "negar qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -145,7 +145,7 @@ msgstr "" "Número máximo de contas permitido para um novo domínio (0 para negar " "qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -153,74 +153,74 @@ msgstr "" "Número máximo de apelidos (aliases) permitido para um novo domínio (0 para " "negar qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Limites" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Número máximo de domínio que esse usuário pode criar" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Número máximo de aliases de domínio que esse usuário pode criar" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Número máximo de caixas de correios que esse usuário pode criar" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Número máximo de aliases de caixas de correio que esse usuário pode criar" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Número máximo de administradores de domínios que esse usuário pode criar" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Quantidade máxima permitida de apelidos (aliases) para este domínio" -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Número " -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Quantidade máxima de apelidos (aliases) permitido para este domínio" -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "Quantidade máxima de administradores permitido para este domínio" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Limite inválido" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Recursos" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: limite alcançado" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Sem recursos suficientes" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Você não tem permissão para definir valores ilimitados" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "ilimitado" diff --git a/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po index 77546fbf8..b6a61dcda 100644 --- a/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/limits/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: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,26 +24,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Limites predefinidos" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Administradores de domínio" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -54,11 +54,11 @@ msgstr "" "Número máximo permitido de administradores de domínio para um novo " "administrador" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domínios" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -66,12 +66,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo permitido de domínios para novo administrador" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Aliases de domínio" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -80,12 +80,12 @@ msgid "" msgstr "" "Número máximo permitido de aliases de domínio para um novo administrador" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Caixas de Correio" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -93,12 +93,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo permitido de caixas de correio para novo administrador" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Aliases para caixas de correio" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -106,31 +106,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de aliases permitidas para um novo administrador" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Limites predefinidos" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -141,7 +141,7 @@ msgstr "" "Número máximo permitido de administradores de domínio para um novo " "administrador" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -150,7 +150,7 @@ msgid "" msgstr "" "Número máximo permitido de aliases de domínio para um novo administrador" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -158,7 +158,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo permitido de caixas de correio para novo administrador" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -166,84 +166,84 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Número máximo de aliases permitidas para um novo administrador" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Limites" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Número máximo de domínios que este utilizador pode criar" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Número máximo de aliases de domínio que este utilizador pode criar" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Número máximo de caixas de correio que este utilizador por criar" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Número máximo de aliases para caixas de correio que este utilizador por criar" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Número máximo de administradores de domínio que este utilizador pode criar" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Número máximo de aliases de domínio que este utilizador pode criar" -#: limits/constants.py:49 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Número máximo de caixas de correio que este utilizador por criar" -#: limits/constants.py:53 +#: limits/constants.py:54 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Número máximo de aliases para caixas de correio que este utilizador por criar" -#: limits/constants.py:58 +#: limits/constants.py:59 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Número máximo de administradores de domínio que este utilizador pode criar" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Limite inválido" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Recursos" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: limite atingido" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Recursos insuficientes" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Não está autorizado a definir valores ilimitados" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "ilimitado" diff --git a/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po index 8e5444daf..93a32dd6f 100644 --- a/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po @@ -1,201 +1,231 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Andrei-Ilie Olteanu , 2018 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-06-18 08:01+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" +"language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"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" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "Limitele standard per-admin" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "Activați limitele per-admin" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "Activați sau dezactivați limitele per-admin" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Administratori de domeniu" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de administratori de domeniu permiși pentru un nou administrator. (0 pentru a dezactiva crearea, -1 pentru a permite creări nelimitate)" +msgstr "" +"Numărul maxim de administratori de domeniu permiși pentru un nou " +"administrator. (0 pentru a dezactiva crearea, -1 pentru a permite creări " +"nelimitate)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domenii" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de domenii permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +msgstr "" +"Numărul maxim de domenii permise pentru un nou administrator. (0 nu permite " +"crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Alias-uri domenii" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" -"Maximum number of allowed domain aliases for a new administrator. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de aliasuri de domenii permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Numărul maxim de aliasuri de domenii permise pentru un nou administrator. (0 " +"nu permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Cutii poștale" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de căsuțe poștale permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +msgstr "" +"Numărul maxim de căsuțe poștale permise pentru un nou administrator. (0 nu " +"permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Alias-uri cutii poștale" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de aliasuri permise pentru un nou administrator. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +msgstr "" +"Numărul maxim de aliasuri permise pentru un nou administrator. (0 nu permite " +"crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "Cotă-parte" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" -msgstr "Cota pe care un reseller le va putea să împartă între domeniile pe care le creează. (0 nu înseamnă fără cotă)" +msgstr "" +"Cota pe care un reseller le va putea să împartă între domeniile pe care le " +"creează. (0 nu înseamnă fără cotă)" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "Limitele per-domeniu implicite" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "Activați limitele per-domeniu" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "Activați sau dezactivați limitele pe domenii" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" -"Maximum number of allowed domain administrators for a new domain. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de administratori de domeniu permiși pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +"Maximum number of allowed domain administrators for a new domain. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Numărul maxim de administratori de domeniu permiși pentru un domeniu nou. (0 " +"nu permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de aliasuri de domenii permise pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +msgstr "" +"Numărul maxim de aliasuri de domenii permise pentru un domeniu nou. (0 nu " +"permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Numărul maxim de căsuțe poștale autorizate pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +msgstr "" +"Numărul maxim de căsuțe poștale autorizate pentru un domeniu nou. (0 nu " +"permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" -"Maximum number of allowed aliases for a new domain. (0 to deny any creation," -" -1 to allow unlimited creations)" -msgstr "Numărul maxim de aliasuri permise pentru un domeniu nou. (0 nu permite crearea, -1 pentru a permite creări nelimitate)" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " +"-1 to allow unlimited creations)" +msgstr "" +"Numărul maxim de aliasuri permise pentru un domeniu nou. (0 nu permite " +"crearea, -1 pentru a permite creări nelimitate)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Limite" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Numărul maxim de domenii pe care acest utilizator le poate crea" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" -msgstr "Numărul maxim de aliasuri de domeniu pe care acest utilizator le poate crea" +msgstr "" +"Numărul maxim de aliasuri de domeniu pe care acest utilizator le poate crea" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Numărul maxim de cutii poștale pe care acest utilizator le poate crea" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" -msgstr "Numărul maxim de aliasuri de cutie poștală pe care acest utilizator le poate crea" +msgstr "" +"Numărul maxim de aliasuri de cutie poștală pe care acest utilizator le poate " +"crea" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" -msgstr "Numărul maxim de administratori de domeniu pe care acest utilizator îl poate crea" +msgstr "" +"Numărul maxim de administratori de domeniu pe care acest utilizator îl poate " +"crea" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "Cotă-parte distribuită între domeniile acestui distribuitor" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Numărul maxim de aliasuri de domeniu permis pentru acest domeniu." -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Numărul maxim de cutii poștale permis pentru acest domeniu." -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." -msgstr "Numărul maxim de aliasuri pentru cutia poștală permis pentru acest domeniu." +msgstr "" +"Numărul maxim de aliasuri pentru cutia poștală permis pentru acest domeniu." -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." -msgstr "Numărul maxim de administratori de domeniu permis pentru acest domeniu." +msgstr "" +"Numărul maxim de administratori de domeniu permis pentru acest domeniu." -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Limită invalidă" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Resurse" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: s-a atins limita" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Resurse insuficiente" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Nu vi se permite să definiți valori nelimitate" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "nelimitat" diff --git a/modoboa/limits/locale/ru/LC_MESSAGES/django.po b/modoboa/limits/locale/ru/LC_MESSAGES/django.po index ea490f117..9c4d11243 100644 --- a/modoboa/limits/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/limits/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: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,26 +19,26 @@ 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" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Лимиты по умолчанию" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Администраторы домена" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -48,11 +48,11 @@ msgid "" msgstr "" "Максимальное количество администраторов домена для нового администратора" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Домены" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -60,12 +60,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество доменов для нового администратора" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Синонимы доменов" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -73,12 +73,12 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Максимальное количество синонимов доменов для нового администратора" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Почтовые ящики" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -86,12 +86,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество почтовых ящиков для нового администратора" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Синонимы почтового ящика" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -99,31 +99,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество синонимов для нового администратора" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Лимиты по умолчанию" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -133,7 +133,7 @@ msgid "" msgstr "" "Максимальное количество администраторов домена для нового администратора" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -141,7 +141,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество синонимов доменов для нового администратора" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -149,7 +149,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество почтовых ящиков для нового администратора" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -157,42 +157,42 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Максимальное количество синонимов для нового администратора" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Лимиты" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Максимальное количество создаваемых доменов для этого пользователя" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "" "Максимальное количество создаваемых синонимов (алиасов) доменов для этого " "пользователя" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "" "Максимальное количество создаваемых почтовых ящиков для этого пользователя" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Максимальное количество создаваемых синонимов почтовых ящиков для этого " "пользователя" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "" "Максимальное количество создаваемых администраторов домена для этого " "пользователя" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." @@ -200,14 +200,14 @@ msgstr "" "Максимальное количество создаваемых синонимов (алиасов) доменов для этого " "пользователя" -#: limits/constants.py:49 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "" "Максимальное количество создаваемых почтовых ящиков для этого пользователя" -#: limits/constants.py:53 +#: limits/constants.py:54 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." @@ -215,7 +215,7 @@ msgstr "" "Максимальное количество создаваемых синонимов почтовых ящиков для этого " "пользователя" -#: limits/constants.py:58 +#: limits/constants.py:59 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." @@ -223,28 +223,28 @@ msgstr "" "Максимальное количество создаваемых администраторов домена для этого " "пользователя" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Ошибочный лимит" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Ресурсы" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s лимит исчерпан" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Недостаточно ресурсов" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Вам не позволено определять нелимитированные значения" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "Не лимитировано" diff --git a/modoboa/limits/locale/sv/LC_MESSAGES/django.po b/modoboa/limits/locale/sv/LC_MESSAGES/django.po index 6349ce68e..5ca93d1a2 100644 --- a/modoboa/limits/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/sv/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2016-05-30 18:08+0000\n" "Last-Translator: Olle Gustafsson \n" "Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" @@ -20,24 +20,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "Standard per administratör gräns" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "Aktivera per administratör gräns" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "Aktivera eller avaktivera per admininstratör gränser" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "Domänadministratörer" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -45,11 +45,11 @@ msgstr "" "Max antal tillåtna domän admininstratöre för en ny administratör. (0 för att " "inaktivera, -1 för obegränsat antal)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "Domäner" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -57,12 +57,12 @@ msgstr "" "Max antal tillåtna domäner för en ny administratör. (0 för att inaktivera, " "-1 för obegränsat antal)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "Domän alias" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -70,12 +70,12 @@ msgstr "" "Maximalt antal domän alias för en ny administratör. (0 för att inaktivera, " "-1 för obegränsat antal)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "Brevlådor" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -83,12 +83,12 @@ msgstr "" "Maximalt antal brevlådor för en ny administratör. (0 för att inaktivera, -1 " "för obegränsat antal)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "Brevlåde alias" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -96,29 +96,29 @@ msgstr "" "Maximalt antal alias för en ny administratör. (0 för att inaktivera, -1 för " "obegränsat antal)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "Standard per domän gräns" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "Aktivera per domän gräns" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "Aktivera eller avaktivera per domän gränser" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -126,7 +126,7 @@ msgstr "" "Max antal tillåtna domänadministratörer för en ny domän. (0 för att neka " "skapande, -1 för oändligt antal)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -134,14 +134,14 @@ msgstr "" "Max antal domänalias för en ny domän. (0 för att neka skapande, -1 för " "obegränsat)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" "Max antal brevlådor per domän. (0 för inga alls, -1 för obegränsat antal)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -149,72 +149,72 @@ msgstr "" "Max antal tillåtna alias för en ny domän. (0 för inga alls, -1 för " "obegränsat antal)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "Gräns" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Maximalt antal domäner den här användaren kan skapa" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "Maximalt antal domänen alias den här användaren kan skapa" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "Maximalt antal brevlådor den här användaren kan skapa" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maximalt antal brevlådealias den här användaren kan skapa" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "Maximalt antal domänadministratörer den här användaren kan skapa" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Max antal domänalias tillåtna för den här domänen." -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Max antal bervlådor tillåtna för den här domänen." -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Max antal brevlådealias tillåtna för den här domänen." -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "Max antal domänadministratörer tillåtna för den här domänen." -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "Ogiltig gräns" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "Resurser" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: gräns uppnådd" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "Inte tillräckligt med resurser" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "Du har inte tillåtelse att definiera obegränsat värden" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "obegränsad" diff --git a/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po index de47f7e7b..3a64710c5 100644 --- a/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # akong , 2018 # Radium , 2017 @@ -9,194 +9,195 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-06-29 01:11+0000\n" "Last-Translator: akong \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/language/zh_TW/)\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" +"language/zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: limits/app_settings.py:17 +#: limits/app_settings.py:19 msgid "Default per-admin limits" msgstr "預設每個管理者限制" -#: limits/app_settings.py:20 +#: limits/app_settings.py:22 msgid "Enable per-admin limits" msgstr "啟用每個管理者限制" -#: limits/app_settings.py:22 +#: limits/app_settings.py:24 msgid "Enable or disable per-admin limits" msgstr "啟用或停用每個管理者限制" -#: limits/app_settings.py:26 limits/app_settings.py:97 limits/constants.py:27 -#: limits/constants.py:57 +#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 +#: limits/constants.py:58 msgid "Domain admins" msgstr "網域管理員" -#: limits/app_settings.py:29 +#: limits/app_settings.py:31 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許網域管理者的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:37 limits/constants.py:12 +#: limits/app_settings.py:39 limits/constants.py:13 msgid "Domains" msgstr "網域" -#: limits/app_settings.py:40 +#: limits/app_settings.py:42 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許網域的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:47 limits/app_settings.py:108 limits/constants.py:16 -#: limits/constants.py:44 +#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 +#: limits/constants.py:45 msgid "Domain aliases" msgstr "網域別名" -#: limits/app_settings.py:50 +#: limits/app_settings.py:52 msgid "" -"Maximum number of allowed domain aliases for a new administrator. (0 to deny" -" any creation, -1 to allow unlimited creations)" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny " +"any creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許網域別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:58 limits/app_settings.py:119 limits/constants.py:20 -#: limits/constants.py:48 +#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 +#: limits/constants.py:49 msgid "Mailboxes" msgstr "信箱" -#: limits/app_settings.py:61 +#: limits/app_settings.py:63 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許信箱的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:68 limits/app_settings.py:129 limits/constants.py:23 -#: limits/constants.py:51 +#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 +#: limits/constants.py:52 msgid "Mailbox aliases" msgstr "信箱別名" -#: limits/app_settings.py:71 +#: limits/app_settings.py:73 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:78 limits/constants.py:33 +#: limits/app_settings.py:80 limits/constants.py:34 msgid "Quota" msgstr "配額" -#: limits/app_settings.py:81 +#: limits/app_settings.py:83 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "經銷商的配額允許分配給他建立的網域之間。(0 意思是沒配額)" -#: limits/app_settings.py:88 +#: limits/app_settings.py:90 msgid "Default per-domain limits" msgstr "預設每個網域限制" -#: limits/app_settings.py:91 +#: limits/app_settings.py:93 msgid "Enable per-domain limits" msgstr "啟用每個網域限制" -#: limits/app_settings.py:93 +#: limits/app_settings.py:95 msgid "Enable or disable per-domain limits" msgstr "啟用或停用每個網域限制" -#: limits/app_settings.py:100 +#: limits/app_settings.py:102 msgid "" -"Maximum number of allowed domain administrators for a new domain. (0 to deny" -" any creation, -1 to allow unlimited creations)" +"Maximum number of allowed domain administrators for a new domain. (0 to deny " +"any creation, -1 to allow unlimited creations)" msgstr "新的網域最大允許網域管理者的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:111 +#: limits/app_settings.py:113 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的網域最大允許網域別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:122 +#: limits/app_settings.py:124 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的網域最大允許信箱的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:132 +#: limits/app_settings.py:134 msgid "" -"Maximum number of allowed aliases for a new domain. (0 to deny any creation," -" -1 to allow unlimited creations)" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " +"-1 to allow unlimited creations)" msgstr "新的網域最大允許別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/apps.py:14 +#: limits/apps.py:16 msgid "Limits" msgstr "限制" -#: limits/constants.py:13 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "這個使用者最大可以建立網域的數量" -#: limits/constants.py:17 +#: limits/constants.py:18 msgid "Maximum number of domain aliases this user can create" msgstr "這個使用者最大可以建立網域別名的數量" -#: limits/constants.py:21 +#: limits/constants.py:22 msgid "Maximum number of mailboxes this user can create" msgstr "這個使用者最大可以建立信箱的數量" -#: limits/constants.py:24 +#: limits/constants.py:25 msgid "Maximum number of mailbox aliases this user can create" msgstr "這個使用者最大可以建立信箱別名的數量" -#: limits/constants.py:28 +#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" msgstr "這個使用者最大可以建立網域管理者的數量" -#: limits/constants.py:34 +#: limits/constants.py:35 msgid "Quota shared between domains of this reseller" msgstr "這個經銷商配額分配在網域之間" -#: limits/constants.py:45 +#: limits/constants.py:46 msgid "Maximum number of domain aliases allowed for this domain." msgstr "這個網域最大可以建立網域別名的數量" -#: limits/constants.py:49 +#: limits/constants.py:50 msgid "Maximum number of mailboxes allowed for this domain." msgstr "這個網域最大可以建立信箱的數量" -#: limits/constants.py:53 +#: limits/constants.py:54 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "這個網域最大可以建立信箱別名的數量" -#: limits/constants.py:58 +#: limits/constants.py:59 msgid "Maximum number of domain admins allowed for this domain." msgstr "這個網域最大可以建立網域管理者的數量" -#: limits/forms.py:43 limits/forms.py:92 +#: limits/forms.py:42 limits/forms.py:91 msgid "Invalid limit" msgstr "無效的限制" -#: limits/handlers.py:127 limits/handlers.py:163 +#: limits/handlers.py:121 limits/handlers.py:157 msgid "Resources" msgstr "資源" -#: limits/lib.py:22 +#: limits/lib.py:23 #, python-format msgid "%s: limit reached" msgstr "%s: 已達到上限" -#: limits/lib.py:32 +#: limits/lib.py:33 msgid "Not enough resources" msgstr "資源不足" -#: limits/lib.py:50 limits/models.py:54 +#: limits/lib.py:51 limits/models.py:52 msgid "You're not allowed to define unlimited values" msgstr "您不允許定義無限值" -#: limits/models.py:64 limits/models.py:129 +#: limits/models.py:62 limits/models.py:127 msgid "unlimited" msgstr "無限制" diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po index 2e538b154..d1fc87e76 100644 --- a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Peter Sveter, 2016 # Jarda Tesar , 2017-2018 @@ -10,365 +10,386 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-08-10 11:05+0000\n" "Last-Translator: Jarda Tesar \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/language/cs_CZ/)\n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/" +"modoboa/language/cs_CZ/)\n" +"Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Uživatelský profil" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Ověření" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Typ ověření" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Lokální" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Rozhraní pro ověřování přístupu" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Výchozí schéma hesel" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (slabé)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (slabé)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (slabé)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (slabé)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "žádné (slabé)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Použité schéma pro šifrování hesel schránek" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Počet cyklů" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." -msgstr "Počet cyklů (použije se pouze u sha256crypt a sha512crypt). Hodnota musí být mezi 1000 a 999999999 včetně." +msgstr "" +"Počet cyklů (použije se pouze u sha256crypt a sha512crypt). Hodnota musí být " +"mezi 1000 a 999999999 včetně." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Tajný klíč" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Výchozí schéma hesel" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Klíč používaný k šifrování/dešifrování hesel" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Výchozí heslo" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Výchozí heslo pro automaticky vytvořené účty." -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "Délka náhodného hesla" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "Počet znaků náhodně vygenerovaných hesel." -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Nastavení LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Adresa serveru" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP adresa DNS jména LDAP serveru" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Port serveru" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Port TCP, který používá LDAP server" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Použít zabezpečené připojení" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Použít SSL/STARTTLS připojení pro přístup k LDAP serveru" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Metoda ověření" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Vyhledat a spojit" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Přímé spojení" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Zvolte si metodu ověření, která se použije" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Spojení pomocí DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" -msgstr "Rozlišovací jméno, které se použije při spojování s LDAP serverem. Ponechejte prázdné pro anonymní spojení." +msgstr "" +"Rozlišovací jméno, které se použije při spojování s LDAP serverem. " +"Ponechejte prázdné pro anonymní spojení." -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Heslo spojení" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" -msgstr "Heslo, které se použije při spojování s LDAP serverem (při výběru DN spojení)." +msgstr "" +"Heslo, které se použije při spojování s LDAP serverem (při výběru DN " +"spojení)." -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Základna struktury uživatelů" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "Rozlišovací jméno základny struktury používané pro hledání uživatelů" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Vyhledávací filtr" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." -msgstr "Volitelný filtr (např. '(objectClass=osoba)'). Aby byl filtr platný, je nezbytné jen uzavřít do závorek." +msgstr "" +"Volitelný filtr (např. '(objectClass=osoba)'). Aby byl filtr platný, je " +"nezbytné jen uzavřít do závorek." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Šablona uživatelského DN" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "Šablona použitá pro tvorbu uživatelského rozlišovacího jména (DN). Měla by obsahovat jeden zástupný řetězec (tj. %(user)s)." +msgstr "" +"Šablona použitá pro tvorbu uživatelského rozlišovacího jména (DN). Měla by " +"obsahovat jeden zástupný řetězec (tj. %(user)s)." -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Atribut hesla" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Atribut používaný pro ukládání hesel uživatelů" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" -msgstr "Volba určující, jestli je nebo není LDAP server serverem Active Directory" +msgstr "" +"Volba určující, jestli je nebo není LDAP server serverem Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Správcovské skupiny" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" -"Members of those LDAP Posix groups will be created as domain administrators." -" Use ';' characters to separate groups." -msgstr "Členové těchto LDAP Posix skupin budou automaticky vytvořeni jako správci domény. Pro oddělení skupin použijte ';'." +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Členové těchto LDAP Posix skupin budou automaticky vytvořeni jako správci " +"domény. Pro oddělení skupin použijte ';'." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Typ skupiny" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "Typ LDAP skupiny " -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Základna struktury skupin" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "Rozlišovací jméno základny struktury používané pro hledání skupin" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Plocha" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Vlastní RSS zdroj" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "Zobrazit vlastní RSS zdroj distributorům a správcům domény" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "Skrýt widget funkcí" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "Skrýt widget funkcí pro distributory a správce domény" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Oznámení" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Adresy odesílatele" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "Emailová adresa používaná k zasílání upozornění" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "Veřejné API" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Povolit komunikaci" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Povolit komunikaci s veřejným Modoboa API rozhraním" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Zkontrolovat verzi" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Automaticky kontrolovat dostupnost nové verze" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Odoslat statistiky" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" -msgstr "Zasílat statistické údaje na veřejné Modoboa API rozhraní (počítadla a použité rozšíření)" +msgstr "" +"Zasílat statistické údaje na veřejné Modoboa API rozhraní (počítadla a " +"použité rozšíření)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Různé" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "Počet dnů pro neaktivní účet" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" -"An account with a last login date greater than this threshold (in days) will" -" be considered as inactive" -msgstr "Účet s datem posledního přihlášení starším než práh (ve dnech) bude považován za neaktivní" +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" +msgstr "" +"Účet s datem posledního přihlášení starším než práh (ve dnech) bude " +"považován za neaktivní" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Interval aktualizací upozornění" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Interval mezi aktualizacemi upozornění na stránce (v sekundách)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Maximální stáří záznamu" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "Maximální stáří záznamu ve dnech" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Položek na stránce" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Počet zobrazených položek na stránce" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Výchozí přesměrování aplikace" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" -msgstr "Výchozí přesměrování, které se použije, pokud není žádná aplikace specifikována" +msgstr "" +"Výchozí přesměrování, které se použije, pokud není žádná aplikace " +"specifikována" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Klíč musí mít délku 16, 24 nebo 32 znaků" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Neplatná syntaxe" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Neplatný počet cyklů" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Toto pole je vyžadováno" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Obecné" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." -msgstr "Hodnota USE_TZ je Vypnutá, toto může způsobit problémy při přechodu mezi letním a zimním časem (např. stejný čas dvakrát během změny času)." +msgstr "" +"Hodnota USE_TZ je Vypnutá, toto může způsobit problémy při přechodu mezi " +"letním a zimním časem (např. stejný čas dvakrát během změny času)." -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "Nastavte `USE_TZ = True` v settings.py" @@ -388,143 +409,143 @@ msgstr "Distributor" msgid "Super administrator" msgstr "Super správce" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Ne" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Uživatelské jméno" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Heslo" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Původní heslo" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nové heslo" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Potvrzení" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Původní heslo se neshoduje" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Hesla se neshodují" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Povolit API přístup" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "přidáno" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "upraveno" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s uživatelem %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "smazáno" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "uživatel {}" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "příkaz managementu" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Nemůžete smazat vlastní účet" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "K dispozici je jedna, nebo více, aktualizací" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Povolit přístup do poštovních schránek" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "Povolit správci přístup do uživatelských poštovních schránek" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "heslo" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "jazyk" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Preferovaný jazyk pro zobrazení stránek" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Telefonní číslo" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Sekundární email" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Alternativní e-mailová adresa, může být použita pro účely obnovy." -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Nebylo možné změnit heslo: LDAP modul není instalován" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "účet" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Neznámý" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Neplatný řádek" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Nemůžete importvat účet s vyšším oprávněním, než máte vy sám" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Běžný uživatel '%s' musí mít nastavenou platnou emailovou adresu" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "pole uživatelského jména a emailu se nesmí pro '%s' lišit" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Heslo musí obsahovat alespoň {} číslo." @@ -532,7 +553,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} číslice." msgstr[2] "Heslo musí obsahovat alespoň {} číslic." msgstr[3] "Heslo musí obsahovat alespoň {} číslic." -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Heslo musí obsahovat alespoň {} malé písmeno." @@ -540,7 +561,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} malé písmena." msgstr[2] "Heslo musí obsahovat alespoň {} malých písmen." msgstr[3] "Heslo musí obsahovat alespoň {} malých písmen." -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Heslo musí obsahovat alespoň {} velké písmeno." @@ -548,7 +569,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} velká písmena." msgstr[2] "Heslo musí obsahovat alespoň {} velkých písmen." msgstr[3] "Heslo musí obsahovat alespoň {} velkých písmen." -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Heslo musí obsahovat alespoň {} speciální znak." @@ -556,9 +577,11 @@ msgstr[1] "Heslo musí obsahovat alespoň {} speciální znaky." msgstr[2] "Heslo musí obsahovat alespoň {} speciálních znaků." msgstr[3] "Heslo musí obsahovat alespoň {} speciálních znaků." -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." -msgstr "Vaše heslo musí obsahovat kombinaci malých a velkých písmen, číslic a speciálních znaků." +msgstr "" +"Vaše heslo musí obsahovat kombinaci malých a velkých písmen, číslic a " +"speciálních znaků." #: core/templates/core/_current_features.html:6 msgid "Features looking for sponsoring" @@ -584,7 +607,9 @@ msgstr "Poslední zprávy" msgid "" "Visit the official " "weblog for more information." -msgstr "Pro více informací navštivte oficiální blog ." +msgstr "" +"Pro více informací navštivte oficiální blog ." #: core/templates/core/api_access.html:3 msgid "API access" @@ -597,16 +622,18 @@ msgstr "Ovládat svůj přístup k Modoboa API rozhraní" #: core/templates/core/api_access.html:7 #, python-format msgid "" -"A documentation of the API is available here." -msgstr "Dokumentace k API je dostupná zde." +"A documentation of the API is available here." +msgstr "" +"Dokumentace k API je dostupná zde." #: core/templates/core/api_access.html:14 msgid "API access token" msgstr "API přístupový token" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Aktualizovat" @@ -615,7 +642,7 @@ msgstr "Aktualizovat" msgid "Hello %(user)s." msgstr "Ahoj %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Informace" @@ -629,7 +656,9 @@ msgstr "K dispozici je jedna, nebo více, aktualizací!" #: core/templates/core/information.html:6 msgid "Check the following list to find the component(s) that can be updated." -msgstr "Zkontrolujte následující seznam pro nalezení komponentu(ů), které mohou být aktualizovány." +msgstr "" +"Zkontrolujte následující seznam pro nalezení komponentu(ů), které mohou být " +"aktualizovány." #: core/templates/core/information.html:10 msgid "Applications" @@ -664,7 +693,7 @@ msgstr "Role" msgid "Last login" msgstr "Poslední přihlášení" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Záznamy" @@ -672,7 +701,7 @@ msgstr "Záznamy" msgid "Previously on Modoboa..." msgstr "Dříve v Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Datum" @@ -688,7 +717,7 @@ msgstr "Zaznamenal" msgid "Message" msgstr "Zpráva" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parametry" @@ -705,12 +734,12 @@ msgstr "Uložit" msgid "Modoboa settings" msgstr "Nastavení Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Nastavení" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Možnosti" @@ -722,7 +751,7 @@ msgstr "Nastavit Modoboa" msgid "No preferences available." msgstr "Žádné možnosti nejsou k dispozici." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profil" @@ -730,36 +759,42 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Aktualizovat osobní informace" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Odhlásit se" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Hlavní část Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parametry uloženy" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Uživatel '%s' se úspěšně přihlásil" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." -msgstr "Vaše uživatelské jméno nebo heslo se neshodují. Zkuste to prosím znovu." +msgstr "" +"Vaše uživatelské jméno nebo heslo se neshodují. Zkuste to prosím znovu." -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Uživatel '{}' byl úspěšně odhlášen" @@ -780,49 +815,53 @@ msgstr "Přístup aktualizován" msgid "Connection to database %s not configured" msgstr "Připojení k databázi %s není nastaveno" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Přístup zamítnut: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Přístup zamítnut" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Vložte platné doménové jméno" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Vložte platnou emailovou adresu." -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Uložit" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Neplatný požadavek" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Ano" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Nebylo možné změnit heslo: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "Od" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Komu" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Předmět" @@ -859,9 +898,8 @@ msgstr "Chyba:" msgid "Help:" msgstr "Nápověda:" -#: templates/common/generic_modal.html:6 -#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6 -#: templates/common/wizard_forms.html:27 +#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13 +#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27 msgid "Close" msgstr "Zavřít" @@ -895,7 +933,8 @@ msgstr "Zapomenuté heslo?" msgid "" "Your password has been set. You may go ahead and sign " "in now." -msgstr "Vaše heslo bylo nastaveno. Nyní se můžete přihlásit." +msgstr "" +"Vaše heslo bylo nastaveno. Nyní se můžete přihlásit." #: templates/registration/password_reset_confirm.html:7 msgid "Change password" @@ -905,7 +944,9 @@ msgstr "Změnit heslo" msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." -msgstr "Odkaz pro resetování hesla je neplatný, nejspíše proto, že byl již použit. Prosím, vyžádejte si nový odkaz." +msgstr "" +"Odkaz pro resetování hesla je neplatný, nejspíše proto, že byl již použit. " +"Prosím, vyžádejte si nový odkaz." #: templates/registration/password_reset_done.html:7 msgid "" @@ -913,20 +954,27 @@ msgid "" "exists with the email you entered. You should receive them shortly.

" "

If you don't receive an email, please make sure you've entered your " "primary address, and check your spam folder.

" -msgstr "

Zaslali jsme vám instrukce pro nastavení Vašeho hesla, pokud účet se zadaným emailem existuje. Měl by brzy dorazit.

Pokud žádný email nedorazil, zkontrolujte prosím, že jste správně zadali Vaši primární emailovou adresu a zkontrolujte složku Spam." +msgstr "" +"

Zaslali jsme vám instrukce pro nastavení Vašeho hesla, pokud účet se " +"zadaným emailem existuje. Měl by brzy dorazit.

Pokud žádný email " +"nedorazil, zkontrolujte prosím, že jste správně zadali Vaši primární " +"emailovou adresu a zkontrolujte složku Spam." #: templates/registration/password_reset_email.html:4 #, python-format msgid "" "To initiate the password reset process for your %(username)s Modoboa " "account, click the link below:" -msgstr "Klikněte na odkaz níže pro resetování hesla vašeho Modoboa účtu %(username)s:" +msgstr "" +"Klikněte na odkaz níže pro resetování hesla vašeho Modoboa účtu %(username)s:" #: templates/registration/password_reset_email.html:10 msgid "" "If clicking the link above doesn't work, please copy and paste the URL in a " "new browser window instead." -msgstr "Pokud odkaz výše nefunguje, prosím zkopírujte URL a vložte do nového okna prohlížeče." +msgstr "" +"Pokud odkaz výše nefunguje, prosím zkopírujte URL a vložte do nového okna " +"prohlížeče." #: templates/registration/password_reset_email.html:14 msgid "Sincerely, The Modoboa Team." @@ -935,3 +983,12 @@ msgstr "S pozdravem, Tým Modoboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Reset Modoboa hesla" + +#~ msgid "Secret key" +#~ msgstr "Tajný klíč" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Klíč používaný k šifrování/dešifrování hesel" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Klíč musí mít délku 16, 24 nebo 32 znaků" diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po index 0d7577e13..1191dc107 100644 --- a/modoboa/locale/de/LC_MESSAGES/django.po +++ b/modoboa/locale/de/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2015-07-09 14:03+0000\n" "Last-Translator: controlc.de\n" "Language-Team: German (http://www.transifex.com/tonio/modoboa/language/de/)\n" @@ -21,61 +21,61 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Profil" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Authentifizierung" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Authentifizierungstyp" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Lokal" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Backend für die Authentifizierung" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Standard-Passwortschema" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (schwach)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (schwach)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (schwach)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (schwach)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (schwach)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Verschlüsselungsschema der Postfach-Passwörter" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Runden" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -83,112 +83,114 @@ msgstr "" "Anzahl zu verwendender Runden (nur für sha256crypt und sha512crypt). Zahl " "muss zwischen 1000 und 999999999 liegen." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Geheimer Schlüssel" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Standard-Passwortschema" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Verwendeter Schlüssel, um Passwörter zu ver-/entschlüsseln" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Standard-Passwortschema" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Bind Passwort" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "LDAP-Einstellungen" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Server-Adresse" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP-Adresse oder Hostname des LDAP-Servers" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Server-Port" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Der TCP Port des LDAP-Servers" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Gesicherte Verbindung verwenden" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Authentifizierungsmethode" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Suchen und Bind anwenden" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Direkter Bind" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Wählen Sie die Authentifizierungsmethode" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" msgstr "" "Der DN für einen Bind an den LDAP-Server. Nichts eingeben für anonymen Bind." -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Bind Passwort" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "Das Passwort wenn mit dem Bind DN angemeldet wird." -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Benutzer Search Base" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "Der DN der Search Base mit der Benutzerkonten gefunden werden" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Suchfilter" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -196,11 +198,11 @@ msgstr "" "Ein optionaler Filter, z.B. '(objectClass=person)'. Der Filter muss " "entsprechend der LDAP-Konvention in Klammern gesetzt werden." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Vorlage für User DN" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -209,27 +211,27 @@ msgstr "" "Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s " "enthalten." -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Passwort-Attribut" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Das Attribut für Benutzerpasswörter" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Auswählen wenn der LDAP-Server ein Active Directory ist." -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Administrator-Gruppen" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -237,160 +239,156 @@ msgstr "" "Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren " "angelegt werden. Nutzen Sie ';', um Gruppen zu separieren." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Gruppentyp" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Gruppen Search Base" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "Der DN der Search Base mit Gruppen gefunden werden" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 #, fuzzy #| msgid "Applications" msgid "Notifications" msgstr "Applikationen" -#: core/app_settings.py:250 +#: core/app_settings.py:247 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Server-Adresse" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Prüfe auf neue Versionen" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Prüft automatisch ob eine neuere Version verfügbar ist." -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Verschiedenes" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Benachrichtigungs-Prüfintervall" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervall zwischen zwei Benachrichtigungsprüfungen (in Sekunden)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Maximales Alter für Log-Einträge" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Einträge pro Seite" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Anzahl dargestellter Einträge pro Seite" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Standardumleitung" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "Die Standardumleitung wenn kein Programm angegeben wurde" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Schlüssel muss 16, 24 oder 32 Byte lang sein" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Ungültiger Syntax" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Ungültige Zahl für Runden" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Allgemein" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -412,169 +410,169 @@ msgstr "" msgid "Super administrator" msgstr "Super-Administrator" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Nein" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Benutzername" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Passwort" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Altes Passwort" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Neues Passwort" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Bestätigung" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Altes Passwort stimmt nicht überein" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Passwörter stimmen nicht überein" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "hinzugefügt" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "verändert" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s der Identität %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s der Identität %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "entfernt" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Sie können Ihr eigenes Konto nicht entfernen" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Eine oder mehrere Aktualisierungen sind verfügbar" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Erlaube den Postfach-Zugriff" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "Erlaubt dem Administrator auf Benutzer-Postfächer zuzugreifen" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "Passwort" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "Sprache" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Bevorzugte Sprache für Seitendarstellung" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Telefonnummer" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Alternative Email-Adresse" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Eine alternative e-mail Adresse zur Widerherstellung." -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Konnte Passwort nicht aktualisieren: LDAP-Modul nicht installiert" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "Konto" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Unbekannt" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Ungültige Zeile" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "" "Sie können kein Konto mit einer höheren Rolle als Ihrer eigenen importieren" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Der normale Benutzer '%s' muss eine gültige E-Mail-Adresse besitzen" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "Benutzername und E-Mail für '%s' dürfen sich nicht unterscheiden" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -624,7 +622,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Aktualisieren" @@ -633,7 +631,7 @@ msgstr "Aktualisieren" msgid "Hello %(user)s." msgstr "Hallo %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Information" @@ -684,7 +682,7 @@ msgstr "Rolle" msgid "Last login" msgstr "Letzte Anmeldung" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Logs" @@ -692,7 +690,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Vorher auf Modoboa…" -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Datum" @@ -708,7 +706,7 @@ msgstr "Logger" msgid "Message" msgstr "Nachricht" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parameter" @@ -725,12 +723,12 @@ msgstr "Speichern" msgid "Modoboa settings" msgstr "Modoboa-Einstellungen" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Einstellungen" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Einstellungen" @@ -744,7 +742,7 @@ msgstr "Modoboa anpassen" msgid "No preferences available." msgstr "Einstellungen gespeichert" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profil" @@ -752,38 +750,43 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Aktualisieren Sie Ihre persönlichen Daten" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Logout" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Der Kern von Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parameter gespeichert" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Benutzer '%s' hat sich erfolgreich angemeldet" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "" "Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es " "noch einmal." -#: core/views/auth.py:88 +#: core/views/auth.py:107 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" @@ -808,51 +811,55 @@ msgstr "Profil aktualisiert" msgid "Connection to database %s not configured" msgstr "Verbindung zu Datenbank %s nicht konfiguriert" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Zugriff verweigert: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Zugriff verweigert" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Geben Sie einen gültigen Domain-Namen an" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Geben Sie einen gültigen Domain-Namen an" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Abschicken" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Ungültige Anfrage" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Ja" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Konnte Passwort nicht aktualisieren: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "Absender" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Empfänger" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Betreff" @@ -969,6 +976,15 @@ msgstr "" msgid "Modoboa password reset" msgstr "" +#~ msgid "Secret key" +#~ msgstr "Geheimer Schlüssel" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Verwendeter Schlüssel, um Passwörter zu ver-/entschlüsseln" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Schlüssel muss 16, 24 oder 32 Byte lang sein" + #~ msgid "First name" #~ msgstr "Vorname" diff --git a/modoboa/locale/el_GR/LC_MESSAGES/django.po b/modoboa/locale/el_GR/LC_MESSAGES/django.po index 2aaf5ba61..5f5bf86c8 100644 --- a/modoboa/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-10-12 19:37+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,61 +20,61 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Προφίλ Χρήστη" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Πιστοποίηση" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Τύπος Πιστοποίησης" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Τοπικός" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Το backend που χρησιμοποιείται για πιστοποίηση" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Προεπιλεγμένος αλγόριθμος κωδικοποίησης" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (αδύναμο)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (αδύναμο)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (αδύναμο)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (αδύναμο)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (αδύναμο)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "" "Σχήμα που θα χρησιμοποιηθεί για την κρυπτογράφηση των κωδικών των " "λογαριασμών αλληλογραφίας" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Επαναλήψεων" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -82,83 +82,83 @@ msgstr "" "Αριθμός επαναλήψεων (μόνο για sha256crypt και sha512crypt). Μπορεί να είναι " "από 1000 έως και 999999999" -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Μυστικό κλειδί" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Προεπιλεγμένος αλγόριθμος κωδικοποίησης" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" msgstr "" -"Το κλειδί που χρησιμοποιείται για την κρυπτογράφηση/αποκρυπτογράφηση των " -"κωδικών" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Προκαθορισμένος κωδικός" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Προκαθορισμένος κωδικός για αυτόματη δημιουργία λογαριασμών" -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "Μήκος τυχαίου κωδικού" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "Μήκος των τυχαίων δημιουργημένων κωδικών" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Ρυθμίσεις LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Διεύθυνση εξυπηρετητή" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "Η IP διεύθυνση ή το DNS όνομα του εξυπηρετητή LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Πόρτα εξυπηρετητή" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Η TCP πόρτα λειτουργίας του εξυπηρετητή LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Χρήση ασφαλής σύνδεσης" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "" "Χρησιμοποιήστε μια σύνδεση SSL / STARTTLS για να συνδεθήκατε στον διακομιστή " "LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Μέθοδος Πιστοποίησης" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Αναζήτηση χρήστη και bind" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Χρήση Bind DN" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Επιλογή μεθόδου πιστοποίησης" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -166,28 +166,28 @@ msgstr "" "To distinguished name για το bind στον εξυπηρετητή LDAP. Αφήστε το κενό για " "anonymous" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Bind κωδικός " -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Ο κωδικός για το bind στον εξυπηρετητή LDAP (αντιστοιχεί στο 'Bind DN')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Base αναζήτησης χρηστών" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "Το Base DN αναζήτησης χρηστών" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Φίλτρο αναζήτησης" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -195,11 +195,11 @@ msgstr "" "Προαιρετικό φίλτρο (π.χ. '(objectClass=person)'). Για να είναι έγκυρο πρέπει " "να περικλείεται σε παρενθέσεις." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Πρότυπο για DN χρηστών" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -208,27 +208,27 @@ msgstr "" "Το πρότυπο δημιουργίας DN χρηστών. Θα πρέπει να περιλαμβάνει έναν " "placeholder (π.χ. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Το πεδίο του κωδικού" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Το πεδίο αποθήκευσης των κωδικών χρηστών" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Ο εξυπηρετητής LDAP είναι Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Groups Διαχειριστών" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -236,163 +236,159 @@ msgstr "" "Τα μέλη αυτών των LDAP Posix ομάδων χρηστών θα δημιουργηθούν ως διαχειριστές " "domain. Χρησιμοποιείστε τον χαραχτήρα ';' για να ξεχωρίσετε τις ομάδες." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Τύπος ομάδας" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "Τύπος ομάδας LDAP που χρησιμοποιείται με τον κατάλογο σας." -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Base αναζήτησης ομάδων χρηστών" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "Το Base DN αναζήτησης ομάδων χρηστών" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Ταμπλό Συντομεύσεων" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Κατά παραγγελία RSS feed" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Προβολή κατά παραγγελία RSS feed για μεταπωλητές και διαχειριστές τομέα" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "Κρύβω τις λειτουργίες από τα widget" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" "Κρύβω τις λειτουργίες από τα widget για τους μεταπωλητές και τους " "διαχειριστές του τομέα" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Υπενθύμιση " -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Διεύθυνση αποστολέα" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "Email διεύθυνση που χρησιμοποιείται για την αποστολή υπενθυμίσεων " -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "Δημόσιο API" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Ενεργοποίηση επικοινωνίας" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Ενεργοποίηση επικοινωνίας με δημόσιο API του Modaboa" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Έλεγχος ενημερώσεων" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Αυτόματος έλεγχος διαθέσιμων ενημερώσεων" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Αποστολή στατιστικών" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Αποστολή στατιστικών στο public API του Motaboa (counters και used " "extensions)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Διάφορα" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "Όριο απενεργοποιημένων λογαριασμών " -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "Όριο (σε ημέρες) για να απενεργοποιηθεί ένας Λογαριασμός." -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Μέγιστο διάστημα ελέγχου ειδοποιήσεων" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Διάστημα μεταξύ των δύο πρώτων ελέγχων ειδοποιήσεων (σε δευτερόλεπτα)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Μέγιστος χρόνος καταγραφής των log" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "Μέγιστη διάρκεια σε ημέρες καταγραφής των log" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Εμφανίσεις ανά σελίδα" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Αριθμός εμφανίσεων ανά σελίδα" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Κύριες προκαθορισμένες αναδρομολογήσεις" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" "Προκαθορισμένες αναδρομολογήσεις που χρησιμοποιούνται όταν δεν υπάρχουν " "προκαθορισμένες εφαρμογές" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Το κλειδί πρέπει να είναι μεγέθους 16, 24 ή 32 bytes" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Μη έγκυρη σύνταξη" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Λάθος αριθμός επαναλήψεων " -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Αυτό το πεδίο είναι υποχρεωτικό" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Γενικά" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -412,174 +408,174 @@ msgstr "Μεταπωλητής " msgid "Super administrator" msgstr "Super διαχειριστής" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Όχι" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Όνομα Χρήστη" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Κωδικός" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Παλιός κωδικός" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Νέος κωδικός" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Επιβεβαίωση" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Αναντιστοιχία παλιού κωδικού" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Αναντιστοιχία κωδικών" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Ενεργοποίηση πρόσβασης API" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "πρόσθεσε" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "άλλαξε" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s του χρήστη %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s'%(name)s'%(action)s από" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "Διαγράφηκε" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "Χρήστης {}" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "Εντολή διαχείρισης" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Δεν μπορείτε να διαγράψετε τον δικό σας λογαριασμό" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Υπάρχουν διαθέσιμες ενημερώσεις" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Να επιτρέπεται η πρόσβαση σε γραμματοκιβώτια" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "" "Να επιτρέπεται σε αυτόν τον διαχειριστή η πρόσβαση στα γραμματοκιβώτια " "χρηστών" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "κωδικός" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "Γλώσσα " -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Επιλογή γλώσσας για την εμφάνιση σελίδων." -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Τηλέφωνο" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Δευτερεύον email" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" "Μια εναλλακτική e-mail διεύθυνση, μπορεί να χρησιμοποιηθεί για λόγους " "ανάκτησης." -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "" "Σφάλμα κατά την ενημέρωση του κωδικού: το LDAP module δεν είναι εγκατεστημένο" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "λογαριασμός" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Άγνωστη" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Λάθος γραμμή" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "" "Δεν μπορείτε να εισάγετε έναν λογαριασμό με ρόλο μεγαλύτερο από τον δικό σας" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Ο απλός χρήστης '%s' πρέπει να έχει μια έγκυρη email διεύθυνση" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" "Το όνομα χρήστη και το email δεν μπορεί να είναι διαφορετικά για τον '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα ψηφίο" msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα ψηφίο" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} μικρά γράμματα." msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} μικρά γράμματα." -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} κεφαλαία γράμματα." msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {}  κεφαλαία γράμματα." -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα σπέσιαλ χαρακτήρα." msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα σπέσιαλ χαρακτήρα." -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" "Ο κωδικός πρέπει να περιέχει ένα συνδυασμό από διαφορετικούς τύπους " @@ -635,7 +631,7 @@ msgid "API access token" msgstr "Κωδικός πρόσβασης στο API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Ενημέρωση" @@ -644,7 +640,7 @@ msgstr "Ενημέρωση" msgid "Hello %(user)s." msgstr "Για σου %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Πληροφορίες" @@ -695,7 +691,7 @@ msgstr "Ρόλος" msgid "Last login" msgstr "Τελευταία είσοδος χρήστη" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Καταγραφές" @@ -703,7 +699,7 @@ msgstr "Καταγραφές" msgid "Previously on Modoboa..." msgstr "Πρώην στο Modaboa... " -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Ημερομηνία" @@ -719,7 +715,7 @@ msgstr "Καταχωρητής" msgid "Message" msgstr "Μήνυμα" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Παράμετροι" @@ -736,12 +732,12 @@ msgstr "Αποθήκευση" msgid "Modoboa settings" msgstr "Ρυθμίσεις Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Ρυθμίσεις" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Προτιμήσεις" @@ -753,7 +749,7 @@ msgstr "Προσαρμογή του Modoboa" msgid "No preferences available." msgstr "Δεν υπάρχουν διαθέσιμες προτιμήσεις." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Προφίλ" @@ -761,36 +757,41 @@ msgstr "Προφίλ" msgid "Update your personal information" msgstr "Ενημέρωση προσωπικών πληροφοριών" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Έξοδος" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Το βασικό μέρος του Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Οι παράμετροι αποθηκεύτηκαν" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Επιτυχής είσοδος του χρήστη '%s'" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "Λάθος όνομα χρήστη ή κωδικός. Παρακαλώ δοκιμάστε ξανά." -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Ο χρήστης '{}'  αποσυνδέθηκε επιτυχώς" @@ -811,49 +812,53 @@ msgstr "Το πρόσβαση ενημερώθηκε" msgid "Connection to database %s not configured" msgstr "Δεν έχει ρυθμιστεί η σύνδεση με την βάση δεδομένων %s" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Δεν επιτρέπεται η πρόσβαση: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Δεν επιτρέπεται η πρόσβαση" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Εισάγετε ένα έγκυρο όνομα domain" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Εισαγωγή μιας πραγματικής διεύθυνσης email." -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Αποστολή" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Λάθος αίτημα" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Ναι" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Αποτυχία ενημέρωσης κωδικού: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "Από" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Προς" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Τίτλος" @@ -978,3 +983,14 @@ msgstr "Με εκτίμηση, Η ομάδα του Modaboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Ο κωδικός του Μοdaboa επαναφέρθηκε" + +#~ msgid "Secret key" +#~ msgstr "Μυστικό κλειδί" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "" +#~ "Το κλειδί που χρησιμοποιείται για την κρυπτογράφηση/αποκρυπτογράφηση των " +#~ "κωδικών" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Το κλειδί πρέπει να είναι μεγέθους 16, 24 ή 32 bytes" diff --git a/modoboa/locale/en/LC_MESSAGES/django.po b/modoboa/locale/en/LC_MESSAGES/django.po index 3ff8520f2..bb3de5b56 100644 --- a/modoboa/locale/en/LC_MESSAGES/django.po +++ b/modoboa/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,355 +17,351 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." msgstr "" -#: core/app_settings.py:76 -msgid "Secret key" +#: core/app_settings.py:72 +msgid "Update password scheme" msgstr "" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" msgstr "" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." msgstr "" -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" msgstr "" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." msgstr "" -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -385,167 +381,167 @@ msgstr "" msgid "Super administrator" msgstr "" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -595,7 +591,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "" @@ -604,7 +600,7 @@ msgstr "" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "" @@ -653,7 +649,7 @@ msgstr "" msgid "Last login" msgstr "" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "" @@ -661,7 +657,7 @@ msgstr "" msgid "Previously on Modoboa..." msgstr "" -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "" @@ -677,7 +673,7 @@ msgstr "" msgid "Message" msgstr "" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "" @@ -694,12 +690,12 @@ msgstr "" msgid "Modoboa settings" msgstr "" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "" @@ -711,7 +707,7 @@ msgstr "" msgid "No preferences available." msgstr "" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "" @@ -719,36 +715,41 @@ msgstr "" msgid "Update your personal information" msgstr "" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "" -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "" @@ -769,49 +770,53 @@ msgstr "" msgid "Connection to database %s not configured" msgstr "" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "" diff --git a/modoboa/locale/es/LC_MESSAGES/django.po b/modoboa/locale/es/LC_MESSAGES/django.po index 370800aed..e6e36c1a2 100644 --- a/modoboa/locale/es/LC_MESSAGES/django.po +++ b/modoboa/locale/es/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-06-28 00:40+0000\n" "Last-Translator: Evilham \n" "Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/" @@ -26,59 +26,59 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Perfil de usuario" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Autenticación" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Tipo de autenticación" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Local" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "El sistema usado para autenticación" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Esquema de contraseña por defecto" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (débil)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (débil)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (débil)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (débil)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plano (débil)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Esquema usado para cifrar las contraseñas del mailbox" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Rondas" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -86,83 +86,85 @@ msgstr "" "Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe " "estar entre 1000 y 999999999, incluído." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Clave secreta" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Esquema de contraseña por defecto" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Clave usada para cifrar/descifrar contraseñas" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Contraseña por defecto" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Contraseña por defecto para cuentas creadas automáticamente." -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Modoboa password reset" msgid "Random password length" msgstr "Restauración de contraseña de Modoboa" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Configuración de LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Dirección del servidor" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "La dirección IP del servidor de nombres (DNS) del servidor LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Puerto del servidor" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Número de puerto TCP usado por el servidor LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Usa una conexión segura" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Usa una conexión SSL/TLS para acceder al servidor LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Método de autenticación" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Buscar y unir" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Unión directa" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Elegir el método de autenticación a usar" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Unir a DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -170,29 +172,29 @@ msgstr "" "El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació " "para una unión anónima" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Unir contraseña" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Base para la búsqueda de usuarios" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "" "El distinguido nombre de la búsqueda base usada para encontrar usuarios" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Filtro de búsqueda" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -200,11 +202,11 @@ msgstr "" "Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea " "válido tiene que ser encerrado entre paréntesis." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Plantilla DN del usuario" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -213,27 +215,27 @@ msgstr "" "La plantilla usada para contriunr un DN de usuario. Debería contener una " "cadena reemplazables (p.e. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Atributo de la contraseña" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "El atributo usado para guardar las contraseñas del usuario" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Directorio Activo" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Decir si el servidor de LDAP es uno del tipo Directorio Activo" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Administrador de grupos" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -241,163 +243,159 @@ msgstr "" "Los miembros de esos grupos Posix LDAP serán creados como administradores de " "dominio. Use caracteres \";\" para separar los grupos." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Tipo de grupo" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "El tipo de LDAP para usar en el directorio" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Base para la búsqueda de grupos" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "El distinguido nombre de la búsqueda base usada para encontrar grupos" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Panel de Control" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Agregación RSS personalizada" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Mostrar una fuente de agregación RSS personalizada a revendedores y " "administradores de dominio" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "Ocultar widget de características" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" "Ocultar el widget de características a revendedores y administradores de " "dominio" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Notificaciones" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Dirección del remitente" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "Dirección de email usada para mandar notificaciones" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "API pública" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Establecer comunicación" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Establecer comunicación con la API publica de Modoboa" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Comprobar nuevas versiones" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Verificar automáticamente si hay una nueva versión disponible" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Enviar estadísticas" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Enviar estadísticas a la API pública de Modoboa (contadores y extensiones " "usadas)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Otros" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Intervalo de tiempo para notificaciones superiores" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalo entre dos notificaciones superiores (en segundos)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Máximo tiempo de almacenamiento del log" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "El tiempo máximo de almacenamiento del log en días" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Items por página" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Número de elementos mostrado por página" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Redirección principal por defecto" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" "La redirección que será usada cuando ninguna aplicación sea especificada." -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "La clave debe tener 16, 24 o 32 bytes de longitud" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Sintaxis inválida" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Número de rondas inváldo" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Este campo es obligatorio" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "General" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -417,169 +415,169 @@ msgstr "Revendedor" msgid "Super administrator" msgstr "Super administrador" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "No " -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Nombre de usuario" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Contraseña" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Contraseña anterior" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nueva contraseña" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Confirmación" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "La contraseña no concuerda con la anterior" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Las contraseñas no coinciden" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Habilitar acceso al API" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "añadido" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "modificado" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s por el usuario %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s por el usuario %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "eliminado" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "No puede eliminar su propia cuenta" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Una o más actualizaciones están disponibles" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Permitir acceso al buzón" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "Permitir a este administrador acceso al buzon de los usuarios" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "contraseña" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "idioma" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Idioma preferido para mostrar las páginas" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Numero de telefono " -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Email secundario" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Email alternativo, puede ser usado para recuperación." -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Falló al actualizar la contraseña: módulo LDAP no instalado" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "cuenta" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Desconocido" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Línea inválida" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "No puede importar una cuenta con un rol mayor que el suyo" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "El usuario normal '%s' debe tener una dirección de email válida" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" "Los campos de nombre de usuario y de email no deben ser diferentes para '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "La contraseña debe contener al menos {} dígito." msgstr[1] "La contraseña debe contener al menos {} dígitos." -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "La contraseña debe tener al menos {} minúscula." msgstr[1] "La contraseña debe tener al menos {} minúsculas." -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "La contraseña debe tener al menos {} mayúscula." msgstr[1] "La contraseña debe tener al menos {} mayúsculas." -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "La contraseña debe tener al menos {} carácter especial." msgstr[1] "La contraseña debe tener al menos {} caracteres especiales." -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" "Su contraseña debe contener una combinación de diferentes tipos de carácter." @@ -634,7 +632,7 @@ msgid "API access token" msgstr "Token de acceso a la API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Actualizar" @@ -643,7 +641,7 @@ msgstr "Actualizar" msgid "Hello %(user)s." msgstr "Hola %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Información" @@ -694,7 +692,7 @@ msgstr "Función" msgid "Last login" msgstr "Último acceso" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Logs" @@ -702,7 +700,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Anteriormente en Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Fecha" @@ -718,7 +716,7 @@ msgstr "Logger" msgid "Message" msgstr "Mensaje" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parámetros" @@ -735,12 +733,12 @@ msgstr "Guardar" msgid "Modoboa settings" msgstr "Configuración de Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Configuración" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Preferencias" @@ -752,7 +750,7 @@ msgstr "Personalizar Modoboa" msgid "No preferences available." msgstr "No hay preferencias disponibles." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Perfil" @@ -760,38 +758,43 @@ msgstr "Perfil" msgid "Update your personal information" msgstr "Actualizar su información personal" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Salir" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "El núcleo de Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parámetros guardados" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Usuario '%s' ha entrado con éxito" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "" "Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de " "nuevo." -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Usuario '{}' ha salido con éxito" @@ -812,49 +815,53 @@ msgstr "Acceso actualizado" msgid "Connection to database %s not configured" msgstr "Conexión a la base de datos %s no configurada" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Permiso denegado: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Permiso denegado" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Introduzca un nombre dominio válido" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Intriduzca un email válido" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Enviar" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Petición inválida" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Sí" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "No se ha podido actualizar la contraseña: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "Desde" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Hasta" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Tema" @@ -980,6 +987,15 @@ msgstr "Saludos cordiales, el equipo de Modoboa." msgid "Modoboa password reset" msgstr "Restauración de contraseña de Modoboa" +#~ msgid "Secret key" +#~ msgstr "Clave secreta" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Clave usada para cifrar/descifrar contraseñas" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "La clave debe tener 16, 24 o 32 bytes de longitud" + #~ msgid "First name" #~ msgstr "Nombre" diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po index eaa268007..50edaa30b 100644 --- a/modoboa/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-01-25 09:30+0100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -18,60 +18,60 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Profil utilisateur" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Authentification" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Type d'authentification" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Locale" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Le backend utilisé pour l'authentification" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Méthode de chiffrement par défaut" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (faible)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (faible)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (faible)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (faible)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (faible)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "" "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Tours" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -79,79 +79,79 @@ msgstr "" "Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit " "être compris entre 1000 et 999999999 inclue." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Clé secrète" +#: core/app_settings.py:72 +msgid "Update password scheme" +msgstr "Mettre à jour le chiffrement des mots de passe" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Clé utilisée pour chiffrer/déchiffre les mots de passe" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "Mettre à jour le mot de passe au login pour utiliser le chiffrement par défaut" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Mot de passe par défaut" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Mot de passe par défaut pour les comptes créés automatiquement." -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "Taille d'un mot de passe aléatoire" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "Taille des mots de passe générés aléatoirement." -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Paramètres LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Adresse du serveur" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "L'adresse IP ou le nom DNS du serveur LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Port utilisé par le serveur" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Le port TCP utilisé par le serveur LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Utiliser une connexion sécurisée" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Utiliser une connexion SSL/STARTTLS pour accéder au serveur LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Méthode d'authentification" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Recherche et connexion" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Connexion directe" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Choisir la méthode d'authentification à utiliser" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "ND de connexion" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -159,31 +159,31 @@ msgstr "" "Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser " "vide pour une connexion anonyme" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Mot de passe de connexion" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de " "connexion')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Base de recherche des utilisateurs" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "" "Le nom distinctif de la base de recherche utilisée pour rechercher les " "utilisateurs" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Filtre de recherche" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -191,11 +191,11 @@ msgstr "" "Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être " "valide, il doit être entouré de parenthèses." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Modèle de nom distinctif utilisateur" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -204,27 +204,27 @@ msgstr "" "Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il " "doit contenir un espace réservé (ex. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Attribut 'mot de passe'" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "L'attribut utilisé pour stocker les mots de passe" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Indiquer si le serveur LDAP est un Active Directory ou pas" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Groupes administrateurs" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -233,99 +233,99 @@ msgstr "" "qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les " "groupes." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Type de groupe" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "Le type de groupe LDAP à utiliser avec votre annuaire." -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Base de recherche des groupes" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "" "Le nom distinctif de la base de recherche utilisée pour rechercher les " "groupes" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Tableau de bord" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Flux RSS personnalisé" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Afficher un flux RSS personnalisé aux revendeurs et administrateurs de " "domaine" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "Masquer le widget des fonctionnalités" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" "Masquer le widget des fonctionnalités pour les revendeurs et les " "administrateurs de domaine" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Notifications" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Adresse d'envoi" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "Adresse utilisée pour envoyer les notifications." -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "API publique" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Activer la communication" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Activer la communication avec l'API publique de Modoboa" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Vérifier les nouvelles versions" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Vérifie automatiquement si une nouvelle version est disponible" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Envoyer des statistiques" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Envoyer des statistiques à l'API publique de Modoboa (compteurs et " "extensions utilisées)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Divers" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "Seuil des comptes inactifs" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" @@ -333,67 +333,66 @@ msgstr "" "Un compte avec une date de dernière connexion antérieure à ce seuil sera " "considéré comme inactif" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Intervalle de vérification des notifications" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalle entre deux vérifications de notification (en secondes)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Age maximal d'un enregistrement du journal" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "L'age maximal en jours d'un enregistrement du journal" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Eléments par page" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Nombre d'éléments affichés par page" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Redirection par défaut" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" "La redirection appliquée par défaut quand aucune application n'est spécifiée" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "La longueur d'une clé doit être de 16, 24 ou 32 octets" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Syntaxe invalide" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Nombre invalide de tours" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Ce champ est requis" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Général" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." -msgstr "Vous avez paramétré USE_TZ à False, ce qui peut occasionner des problèmes pendant les transitions heure d'hiver / heure d'été (c'est à dire que la même heure locale arrivera deux fois à cause du changement d'heure)." +msgstr "" +"Vous avez paramétré USE_TZ à False, ce qui peut occasionner des problèmes " +"pendant les transitions heure d'hiver / heure d'été (c'est à dire que la " +"même heure locale arrivera deux fois à cause du changement d'heure)." -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "Mettre `USE_TZ = True` dans settings.py" @@ -413,168 +412,168 @@ msgstr "Revendeur" msgid "Super administrator" msgstr "Super administrateur" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Non" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Nom d'utilisateur" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Mot de passe" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Ancien mot de passe" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nouveau mot de passe" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Confirmation" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "L'ancien mot de passe est incorrect" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Les mots de passe diffèrent" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Activer l'accès API" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "ajouté" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "modifié" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s par l'utilisateur %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s par" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "Supprimé" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "l'utilisateur {}" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "commande de gestion" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Vous ne pouvez pas supprimer votre propre compte" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Une ou plusieurs mises à jour sont disponibles!" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Autoriser l'accès aux boites" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "Autoriser cet administrateur à accéder aux boites des utilisateurs" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "mot de passe" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "langue" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Langage préféré pour afficher les pages" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Numéro de téléphone" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Email secondaire" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Une adresse e-mail alternative ou de secours." -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "" "Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "compte" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Inconnu" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Ligne invalide" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Vous ne pouvez pas importer un compte avec un rôle supérieur au votre" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "L'utilisateur simple '%s' doit avoir une adresse email valide" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "Les champs username et email de '%s' ne doivent pas différer" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Le mot de passe doit contenir au moins {} chiffre." msgstr[1] "Le mot de passe doit contenir au moins {} chiffres." -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Le mot de passe doit contenir au moins {} minuscule." msgstr[1] "Le mot de passe doit contenir au moins {} minuscules." -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Le mot de passe doit contenir au moins {} majuscule." msgstr[1] "Le mot de passe doit contenir au moins {} majuscules." -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Le mot de passe doit contenir au moins {} caractère spécial." msgstr[1] "Le mot de passe doit contenir au moins {} caractères spéciaux." -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" "Votre mot de passe doit contenir une combinaison de différents types de " @@ -630,7 +629,7 @@ msgid "API access token" msgstr "Jeton d'accès à l'API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Mettre à jour" @@ -639,7 +638,7 @@ msgstr "Mettre à jour" msgid "Hello %(user)s." msgstr "Bonjour %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Information" @@ -689,7 +688,7 @@ msgstr "Rôle" msgid "Last login" msgstr "Dernière connexion" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Journaux" @@ -697,7 +696,7 @@ msgstr "Journaux" msgid "Previously on Modoboa..." msgstr "Précédemment dans Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Date" @@ -713,7 +712,7 @@ msgstr "Logger" msgid "Message" msgstr "Message" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Paramètres" @@ -730,12 +729,12 @@ msgstr "Enregistrer" msgid "Modoboa settings" msgstr "Paramètres de Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Configuration" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Préférences" @@ -747,7 +746,7 @@ msgstr "Personnalisez Modoboa" msgid "No preferences available." msgstr "Aucune préférence disponible." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profil" @@ -755,38 +754,43 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Mettez à jour vos informations personnelles" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Déconnexion" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Le coeur de Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Paramètres enregistrés" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "Chiffrement non concordant. Mise à jour du mot de passe de %s" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Utiliseur '%s' connecté avec succès" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "" "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez " "réessayer." -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Utilisateur '{}' déconnecté avec succès" @@ -807,49 +811,53 @@ msgstr "Accès mis à jour" msgid "Connection to database %s not configured" msgstr "Connexion à la base de données %s non configurée" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "impossible de trouver l'encodage de la chaîne de caractère" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Permission refusée : %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Permission refusée" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Entrer un nom de domaine valide" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Entrez une adresse email valide." -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Soumettre" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Requête invalide" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Oui" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Impossible de mettre à jour le mot de passe : {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "De" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "À" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Sujet" @@ -975,3 +983,12 @@ msgstr "Cordialement, l'équipe Modoboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Réinitialisation du mot de passe Modoboa" + +#~ msgid "Secret key" +#~ msgstr "Clé secrète" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Clé utilisée pour chiffrer/déchiffre les mots de passe" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "La longueur d'une clé doit être de 16, 24 ou 32 octets" diff --git a/modoboa/locale/it/LC_MESSAGES/django.po b/modoboa/locale/it/LC_MESSAGES/django.po index 1bc39faa8..b97dcb570 100644 --- a/modoboa/locale/it/LC_MESSAGES/django.po +++ b/modoboa/locale/it/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2015-10-11 11:47+0000\n" "Last-Translator: Rocco \n" "Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" @@ -20,62 +20,62 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Profilo" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Autenticazione" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Tipo di autenticazione" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Locale" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Il backend utilizzato per l'autenticazione" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Schema password predefinito" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (debole)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (debole)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (debole)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (debole)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (debole)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "" "Schema utilizzato per la criptazione delle password delle caselle di posta" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Cicli" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -83,85 +83,87 @@ msgstr "" "Numero di cicli da utilizzare (valido per sha256crypt e sha512crypt). " "Dev'essere tra 1000 e 999999999, inclusivo." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Chiave segreta" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Schema password predefinito" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Chiave utilizzata per criptare/decriptare le password" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Schema password predefinito" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Password del collegamento" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Impostazioni LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Indirizzo del server" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "L'indirizzo IP associato al DNS name del server LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Porta del server" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Il numero della porta TCP utilizzata dal server LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Usa una connessione sicura" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Utilizza una connessione SSL/TLS per accedere al server LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Metodo di autenticazione" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Cerca e collega" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Collegamento diretto" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Scegli il metodo di autenticazione da usare" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "collega DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -169,31 +171,31 @@ msgstr "" "Nome particolare da usare quando ci si collega al server LDAP. Lasciare " "vuoto per un collegamento anonimo" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Password del collegamento" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "La password da utilizzare quando ci si collega al server LDAP (con 'Collega " "DN')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Base ricerca per gli utenti" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "" "L'identificativo (dn:) della base di ricerca utilizzata per cercare gli " "utenti" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Filtro ricerca" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -201,11 +203,11 @@ msgstr "" "Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere " "valida deve essere racchiusa tra parentesi." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Modello DN dell'utente" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -214,27 +216,27 @@ msgstr "" "Il modello utilizzato per comporre un DN dell'utente. Deve contenere un " "segnaposto (p.es. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Attributo della password" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "L'attributo utilizzato per memorizzare le password dell'utente" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Segnala se il server LDAP è una Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Gruppi degli amministratori" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -243,165 +245,161 @@ msgstr "" "amministratori di dominio. Utilizza il carattere ';' per separare valori " "multipli." -#: core/app_settings.py:212 +#: core/app_settings.py:209 #, fuzzy #| msgid "Group name" msgid "Group type" msgstr "Nome gruppo" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Base ricerca per i gruppi" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "" "L'identificatore (dn:) della base di ricerca utilizzato per trovare i gruppi" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 #, fuzzy #| msgid "Applications" msgid "Notifications" msgstr "Applicazioni" -#: core/app_settings.py:250 +#: core/app_settings.py:247 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Indirizzo del server" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Controlla nuove versioni" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Controlla automaticamente se è disponibile una nuova versione" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Miscellanea" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Intervallo per nofifiche importanti" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervallo tra due nuove notifiche importanti (in secondi)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Età massima dei log" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "La persistenza massima in giorni dei log" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Elementi per pagina" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Numero degli elementi visualizzati in ciascuna pagina" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Reindirizzamento principale predefinito" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" "Redirezione predefinita utilizzata quando non è specificata alcuna " "applicazione" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "La chiave può essere lunga solo 16, 24 o 32 bytes" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Sintassi errata" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Numero di cicli non valido" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Questo campo è obbligatorio" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Generale" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -423,173 +421,173 @@ msgstr "" msgid "Super administrator" msgstr "Super amministratore" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "No" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Nome utente" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Password" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Vecchia password" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nuova password" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Conferma" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "La vecchia password non corrisponde" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "La password non corrisponde" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "aggiunto" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "modificato" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s dell'utente %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s dell'utente %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "cancellato" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Non puoi cancellare il tuo account" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Sono disponibili nuovi aggiornamenti" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Consenti l'accesso alle caselle di posta" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "" "Permetti agli amministratori di accedere alle caselle di posta degli utenti" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "password" -#: core/models.py:66 +#: core/models.py:65 #, fuzzy #| msgid "Prefered language" msgid "language" msgstr "Lingua preferita" -#: core/models.py:69 +#: core/models.py:68 #, fuzzy #| msgid "Prefered language to display pages" msgid "Prefered language to display pages." msgstr "Lingua preferita per mostrare le pagine" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Aggiornamento della password fallito: il modulo LDAP non è installato" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "account" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Riga non valida" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Non puoi importare un account con un ruolo superiore al tuo" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "L'utente '%s' deve avere un indirizzo email valido" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "I campi nome utente e email di '%s' devono avere lo stesso valore" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -639,7 +637,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Aggiorna" @@ -648,7 +646,7 @@ msgstr "Aggiorna" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Informazioni" @@ -699,7 +697,7 @@ msgstr "" msgid "Last login" msgstr "Ultimo login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Log" @@ -707,7 +705,7 @@ msgstr "Log" msgid "Previously on Modoboa..." msgstr "Precedentemente su Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Data" @@ -723,7 +721,7 @@ msgstr "Logger" msgid "Message" msgstr "Messaggio" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parametri" @@ -740,12 +738,12 @@ msgstr "Salva" msgid "Modoboa settings" msgstr "Impostazioni Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Impostazioni" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Preferenze" @@ -759,7 +757,7 @@ msgstr "Personalizza Modoboa" msgid "No preferences available." msgstr "Preferenze salvate" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profilo" @@ -767,36 +765,41 @@ msgstr "Profilo" msgid "Update your personal information" msgstr "Aggiorna le informazioni personali" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Esci" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Parte centrale di Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parametri salvati" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "L'utente '%s? è correttamente registrato" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "Il tuo username e/o la tua password non corrispondono. Riprova." -#: core/views/auth.py:88 +#: core/views/auth.py:107 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" @@ -821,53 +824,57 @@ msgstr "Profilo aggiornato" msgid "Connection to database %s not configured" msgstr "La connessione con il database %s non è configurata" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Accesso negato: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Accesso negato" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Inserisci un nome di dominio valido" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Inserisci un nome di dominio valido" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Invia" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Richiesta non valida" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Si" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 #, fuzzy #| msgid "Failed to update password: %s" msgid "Failed to update password: {}" msgstr "Aggiornamento della password fallito: %s" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Oggetto" @@ -984,6 +991,15 @@ msgstr "" msgid "Modoboa password reset" msgstr "" +#~ msgid "Secret key" +#~ msgstr "Chiave segreta" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Chiave utilizzata per criptare/decriptare le password" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "La chiave può essere lunga solo 16, 24 o 32 bytes" + #, fuzzy #~| msgid "Group name" #~ msgid "First name" diff --git a/modoboa/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/locale/ja_JP/LC_MESSAGES/django.po index 43dd48b08..f9db1ed23 100644 --- a/modoboa/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/locale/ja_JP/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2016-09-14 17:06+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -20,61 +20,61 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "プロフィール" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "認証" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "認証の種類" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "ローカル" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "認証に使用されるバックエンド" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "デフォルトのパスワードハッシュ" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (弱い)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (弱い)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (弱い)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (弱い)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (弱い)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "ハッシュは、メールボックスパスワードを暗号化するのに使われます" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "ラウンド" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -82,85 +82,87 @@ msgstr "" "ラウンド数は(sha256crypt と sha512crypt だけで)使用しています。\n" "1000 から 999999999 の間でなければなりません。" -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "シークレットキー" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "デフォルトのパスワードハッシュ" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "キーは、パスワードを暗号化/復号化はするために使用されます。" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "デフォルトのパスワードハッシュ" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Bind パスワード" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "LDAP 設定" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "サーバーアドレス" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "LDAP サーバーの IP アドレス、または DNS 名" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "サーバーポート" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "LDAP サーバーの TCP ポート番号" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "セキュアな接続を使う" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "LDAP サーバーへの接続に SSL/TLS 接続を使う" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "認証方法" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "検索と Bind" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Bind" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "使用する認証方式を選択します" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -168,28 +170,28 @@ msgstr "" "LDAPサーバにバインドするときの識別名に使用します。\n" "匿名バインドのときは空のままにします。" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Bind パスワード" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "(\"Bind DN\" を使って) LDAPサーバにバインドするときに使用するパスワード" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "ユーザーの検索ベース" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "ユーザーを見つけるために使用される検索ベースの識別名(DN)" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "検索フィルター" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -197,11 +199,11 @@ msgstr "" "オプションのフィルタ文字列 (例えば \"(objectClass=person)\") \n" "有効であるためには、括弧で囲まなければなりません。" -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "ユーザー DN テンプレート" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -210,27 +212,27 @@ msgstr "" "ユーザーDNを作るために使用されるテンプレート。1つのプレースホルダ (%(user)s)" "が含まれている必要があります。" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "パスワード属性" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "ユーザーパスワードを格納するための属性" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "LDAP サーバーが Active Directory かどうか" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "管理者グループ" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -239,158 +241,154 @@ msgstr "" "す。\n" "\";\" 文字を使って、複数グループを書けます。" -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "グループ種類" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "ディレクトリで使用されている LDAP グループの種類" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "グループの検索ベース" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "グループを見つけるために使用される検索ベースの識別名(DN)" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "通知" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "送信者アドレス" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "通知の送信に使われる電子メールアドレス" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "新しいバージョンをチェックする" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "新しいバージョンが利用可能かどうか、自動的にチェックする" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "その他" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "トップの通知をチェックする間隔" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "2つのトップの通知チェックの間隔 (秒)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "最大ログ記録期間" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "ログを記録する日数の最大期間" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "ページあたりの件数" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "ページあたりに表示される項目の数" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "デフォルトのリダイレクト先" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" "アプリケーションが指定されていないときのデフォルトのリダイレクト先に使用され" "ます" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "キーは、16, 24, 32 バイトのいずれかの長さでなければいけません" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "不正な構文" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "不正なラウンド数" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "このフィールドは必須です" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "全般" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -410,167 +408,167 @@ msgstr "リセーラー" msgid "Super administrator" msgstr "全体管理者" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "いいえ" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "ユーザ名" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "パスワード" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "現在のパスワード" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "新しいパスワード" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "確認" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "現在のパスワードが一致しません" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "パスワード不一致" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "API アクセスを有効にします" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "追加しました" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "修正しました" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s by ユーザー %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s by ユーザー %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "削除しました" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "あなた自身のアカウントは削除できません" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "1つ以上のアップデートが利用できます" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "メールボックスのアクセスを許可する" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "ユーザーのメールボックスアクセスをこの管理者に許可する" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "パスワード" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "ページの表示に優先言語を使う" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "電話番号" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "2つめの電子メール" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "別の電子メールアドレスは、回復の必要のために使用することができます。" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "" "パスワードの更新に失敗しました : LDAP モジュールがインストールされていませ" "ん。" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "アカウント" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "不正な行" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "あなた以上のロールを持ったアカウントはインポートできません" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "" "ユーザー \"%s\" は、正しい電子メールアドレスを持っていなければいけません" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "\"%s\" のユーザー名と電子メールフィールドが同一である必要があります。" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -620,7 +618,7 @@ msgid "API access token" msgstr "API アクセストークン" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "更新" @@ -629,7 +627,7 @@ msgstr "更新" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "情報" @@ -680,7 +678,7 @@ msgstr "" msgid "Last login" msgstr "最終ログイン" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "ログ" @@ -688,7 +686,7 @@ msgstr "ログ" msgid "Previously on Modoboa..." msgstr "Modoboa 以前 ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "日付" @@ -704,7 +702,7 @@ msgstr "ロガー" msgid "Message" msgstr "メッセージ" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "パラメータ" @@ -721,12 +719,12 @@ msgstr "保存" msgid "Modoboa settings" msgstr "Modoboa 設定" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "設定" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "プリファレンス" @@ -738,7 +736,7 @@ msgstr "Modoboa のカスタマイズ" msgid "No preferences available." msgstr "プリファレンスがありません" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "プロフィール" @@ -746,36 +744,41 @@ msgstr "プロフィール" msgid "Update your personal information" msgstr "個人情報を更新します" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "ログアウト" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Modoboaのコア部分" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "パラメータが保存されました" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "ユーザー \"%s\" がログインに成功しました" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "ユーザー名とパスワードが一致しません。やり直してください。" -#: core/views/auth.py:88 +#: core/views/auth.py:107 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" @@ -798,49 +801,53 @@ msgstr "アクセスが更新されました" msgid "Connection to database %s not configured" msgstr "データベース %s への接続が構成されていません" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "アクセス拒否: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "アクセス拒否" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "正しいドメイン名を入力してください" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "正しいメールアドレスを入力してください" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "送信" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "不正なリクエスト" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "はい" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "パスワードの更新に失敗しました: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "件名" @@ -957,6 +964,15 @@ msgstr "" msgid "Modoboa password reset" msgstr "" +#~ msgid "Secret key" +#~ msgstr "シークレットキー" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "キーは、パスワードを暗号化/復号化はするために使用されます。" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "キーは、16, 24, 32 バイトのいずれかの長さでなければいけません" + #, fuzzy #~| msgid "Group name" #~ msgid "First name" diff --git a/modoboa/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/locale/nl_NL/LC_MESSAGES/django.po index 6d4337c77..0a563b558 100644 --- a/modoboa/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/locale/nl_NL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2014-12-31 11:37+0000\n" "Last-Translator: TuxBrother \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -20,61 +20,61 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Profiel" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Authenticatie" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Authenticatie type" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Lokaal" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "De backend gebruikt voor authenticatie" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Standaard wachtwoord encryptiemethode" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (zwak)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (zwak)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (zwak)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (zwak)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (onversleuteld!)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Schema dat gebruikt word om mailbox wachtwoorden te versleutelen" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Rondes" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -82,85 +82,87 @@ msgstr "" "Nummer van te gebruiken randomizeringsrondes (alleen bij sha256crypt en " "sha512crypt). Moet tussen de 1000 en 999999999 liggen." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Geheime sleutel" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Standaard wachtwoord encryptiemethode" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Code die gebruikt word om wachtwoorden te versleutelen/ontsleutelen" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Standaard wachtwoord encryptiemethode" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Koppel wachtwoord" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "LDAP instellingen" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Server adres" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "Het IP adres of de DNS naam van LDAP server" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Server poort" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Het TCP poortnummer gebruikt door de LDAP server" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Gebruik een beveiligde verbinding" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Gebruik een SSL/TLS verbinding met de LDAP server" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Authenticatie methode" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Zoeken en koppelen" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Directe koppeling" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Kies een authenticatie methode om te gebruiken" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Koppeling DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -168,29 +170,29 @@ msgstr "" "De gedistingeerde naam om te gebruiken bij het koppeling met de LDAP server. " "Laat leeg voor een anonieme koppeling." -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Koppel wachtwoord" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Het wachtwoord om te gebruiken tijdens het koppelen met de LDAP server (met " "'koppel DN')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Gebruikers zoekbasis" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "De gedistingeerde naam van de zoekbasis om gebruikers te vinden" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Zoek filter" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -198,11 +200,11 @@ msgstr "" "Een optionele filter string (zoals '(objectClass=person)'). Om geldig te " "kunnen zijn, moet het ingesloten zijn tussen haakjes." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Gebruiker DN template" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -211,27 +213,27 @@ msgstr "" "Het template dat gebruikt word om een gebruiker zijn/haar DN op te bouwen. " "Het moet een placeholder bevatten (bijvoorbeeld. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Wachtwoord attribuut" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Dit attribuut word gebruikt om wachtwoorden op te slaan" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "De LDAP server is een Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Administrator groepen" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -239,166 +241,162 @@ msgstr "" "Leden van deze LDAP POSIX groepen zullen aangemaakt worden als domein " "administrators. Gebruik ';' karakters om groepen te scheiden." -#: core/app_settings.py:212 +#: core/app_settings.py:209 #, fuzzy #| msgid "Group name" msgid "Group type" msgstr "Groep naam" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Groepen zoek basis" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "De gedistingeerde naam van de zoekbasis om groepen te vinden" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 #, fuzzy #| msgid "Authentication" msgid "Notifications" msgstr "Authenticatie" -#: core/app_settings.py:250 +#: core/app_settings.py:247 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Server adres" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Controleer of er een nieuwe versie beschikbaar is" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Automatische controle voor nieuwe versies" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Diversen" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Top notificaties controle interval" -#: core/app_settings.py:297 +#: core/app_settings.py:294 #, fuzzy #| msgid "Interval between two top notification checks" msgid "Interval between two top notification checks (in seconds)" msgstr "Interval tussen twee top notificatie checks" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Maximum bewaartijd van logs" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "De maximum bewaartijd in dagen van een log record" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Items per pagina" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Hoeveelheid items per pagina" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Standaard top omleiding" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" "De standaard omleiding die gebruikt word als er geen andere applicatie is " "opgegeven" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Sleutelwaarde moet 16, 24 of 32 bytes lang zijn" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Ongeldige zinsbouw" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Ongeldig nummer van rondes" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Dit veld is benodigd" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Algemeen" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -420,174 +418,174 @@ msgstr "" msgid "Super administrator" msgstr "Hoofdbeheerder" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Nee" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Gebruikersnaam" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Wachtwoord" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Oud wachtwoord" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nieuw wachtwoord" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Bevestiging" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Oud wachtwoord komt niet overeen" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Wachtwoorden komt niet overeen" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "toegevoegd" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "veranderd" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s door gebruiker %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s door gebruiker %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "verwijderd" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "U kunt uw eigen account niet verwijderen" -#: core/handlers.py:138 +#: core/handlers.py:135 #, fuzzy #| msgid "An update is available!" msgid "One or more updates are available" msgstr "Er is een update beschikbaar!" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "wachtwoord" -#: core/models.py:66 +#: core/models.py:65 #, fuzzy #| msgid "Prefered language" msgid "language" msgstr "Voorkeurs taal" -#: core/models.py:69 +#: core/models.py:68 #, fuzzy #| msgid "Prefered language to display pages" msgid "Prefered language to display pages." msgstr "Voorkeurstaal om pagina's weer te geven" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Mislukt om wachtwoord aan te passen: LDAP module niet geinstalleerd" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "account" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Verkeerde regel" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "U kunt geen accounts importeren met hogere rechten dan die van uzelf." -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "De gebruiker '%s' moet een geldig email adres hebben" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "gebruikersnaam en email velden moeten niet verschillen van '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -637,7 +635,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Toepassen" @@ -646,7 +644,7 @@ msgstr "Toepassen" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Informatie" @@ -701,7 +699,7 @@ msgstr "" msgid "Last login" msgstr "Laatste login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Logs" @@ -709,7 +707,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Vorige gebeurtenissen op Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Datum" @@ -725,7 +723,7 @@ msgstr "Logger" msgid "Message" msgstr "Bericht" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parameters" @@ -742,12 +740,12 @@ msgstr "Opslaan" msgid "Modoboa settings" msgstr "Instellingen van Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Instellingen" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Voorkeuren" @@ -761,7 +759,7 @@ msgstr "Modoboa aanpassen" msgid "No preferences available." msgstr "Voorkeuren opgeslagen" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profiel" @@ -769,40 +767,45 @@ msgstr "Profiel" msgid "Update your personal information" msgstr "Persoonlijke informatie aanpassen" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Uitloggen" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "" -#: core/utils.py:35 +#: core/utils.py:36 #, fuzzy #| msgid "Welcome to Modoboa" msgid "The core part of Modoboa" msgstr "Welkom bij Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parameters opgeslagen" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Gebruiker '%s' successvol aangemeld" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "" "Uw gebruikersnaam en wachtwoord komen niet overeen. Probeer het " "alstublieftopnieuw." -#: core/views/auth.py:88 +#: core/views/auth.py:107 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" @@ -827,53 +830,57 @@ msgstr "Profiel aangepast" msgid "Connection to database %s not configured" msgstr "Verbinding naar database %s niet ingesteld" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Toegang geweigerd: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Toegang geweigerd" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Vul een geldige domeinnaam in" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Vul een geldig email adres in" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Versturen" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Ongeldig verzoek" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Ja" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 #, fuzzy #| msgid "Failed to update password: %s" msgid "Failed to update password: {}" msgstr "Mislukt om wachtwoord aan te passen: %s" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "Van" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "aan" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Onderwerp" @@ -990,6 +997,15 @@ msgstr "Met vriendelijke groet, het Modoboa Team" msgid "Modoboa password reset" msgstr "Modoboa wachtwoord reset" +#~ msgid "Secret key" +#~ msgstr "Geheime sleutel" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Code die gebruikt word om wachtwoorden te versleutelen/ontsleutelen" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Sleutelwaarde moet 16, 24 of 32 bytes lang zijn" + #, fuzzy #~| msgid "Group name" #~ msgid "First name" diff --git a/modoboa/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/locale/pl_PL/LC_MESSAGES/django.po index 6f7e3e5a0..bb4969809 100644 --- a/modoboa/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/locale/pl_PL/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-12-02 18:56+0000\n" "Last-Translator: Tomasz Proć \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -25,59 +25,59 @@ msgstr "" "%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" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Profil użytkownika" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Autentykacja" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Typ autentykacji" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Wewnętrzne" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Backend używany do autentykacji" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Domyślny schemat hasła" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (weak)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (słabe)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (słabe)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (słabe)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (słabe)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Schemat używany do szyfrowania haseł do skrzynek" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Rund" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -85,79 +85,81 @@ msgstr "" "Liczba rund (tylko dla sha256crypt i sha512crypt). Musi się zawierać " "pomiędzy 1000 a 999999999 włącznie." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Secret key" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Domyślny schemat hasła" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Klucz do szyfrowania/deszyfrowania haseł" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Domyślne hasło" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Domyślne hasło dla automatycznie dodawanych kont." -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "Długość losowego hasła" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "Długość losowo wygenerowanego hasła" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Ustawienia LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Adres serwera" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP lub nazwa DNS serwera LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Port" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Port TCP używany przez LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Użyj połączenia bezpiecznego" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Użyj SSL/STARTTLS dla połączenia z serwerem LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Metoda autentykacji" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Wyszukaj i powiąż" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Bezpośrednie powiązanie" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Wybierz metode autentykacji" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Przypnij do DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -165,37 +167,37 @@ msgstr "" "DN do użycia przy połączeniu do LDAP'a. Zostaw puste dla anonimowego " "podłączenia" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Hasło" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "Hasło używane do połdłączenia do LDAP'a (z wskazanym DN)" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Wyszukiwania użytkowników" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Filtr wyszukiwania" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." msgstr "Użyj szablonu DN" -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Użyj szablonu DN" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -204,27 +206,27 @@ msgstr "" "Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden " "symbol zastępczy (np. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Atrybut hasła" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Atrybut używany do przechowywania haseł użytkowników" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Czy LDAP jest Active Directory " -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Administrator grup" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -232,93 +234,93 @@ msgstr "" "Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny. " "Użyj znaku ';' jako separatora grup." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Typ grupy" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "Typ grupy LDAP do wykorzystania z Twoim katalogiem." -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Wyszukiwarka grup" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Panel główny" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Spersonalizowany kanał RSS" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "Ukryj kontrolki opcji" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "Ukryj kontrolki opcji dla administratorów domeny i resellerów" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Powiadomienia" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Adres nadawcy" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "Adres e-mail używany do wysyłania powiadomień" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "Publiczne API" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Włącz komunikację" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Włącz komunikację z publicznym API Modoboa" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Sprawdź nowe wersje" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Automatycznie sprawdzaj czy nowa wersja jest dostępna" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Wyślij statystyki" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Prześlij statystyki do publicznego API Modoboa (licznik i użyte rozszerzenia)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Różne" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "Próg nieaktywności konta" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" @@ -326,66 +328,62 @@ msgstr "" "Konto z datą ostatniego logowania większą niż podany próg (w dniach) " "zostanie uznane za nieaktywne. " -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Odstęp pomiędzy powiadomieniami " -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Odstęp pomiędzy dwoma powiadomieniami (w sek.)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Max wiek wpisu w logu" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "Max wiek w dniach dla wpisu w logu" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Elementów na stronie" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Liczba wyświetlanych elementów na stronie" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Domyślne górne przekierowanie" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Długość klucza musi wynosić 16, 24 lub 32 bajtów" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Nieprawidłowa składnia" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Nieprawidłowa liczba rund" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "To pole jest obowiązkowe" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Ogólne" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -405,143 +403,143 @@ msgstr "Reseller" msgid "Super administrator" msgstr "Super administrator" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Nie" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Nazwa użytkownika" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Hasło" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Stare hasło" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nowe hasło" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Potwierdzenie" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Niezgodność ze starym gasłem" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Niezgodność haseł" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Włądze dostęp API" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "dodano" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "zmodyfikowano" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s przez użytkownika %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s przez" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "usunięto" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "użytkownik {}" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "polecenie zarządzania" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Nie możesz usunąć własnego konta" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Jedna lub więcej aktualizacji jest dostępnych" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Zezwól na dostęp do skrzynek" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "Zezwól temu administratorowi na dostęp do skrzynek użytkowników" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "hasło" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "Język" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Preferowany język" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Numer telefonu" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Zapasowy email" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Alternatywny email, może zostać użyty do odzyskania hasła" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Nieudana zmiana hasła: moduł LDAP nie został zainstalowany" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "konto" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Nieznany" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Niepoprawna linia" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Nie możesz zaimportować konta z rolą wyższą od własnej" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Prosty uzytkownik '%s' musi posiadać prawidłowy adres email" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "pola nazwa użytkownika i email nie mogą się różnić dla '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Hasło musi zawierać przynajmniej {} cyfrę." @@ -549,7 +547,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} cyfry." msgstr[2] "Hasło musi zawierać przynajmniej {} cyfr." msgstr[3] "Hasło musi zawierać przynajmniej {} cyfr." -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Hasło musi zawierać przynajmniej {} małą literę." @@ -557,7 +555,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} małe litery." msgstr[2] "Hasło musi zawierać przynajmniej {} małych liter." msgstr[3] "Hasło musi zawierać przynajmniej {} małych liter." -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Hasło musi zawierać przynajmniej {} duża literę." @@ -565,7 +563,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} duże litery." msgstr[2] "Hasło musi zawierać przynajmniej {} dużych liter." msgstr[3] "Hasło musi zawierać przynajmniej {} dużych liter." -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Hasło musi zawierać przynajmniej {} znak specjalny." @@ -573,7 +571,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} znaki specjalne." msgstr[2] "Hasło musi zawierać przynajmniej {} znaków specjalnych." msgstr[3] "Hasło musi zawierać przynajmniej {} znaków specjalnych." -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "Hasło musi zawierać kombinację różnych typów znaków." @@ -627,7 +625,7 @@ msgid "API access token" msgstr "Token dostępowy do API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Aktualizuj" @@ -636,7 +634,7 @@ msgstr "Aktualizuj" msgid "Hello %(user)s." msgstr "Cześć %(user)s" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Informacja" @@ -686,7 +684,7 @@ msgstr "Rola" msgid "Last login" msgstr "Ostatnio zalogowany" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Logi" @@ -694,7 +692,7 @@ msgstr "Logi" msgid "Previously on Modoboa..." msgstr "Poprzednio w Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Data" @@ -710,7 +708,7 @@ msgstr "Logger" msgid "Message" msgstr "Wiadomość" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parametry" @@ -727,12 +725,12 @@ msgstr "Zapisz" msgid "Modoboa settings" msgstr "Ustawienia Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Ustawienia" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Preferencja" @@ -744,7 +742,7 @@ msgstr "Dostosuj Modoboa" msgid "No preferences available." msgstr "Brak dostępnych preferencji." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profil" @@ -752,36 +750,41 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Aktualizuj swoje dane osobowe" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Wyloguj" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Zasadnicza część Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parametry zapisano" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Użytkownik '%s' pomyślnie zalogowany" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "Twoja nazwa użytkownika i hasło są niepoprawne. Spróbuj ponownie" -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Użytkownik '{}' wylogowany pomyślnie" @@ -802,49 +805,53 @@ msgstr "Dostęp zaktualizowany" msgid "Connection to database %s not configured" msgstr "Połączenie do bazy danych %s nie zostało skonfigurowane" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Odmowa dostepu: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Dostęp zabroniony" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Wprowadź prawidłową nazwę domeny" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Wprowadź prawidłowy adres email" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Temat" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Nieprawidłowe żądanie" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "tak" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Nieudana zmiana hasła: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "Od" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Do" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Temat" @@ -968,3 +975,12 @@ msgstr "Z poważaniem, Zespół Modoboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Resetowanie hasła Modoboa" + +#~ msgid "Secret key" +#~ msgstr "Secret key" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Klucz do szyfrowania/deszyfrowania haseł" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Długość klucza musi wynosić 16, 24 lub 32 bajtów" diff --git a/modoboa/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/locale/pt_BR/LC_MESSAGES/django.po index 3d1abf1c1..f96097926 100644 --- a/modoboa/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # csmk, 2014 # Ian Moone, 2016 @@ -19,365 +19,379 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" +"language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Perfil do usuário" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Autenticação" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Tipo de autenticação" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Local" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "O backend usado para autenticação" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Esquema padrão de senha" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (fraca)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (fraca)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (fraca)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (fraca)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (fraca)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Esquema usado para criptografar as senhas das caixas de correio" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Ciclos" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." -msgstr "Número de ciclos a ser usado (utilizado apenas por sha256crypt e sha512crypt). Deve estar entre 1000 e 999999999, inclusive." +msgstr "" +"Número de ciclos a ser usado (utilizado apenas por sha256crypt e " +"sha512crypt). Deve estar entre 1000 e 999999999, inclusive." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Chave secreta" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Esquema padrão de senha" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Chave utilizada para encriptar/desencriptar senhas" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Senha padrão" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Senha padrão para contas criadas automaticamente." -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "Tamanho de senha aleatório" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Configurações do LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Endereço do servidor" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "O endereço IP do nome DNS do servidor LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Porta do servidor" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "O número da porta TCP usada pelo servidor LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Usar conexão segura" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Usar uma conexão SSL/STARTTLS para acessar o servidor LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Método de autenticação" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Pesquisar e vincular" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Vinculação direta" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Escolha o método de autenticação para usar" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Vincular DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" -msgstr "O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para vincular anonimamente" +msgstr "" +"O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para " +"vincular anonimamente" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Vincular senha" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "A senha usada quando vincular ao servidor LDAP (com 'Vincular DN')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Base de pesquisa de usuários" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "O nome distinto da base de pesquisa usada para encontrar usuários" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Filtro de pesquisa" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." -msgstr "Uma string opcional de filtro (por ex: '(objectClass=person)'). Para ser válida, deve estar entre parênteses." +msgstr "" +"Uma string opcional de filtro (por ex: '(objectClass=person)'). Para ser " +"válida, deve estar entre parênteses." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Usar template DN" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "A template usada para construir um DN de usuário. Deve conter um placeholder (por ex: %(user)s)" +msgstr "" +"A template usada para construir um DN de usuário. Deve conter um placeholder " +"(por ex: %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Atributo de senha" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "O atributo usado para armazenar senhas de usuários" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Informe se o servidor LDAP é um Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Grupos de administradores" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" -"Members of those LDAP Posix groups will be created as domain administrators." -" Use ';' characters to separate groups." -msgstr "Membros dos grupos do LDAP Posix serão criados como administradores de domínio. Use o caractere ';' para separar grupos." +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Membros dos grupos do LDAP Posix serão criados como administradores de " +"domínio. Use o caractere ';' para separar grupos." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Tipo de grupo" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "O tipo de grupo LDAP para ser usado em seu diretório." -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Base de pesquisa de grupos" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "O nome distinto da base de pesquisa usada para encontrar grupos" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Painel" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Feed RSS personalizado" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" -msgstr "Mostrar um feed RSS personalizado para revendedores e administradores de domínio" +msgstr "" +"Mostrar um feed RSS personalizado para revendedores e administradores de " +"domínio" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Notificações" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Endereço do remente" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "Endereço de e-mail usado para enviar notificações." -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "API Pública" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Habilitar comunicação" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Habilitar comunicação com API pública do Modoboa" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Verificar novas versões" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Verificar automaticamente se uma nova versão está disponível" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Enviar estatísticas" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" -msgstr "Enviar estatísticas à API pública do Modoboa (contadores e extensões utilizadas)" +msgstr "" +"Enviar estatísticas à API pública do Modoboa (contadores e extensões " +"utilizadas)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Diversos" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" -"An account with a last login date greater than this threshold (in days) will" -" be considered as inactive" +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Intervalo de verificação de verificações de topo" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalo entre checagem de notificações (em segundos)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Idade máxima do registro de log" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "A idade máxima em dias de um registro de log" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Itens por página" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Número de itens exibidos por página" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Redirecionamento de topo padrão" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" -msgstr "O redirecionamento padrão usado quando nenhuma aplicação é especificada" +msgstr "" +"O redirecionamento padrão usado quando nenhuma aplicação é especificada" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "A chave deve ter 16, 24 ou 32 bytes de tamanho" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Sintaxe inválida" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Número de ciclos inválido" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Este campo é obrigatório" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Geral" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -397,167 +411,169 @@ msgstr "Revendedor" msgid "Super administrator" msgstr "Super administrador" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Não" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Nome de usuário" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Senha" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Senha antiga" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nova senha" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Confirmação" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Senha antiga não confere" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Senhas não conferem" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Ativar acesso à API" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "adicionado" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "modificado" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s pelo(s) usuário(s) %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "removido" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "usuário {}" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "comando de gerenciamento" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Você não pode remover sua própria conta" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Uma ou mais atualizações disponíveis" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Permitir acesso a caixa de correio" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" -msgstr "Permitir que este administrador acesse as caixas de correio de usuários" +msgstr "" +"Permitir que este administrador acesse as caixas de correio de usuários" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "senha" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "idioma" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Linguagem padrão para visualizar mensagens" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Número de telefone" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "E-mail secundário" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." -msgstr "Endereço de e-mail alternativo, use-o para recuperar a conta caso precise" +msgstr "" +"Endereço de e-mail alternativo, use-o para recuperar a conta caso precise" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Falha ao atualizar senha: módulo LDAP não instalado" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "conta" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Desconhecido" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Linha inválida" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Você não pode importar uma conta com um papel maior que o seu" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "O usuário simples '%s' deve ter um endereço de e-mail válido" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "os campos nome de usuário e e-mail não diferem de '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -585,7 +601,9 @@ msgstr "Últimas notícias" msgid "" "Visit the official " "weblog for more information." -msgstr "Visite o weblog oficial para mais informação." +msgstr "" +"Visite o weblog " +"oficial para mais informação." #: core/templates/core/api_access.html:3 msgid "API access" @@ -598,16 +616,18 @@ msgstr "Controle seu acesso a API Modoboa" #: core/templates/core/api_access.html:7 #, python-format msgid "" -"A documentation of the API is available here." -msgstr "Uma documentação da API está disponível aqui." +"A documentation of the API is available here." +msgstr "" +"Uma documentação da API está disponível aqui." #: core/templates/core/api_access.html:14 msgid "API access token" msgstr "Token de acesso a API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Atualizar" @@ -616,7 +636,7 @@ msgstr "Atualizar" msgid "Hello %(user)s." msgstr "Olá %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Informação" @@ -630,7 +650,8 @@ msgstr "Uma ou mais atualizações disponíveis" #: core/templates/core/information.html:6 msgid "Check the following list to find the component(s) that can be updated." -msgstr "Checar a seguinte lista a procura de componente(s) que pode ser atualizado" +msgstr "" +"Checar a seguinte lista a procura de componente(s) que pode ser atualizado" #: core/templates/core/information.html:10 msgid "Applications" @@ -665,7 +686,7 @@ msgstr "Função" msgid "Last login" msgstr "Último login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Logs" @@ -673,7 +694,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Previamente no Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Data" @@ -689,7 +710,7 @@ msgstr "Logger" msgid "Message" msgstr "Mensagem" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parâmetros" @@ -706,12 +727,12 @@ msgstr "Salvar" msgid "Modoboa settings" msgstr "Configurações do Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Configurações" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Preferências" @@ -723,7 +744,7 @@ msgstr "Customizar Modoboa" msgid "No preferences available." msgstr "Não há preferências disponíveis." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Perfil" @@ -731,36 +752,41 @@ msgstr "Perfil" msgid "Update your personal information" msgstr "Atualizar sua informação pessoal" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Sair" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Core do Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parêmetros salvos" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Usuário '%s' autenticado com sucesso" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "Seu usuário e senha não conferem. Por favor tente novamente." -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Usuário '{}' saiu com sucesso" @@ -781,49 +807,53 @@ msgstr "Acesso atualizado" msgid "Connection to database %s not configured" msgstr "A conexão com o banco de dados %s não está configurada" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Permissão negada: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Permissão negada" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Digite um nome de domínio válido" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Digite um endereço de e-mail válido" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Enviar" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Solicitação inválida" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Sim" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Falha ao atualizar a senha: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "De" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Para" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Assunto" @@ -860,9 +890,8 @@ msgstr "Erro:" msgid "Help:" msgstr "Ajuda:" -#: templates/common/generic_modal.html:6 -#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6 -#: templates/common/wizard_forms.html:27 +#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13 +#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27 msgid "Close" msgstr "Fechar" @@ -936,3 +965,12 @@ msgstr "Atenciosamente, A Equipe Modoboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Redefinição de senha do Modoboa" + +#~ msgid "Secret key" +#~ msgstr "Chave secreta" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Chave utilizada para encriptar/desencriptar senhas" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "A chave deve ter 16, 24 ou 32 bytes de tamanho" diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/locale/pt_PT/LC_MESSAGES/django.po index 30d534982..6a059429d 100644 --- a/modoboa/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/locale/pt_PT/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,145 +24,147 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Perfil" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Autenticação" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Tipo de autenticação" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Local" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Backend usado para autenticação" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Esquema pré-definido para passwords" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (fraco)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (fraco)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (fraco)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (fraco)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (fraco)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Esquema usado para encriptar as passwords das caixas de correio" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." msgstr "" -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Chave secreta" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Esquema pré-definido para passwords" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Chave usada para encriptar/desencriptar passwords" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Esquema pré-definido para passwords" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Password para bind" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Definições do serviço de directório" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Endereço do Servidor" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "O endereço IP do servidor de DNS do servidor LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Porta do Servidor" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr " A porta TCP usada pelo servidor LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Utilizar uma ligação segura" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Usar SSL/TLS na ligaçao de acesso ao servidor LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Método de autenticação" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Procurar e vincular (bind)" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "\"Direct bind\"" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Escolher o método de autenticação" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "\"Bind DN\"" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -170,28 +172,28 @@ msgstr "" "O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario " "para \"bind\" anónimo" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Password para bind" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Base para pesquisa de utilizadores" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "O nome único a usar para pesquisa de utilizadores" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Filtro de pesquisa" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -199,11 +201,11 @@ msgstr "" "Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre " "parênteses para ser válido" -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Template DN de utilizador" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -212,27 +214,27 @@ msgstr "" "O template usado para construir o DN (nome único). Deve apenas conter um " "'placeholder' (ex: %(user)s) " -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Atributo de palavra-passe" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "O atributo utilizado para armazenar palavras-passe" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Especificar se o servidor LDAP e um Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Grupos de Administrador" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -240,166 +242,162 @@ msgstr "" "Os membros destes grupos \"LDAP Posix\" serão criados como administradores " "de domínio. Use ';' para separar os grupos." -#: core/app_settings.py:212 +#: core/app_settings.py:209 #, fuzzy #| msgid "Group name" msgid "Group type" msgstr "Nome do grupo" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Base para pesquisa de Grupos" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "O nome único para a base de pesquisa, usado para encontrar grupos" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 #, fuzzy #| msgid "Authentication" msgid "Notifications" msgstr "Autenticação" -#: core/app_settings.py:250 +#: core/app_settings.py:247 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Endereço do Servidor" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Procurar novas versões" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Verifica automaticamente se existem novas versões" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Vários" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Intervalo de tempo para verificar notificações (no topo)" -#: core/app_settings.py:297 +#: core/app_settings.py:294 #, fuzzy #| msgid "Interval between two top notification checks" msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalo de tempo de verificação entre duas notificações (no topo)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Idade máxima do registo no log" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "A idade maxima do registo de um log, em dias, e de" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Itens por página" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Número de itens apresentados por página" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Redirecionamento pré-definido" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" "O redirecionamento padrão usado quando nenhuma aplicação se encontra " "especificada" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "A chave deve ter tamanho de 16, 24, ou 32 bytes" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Sintax inválida" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Número de linhas inválido" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Este campo é obrigatório" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Geral" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -421,176 +419,176 @@ msgstr "" msgid "Super administrator" msgstr "Super Administrador" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Não" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Nome de Utilizador" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Password" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Password antiga" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nova password" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Confirmação" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Incompatibilidade da password antiga" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Passwords não coincidem" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "acrescentado" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "modificado" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "apagado" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Não pode apagar a sua própria conta" -#: core/handlers.py:138 +#: core/handlers.py:135 #, fuzzy #| msgid "An update is available!" msgid "One or more updates are available" msgstr "Uma nova versão está disponível!" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "password" -#: core/models.py:66 +#: core/models.py:65 #, fuzzy #| msgid "Prefered language" msgid "language" msgstr "Idioma preferido" -#: core/models.py:69 +#: core/models.py:68 #, fuzzy #| msgid "Prefered language to display pages" msgid "Prefered language to display pages." msgstr "Idioma preferido para exibir páginas" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Falha ao actualizar password: Modulo LDAP não instalado" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "conta" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Linha inválida" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Não é possível importa uma conta com permissões superiores" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "O simple utilizador '%s' deve ter endereço de e-mail válido" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" "Os campos nome de utilizador e endereço de email não deve ser diferente para " "'%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -640,7 +638,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Actualizar" @@ -649,7 +647,7 @@ msgstr "Actualizar" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Informação" @@ -704,7 +702,7 @@ msgstr "" msgid "Last login" msgstr "Último login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Logs" @@ -712,7 +710,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Anteriormente no Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Data" @@ -728,7 +726,7 @@ msgstr "Logger" msgid "Message" msgstr "Mensagem" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parâmetros" @@ -745,12 +743,12 @@ msgstr "Guardar" msgid "Modoboa settings" msgstr "Definições do Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Definições" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Preferências" @@ -764,7 +762,7 @@ msgstr "Personalizar Modoboa" msgid "No preferences available." msgstr "Preferências salvas" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Perfil" @@ -772,38 +770,43 @@ msgstr "Perfil" msgid "Update your personal information" msgstr "Atualizar o sua informação pessoal" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Sair" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "" -#: core/utils.py:35 +#: core/utils.py:36 #, fuzzy #| msgid "Welcome to Modoboa" msgid "The core part of Modoboa" msgstr "Benvindo ao Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parâmetros salvos" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "O utilizador '%s' fez login com sucesso" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "O seu nome de utilizador" -#: core/views/auth.py:88 +#: core/views/auth.py:107 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" @@ -828,53 +831,57 @@ msgstr "Perfil atualizado" msgid "Connection to database %s not configured" msgstr "A ligação à base de dados %s não está devidamente configurada" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Acesso negado: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Acesso negado" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Introduzir um nome de domínio válido " -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Introduzir um nome de domínio válido " -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Enviar" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Pedido inválido" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Sim" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 #, fuzzy #| msgid "Failed to update password: %s" msgid "Failed to update password: {}" msgstr "Falha ao actualizar a password: %s" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Assunto" @@ -991,6 +998,15 @@ msgstr "" msgid "Modoboa password reset" msgstr "" +#~ msgid "Secret key" +#~ msgstr "Chave secreta" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Chave usada para encriptar/desencriptar passwords" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "A chave deve ter tamanho de 16, 24, ou 32 bytes" + #, fuzzy #~| msgid "Group name" #~ msgid "First name" diff --git a/modoboa/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/locale/ro_RO/LC_MESSAGES/django.po index f6f6fec16..4bb0537d6 100644 --- a/modoboa/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/locale/ro_RO/LC_MESSAGES/django.po @@ -1,372 +1,398 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Andrei-Ilie Olteanu , 2018 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-06-21 09:10+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" +"language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"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" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Profil utilizator" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Autentificare" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Tip autentificare" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Local" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Tehnologia backend folosită pentru autentificare " -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Schema pentru parola implicită" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (protecție slabă)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (protecție slabă)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (protecție slabă)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (protecție slabă)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "în clar (protecție slabă)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Schema de criptare pentru parole" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Iterații" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." -msgstr "Număr de iterații folosite (setare folosită doar de sha256crypt și sha512crypt) Trebuie să fie un număr cuprins între 1000 și 999999999 inclusiv." +msgstr "" +"Număr de iterații folosite (setare folosită doar de sha256crypt și " +"sha512crypt) Trebuie să fie un număr cuprins între 1000 și 999999999 " +"inclusiv." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Cheie secretă" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Schema pentru parola implicită" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Cheia folosită pentru criptarea/decriptarea parolelor" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Parola implicită" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Parola implicită setată pentru conturile create automat." -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "Mărime parolă aleatorie" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "Mărimea parolelor generate aleator." -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Setări LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Adresă server" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "Adresa IP sau adresa DNS a serverului LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Port server" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Numărul de port TCP folosit de serverul LDAP" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Folosește o conexiune securizată" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" -msgstr "Folosește o conexiune de tip SSL/STARTTLS pentru a accesa serverul LDAP" +msgstr "" +"Folosește o conexiune de tip SSL/STARTTLS pentru a accesa serverul LDAP" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Metoda de autentificare" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Căutare și atribuire" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Atribuire directă" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Alege metodă folosită pentru autentificare" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Atribuie DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" -msgstr "Numele ales folosit la atribuirea cu servarul LDAP. Câpul necompletat se foloseste în cazul atribuirii anonime" +msgstr "" +"Numele ales folosit la atribuirea cu servarul LDAP. Câpul necompletat se " +"foloseste în cazul atribuirii anonime" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Parola de atribuire" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" -msgstr "Parola folosită la momentul atribuiri cu servarul LDAP (vezi 'Atribuie DB')" +msgstr "" +"Parola folosită la momentul atribuiri cu servarul LDAP (vezi 'Atribuie DB')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Căutare bază de utilizatori" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "Numele ales al bazei de căutare utilizat pentru a găsi utilizatori" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Filtru de căutare" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." -msgstr "Un filtru opțional (de ex. '(ObjectClass = persoană)'). Pentru a fi valid, trebuie să fie închis în paranteze." +msgstr "" +"Un filtru opțional (de ex. '(ObjectClass = persoană)'). Pentru a fi valid, " +"trebuie să fie închis în paranteze." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Templateul DN pt utilizator" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "Templateul folosit pentru a construi un utilizator DN. Ar trebui să conțină un substituent (de ex. %(user)s)" +msgstr "" +"Templateul folosit pentru a construi un utilizator DN. Ar trebui să conțină " +"un substituent (de ex. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Atributul parolă" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Atributul folosit pentru a stoca parola utilizatorului" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Specifică daca serverul LDAP este unul de tip Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Grupuri administrator" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" -"Members of those LDAP Posix groups will be created as domain administrators." -" Use ';' characters to separate groups." -msgstr "Membrii acelor grupuri LDAP Posix vor fi create ca administratori de domeniu. Folosește caracterul ';' pentru a separa grupurile." +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Membrii acelor grupuri LDAP Posix vor fi create ca administratori de " +"domeniu. Folosește caracterul ';' pentru a separa grupurile." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Tipul de grup" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "Tipul grupului LDAP pe care îl utilizați cu directorul selectat." -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Baza pentru căutare grupuri" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "Numele ales al bazei de căutare utilizat pentru a găsi grupuri" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Bord" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Feedul RSS personalizat" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" -msgstr "Afișează feedul RSS personalizat la reselleri și administratori de domeniu" +msgstr "" +"Afișează feedul RSS personalizat la reselleri și administratori de domeniu" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "Ascunde widgetul de caracteristici " -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" -msgstr "Ascunde widgetul de caracteristici pentru reselleri și administratori de domeniu" +msgstr "" +"Ascunde widgetul de caracteristici pentru reselleri și administratori de " +"domeniu" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Notificări" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Adresa expeditorului" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "Adresa de email folosită pentru trimiterea notificărilor." -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "API public" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Activați comunicarea" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Activați comunicarea cu API-ul public Modoboa" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Verifică dacă există noi versiuni" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Verifică automat dacă este disponibilă o versiune mai nouă" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Trimite statistici" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" -msgstr "Trimiteți statistici către API-ul public Modoboa (contoare și extensii utilizate)" +msgstr "" +"Trimiteți statistici către API-ul public Modoboa (contoare și extensii " +"utilizate)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Diverse" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "Pragul pentru cont invalid" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" -"An account with a last login date greater than this threshold (in days) will" -" be considered as inactive" -msgstr "Un cont cu o ultima data de conectare mai mare decat acest prag (in zile) va fi considerat inactiv" +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" +msgstr "" +"Un cont cu o ultima data de conectare mai mare decat acest prag (in zile) va " +"fi considerat inactiv" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Intervalul de verificare a notificărilor" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" -msgstr "Intervalul dintre două verificări de notificare principală (în secunde)" +msgstr "" +"Intervalul dintre două verificări de notificare principală (în secunde)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Vechimea maximă a înregistrărilor log" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "Vechimea maximă în zilele de înregistrare a intrărilor în jurnal" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Număr de itemi per pagină" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Numărul de itemi afișați pe o pagină" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Redirecționarea principală implicită" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" -msgstr "Redirecționarea implicită utilizată atunci când nu este specificată nici o aplicație" +msgstr "" +"Redirecționarea implicită utilizată atunci când nu este specificată nici o " +"aplicație" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Chiea trebuie să aibă o lungime de 16,24 sau 32 de octeți" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Sintaxă invalidă" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Număr invalid de iterații" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Acest câmp este necesar" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "General" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." -msgstr "Aveți USE_TZ setat la False, acest lucru poate duce la probleme în timpul tranzițiilor între timul de vara / iarna (adică același timp local care apare de două ori ca urmare a modificării ceasului)." +msgstr "" +"Aveți USE_TZ setat la False, acest lucru poate duce la probleme în timpul " +"tranzițiilor între timul de vara / iarna (adică același timp local care " +"apare de două ori ca urmare a modificării ceasului)." -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "Setează `USE_TZ = True` în settings.py" @@ -386,173 +412,176 @@ msgstr "Reseller" msgid "Super administrator" msgstr "Super administrator" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Nu" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Utilizator" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Parolă" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Vechea parolă" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Noua parolă" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Confirmare" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Parola veche nu se potivește" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Parolele nu se potrivesc" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Activează accesul API" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "adăugat" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "modificat" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s de utilizatorul %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s de" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "sterș" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "utilizator {}" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "comandă de management" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Nu poți să îți ștergi propriul cont" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "Sunt disponibile una sau mai multe actualizări" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Permiteți accesul la cutiile poștale" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" -msgstr "Permiteți acestui administrator să acceseze cutiile poștale ale utilizatorilor" +msgstr "" +"Permiteți acestui administrator să acceseze cutiile poștale ale " +"utilizatorilor" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "parolă" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "limbă" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Limba preferată pentru afișarea paginilor." -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Numar de telefon" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Email secundar" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "O adresă de e-mail alternativă poate fi utilizată pentru recuperare." -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Eroare la actualizarea parolei: modulul LDAP nu este instalat" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "cont" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Necunoscut" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Linie invalidă" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Nu puteți importa un cont cu un rol mai mare decât al dvs." -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Utilizatorul simplu '%s' trebuie să aibă o adresă de e-mail validă" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "câmpului de utilizator și e-mail nu trebuie să difere pentru '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Parola trebuie să conțină cel puțin {} cifră." msgstr[1] "Parola trebuie să conțină cel puțin {} cifre." msgstr[2] "Parola trebuie să conțină cel puțin {} cifre." -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Parola trebuie să conțină cel puțin {} literă mică." msgstr[1] "Parola trebuie să conțină cel puțin {} litere mici." msgstr[2] "Parola trebuie să conțină cel puțin {} litere mici." -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Parola trebuie să conțină cel puțin {} majusculă." msgstr[1] "Parola trebuie să conțină cel puțin {} majuscule." msgstr[2] "Parola trebuie să conțină cel puțin {} majuscule." -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Parola trebuie să conțină cel puțin {} caracter special." msgstr[1] "Parola trebuie să conțină cel puțin {} caractere speciale." msgstr[2] "Parola trebuie să conțină cel puțin {} caractere speciale." -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." -msgstr "Parola dvs. trebuie să conțină o combinație de tipuri diferite de caractere." +msgstr "" +"Parola dvs. trebuie să conțină o combinație de tipuri diferite de caractere." #: core/templates/core/_current_features.html:6 msgid "Features looking for sponsoring" @@ -578,7 +607,9 @@ msgstr "Ultimele știri" msgid "" "Visit the official " "weblog for more information." -msgstr "Vizitează blogul oficial pentru mai multe informații." +msgstr "" +"Vizitează blogul " +"oficial pentru mai multe informații." #: core/templates/core/api_access.html:3 msgid "API access" @@ -591,16 +622,18 @@ msgstr "Controlați-vă accesul la API-ul Modoboa" #: core/templates/core/api_access.html:7 #, python-format msgid "" -"A documentation of the API is available here." -msgstr "Documentația API-ului este disponibilă aici." +"A documentation of the API is available here." +msgstr "" +"Documentația API-ului este disponibilă aici." #: core/templates/core/api_access.html:14 msgid "API access token" msgstr "Token de accesare API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Actualizare" @@ -609,7 +642,7 @@ msgstr "Actualizare" msgid "Hello %(user)s." msgstr "Bună ziua %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Informatie" @@ -623,7 +656,9 @@ msgstr "Sunt disponibile una sau mai multe actualizări!" #: core/templates/core/information.html:6 msgid "Check the following list to find the component(s) that can be updated." -msgstr "Verificați lista următoare pentru a găsi componentele(ul) care pot fi actualizate." +msgstr "" +"Verificați lista următoare pentru a găsi componentele(ul) care pot fi " +"actualizate." #: core/templates/core/information.html:10 msgid "Applications" @@ -658,7 +693,7 @@ msgstr "Rol" msgid "Last login" msgstr "Ultima autentificare" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Loguri" @@ -666,7 +701,7 @@ msgstr "Loguri" msgid "Previously on Modoboa..." msgstr "Anterior pe Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Dată" @@ -682,7 +717,7 @@ msgstr "Logger" msgid "Message" msgstr "Mesaj" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parametrii" @@ -699,12 +734,12 @@ msgstr "Salvează" msgid "Modoboa settings" msgstr "Setări Modoboa " -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Setări" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Preferințe" @@ -716,7 +751,7 @@ msgstr "Personalizați Modoboa" msgid "No preferences available." msgstr "Nu există preferințe disponibile." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profil" @@ -724,36 +759,43 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Actualizați-vă informațiile personale" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Deconectare" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Partea de nucleu a Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parametrii au fost salvați" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Utilizatorul '%s' conectat cu succes" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." -msgstr "Numele de utilizator și parola nu s-au potrivit. Vă rugăm să încercați din nou." +msgstr "" +"Numele de utilizator și parola nu s-au potrivit. Vă rugăm să încercați din " +"nou." -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Utilizatorul '{}' sa deconectat cu succes" @@ -774,49 +816,53 @@ msgstr "Accesul a fost actualizat" msgid "Connection to database %s not configured" msgstr "Conexiunea la baza de date %s nu a fost configurată" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Permisiune refuzată: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Permisiune refuzată" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Introduceți un nume de domeniu valid" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Introduceți o adresă de email validă." -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Trimite" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Cerere invalidă" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Da" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Eroare la actualizarea parolei: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "De la" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Către" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Subiect" @@ -853,9 +899,8 @@ msgstr "Eroare:" msgid "Help:" msgstr "Ajutor:" -#: templates/common/generic_modal.html:6 -#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6 -#: templates/common/wizard_forms.html:27 +#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13 +#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27 msgid "Close" msgstr "Închide" @@ -889,7 +934,9 @@ msgstr "Ai uitat parola?" msgid "" "Your password has been set. You may go ahead and sign " "in now." -msgstr "Parola dvs. a fost setată. Puteți acum să va autentificați din nou." +msgstr "" +"Parola dvs. a fost setată. Puteți acum să va autentificați din nou." #: templates/registration/password_reset_confirm.html:7 msgid "Change password" @@ -899,7 +946,9 @@ msgstr "Schimbă parola" msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." -msgstr "Linkul de resetare a parolei este invalid, posibil din cauza faptului că a fost deja utilizat. Te rugăm solicită o nouă resetare a parolei. " +msgstr "" +"Linkul de resetare a parolei este invalid, posibil din cauza faptului că a " +"fost deja utilizat. Te rugăm solicită o nouă resetare a parolei. " #: templates/registration/password_reset_done.html:7 msgid "" @@ -907,20 +956,28 @@ msgid "" "exists with the email you entered. You should receive them shortly.

" "

If you don't receive an email, please make sure you've entered your " "primary address, and check your spam folder.

" -msgstr "

V-am trimis prin e-mail instrucțiuni pentru setarea parolei, dacă există un cont cu adresa pe care ați introdus-o. Ar trebui să le primiți în scurt timp.

Dacă nu primiți un e-mail, asigurați-vă că ați introdus adresa dvs. principală și că verificați dosarul dvs. de spam.

" +msgstr "" +"

V-am trimis prin e-mail instrucțiuni pentru setarea parolei, dacă există " +"un cont cu adresa pe care ați introdus-o. Ar trebui să le primiți în scurt " +"timp.

Dacă nu primiți un e-mail, asigurați-vă că ați introdus adresa " +"dvs. principală și că verificați dosarul dvs. de spam.

" #: templates/registration/password_reset_email.html:4 #, python-format msgid "" "To initiate the password reset process for your %(username)s Modoboa " "account, click the link below:" -msgstr "Pentru a iniția procesul de resetare a parolei pentru contul dvs. %(username)s Modoboa, faceți clic pe linkul de mai jos:" +msgstr "" +"Pentru a iniția procesul de resetare a parolei pentru contul dvs. " +"%(username)s Modoboa, faceți clic pe linkul de mai jos:" #: templates/registration/password_reset_email.html:10 msgid "" "If clicking the link above doesn't work, please copy and paste the URL in a " "new browser window instead." -msgstr "Dacă făcând click pe linkul de mai sus nu funcționează, copiați și lipiți adresa URL într-o fereastră nouă a browserului." +msgstr "" +"Dacă făcând click pe linkul de mai sus nu funcționează, copiați și lipiți " +"adresa URL într-o fereastră nouă a browserului." #: templates/registration/password_reset_email.html:14 msgid "Sincerely, The Modoboa Team." @@ -929,3 +986,12 @@ msgstr "Cu sinceritate, Echipa Modoboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Resetare parola Modoboa" + +#~ msgid "Secret key" +#~ msgstr "Cheie secretă" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Cheia folosită pentru criptarea/decriptarea parolelor" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Chiea trebuie să aibă o lungime de 16,24 sau 32 de octeți" diff --git a/modoboa/locale/ru/LC_MESSAGES/django.po b/modoboa/locale/ru/LC_MESSAGES/django.po index c3f49640f..d3861437f 100644 --- a/modoboa/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/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: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,145 +19,147 @@ 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" -#: core/app_settings.py:26 +#: core/app_settings.py:22 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Профиль" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Аутентификация" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Тип аутентификации" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Локальный" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Базовая программа для проверки подлинности" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Схема пароля по умолчанию" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Схема используемая для шифровании пароля почтового ящика." -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." msgstr "" -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Секретный ключ" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Схема пароля по умолчанию" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Ключ для шифрования паролей" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Схема пароля по умолчанию" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Пароль для соединения" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "Параметры LDAP" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Адрес сервера" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP адрес или DNS имя сервера LDAP" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Порт сервера" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "Номер TCP порта LDAP сервера" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Использовать безопасное соединение" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Использовать SSL/TLS соединение с LDAP сервером" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Метод аутентификации" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Найти и соединиться" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Прямое соединение" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Выберите метод аутентификации " -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Соединится с DN " -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -165,27 +167,27 @@ msgstr "" "Отличительное имя используемое для соединения с LDAP сервером. Оставьте " "пустым для анонимного соединения" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Пароль для соединения" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "Пароль для соединения с LDAP сервером" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Фильтр поиска" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -193,11 +195,11 @@ msgstr "" "Необязательная срока поиска (например '(objectClass=person)') Значение нужно " "заключить в скобки" -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Шаблон пользователя DN" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -206,191 +208,187 @@ msgstr "" "Шаблон используется для построения запросов к DN Он должен содержать атрибут " "например (%(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Свойства пароля" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Свойства используемые для сохранения пользовательских паролей" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Укажите, если LDAP сервер в Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." msgstr "" -#: core/app_settings.py:212 +#: core/app_settings.py:209 #, fuzzy #| msgid "Group name" msgid "Group type" msgstr "Название группы" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:247 +#: core/app_settings.py:244 #, fuzzy #| msgid "Authentication" msgid "Notifications" msgstr "Аутентификация" -#: core/app_settings.py:250 +#: core/app_settings.py:247 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Адрес сервера" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:267 +#: core/app_settings.py:264 #, fuzzy msgid "Check new versions" msgstr "Отметить для разрешения этого расширения" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Прочее" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 #, fuzzy msgid "Top notifications check interval" msgstr "Уведомления отправителю" -#: core/app_settings.py:297 +#: core/app_settings.py:294 #, fuzzy msgid "Interval between two top notification checks (in seconds)" msgstr "Интервал между запросами на деблокирование для доставки" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Максимальный срок хранения лог записей" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "Срок хранения лог записей в днях " -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Элементов на странице" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Количество элементов на странице" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Порог перенаправления по умолчанию" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "Если приложение не указано. Используется перенаправление по умолчанию." -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Ключ должен быть 16, 24 или 32 байта длинной" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Ошибка в написании" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Это поле обязательно для заполнеия" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Основные" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -412,177 +410,177 @@ msgstr "" msgid "Super administrator" msgstr "Супер администратор" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Нет" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Логин пользователя" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Пароль" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Старый пароль" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Новый пароль" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Подтверждение" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Старые пароли не совпадают" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Пароли не совпадают" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "добавлено" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "изменено" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s пользователем %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s пользователем %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "удалено" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Вы не можете удалить собственный аккаунт" -#: core/handlers.py:138 +#: core/handlers.py:135 #, fuzzy msgid "One or more updates are available" msgstr "Статистика не доступна" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "" -#: core/models.py:66 +#: core/models.py:65 #, fuzzy #| msgid "Prefered language" msgid "language" msgstr "Предпочитаемый язык" -#: core/models.py:69 +#: core/models.py:68 #, fuzzy #| msgid "Prefered language to display pages" msgid "Prefered language to display pages." msgstr "Предпочитаемый язык для отображения страниц" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Ошибка обновления пароля: модуль LDAP не установлен" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "Аккаунт" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Ошибочная строка" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Вы не можете импортировать аккаунт с ролью старше чем у вас" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Пользователь '%s' должен иметь действительный почтовый адрес" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "Имя пользователя и адрес не должны отличатся для пользователя '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -632,7 +630,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Обновление" @@ -641,7 +639,7 @@ msgstr "Обновление" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Информация" @@ -695,7 +693,7 @@ msgstr "" msgid "Last login" msgstr "Последний вход" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Логи" @@ -703,7 +701,7 @@ msgstr "Логи" msgid "Previously on Modoboa..." msgstr "Ранее в Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Дата" @@ -719,7 +717,7 @@ msgstr "Логгер" msgid "Message" msgstr "Сообщение" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Параметры" @@ -736,12 +734,12 @@ msgstr "Сохранить" msgid "Modoboa settings" msgstr "Настройки Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Настройки" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Параметры" @@ -755,7 +753,7 @@ msgstr "Настроить Modoboa" msgid "No preferences available." msgstr "Параметры сохранены" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Профиль" @@ -763,38 +761,43 @@ msgstr "Профиль" msgid "Update your personal information" msgstr "Обновить личную информацию" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Завершить сеанс" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "" -#: core/utils.py:35 +#: core/utils.py:36 #, fuzzy #| msgid "Welcome to Modoboa" msgid "The core part of Modoboa" msgstr "Добро пожаловать в Modoboa!" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Параметры сохранены" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Пользователь '%s' успешно вошел в систему" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "Не правильное имя или пароль. Попробуйте еще раз." -#: core/views/auth.py:88 +#: core/views/auth.py:107 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" @@ -819,53 +822,57 @@ msgstr "Профиль обновлен" msgid "Connection to database %s not configured" msgstr "" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "В разрешении отказано: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "В разрешении отказано" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Введите действительный адрес домена" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Введите действительный адрес домена" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Ошибочный запрос" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Да" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 #, fuzzy #| msgid "Failed to update password: %s" msgid "Failed to update password: {}" msgstr "Ошибка обновления пароля: %s" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Тема" @@ -982,6 +989,15 @@ msgstr "" msgid "Modoboa password reset" msgstr "" +#~ msgid "Secret key" +#~ msgstr "Секретный ключ" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Ключ для шифрования паролей" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Ключ должен быть 16, 24 или 32 байта длинной" + #, fuzzy #~| msgid "Group name" #~ msgid "First name" diff --git a/modoboa/locale/sv/LC_MESSAGES/django.po b/modoboa/locale/sv/LC_MESSAGES/django.po index 86659cf73..a1d61e085 100644 --- a/modoboa/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/locale/sv/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-07-07 09:30+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" @@ -21,59 +21,59 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "Användarprofil" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "Autentisering" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "Autentiseringstyp" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "Lokal" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "Autentiserings backend" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "Standard lösenords schema" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (svag)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (svag)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (svag)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (svag)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "okrypterad (svag)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "Krypteringsschema för brevlåde lösenord" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "Antal omgångar" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -81,83 +81,85 @@ msgstr "" "Antal omgångar att använda (används endast av sha256crypt och sha512crypt). " "Måste vara mellan 1000 och 999999999." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "Hemlig nyckel" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "Standard lösenords schema" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "Nyckel som används för att kryptera / dekryptera lösenord" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "Standardlösenord" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "Standardlösenord för automatiskt skapade konton." -#: core/app_settings.py:90 +#: core/app_settings.py:87 #, fuzzy #| msgid "Modoboa password reset" msgid "Random password length" msgstr "Modoboa lösenordsåterställning." -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "LDAP inställningar" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "Server adress" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP adressen eller DNS namn för LDAP server" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "Server port" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "TCP port som används av LDAP servern" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "Använd en säker anslutning" -#: core/app_settings.py:120 +#: core/app_settings.py:117 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Använd SSL/TLS anslutning för åtkomst till LDAP servern" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "Autentiseringsmetod" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "Sök och bind" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "Direkt bindning" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "Välj autentiseringsmetod att använda" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -165,28 +167,28 @@ msgstr "" "Det unika namnet för att använda vid bindningar till LDAP-servern. Lämna " "tomt för en anonym bindning" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Bind lösenord" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Lösenordet ska användas vid bindning till LDAP-servern (med \"Bind DN ')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "Användare sökbas" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "Det unika namnet för sökbasen som används för att hitta användare" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "Sökfilter" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -194,11 +196,11 @@ msgstr "" "En valfri filtersträng (t.ex. \"(objectClass = personer) '). För att vara " "giltigt måste det omges av parenteser." -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "Anvädar DN mall" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -207,27 +209,27 @@ msgstr "" "Mallen som används för att konstruera en användares DN. Den bör innehålla en " "platshållare (dvs. %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "Lösenordsattribut" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "Attribut som används för att lagra användarlösenord" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Berätta om LDAP-servern är en Active Directory" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "Administratörsgrupper" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -235,158 +237,154 @@ msgstr "" "Användare av dessa LDAP Posix grupper kommer skapas som " "domänadministratörer. Använd ';' för att separera grupper." -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "Grupptyp" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "Välj LDAP grupptyp att använda med din katalog" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "Grupper sökbas" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "Det unika namnet för sökbasen som används för att hitta grupper" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Kontrollpanel" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "Användardefinierat RSS-flöde" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Visa användardefinierat RSS-flöde för återförsäljare och domänadministratörer" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "Dölj egenskaper widget" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "Dölj egenskaper widget för återförsäljare och domänadministratörer" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "Notifikationer" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "Avsändaradress" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "E-postadress som används till att skicka notifikationer." -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "Publikt API" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "Aktivera kommunikation" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "Aktivera kommunikation med Modoboa publikt API" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "Kontrollera nya versioner" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "Kontrollera automatiskt om en nyare version finns" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "Skicka statistik" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Skicka statistik för Modoboas publika API (räknare och använda tillägg)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "Övrigt" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "Toppnotifikationer kontrollintervall" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervall mellan två toppnotifikationskontroller (i sekunder)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "Maximal ålder för loggpost" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "Maximal ålder i dagar för en logg post" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "Artiklar per sida" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "Antal poster som visas per sida" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "Standard topp omdirigering" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "Standard omdirigering när ingen applikation angetts" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "Nyckel måste vara endera 16, 24 eller 32 bytes lång" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "Ogiltig syntax" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "Ogiltigt antal omgångar" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "Detta fält är obligatoriskt" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "Allmänt" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -406,168 +404,168 @@ msgstr "Återförsäljare" msgid "Super administrator" msgstr "Super administratör" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "Nej" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "Användarnamn" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "Lösenord" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "Gammalt lösenord" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "Nytt lösenord" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "Bekräftelse" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "Gammalt lösenord matchar inte" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "Lösenord matchar inte" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "Aktivera API access" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "tillagd" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "ändrad" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s av användare %(user)s" -#: core/handlers.py:70 +#: core/handlers.py:67 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s av användare %(user)s" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "raderad" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "Du kan inte radera ditt eget konto" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "En eller fler uppdateringar finns tillgängliga" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "Tillåt åtkomst till brevlådor" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "Tillåt den här administratören att ändra användares brevlådor" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "lösenord" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "språk" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "Önskat språk för att visa sidor." -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "Telefonnummer" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "Sekundär e-post" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "En alternativ e-post adress, kan användas för återställningsbehov." -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "Misslyckades med att uppdatera lösenord: LDAP modul ej installerad" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "konto" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "Okänt" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "Ogiltig rad" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "Du kan inte importera konto med en roll större än din" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Den enkla användaren '%s' måste ha en gällande e-postadress" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "användarnamn och e-post fält får inte avvika för '%s'" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Lösenord måste hålla minst {} siffra." msgstr[1] "Lösenord måste hålla minst {} siffror." -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Lösenord måste innehålla minst {} gemen." msgstr[1] "Lösenord måste innehålla minst {} gemener." -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Lösenord måste innhåla minst {} versal." msgstr[1] "Lösenord måste innhåla minst {} versaler." -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Lösenord måste innehålla minst {} specialtecken." msgstr[1] "Lösenord måste innehålla minst {} specialtecken." -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "Ditt lösenord måste innehålla en kombination av olika typer av tecken." @@ -621,7 +619,7 @@ msgid "API access token" msgstr "API åtkomst token" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "Uppdatera" @@ -630,7 +628,7 @@ msgstr "Uppdatera" msgid "Hello %(user)s." msgstr "Hej %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "Information" @@ -680,7 +678,7 @@ msgstr "Roll" msgid "Last login" msgstr "Senaste inloggad" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "Loggar" @@ -688,7 +686,7 @@ msgstr "Loggar" msgid "Previously on Modoboa..." msgstr "Tidigare på Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "Datum" @@ -704,7 +702,7 @@ msgstr "Loggare" msgid "Message" msgstr "Meddelande" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "Parametrar" @@ -721,12 +719,12 @@ msgstr "Spara" msgid "Modoboa settings" msgstr "Modoboa inställningar" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "Inställningar" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "Inställningar" @@ -738,7 +736,7 @@ msgstr "Anpassa Modoboa" msgid "No preferences available." msgstr "Inga inställningar finns." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "Profil" @@ -746,36 +744,41 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Uppdatera personlig information" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "Logga ut" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Kärnan av Modoboa" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "Parametrar sparade" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "Användare '%s' har loggat in" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "Ditt användarnamn och lösenord matchar inte. Var vänlig försök igen." -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "Användare '{}' loggade ut framgångsrikt" @@ -796,49 +799,53 @@ msgstr "Åtkomst uppdaterad" msgid "Connection to database %s not configured" msgstr "Anslutning till databasen %s är inte konfigurerad" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "Tillstånd nekas: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "Tillstånd nekas" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "Skriv in ett giltigt domännamn" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "Ange en giltig e-postadress" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Skicka" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "Ogiltig förfrågan" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "Ja" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "Misslyckades med att uppdatera lösenord: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "Från" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "Till" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Ämne" @@ -962,3 +969,12 @@ msgstr "Vänligen, Modoboa teamet." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Modoboa lösenordsåterställning." + +#~ msgid "Secret key" +#~ msgstr "Hemlig nyckel" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "Nyckel som används för att kryptera / dekryptera lösenord" + +#~ msgid "Key must be either 16, 24, or 32 bytes long" +#~ msgstr "Nyckel måste vara endera 16, 24 eller 32 bytes lång" diff --git a/modoboa/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/locale/zh_TW/LC_MESSAGES/django.po index e38e49b30..563469e6b 100644 --- a/modoboa/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/locale/zh_TW/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # akong , 2018 # freedom lee , 2018 @@ -10,365 +10,367 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-07-06 08:26+0000\n" "Last-Translator: akong \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/language/zh_TW/)\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" +"language/zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: core/app_settings.py:26 +#: core/app_settings.py:22 msgid "User profile" msgstr "使用者檔案" -#: core/app_settings.py:39 +#: core/app_settings.py:35 msgid "Authentication" msgstr "驗證" -#: core/app_settings.py:42 +#: core/app_settings.py:38 msgid "Authentication type" msgstr "驗證類型" -#: core/app_settings.py:43 +#: core/app_settings.py:39 msgid "Local" msgstr "本機" -#: core/app_settings.py:46 +#: core/app_settings.py:42 msgid "The backend used for authentication" msgstr "此背景程式已用於驗證" -#: core/app_settings.py:51 +#: core/app_settings.py:47 msgid "Default password scheme" msgstr "預設密碼方案" -#: core/app_settings.py:55 +#: core/app_settings.py:51 msgid "md5crypt (weak)" msgstr "md5crypt (弱)" -#: core/app_settings.py:56 +#: core/app_settings.py:52 msgid "sha256 (weak)" msgstr "sha256 (弱)" -#: core/app_settings.py:57 +#: core/app_settings.py:53 msgid "md5 (weak)" msgstr "md5 (弱)" -#: core/app_settings.py:58 +#: core/app_settings.py:54 msgid "crypt (weak)" msgstr "crypt (弱)" -#: core/app_settings.py:59 +#: core/app_settings.py:55 msgid "plain (weak)" msgstr "plain (弱)" -#: core/app_settings.py:61 +#: core/app_settings.py:57 msgid "Scheme used to crypt mailbox passwords" msgstr "方案已使用於加密信箱密碼" -#: core/app_settings.py:66 +#: core/app_settings.py:62 msgid "Rounds" msgstr "輪" -#: core/app_settings.py:69 +#: core/app_settings.py:65 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." -msgstr "重複幾輪產生 (只能用於 sha256crypt 和 sha512crypt). 必須介於 1000 到 999999999, 包括." +msgstr "" +"重複幾輪產生 (只能用於 sha256crypt 和 sha512crypt). 必須介於 1000 到 " +"999999999, 包括." -#: core/app_settings.py:76 -msgid "Secret key" -msgstr "密鑰" +#: core/app_settings.py:72 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password scheme" +msgstr "預設密碼方案" -#: core/app_settings.py:78 -msgid "Key used to encrypt/decrypt passwords" -msgstr "金鑰用於加密/解密" +#: core/app_settings.py:75 +msgid "Update user password at login to use the default password scheme" +msgstr "" -#: core/app_settings.py:83 +#: core/app_settings.py:80 msgid "Default password" msgstr "預設密碼" -#: core/app_settings.py:86 +#: core/app_settings.py:83 msgid "Default password for automatically created accounts." msgstr "預設密碼是給自動產生帳號用。" -#: core/app_settings.py:90 +#: core/app_settings.py:87 msgid "Random password length" msgstr "隨機密碼長度" -#: core/app_settings.py:94 +#: core/app_settings.py:91 msgid "Length of randomly generated passwords." msgstr "隨機產生密碼的長度。" -#: core/app_settings.py:98 +#: core/app_settings.py:95 msgid "LDAP settings" msgstr "LDAP 設定" -#: core/app_settings.py:101 +#: core/app_settings.py:98 msgid "Server address" msgstr "伺服器地址" -#: core/app_settings.py:104 +#: core/app_settings.py:101 msgid "The IP address or the DNS name of the LDAP server" msgstr "LDAP 伺服器的 IP 或 DNS 名稱" -#: core/app_settings.py:109 +#: core/app_settings.py:106 msgid "Server port" msgstr "伺服器連接埠" -#: core/app_settings.py:111 +#: core/app_settings.py:108 msgid "The TCP port number used by the LDAP server" msgstr "LDAP 伺服器所使用的 TCP 連接埠" -#: core/app_settings.py:116 +#: core/app_settings.py:113 msgid "Use a secured connection" msgstr "使用安全的連接" -#: core/app_settings.py:120 +#: core/app_settings.py:117 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "使用 SSL/STARTTLS 連線到 LDAP 伺服器" -#: core/app_settings.py:124 +#: core/app_settings.py:121 msgid "Authentication method" msgstr "身份驗證方法" -#: core/app_settings.py:125 +#: core/app_settings.py:122 msgid "Search and bind" msgstr "搜尋和 bind" -#: core/app_settings.py:126 +#: core/app_settings.py:123 msgid "Direct bind" msgstr "直接 bind" -#: core/app_settings.py:128 +#: core/app_settings.py:125 msgid "Choose the authentication method to use" msgstr "選擇驗證模組來使用" -#: core/app_settings.py:133 +#: core/app_settings.py:130 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:136 +#: core/app_settings.py:133 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" msgstr "當對應到 LDAP 伺服器請使用醒目的名稱。保留空白為匿名 bind" -#: core/app_settings.py:144 +#: core/app_settings.py:141 msgid "Bind password" msgstr "Bind 密碼" -#: core/app_settings.py:147 +#: core/app_settings.py:144 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "此密碼使用於當綁定到 LDAP 伺服器 (有 'Bind DN')" -#: core/app_settings.py:156 +#: core/app_settings.py:153 msgid "Users search base" msgstr "使用者搜尋基準" -#: core/app_settings.py:159 +#: core/app_settings.py:156 msgid "The distinguished name of the search base used to find users" msgstr "搜尋基準使用醒目的名稱來找到使用者" -#: core/app_settings.py:166 +#: core/app_settings.py:163 msgid "Search filter" msgstr "搜尋過濾器" -#: core/app_settings.py:169 +#: core/app_settings.py:166 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." -msgstr "過濾字串的選 (例如 '(objectClass=person)'). 要能正常使用,這必須括在括號內。" +msgstr "" +"過濾字串的選 (例如 '(objectClass=person)'). 要能正常使用,這必須括在括號內。" -#: core/app_settings.py:177 +#: core/app_settings.py:174 msgid "User DN template" msgstr "使用者 DN 範本" -#: core/app_settings.py:180 +#: core/app_settings.py:177 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" msgstr "此範本已使用結構化使用者的 DN. 他應該包含一個佔位符 (例如 %(user)s)" -#: core/app_settings.py:188 +#: core/app_settings.py:185 msgid "Password attribute" msgstr "密碼屬性" -#: core/app_settings.py:190 +#: core/app_settings.py:187 msgid "The attribute used to store user passwords" msgstr "此屬性使用在儲存使用者密碼" -#: core/app_settings.py:195 +#: core/app_settings.py:192 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:198 +#: core/app_settings.py:195 msgid "Tell if the LDAP server is an Active Directory one" msgstr "判斷 LDAP 伺服器是否是 Active Directory 伺服器" -#: core/app_settings.py:202 +#: core/app_settings.py:199 msgid "Administrator groups" msgstr "管理者群組" -#: core/app_settings.py:205 +#: core/app_settings.py:202 msgid "" -"Members of those LDAP Posix groups will be created as domain administrators." -" Use ';' characters to separate groups." +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." msgstr "這些 LDAP 群組的成員將會建立為網域管理者。使用 ';' 字元來分開群組" -#: core/app_settings.py:212 +#: core/app_settings.py:209 msgid "Group type" msgstr "群組類型" -#: core/app_settings.py:216 +#: core/app_settings.py:213 msgid "The LDAP group type to use with your directory." msgstr "此 LDAP 群組類型會使用您的目錄" -#: core/app_settings.py:221 +#: core/app_settings.py:218 msgid "Groups search base" msgstr "群組搜尋基準" -#: core/app_settings.py:224 +#: core/app_settings.py:221 msgid "The distinguished name of the search base used to find groups" msgstr "搜尋基準使用醒目的名稱來找到群組" -#: core/app_settings.py:229 core/templates/core/dashboard.html:5 +#: core/app_settings.py:226 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "儀表板" -#: core/app_settings.py:232 +#: core/app_settings.py:229 msgid "Custom RSS feed" msgstr "自訂 RSS 來源" -#: core/app_settings.py:235 +#: core/app_settings.py:232 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "顯示自訂的 RSS 來源給經銷商和網域管理者" -#: core/app_settings.py:240 +#: core/app_settings.py:237 msgid "Hide features widget" msgstr "隱藏功能物件" -#: core/app_settings.py:243 +#: core/app_settings.py:240 msgid "Hide features widget for resellers and domain administrators" msgstr "隱藏功能物件給經銷商和網域管理者" -#: core/app_settings.py:247 +#: core/app_settings.py:244 msgid "Notifications" msgstr "通知" -#: core/app_settings.py:250 +#: core/app_settings.py:247 msgid "Sender address" msgstr "伺服器位址" -#: core/app_settings.py:253 +#: core/app_settings.py:250 msgid "Email address used to send notifications." msgstr "郵件地址用於寄送通知。" -#: core/app_settings.py:257 +#: core/app_settings.py:254 msgid "Public API" msgstr "公用 API" -#: core/app_settings.py:260 +#: core/app_settings.py:257 msgid "Enable communication" msgstr "啟用通訊" -#: core/app_settings.py:263 +#: core/app_settings.py:260 msgid "Enable communication with Modoboa public API" msgstr "開啟 Modoboa 公用 API 的通訊" -#: core/app_settings.py:267 +#: core/app_settings.py:264 msgid "Check new versions" msgstr "檢查新的版本" -#: core/app_settings.py:270 +#: core/app_settings.py:267 msgid "Automatically checks if a newer version is available" msgstr "假如有新的版本就自動檢查" -#: core/app_settings.py:274 +#: core/app_settings.py:271 msgid "Send statistics" msgstr "寄送狀態" -#: core/app_settings.py:277 +#: core/app_settings.py:274 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "寄送狀態到 Modoboa 公用 API (計數器及已使用的外掛)" -#: core/app_settings.py:281 +#: core/app_settings.py:278 msgid "Miscellaneous" msgstr "雜項" -#: core/app_settings.py:284 +#: core/app_settings.py:281 msgid "Inactive account threshold" msgstr "未啟用帳號上限" -#: core/app_settings.py:287 +#: core/app_settings.py:284 msgid "" -"An account with a last login date greater than this threshold (in days) will" -" be considered as inactive" +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" msgstr "這個帳號最後一次登錄日期超過這個上限 (在幾天) 將考慮停用" -#: core/app_settings.py:294 +#: core/app_settings.py:291 msgid "Top notifications check interval" msgstr "檢查提醒間隔" -#: core/app_settings.py:297 +#: core/app_settings.py:294 msgid "Interval between two top notification checks (in seconds)" msgstr "兩次檢查提醒間隔 (在幾秒)" -#: core/app_settings.py:303 +#: core/app_settings.py:300 msgid "Maximum log record age" msgstr "最大日誌紀錄時間" -#: core/app_settings.py:305 +#: core/app_settings.py:302 msgid "The maximum age in days of a log record" msgstr "" -#: core/app_settings.py:310 +#: core/app_settings.py:307 msgid "Items per page" msgstr "每頁的條目數量" -#: core/app_settings.py:312 +#: core/app_settings.py:309 msgid "Number of displayed items per page" msgstr "" -#: core/app_settings.py:317 +#: core/app_settings.py:314 msgid "Default top redirection" msgstr "" -#: core/app_settings.py:321 +#: core/app_settings.py:318 msgid "The default redirection used when no application is specified" msgstr "" -#: core/app_settings.py:354 -msgid "Key must be either 16, 24, or 32 bytes long" -msgstr "" - -#: core/app_settings.py:363 +#: core/app_settings.py:353 msgid "Invalid syntax" msgstr "" -#: core/app_settings.py:369 +#: core/app_settings.py:359 msgid "Invalid rounds number" msgstr "" -#: core/app_settings.py:396 +#: core/app_settings.py:386 msgid "This field is required" msgstr "" -#: core/apps.py:20 +#: core/apps.py:22 msgid "General" msgstr "" -#: core/checks/settings_checks.py:11 +#: core/checks/settings_checks.py:10 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:14 +#: core/checks/settings_checks.py:13 msgid "Set `USE_TZ = True` in settings.py" msgstr "" @@ -388,163 +390,163 @@ msgstr "經銷商" msgid "Super administrator" msgstr "超級管理員" -#: core/constants.py:51 lib/form_utils.py:394 +#: core/constants.py:53 lib/form_utils.py:393 msgid "No" msgstr "否" -#: core/forms.py:24 +#: core/forms.py:22 msgid "Username" msgstr "使用者名稱" -#: core/forms.py:28 +#: core/forms.py:26 msgid "Password" msgstr "密碼" -#: core/forms.py:41 +#: core/forms.py:39 msgid "Old password" msgstr "舊密碼" -#: core/forms.py:45 +#: core/forms.py:43 msgid "New password" msgstr "新密碼" -#: core/forms.py:49 +#: core/forms.py:47 msgid "Confirmation" msgstr "確認" -#: core/forms.py:77 +#: core/forms.py:75 msgid "Old password mismatchs" msgstr "舊密碼不相符" -#: core/forms.py:86 +#: core/forms.py:84 msgid "Passwords mismatch" msgstr "密碼不相符" -#: core/forms.py:106 +#: core/forms.py:104 msgid "Enable API access" msgstr "啟用 API 存取" -#: core/handlers.py:43 +#: core/handlers.py:40 msgid "added" msgstr "已增加" -#: core/handlers.py:46 +#: core/handlers.py:43 msgid "modified" msgstr "已修改" -#: core/handlers.py:48 +#: core/handlers.py:45 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "" -#: core/handlers.py:70 +#: core/handlers.py:67 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:72 +#: core/handlers.py:69 msgid "deleted" msgstr "已移除" -#: core/handlers.py:76 +#: core/handlers.py:73 msgid "user {}" msgstr "使用者 {}" -#: core/handlers.py:78 +#: core/handlers.py:75 msgid "management command" msgstr "管理指令" -#: core/handlers.py:102 +#: core/handlers.py:99 msgid "You can't delete your own account" msgstr "您不可以刪除您擁有的帳號" -#: core/handlers.py:138 +#: core/handlers.py:135 msgid "One or more updates are available" msgstr "一個或多個可用的更新" -#: core/models.py:58 +#: core/models.py:57 msgid "Allow mailboxes access" msgstr "允許信箱存取" -#: core/models.py:60 +#: core/models.py:59 msgid "Allow this administrator to access user mailboxes" msgstr "允許這個管理者來存取使用者信箱" -#: core/models.py:63 +#: core/models.py:62 msgid "password" msgstr "密碼" -#: core/models.py:66 +#: core/models.py:65 msgid "language" msgstr "語言" -#: core/models.py:69 +#: core/models.py:68 msgid "Prefered language to display pages." msgstr "顯示頁面的預設語言" -#: core/models.py:73 +#: core/models.py:72 msgid "Phone number" msgstr "電話號碼" -#: core/models.py:75 +#: core/models.py:74 msgid "Secondary email" msgstr "次要電子郵件" -#: core/models.py:78 +#: core/models.py:77 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "替代的電子郵件,可以使用在需要回復的時候。" -#: core/models.py:128 +#: core/models.py:127 msgid "Failed to update password: LDAP module not installed" msgstr "更新密碼失敗: LDAP 模組未安裝" -#: core/models.py:157 +#: core/models.py:156 msgid "account" msgstr "帳號" -#: core/models.py:279 +#: core/models.py:278 msgid "Unknown" msgstr "未知" -#: core/models.py:313 +#: core/models.py:312 msgid "Invalid line" msgstr "無效的線" -#: core/models.py:321 +#: core/models.py:320 msgid "You can't import an account with a role greater than yours" msgstr "" -#: core/models.py:336 +#: core/models.py:335 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "" -#: core/models.py:341 +#: core/models.py:340 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" -#: core/password_validation.py:26 +#: core/password_validation.py:28 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" -#: core/password_validation.py:36 +#: core/password_validation.py:38 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" -#: core/password_validation.py:47 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" -#: core/password_validation.py:59 +#: core/password_validation.py:61 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" -#: core/password_validation.py:67 +#: core/password_validation.py:69 msgid "Your password must contain a combination of different character types." msgstr "" @@ -585,8 +587,8 @@ msgstr "" #: core/templates/core/api_access.html:7 #, python-format msgid "" -"A documentation of the API is available here." +"A documentation of the API is available here." msgstr "" #: core/templates/core/api_access.html:14 @@ -594,7 +596,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:359 +#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 msgid "Update" msgstr "" @@ -603,7 +605,7 @@ msgstr "" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:64 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 msgid "Information" msgstr "" @@ -652,7 +654,7 @@ msgstr "" msgid "Last login" msgstr "" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:68 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 msgid "Logs" msgstr "記錄" @@ -660,7 +662,7 @@ msgstr "記錄" msgid "Previously on Modoboa..." msgstr "" -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:109 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 msgid "Date" msgstr "日期" @@ -676,7 +678,7 @@ msgstr "" msgid "Message" msgstr "" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:73 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 msgid "Parameters" msgstr "參數" @@ -693,12 +695,12 @@ msgstr "儲存" msgid "Modoboa settings" msgstr "Modoboa 設定" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:92 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 msgid "Settings" msgstr "設定" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:122 +#: core/templatetags/core_tags.py:124 msgid "Preferences" msgstr "偏好選項" @@ -710,7 +712,7 @@ msgstr "" msgid "No preferences available." msgstr "沒有可用的狀態" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:118 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 msgid "Profile" msgstr "檔案" @@ -718,36 +720,41 @@ msgstr "檔案" msgid "Update your personal information" msgstr "更新你的個人信息" -#: core/templatetags/core_tags.py:36 +#: core/templatetags/core_tags.py:38 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:104 +#: core/templatetags/core_tags.py:106 msgid "Logout" msgstr "登出" -#: core/templatetags/core_tags.py:129 +#: core/templatetags/core_tags.py:131 msgid "API" msgstr "API" -#: core/utils.py:35 +#: core/utils.py:36 msgid "The core part of Modoboa" msgstr "Modoboa 的核心部分" -#: core/views/admin.py:48 +#: core/views/admin.py:47 msgid "Parameters saved" msgstr "參數已儲存" -#: core/views/auth.py:45 +#: core/views/auth.py:50 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:64 #, python-format msgid "User '%s' successfully logged in" msgstr "" -#: core/views/auth.py:53 +#: core/views/auth.py:72 msgid "Your username and password didn't match. Please try again." msgstr "" -#: core/views/auth.py:88 +#: core/views/auth.py:107 msgid "User '{}' successfully logged out" msgstr "" @@ -768,49 +775,53 @@ msgstr "存取已更新" msgid "Connection to database %s not configured" msgstr "連線到資料庫 %s 未設置" -#: lib/exceptions.py:70 +#: lib/email_utils.py:350 +msgid "unable to determine encoding of string" +msgstr "" + +#: lib/exceptions.py:71 #, python-format msgid "Permission denied: %s" msgstr "權限不足: %s" -#: lib/exceptions.py:71 +#: lib/exceptions.py:72 msgid "Permission denied" msgstr "權限不足" -#: lib/fields.py:17 lib/validators.py:16 +#: lib/fields.py:19 lib/validators.py:18 msgid "Enter a valid domain name" msgstr "輸入有效的網域名稱" -#: lib/fields.py:46 lib/fields.py:60 +#: lib/fields.py:48 lib/fields.py:62 msgid "Enter a valid email address." msgstr "輸入有效的電子郵件" -#: lib/form_utils.py:82 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "執行" -#: lib/form_utils.py:115 lib/form_utils.py:118 +#: lib/form_utils.py:114 lib/form_utils.py:117 msgid "Invalid request" msgstr "" -#: lib/form_utils.py:393 +#: lib/form_utils.py:392 msgid "Yes" msgstr "是" -#: lib/ldap_utils.py:133 +#: lib/ldap_utils.py:134 msgid "Failed to update password: {}" msgstr "更新密碼失敗: {}" -#: lib/templatetags/lib_tags.py:107 +#: lib/templatetags/lib_tags.py:108 msgid "From" msgstr "寄件人" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:109 msgid "To" msgstr "收件人" -#: lib/templatetags/lib_tags.py:110 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "主題" @@ -847,9 +858,8 @@ msgstr "錯誤:" msgid "Help:" msgstr "幫助:" -#: templates/common/generic_modal.html:6 -#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6 -#: templates/common/wizard_forms.html:27 +#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13 +#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27 msgid "Close" msgstr "關閉" @@ -923,3 +933,9 @@ msgstr "" #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Modoboa 密碼重設" + +#~ msgid "Secret key" +#~ msgstr "密鑰" + +#~ msgid "Key used to encrypt/decrypt passwords" +#~ msgstr "金鑰用於加密/解密" diff --git a/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po index 815f960f5..649ef87dd 100644 --- a/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2015-01-06 10:05+0000\n" "Last-Translator: Miroslav Abrahám \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/" @@ -19,37 +19,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy #| msgid "Relay domains" msgid "Transport settings" msgstr "Relay domény" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Neplatný řádek" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "cílový server" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "cílový server" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "ověřit příjemce" diff --git a/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po index 85e2a5a2d..a90079e76 100644 --- a/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2014-12-03 11:02+0000\n" "Last-Translator: Arvedui \n" "Language-Team: German (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,37 +20,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy #| msgid "Relay domains" msgid "Transport settings" msgstr "Relaydomain" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Ungültige Zeile" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "Ziel-Host" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "Ziel-Host" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "Empfänger verifizieren" diff --git a/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po index 34e663f69..57030a866 100644 --- a/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-10-12 13:34+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,33 +20,33 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy #| msgid "Relay settings" msgid "Transport settings" msgstr "Ρυθμίσεις Relay" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Λάθος γραμμή" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "Διεύθυνση κεντρικού host" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "Θύρα κεντρικού host" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "επιβεβαίωση παραληπτών" diff --git a/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po index e962c4cea..c7993e54d 100644 --- a/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,30 +17,30 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "" diff --git a/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po index 10e022139..ebb9f653a 100644 --- a/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2013-10-01 09:56+0000\n" "Last-Translator: Pedro Gracia \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,34 +20,34 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy msgid "Transport settings" msgstr "Nuevo dominio" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Línea inválida" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 #, fuzzy msgid "target host address" msgstr "objetivo" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 #, fuzzy msgid "target host port" msgstr "objetivo" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 #, fuzzy msgid "verify recipients" msgstr "Destinatarios" diff --git a/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po index 57378abe7..dbdc25e44 100644 --- a/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-01-25 09:19+0100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -19,31 +19,31 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "Paramètres du transport" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "Transport" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Ligne invalide" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "Service non supporté" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "Adresse de l'hôte cible" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "Port de l'hôte cible" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "Vérifier les destinataires" diff --git a/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po index 7e47a6233..5c3dada1a 100644 --- a/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2013-12-23 00:56+0100\n" "Last-Translator: Alberto Berti \n" "Language-Team: ITALIANO \n" @@ -17,37 +17,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy #| msgid "Relay domains" msgid "Transport settings" msgstr "Domini relè" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Riga non valida" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "destinazione" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "destinazione" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "Verifica destinatari" diff --git a/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po index 22a3ab5de..a9a9631a6 100644 --- a/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2016-06-07 07:27+0000\n" "Last-Translator: cwatanab \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -19,37 +19,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy #| msgid "Relay settings" msgid "Transport settings" msgstr "リレー設定" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "不正な行" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "ターゲットホスト" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "ターゲットホスト" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "受信者を確認" diff --git a/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po index 241f0e46b..0cd68f458 100644 --- a/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2014-12-31 11:37+0000\n" "Last-Translator: TuxBrother \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -20,37 +20,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy #| msgid "Relay domains" msgid "Transport settings" msgstr "Doorstuur domeinen" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Verkeerde regel" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "doel host" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "doel host" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "controleer ontvangers" diff --git a/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po index 0c96e32d4..b124b9ba9 100644 --- a/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-12-01 16:11+0000\n" "Last-Translator: Tomasz Proć \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -22,33 +22,33 @@ msgstr "" "%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" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 #, fuzzy #| msgid "Relay settings" msgid "Transport settings" msgstr "Ustawienia przekazywania" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Nieprawidłowa linia" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "adres hosta docelowego" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "docelowy port hosta" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "sprawdź odbiorców" diff --git a/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po index 5116faa0c..8d1a1c3be 100644 --- a/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # csmk, 2014 # Paulino Michelazzo , 2014-2015 @@ -11,40 +11,41 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" +"language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "Configurações de transporte" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "Transporte" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Linha inválida" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "Serviço não suportado" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "Endereço do host alvo" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "Porta do host alvo" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "verificar destinatários" diff --git a/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po index a92266629..04150bfb9 100644 --- a/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/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: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,35 +24,35 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Linha inválida" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "endereço de destino" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "endereço de destino" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "verificar destinatários" diff --git a/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po index 40d2934c6..eed2e2027 100644 --- a/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po @@ -1,47 +1,49 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Andrei-Ilie Olteanu , 2018 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-06-14 06:46+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" +"language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"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" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "Setări de transport" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "Transport" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Linie invalidă" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "Serviciu neacceptat" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "adresă de host" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "portul de host" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "verificați destinatarii" diff --git a/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po index 2b440ba0f..6f4531e84 100644 --- a/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/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: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\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,31 +19,31 @@ 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" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Ошибочная строка" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "" diff --git a/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po index 53504905a..5f6ac6dbd 100644 --- a/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Martin Persson , 2014 # Olle Gustafsson , 2013,2015-2018 @@ -9,40 +9,41 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-08-14 08:23+0000\n" "Last-Translator: Olle Gustafsson \n" -"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/sv/)\n" +"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" +"sv/)\n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "Transport inställningar" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "Transport" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "Ogiltig rad" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "Tjänsten stöds inte" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "mål värdadress" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "mål värd port" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "verifiera mottagare" diff --git a/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po index 6bccecff2..9a3e8f2e8 100644 --- a/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po @@ -1,47 +1,48 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # akong , 2018 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2018-06-29 00:13+0000\n" "Last-Translator: akong \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/language/zh_TW/)\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" +"language/zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: relaydomains/handlers.py:68 +#: relaydomains/handlers.py:65 msgid "Transport settings" msgstr "轉送設定" -#: relaydomains/handlers.py:92 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "轉送" -#: relaydomains/lib.py:16 +#: relaydomains/lib.py:17 msgid "Invalid line" msgstr "無效的行" -#: relaydomains/serializers.py:26 +#: relaydomains/serializers.py:29 msgid "Unsupported service" msgstr "不支援的服務" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:18 msgid "target host address" msgstr "目標主機位址" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:20 msgid "target host port" msgstr "目標主機連接埠" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:22 msgid "verify recipients" msgstr "驗證收件者" diff --git a/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.po index cf6d4a27d..cf186d857 100644 --- a/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.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. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Jarda Tesar , 2018\n" -"Language-Team: Czech (Czech Republic) (https://www.transifex.com/tonio/teams/13749/cs_CZ/)\n" +"Language-Team: Czech (Czech Republic) (https://www.transifex.com/tonio/" +"teams/13749/cs_CZ/)\n" +"Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "Toto pole je vyžadováno" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "Neplatná hodnota" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "vzor" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "služba" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "následující skok" diff --git a/modoboa/transport/locale/de/LC_MESSAGES/django.po b/modoboa/transport/locale/de/LC_MESSAGES/django.po new file mode 100644 index 000000000..68c1e45d6 --- /dev/null +++ b/modoboa/transport/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/el_GR/LC_MESSAGES/django.po b/modoboa/transport/locale/el_GR/LC_MESSAGES/django.po new file mode 100644 index 000000000..9e459b19b --- /dev/null +++ b/modoboa/transport/locale/el_GR/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/en/LC_MESSAGES/django.po b/modoboa/transport/locale/en/LC_MESSAGES/django.po index 43c7bbf3d..9e459b19b 100644 --- a/modoboa/transport/locale/en/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/es/LC_MESSAGES/django.po b/modoboa/transport/locale/es/LC_MESSAGES/django.po new file mode 100644 index 000000000..68c1e45d6 --- /dev/null +++ b/modoboa/transport/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/fr/LC_MESSAGES/django.po b/modoboa/transport/locale/fr/LC_MESSAGES/django.po index 2e8b25976..61baa5c1a 100644 --- a/modoboa/transport/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: 2017-11-24 17:22+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,23 +17,23 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "Ce champ est requis" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "Valeur incorrecte" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "patron" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "service" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "saut suivant" diff --git a/modoboa/transport/locale/it/LC_MESSAGES/django.po b/modoboa/transport/locale/it/LC_MESSAGES/django.po new file mode 100644 index 000000000..68c1e45d6 --- /dev/null +++ b/modoboa/transport/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po new file mode 100644 index 000000000..9e459b19b --- /dev/null +++ b/modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po new file mode 100644 index 000000000..9e459b19b --- /dev/null +++ b/modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po index f3aaf1753..a2ba4c7a9 100644 --- a/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/tonio/teams/13749/" "pl_PL/)\n" @@ -20,22 +20,22 @@ msgstr "" "%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" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po index 7d8a7a444..4b0181025 100644 --- a/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po @@ -2,38 +2,39 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Rafael Barretto , 2018\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=2; plural=(n > 1);\n" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "Esse campo é obrigatório" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "Valor inválido" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "modelo" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "serviço" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "próximo salto" diff --git a/modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po new file mode 100644 index 000000000..9e459b19b --- /dev/null +++ b/modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.po index 363be7d65..f0ed4aaad 100644 --- a/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.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. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Andrei-Ilie Olteanu , 2018\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" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "Acest câmp este necesar" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "Valuare invalidă" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "tipar" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "serviciu" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "următorul hop" diff --git a/modoboa/transport/locale/ru/LC_MESSAGES/django.po b/modoboa/transport/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 000000000..3a7d1f66a --- /dev/null +++ b/modoboa/transport/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" +#: transport/backends.py:44 +msgid "This field is required" +msgstr "" + +#: transport/backends.py:59 +msgid "Invalid value" +msgstr "" + +#: transport/models.py:20 +msgid "pattern" +msgstr "" + +#: transport/models.py:21 +msgid "service" +msgstr "" + +#: transport/models.py:22 +msgid "next hop" +msgstr "" diff --git a/modoboa/transport/locale/sv/LC_MESSAGES/django.po b/modoboa/transport/locale/sv/LC_MESSAGES/django.po index 1e6976e20..5bf09f175 100644 --- a/modoboa/transport/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/sv/LC_MESSAGES/django.po @@ -2,38 +2,38 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Tomas Olsson , 2018\n" "Language-Team: Swedish (https://www.transifex.com/tonio/teams/13749/sv/)\n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "Detta fält är obligatoriskt" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "Ogiltigt värde" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "mönster" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "tjänst" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "nästa hopp" diff --git a/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po index 8d36740dd..381586ab4 100644 --- a/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po @@ -2,38 +2,39 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-25 09:09+0100\n" +"POT-Creation-Date: 2018-10-05 16:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: akong , 2018\n" -"Language-Team: Chinese (Taiwan) (https://www.transifex.com/tonio/teams/13749/zh_TW/)\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/tonio/teams/13749/" +"zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: transport/backends.py:40 +#: transport/backends.py:44 msgid "This field is required" msgstr "這個欄位是必填的" -#: transport/backends.py:55 +#: transport/backends.py:59 msgid "Invalid value" msgstr "無效的值" -#: transport/models.py:18 +#: transport/models.py:20 msgid "pattern" msgstr "模式" -#: transport/models.py:19 +#: transport/models.py:21 msgid "service" msgstr "服務" -#: transport/models.py:20 +#: transport/models.py:22 msgid "next hop" msgstr "下一步" From 781aec2826ddf2ce3ad8215f536b5f121782c62f Mon Sep 17 00:00:00 2001 From: Anthony Bourguignon Date: Sat, 6 Oct 2018 14:30:10 +0200 Subject: [PATCH 4/6] improve code quality --- modoboa/core/tests/test_authentication.py | 9 ++++----- modoboa/core/views/auth.py | 5 +++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py index 1b912a0b5..ae2465735 100644 --- a/modoboa/core/tests/test_authentication.py +++ b/modoboa/core/tests/test_authentication.py @@ -70,7 +70,6 @@ class AuthenticationTestCase(ModoTestCase): def test_password_scheme(self): """Validate password scheme changes.""" - url = reverse("core:parameters") username = "user@test.com" password = "toto" data = {"username": username, "password": password} @@ -79,26 +78,26 @@ class AuthenticationTestCase(ModoTestCase): self.client.logout() self.set_global_parameter("password_scheme", "sha512crypt") - response = self.client.post(reverse("core:login"), data) + self.client.post(reverse("core:login"), data) user.refresh_from_db() self.assertTrue(user.password.startswith("{SHA512-CRYPT}")) self.client.logout() self.set_global_parameter("password_scheme", "sha256") - response = self.client.post(reverse("core:login"), data) + self.client.post(reverse("core:login"), data) user.refresh_from_db() self.assertTrue(user.password.startswith("{SHA256}")) self.client.logout() self.set_global_parameter("password_scheme", "fallback_scheme") - response = self.client.post(reverse("core:login"), data) + self.client.post(reverse("core:login"), data) user.refresh_from_db() self.assertTrue(user.password.startswith(pw_hash.scheme)) self.client.logout() self.set_global_parameter("password_scheme", "sha256crypt") self.set_global_parameter("update_scheme", False) - response = self.client.post(reverse("core:login"), data) + self.client.post(reverse("core:login"), data) user.refresh_from_db() self.assertTrue(user.password.startswith(pw_hash.scheme)) diff --git a/modoboa/core/views/auth.py b/modoboa/core/views/auth.py index 45054f149..edf73cb0c 100644 --- a/modoboa/core/views/auth.py +++ b/modoboa/core/views/auth.py @@ -39,7 +39,7 @@ def dologin(request): raise_exception=False): # check if password scheme is correct scheme = param_tools.get_global_parameter("password_scheme", - raise_exception=False) + raise_exception=False) # use SHA512CRYPT as default fallback if scheme is None: pwhash = get_password_hasher('sha512crypt')() @@ -47,7 +47,8 @@ def dologin(request): pwhash = get_password_hasher(scheme)() if not user.password.startswith(pwhash.scheme): logging.info( - _("Password scheme mismatch. Updating %s password") % user.username + _("Password scheme mismatch. Updating %s password"), + user.username ) user.set_password(form.cleaned_data["password"]) user.save() From f663cb2316ce1995e654b087eafcb5ac30e67b71 Mon Sep 17 00:00:00 2001 From: Anthony Bourguignon Date: Sat, 6 Oct 2018 14:37:39 +0200 Subject: [PATCH 5/6] improve indentation --- modoboa/core/views/auth.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modoboa/core/views/auth.py b/modoboa/core/views/auth.py index edf73cb0c..77de63417 100644 --- a/modoboa/core/views/auth.py +++ b/modoboa/core/views/auth.py @@ -38,8 +38,8 @@ def dologin(request): if param_tools.get_global_parameter("update_scheme", raise_exception=False): # check if password scheme is correct - scheme = param_tools.get_global_parameter("password_scheme", - raise_exception=False) + scheme = param_tools.get_global_parameter( + "password_scheme", raise_exception=False) # use SHA512CRYPT as default fallback if scheme is None: pwhash = get_password_hasher('sha512crypt')() From b88f5d9fa5b03b8cc6f421d94818657cd7e311b8 Mon Sep 17 00:00:00 2001 From: Anthony Bourguignon Date: Tue, 9 Oct 2018 12:09:59 +0200 Subject: [PATCH 6/6] improve code quality --- modoboa/core/app_settings.py | 2 +- modoboa/core/tests/test_authentication.py | 2 +- modoboa/locale/fr/LC_MESSAGES/django.po | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index 1e0124a4f..788983144 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -69,7 +69,7 @@ class GeneralParametersForm(param_forms.AdminParametersForm): ) update_scheme = YesNoField( - label=ugettext_lazy("Update password scheme"), + label=ugettext_lazy("Update password scheme at login"), initial=True, help_text=ugettext_lazy( "Update user password at login to use the default password scheme" diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py index ae2465735..509425503 100644 --- a/modoboa/core/tests/test_authentication.py +++ b/modoboa/core/tests/test_authentication.py @@ -11,8 +11,8 @@ from django.core import mail from django.test import override_settings from django.urls import reverse -from modoboa.lib.tests import NO_SMTP, ModoTestCase from modoboa.core.password_hashers import get_password_hasher +from modoboa.lib.tests import NO_SMTP, ModoTestCase from .. import factories, models try: diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po index 50edaa30b..9f4f72f6e 100644 --- a/modoboa/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/locale/fr/LC_MESSAGES/django.po @@ -80,8 +80,8 @@ msgstr "" "être compris entre 1000 et 999999999 inclue." #: core/app_settings.py:72 -msgid "Update password scheme" -msgstr "Mettre à jour le chiffrement des mots de passe" +msgid "Update password scheme at login" +msgstr "Mettre à jour le chiffrement des mots de passe à la connexion" #: core/app_settings.py:75 msgid "Update user password at login to use the default password scheme"