diff --git a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po
index ddc71be3a..dab4058b6 100644
--- a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po
+++ b/modoboa/admin/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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -133,7 +133,7 @@ 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:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Musí se jednat o kladné číslo"
@@ -145,11 +145,11 @@ msgstr ""
msgid "Administration"
msgstr "Správa"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Uživatelské jméno"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -157,56 +157,75 @@ 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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Role"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Vybrat"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Jaká úroveň oprávnění bude tomuto uživateli nastavena"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid request"
+msgid "Random password"
+msgstr "Neplatný požadavek"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Heslo"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Potvrzení"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
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:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Povoleno"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Obě pole s heslem se neshodují."
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "Schránka je vyžadována"
+
+#: admin/forms/account.py:190
+msgid "The two password fields didn't match."
+msgstr "Obě pole s heslem se neshodují."
+
+#: admin/forms/account.py:200
msgid "You can't disable your own account"
msgstr "Nemůžete zakázat váš vlastní účet"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Kvóta"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -216,12 +235,12 @@ msgstr ""
"hodnotu domény. Ponechejte prázdné pro neomezenou kvótu (není povoleno "
"správcům domény)."
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias(y)"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -236,13 +255,13 @@ msgstr ""
"pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' (např. "
"*@domena.cz)."
-#: admin/forms/account.py:226
+#: admin/forms/account.py:242
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Neplatný požadavek"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -256,56 +275,56 @@ msgstr ""
"řádek pouze jednu adresu; pro vložení další adresy stiskněte po vložení "
"ENTER."
-#: admin/forms/account.py:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Doména neexistuje"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "Doména neexistuje"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Nemáte oprávnění k přístupu k této doméně"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Doména(y)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Doména(y) pod správou uživatele"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Obecné"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Mail"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Oprávnění"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Účet aktualizován"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nový účet"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Účet vytvořen"
@@ -348,7 +367,7 @@ msgstr ""
"řádek pouze jednu adresu; pro vložení další adresy stiskněte po vložení "
"ENTER."
-#: admin/forms/alias.py:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Doména"
@@ -363,12 +382,12 @@ msgstr "Schránka je vyžadována"
msgid "No recipient defined"
msgstr "Nebyl určen příjemce"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -376,99 +395,99 @@ 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:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "doménový alias"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "%s s tímto názvem již existuje"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "doména"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Vytvořit správce domény"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Automaticky vytvořit správce této domény"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Jméno"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
msgstr ""
"Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, fuzzy
+#| msgid "Create a domain administrator"
+msgid "Generate a random password for the administrator."
+msgstr "Vytvořit správce domény"
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Vytvořit správce domény"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Vytvořit aliasy"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Automaticky vytvořit běžné aliasy pro tuto doménu"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Neplatný formát"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "Schránka je vyžadována"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "Uživatel '%s' již existuje"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Doména upravena"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Možnosti"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Nová doména"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Doména vytvořena"
@@ -521,7 +540,7 @@ msgstr "Zatrhněte toto pole, pokud hesla ve vašem souboru nejsou zašifrována
msgid "Account import failed (%s): domain does not exist"
msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
@@ -543,17 +562,17 @@ msgstr "Identity"
msgid "Forward"
msgstr "Přeposlat"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "Schránka je vyžadována"
-#: admin/lib.py:129
+#: admin/lib.py:131
#, fuzzy
#| msgid "You can't delete your own domain"
msgid "You are not allowed to import domains"
msgstr "Nemůžete smazat vlastní doménu"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr ""
@@ -729,7 +748,7 @@ msgstr "Kvóta je vyžadována"
msgid "Domain quota exceeded"
msgstr "Doména vytvořena"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
@@ -740,25 +759,25 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr ""
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/serializers.py:248
+#: admin/serializers.py:253
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "Doména neexistuje"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
@@ -876,7 +895,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Doména je zakázána"
@@ -982,7 +1001,7 @@ msgstr "Odstranit toto oprávnění"
msgid "No domain administrator defined yet."
msgstr " Nebyl určen správce domény"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Nemůžete vytvořit nového správce domény"
diff --git a/modoboa/admin/locale/de/LC_MESSAGES/django.po b/modoboa/admin/locale/de/LC_MESSAGES/django.po
index c7395ec38..ad3df858d 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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"
@@ -138,7 +138,7 @@ msgstr ""
"wurde."
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Muss eine positive Ganzzahl sein"
@@ -150,11 +150,11 @@ msgstr ""
msgid "Administration"
msgstr "Verwaltung"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Benutzername"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -162,56 +162,75 @@ msgstr ""
"Der Benutzername. Muss eine gültige E-Mail-Adresse für 'Normale Benutzer' "
"oder Administratoren mit einer Mailbox sein."
-#: admin/forms/account.py:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Rolle"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Auswählen"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Rechte, die der Benutzer haben wird"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid address"
+msgid "Random password"
+msgstr "Ungültige Adresse"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Passwort"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Bestätigung"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Passwort bestätigen"
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Aktiviert"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Die angegebenen Passwörter stimmen nicht überein"
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr "Nur Super-Administratoren dürfen diesen Modus benutzen."
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "Ein Postfach ist erforderlich"
+
+#: 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:200
msgid "You can't disable your own account"
msgstr "Sie können Ihr eigenes Konto nicht deaktivieren"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-Mail"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -221,12 +240,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:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias(e)"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -241,13 +260,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:226
+#: admin/forms/account.py:242
#, fuzzy
#| msgid "Invalid address"
msgid "Sender addresses"
msgstr "Ungültige Adresse"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
#, fuzzy
#| msgid ""
#| "Addresses this alias will point to. Indicate only one address per input, "
@@ -260,56 +279,56 @@ msgstr ""
"Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein "
"und bestätigen Sie mit ENTER."
-#: admin/forms/account.py:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Domain existiert nicht"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "Domain existiert nicht"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Domain(s)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Domain(s), die dieser Benutzer administriert"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Allgemein"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "E-Mail"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Berechtigungen"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Konto aktualisiert"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Neues Konto"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Konto erstellt"
@@ -343,7 +362,7 @@ msgstr ""
"Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein "
"und bestätigen Sie mit ENTER."
-#: admin/forms/alias.py:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Domain"
@@ -358,12 +377,12 @@ msgstr "Ein Postfach ist erforderlich"
msgid "No recipient defined"
msgstr "Keine Empfänger angegeben"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -372,47 +391,47 @@ msgstr ""
"Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu "
"erhalten."
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "Domain-Alias"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "Ein %s mit diesem Namen existiert bereits"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "Domain"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Domain-Administrator erstellen"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Automatisch Administrator für diese Domain anlegen"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Name"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -420,52 +439,52 @@ msgstr ""
"Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird "
"automatisch angehängt."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, fuzzy
+#| msgid "Create a domain administrator"
+msgid "Generate a random password for the administrator."
+msgstr "Domain-Administrator erstellen"
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Domain-Administrator erstellen"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Aliase erstellen"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Automatisch Standard-Aliase für Domain anlegen"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Ungültiges Format"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "Ein Postfach ist erforderlich"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "Benutzer %s existiert bereits"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Domain verändert"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Optionen"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Neue Domain"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Domain erstellt."
@@ -518,7 +537,7 @@ msgstr "Auswählen, wenn Kennwörter in Datei nicht verschlüsselt sind"
msgid "Account import failed (%s): domain does not exist"
msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
@@ -540,15 +559,15 @@ msgstr "Identitäten"
msgid "Forward"
msgstr "Weiterleiten"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "Ein Postfach ist erforderlich"
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr "Sie verfügen nicht über ausreichend Rechte, um Domains zu importieren."
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr ""
"Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren."
@@ -719,7 +738,7 @@ msgstr "Ein Quota ist erforderlich"
msgid "Domain quota exceeded"
msgstr "Domain erstellt."
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
@@ -730,25 +749,25 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr ""
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/serializers.py:248
+#: admin/serializers.py:253
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "Domain existiert nicht"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
@@ -866,7 +885,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Domain ist deaktiviert"
@@ -972,7 +991,7 @@ msgstr "Diese Berechtigung entfernen"
msgid "No domain administrator defined yet."
msgstr "Kein Domain-Administrator definiert"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Sie können keinen neuen Domain-Administrator erstellen"
diff --git a/modoboa/admin/locale/en/LC_MESSAGES/django.po b/modoboa/admin/locale/en/LC_MESSAGES/django.po
index 44337cc14..c3dd2c4c5 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -119,7 +119,7 @@ msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr ""
@@ -131,143 +131,158 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr ""
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr ""
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr ""
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr ""
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+msgid "Random password"
+msgstr ""
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr ""
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr ""
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr ""
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr ""
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr ""
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+msgid "This field is required."
+msgstr ""
+
+#: admin/forms/account.py:190
+msgid "The two password fields didn't match."
+msgstr ""
+
+#: admin/forms/account.py:200
msgid "You can't disable your own account"
msgstr ""
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr ""
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr ""
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr ""
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
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:226
+#: admin/forms/account.py:242
msgid "Sender addresses"
msgstr ""
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
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:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr ""
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
msgid "Local domain does not exist"
msgstr ""
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr ""
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr ""
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr ""
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr ""
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr ""
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr ""
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr ""
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr ""
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr ""
@@ -295,7 +310,7 @@ msgid ""
"press ENTER to add a new input."
msgstr ""
-#: admin/forms/alias.py:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr ""
@@ -308,105 +323,105 @@ msgstr ""
msgid "No recipient defined"
msgstr ""
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr ""
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
msgstr ""
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr ""
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr ""
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr ""
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr ""
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr ""
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr ""
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
msgstr ""
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+msgid "Generate a random password for the administrator."
+msgstr ""
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
msgid "Create a mailbox for the administrator."
msgstr ""
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr ""
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr ""
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr ""
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-msgid "This field is required."
-msgstr ""
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr ""
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr ""
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr ""
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr ""
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr ""
@@ -459,7 +474,7 @@ msgstr ""
msgid "Account import failed (%s): domain does not exist"
msgstr ""
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr ""
@@ -479,15 +494,15 @@ msgstr ""
msgid "Forward"
msgstr ""
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr ""
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr ""
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr ""
@@ -637,7 +652,7 @@ msgstr ""
msgid "Domain quota exceeded"
msgstr ""
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
msgid "Permission denied."
msgstr ""
@@ -646,23 +661,23 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr ""
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/serializers.py:248
+#: admin/serializers.py:253
msgid "Local domain {} does not exist"
msgstr ""
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
msgid "Domain not found."
msgstr ""
@@ -756,7 +771,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr ""
@@ -850,7 +865,7 @@ msgstr ""
msgid "No domain administrator defined yet."
msgstr ""
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr ""
diff --git a/modoboa/admin/locale/es/LC_MESSAGES/django.po b/modoboa/admin/locale/es/LC_MESSAGES/django.po
index b2e0ef015..770b23cae 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -130,7 +130,7 @@ 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:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Debe ser un entero positivo"
@@ -142,11 +142,11 @@ msgstr ""
msgid "Administration"
msgstr "Administración"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Nombre de usuario"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -154,56 +154,73 @@ 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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Rol"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Elija"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Qué nivel de permiso tendrá este usuario"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Random address"
+msgid "Random password"
+msgstr "Dirección aleatoria"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Contraseña"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Confirmación"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Introduzca la misma contraseña que arriba, para verificación."
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Activado"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Las contraseñas no concuerdan"
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr "Sólo se permiten superadministradores para este modo"
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+msgid "This field is required."
+msgstr "Este campo es obligatorio."
+
+#: admin/forms/account.py:190
+msgid "The two password fields didn't match."
+msgstr "Las contraseñas no concuerdan"
+
+#: admin/forms/account.py:200
msgid "You can't disable your own account"
msgstr "No puede deshabilitar su propia cuenta"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "Email"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Cuota"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -213,12 +230,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:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
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 "
@@ -228,11 +245,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:226
+#: admin/forms/account.py:242
msgid "Sender addresses"
msgstr "Direcciónes de remitente"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
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 "
@@ -243,54 +260,54 @@ msgstr ""
"exista localmente. Indique una dirección por entrada. Presione ENTER para "
"agregar una nueva entrada."
-#: admin/forms/account.py:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "El dominio no existe"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
msgid "Local domain does not exist"
msgstr "El dominio no existe"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "No tienes acceso a este dominio"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Dominio(s)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Dominio(s) que el usuario administra"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "General"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Correo"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Permisos"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Cuenta actualizada"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nueva cuenta"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Cuenta creada"
@@ -322,7 +339,7 @@ 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:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Dominio"
@@ -335,12 +352,12 @@ msgstr "Este campo es obligatorio"
msgid "No recipient defined"
msgstr "No ha puesto destinatario"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -348,49 +365,49 @@ msgstr ""
"Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione "
"ENTER para añadir una nueva entrada."
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "alias del dominio"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "Ya existe un %s con ese nombre"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
#, 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:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr "No puede superar la cuota de dominio"
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr "No puede definir una cuota ilimitada."
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "dominio"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Crear un administrador del dominio"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Automáticamente crear una administrador para este dominio"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nombre"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -398,48 +415,50 @@ msgstr ""
"El nombre del administrador. No incluya el nombre del dominio aquí, será "
"añadido automáticamente."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, 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:226
msgid "With a mailbox"
msgstr "Con una mailbox"
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
msgid "Create a mailbox for the administrator."
msgstr "Crear mailbox para el administrador."
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Crear alias"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Automáticamente crear alias estándar para este dominio"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-msgid "This field is required."
-msgstr "Este campo es obligatorio."
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "El usuario '%s' ya existe"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Dominio modificado"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Opciones"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Nuevo dominio"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Dominio creado"
@@ -494,7 +513,7 @@ msgstr ""
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:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "El buzón {} ya existe"
@@ -514,15 +533,15 @@ msgstr "Identidades"
msgid "Forward"
msgstr "Siguiente"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "Es obligatorio un buzón"
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr "No está autorizado para importar dominios"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr "No está autorizado para importar alias de dominio."
@@ -677,7 +696,7 @@ msgstr "Una cuota es obligatoria"
msgid "Domain quota exceeded"
msgstr "Cuota de dominio excedida"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
msgid "Permission denied."
msgstr "Permiso denegado."
@@ -688,23 +707,23 @@ msgstr ""
"Lista de dominios administrados (sólo distribuidores y administradores de "
"dominio)."
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr "No estás autorizado para esta función."
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr "Debe ser igual a la dirección completa del buzón"
-#: admin/serializers.py:248
+#: admin/serializers.py:253
msgid "Local domain {} does not exist"
msgstr "El dominio local {} no existe"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr "Lista de destinatarios"
-#: admin/serializers.py:348
+#: admin/serializers.py:358
msgid "Domain not found."
msgstr "Dominio no encontrado."
@@ -798,7 +817,7 @@ msgstr "Direcciones de remitente adicionales"
msgid "No sender address defined"
msgstr "No se ha definido la dirección del remitente"
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "El dominio está deshabilitado"
@@ -892,7 +911,7 @@ msgstr "Eliminar este permiso"
msgid "No domain administrator defined yet."
msgstr "Aún no se define un administrador de dominio."
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "No puedes crear un nuevo administrador de dominio"
diff --git a/modoboa/admin/locale/fr/LC_MESSAGES/django.po b/modoboa/admin/locale/fr/LC_MESSAGES/django.po
index 9006b56d6..86dfecd1a 100644
--- a/modoboa/admin/locale/fr/LC_MESSAGES/django.po
+++ b/modoboa/admin/locale/fr/LC_MESSAGES/django.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-08-18 14:44+0200\n"
-"PO-Revision-Date: 2017-08-18 13:09+0000\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
+"PO-Revision-Date: 2017-09-08 08:54+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -121,7 +121,7 @@ msgid ""
msgstr "Créer un domaine et une boite aux lettres quand un compte est créé automatiquement."
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Doit être un entier positif"
@@ -133,143 +133,159 @@ msgstr "Définissez au moins un réseau / une adresse autorisé"
msgid "Administration"
msgstr "Administration"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Nom d'utilisateur"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
msgstr "Le nom de l'utilisateur. Doit être une adresse e-mail valide pour les utilisateurs simples ou les administrateurs avec une boite aux lettres."
-#: admin/forms/account.py:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Rôle"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Choisir"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Quel niveau de permission cet utilisateur aura"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+msgid "Random password"
+msgstr "Mot de passe aléatoire"
+
+#: admin/forms/account.py:52
+msgid ""
+"Generate a random password. If you're updating this account and check this "
+"box, a new password will be generated."
+msgstr "Générer un mot de passe aléatoire. Si vous modifiez ce compte et cochez cette case, un nouveau mot de passe sera généré."
+
+#: admin/forms/account.py:58
msgid "Password"
msgstr "Mot de passe"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Confirmation"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Entrer le même mot de passe, pour vérification."
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Activé"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Les deux mots de passe ne correspondent pas."
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr "Seuls les super administrateurs sont autorisés pour ce mode"
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266
+#: admin/serializers.py:241
+msgid "This field is required."
+msgstr "Ce champ est requis."
+
+#: 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:200
msgid "You can't disable your own account"
msgstr "Vous ne pouvez pas désactiver votre propre compte"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "Quota en Mo pour cette boite. Définir une valeur spécifique ou utiliser la valeur par défaut du domaine. Laisser vide pour définir une valeur illimitée (interdit pour les admins. de domaine)."
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
msgid ""
"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
"to add a new input. To create a catchall alias, just enter the domain name "
"(@domain.tld)."
msgstr "Alias de cette boîte aux lettres. Indiquer une adresse par champ, appuyer sur ENTREE pour ajouter un nouveau champ. Pour créer un alias 'fourre-tout', entrer seulement le nom du domaine (@domain.tld)."
-#: admin/forms/account.py:226
+#: admin/forms/account.py:242
msgid "Sender addresses"
msgstr "Adresses d'envoi"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
msgid ""
"Additional sender address(es) for this account. The user will be allowed to "
"send emails using this address, even if it does not exist locally. Indicate "
"one address per input. Press ENTER to add a new input."
msgstr "Adresse(s) d'envoi supplémentaire(s) pour ce compte. L'utilisateur sera autorisé à envoyer des e-mails en utilisant la/les adresse(s) déclarée(s), même si elle(s) n'existe(nt) pas localement. Indiquer une adresse par champ. Appuyer sur ENTREE pour ajouter un nouveau champ."
-#: admin/forms/account.py:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Domaine inexistant"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
msgid "Local domain does not exist"
msgstr "Le domaine local n'existe pas"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Vous n'avez pas accès à ce domaine"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Domaine(s)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Domaine(s) que cet utilisateur administre"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Général"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Courrier"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Permissions"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Compte mis à jour"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nouveau compte"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Compte créé"
@@ -297,7 +313,7 @@ msgid ""
"press ENTER to add a new input."
msgstr "Les adresses vers lesquelles cet alias pointera. Indiquer une adresse par champ, appuyer sur ENTREE pour ajouter un nouveau champ."
-#: admin/forms/alias.py:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Domaine"
@@ -310,106 +326,106 @@ msgstr "Ce champ est requis."
msgid "No recipient defined"
msgstr "Aucune destinataire défini"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Type"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
msgstr "Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE pour ajouter un nouveau champ."
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "alias de domaine"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144
-#: admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145
+#: admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "Un %s de ce nom existe déjà"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr "Aucun enregistrement MX autorisé trouvé pour ce domaine"
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr "Ne peut pas être supérieur au quota du domaine"
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr "Vous ne pouvez pas définir de quota illimité"
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "domaine"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Créer un administrateur de domaine"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Créer automatiquement un administrateur pour ce domaine"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nom"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
msgstr "Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera ajouté automatiquement."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+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:226
msgid "With a mailbox"
msgstr "Avec une boite aux lettres"
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
msgid "Create a mailbox for the administrator."
msgstr "Créer une boite aux lettres pour l'administrateur"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Créer des alias"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Créer automatiquement des alias standard pour ce domaine"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Format invalide"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-msgid "This field is required."
-msgstr "Ce champ est requis."
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "L'utilisateur '%s' existe déjà"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Domaine modifié"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Options"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Nouveau domaine"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Domaine créé"
@@ -462,7 +478,7 @@ msgstr "Cocher cette option si les mots de passe contenus dans votre fichier ne
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:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "La boite {} existe déjà"
@@ -482,15 +498,15 @@ msgstr "Identités"
msgid "Forward"
msgstr "Transfert"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "Une boite aux lettres est requise"
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr "Vous n'êtes pas autorisé à importer des domaines"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr "Vous n'êtes pas autorisé à importer des alias de domaine."
@@ -640,7 +656,7 @@ msgstr "Un quota est requis"
msgid "Domain quota exceeded"
msgstr "Quota du domaine dépassé"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
msgid "Permission denied."
msgstr "Permission refusée."
@@ -649,23 +665,23 @@ 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:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr "Non autorisé pour ce rôle."
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr "Doit être égale au champ full_address dans mailbox"
-#: admin/serializers.py:248
+#: admin/serializers.py:253
msgid "Local domain {} does not exist"
msgstr "Le domaine local {} n'existe pas"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr "Une liste de destinataire"
-#: admin/serializers.py:348
+#: admin/serializers.py:358
msgid "Domain not found."
msgstr "Domaine introuvable."
@@ -759,7 +775,7 @@ msgstr "Adresses d'envoi supplémentaires"
msgid "No sender address defined"
msgstr "Aucune adresse d'envoi déclarée"
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Le domaine est désactivé"
@@ -853,7 +869,7 @@ msgstr "Supprimer cette permission"
msgid "No domain administrator defined yet."
msgstr "Aucun administrateur de domaine défini."
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Vous ne pouvez pas créer de nouvel administrateur de domaine"
diff --git a/modoboa/admin/locale/it/LC_MESSAGES/django.po b/modoboa/admin/locale/it/LC_MESSAGES/django.po
index 3691b2e11..58c5f7ebe 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -137,7 +137,7 @@ msgstr ""
"account utente"
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Dev'essere un intero positivo"
@@ -149,11 +149,11 @@ msgstr ""
msgid "Administration"
msgstr "Amministrazione"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Nome utente"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -161,57 +161,76 @@ 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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Ruolo"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Scegli"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Il livello di permessi che avrà questo utente"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid address"
+msgid "Random password"
+msgstr "Indirizzo non valido"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Password"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Conferma"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
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:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Abilitato"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Le password nei due campi non corrispondono"
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr "Solo i super amministratori possono operare in questa modalità"
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "É necessaria una casella"
+
+#: 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:200
msgid "You can't disable your own account"
msgstr "Tu non puoi disabilitare il tuo account"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -221,12 +240,12 @@ msgstr ""
"quello predefinito. Lasciare vuoto per non impostare limiti (non consentito "
"per gli amministratori di dominio)."
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -241,13 +260,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:226
+#: admin/forms/account.py:242
#, fuzzy
#| msgid "Invalid address"
msgid "Sender addresses"
msgstr "Indirizzo non valido"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
#, fuzzy
#| msgid ""
#| "Addresses this alias will point to. Indicate only one address per input, "
@@ -260,56 +279,56 @@ 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:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Il dominio non esiste"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "Il dominio non esiste"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Non hai accesso a questo dominio"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Dominio(i)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Dominio(i) amministrato(i) dall'utente"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Generale"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Posta"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Permessi"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Account aggiornato"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nuovo account"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Account creato"
@@ -343,7 +362,7 @@ 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:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Dominio"
@@ -358,12 +377,12 @@ msgstr "É necessaria una casella"
msgid "No recipient defined"
msgstr "Non è stato definito un destinatario"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -371,47 +390,47 @@ msgstr ""
"Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO "
"per aggiungere un nuovo elemento"
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "alias del dominio"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "Un %s con questo nome esiste già"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "dominio"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Crea un amministratore di dominio"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Crea automaticamente un amministratore per questo dominio"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -419,52 +438,52 @@ msgstr ""
"Il nome dell'amministratore. Non includere il nome del dominio, verrà "
"aggiunto automaticamente."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, fuzzy
+#| msgid "Create a domain administrator"
+msgid "Generate a random password for the administrator."
+msgstr "Crea un amministratore di dominio"
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Crea un amministratore di dominio"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Crea alias"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Crea automaticamente gli alias standard per questo dominio"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Formato non valido"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "É necessaria una casella"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "L'utente '%s' esiste già"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Dominio modificato"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Opzioni"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Nuovo dominio"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Dominio creato"
@@ -519,7 +538,7 @@ msgstr ""
msgid "Account import failed (%s): domain does not exist"
msgstr "Importazione dell'account fallito (%s): il dominio non esiste"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
@@ -541,15 +560,15 @@ msgstr "Identità"
msgid "Forward"
msgstr "Inoltra"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "É necessaria una casella"
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr "Non hai i permessi di importare domini"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr "Non hai i permessi di importare gli alias dominio"
@@ -719,7 +738,7 @@ msgstr "È richiesta una quota"
msgid "Domain quota exceeded"
msgstr "Dominio creato"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
@@ -730,25 +749,25 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr ""
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/serializers.py:248
+#: admin/serializers.py:253
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "Il dominio non esiste"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
@@ -866,7 +885,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "il Dominio è disabilitato"
@@ -972,7 +991,7 @@ msgstr "Rimuovi questo permesso"
msgid "No domain administrator defined yet."
msgstr "Non è stato definito alcun amministratore di dominio"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Non ti è possibile creare un amministratore di dominio"
diff --git a/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po
index 76ea20c56..6ff769b4c 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -136,7 +136,7 @@ msgstr ""
"アカウントが自動的に作成されたとき、ドメインとメールボックを作成します。"
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "正の整数でなければいけません"
@@ -148,11 +148,11 @@ msgstr ""
msgid "Administration"
msgstr "管理"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "ユーザー名"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -161,56 +161,75 @@ msgstr ""
"メールボックスを持つユーザーもしくは管理者の有効な電子メールアドレスでなけれ"
"ばなりません。"
-#: admin/forms/account.py:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "ロール"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "選ぶ"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "このユーザーは、アクセス許可のレベルを持つことになります"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid address"
+msgid "Random password"
+msgstr "不正なアドレス"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "パスワード"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "確認"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "確認のため、上記と同じパスワードを入力します。"
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "有効化"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "2つのパスワード項目が一致しません"
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr "スーパー管理者だけが、このモードのために許可されています。"
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "メールボックスは必須です"
+
+#: admin/forms/account.py:190
+msgid "The two password fields didn't match."
+msgstr "2つのパスワード項目が一致しません"
+
+#: admin/forms/account.py:200
msgid "You can't disable your own account"
msgstr "あなた自身のアカウントは無効化できません"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "電子メール"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "クォータ"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -221,12 +240,12 @@ msgstr ""
"無制限の値を定義する場合は空白のままにします\n"
"(ドメイン管理者には許可されていません)"
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "エイリアス"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -243,65 +262,65 @@ msgstr ""
" 「キャッチオール」エイリアスを作成するには、 ' * '文字を使用してください "
"(例: *@domain.tld)"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:242
msgid "Sender addresses"
msgstr ""
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
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:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "ドメインは存在しません"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
msgid "Local domain does not exist"
msgstr "ローカルドメインは存在しません"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "このドメインにアクセスする権限がありません"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "ドメイン"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "ユーザーに管理されたドメイン"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "全般"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "メール"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "アクセス許可"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "アカウントを更新しました"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "新しいアカウト"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "アカウントを作成しました"
@@ -337,7 +356,7 @@ msgstr ""
"input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追"
"加します"
-#: admin/forms/alias.py:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "ドメイン"
@@ -350,12 +369,12 @@ msgstr ""
msgid "No recipient defined"
msgstr "受信者が定義されていません"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "タイプ"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -364,49 +383,49 @@ msgstr ""
"input ごとに1つの名前を入力して、 ENTER キーを押して、新しい input を追加しま"
"す"
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "ドメインエイリアス"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr " %s という名前は、すでに存在しています"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
#, fuzzy
#| msgid "No information available for this domain."
msgid "No authorized MX record found for this domain"
msgstr "このドメインに関する情報がありません。"
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "ドメイン"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "ドメイン管理者を作成する"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "自動的にドメインの管理者を作成する"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "名前"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -414,52 +433,52 @@ msgstr ""
"管理者の名前\n"
"ここでは、ドメイン名を含めないでください、それが自動的に付加されます。"
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, fuzzy
+#| msgid "Create a domain administrator"
+msgid "Generate a random password for the administrator."
+msgstr "ドメイン管理者を作成する"
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "ドメイン管理者を作成する"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "エイリアスを作成"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "自動的にドメインの標準的なエイリアスを作成する"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "不正なフォーマット"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "メールボックスは必須です"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "ユーザー %s はすでに存在します"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "ドメインが修正されました"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "オプション"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "新しいドメイン"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "ドメインが作成されました"
@@ -514,7 +533,7 @@ msgstr ""
msgid "Account import failed (%s): domain does not exist"
msgstr "アカウントのインポートに失敗しました (%s): ドメインが存在しません"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "メールボックス {} はすでに存在します"
@@ -534,15 +553,15 @@ msgstr "ID"
msgid "Forward"
msgstr "転送先"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "メールボックスは必須です"
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr "ドメインのインポートは許可されていません"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr "ドメインエイリアスのインポートは許可されていません"
@@ -718,7 +737,7 @@ msgstr "クォータは必須です"
msgid "Domain quota exceeded"
msgstr "ドメインが作成されました"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
msgid "Permission denied."
msgstr "アクセス拒否"
@@ -727,23 +746,23 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr "管理しているドメインのリスト (リセーラーとドメイン管理者のみ)"
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr "このロールには許可されていません"
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr "メールボックス full_address に等しくなければなりません"
-#: admin/serializers.py:248
+#: admin/serializers.py:253
msgid "Local domain {} does not exist"
msgstr "ローカルドメイン {} は、存在しません"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
msgid "Domain not found."
msgstr "ドメインが見つかりません"
@@ -843,7 +862,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "ドメインが無効です"
@@ -941,7 +960,7 @@ msgstr "このパーミッションを削除"
msgid "No domain administrator defined yet."
msgstr "ドメイン管理者が指定されていません"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "新しいドメイン管理者を作成できません"
diff --git a/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po
index 355eaf680..961f0c6be 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -137,7 +137,7 @@ msgstr ""
"Maak een domein en mailbox aan wanneer een account automatisch is aangemaakt."
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Dit moet een positive integer zijn."
@@ -149,11 +149,11 @@ msgstr ""
msgid "Administration"
msgstr "Administratie"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Gebruikersnaam"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -161,56 +161,75 @@ msgstr ""
"De naam van de gebruiker. Moet een geldig e-mail adres zijn voor gebruikers "
"of administrators met een mailbox."
-#: admin/forms/account.py:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Regel"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Kiezen"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Welk niveau van rechten deze gebruiker zal hebben"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid request"
+msgid "Random password"
+msgstr "Ongeldig verzoek"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Wachtwoord"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Bevestiging"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Herhaal wachtwoord (voor verificatie)"
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Actief"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "De wachtwoorden komen niet overeen."
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "Een mailbox is benodigd"
+
+#: admin/forms/account.py:190
+msgid "The two password fields didn't match."
+msgstr "De wachtwoorden komen niet overeen."
+
+#: admin/forms/account.py:200
msgid "You can't disable your own account"
msgstr "U kunt uw eigen account niet uitschakelen"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -220,12 +239,12 @@ msgstr ""
"stanaard waarde van het domein. Laat leeg om een ongelimiteerde waarde te "
"definieren (niet toegestaan voor domein administrators)."
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias(sen)"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -240,13 +259,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:226
+#: admin/forms/account.py:242
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Ongeldig verzoek"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -259,56 +278,56 @@ 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:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Domein bestaat niet"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "Domein bestaat niet"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "U heeft geen toegang tot dit domein"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Domein(en)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Domein(en) die gebruiker mag beheren"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Algemeen"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Mail"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Rechten"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Account aangepast"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nieuwe account"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Account aangemaakt"
@@ -350,7 +369,7 @@ 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:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Domein"
@@ -365,12 +384,12 @@ msgstr "Een mailbox is benodigd"
msgid "No recipient defined"
msgstr "Geen ontvanger opgegeven"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Type"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -378,99 +397,99 @@ 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:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "domein alias"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "Een %s met deze naam bestaat al"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "domein"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Maak een domein administrator aan"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Automatisch een administrator aanmaken voor dit domein"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Naam"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
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:216
+#: admin/forms/domain.py:220
+#, fuzzy
+#| msgid "Create a domain administrator"
+msgid "Generate a random password for the administrator."
+msgstr "Maak een domein administrator aan"
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Maak een domein administrator aan"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Aliassen aanmaken"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Automatisch een standaard alias voor dit domein aanmaken"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Verkeerd formaat"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "Een mailbox is benodigd"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "Gebruiker '%s' bestaat al"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Domein gewijzigd"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Opties"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Nieuw domein"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Domein aangemaakt"
@@ -524,7 +543,7 @@ msgstr ""
msgid "Account import failed (%s): domain does not exist"
msgstr "Accounts importeren mislukt (%s): domein bestaat niet"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
@@ -546,17 +565,17 @@ msgstr "Identiteiten"
msgid "Forward"
msgstr "Doorsturen"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "Een mailbox is benodigd"
-#: admin/lib.py:129
+#: admin/lib.py:131
#, 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:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr ""
@@ -732,7 +751,7 @@ msgstr "Een quota is vereist"
msgid "Domain quota exceeded"
msgstr "Domein aangemaakt"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
@@ -743,25 +762,25 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr ""
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/serializers.py:248
+#: admin/serializers.py:253
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "Domein bestaat niet"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
@@ -879,7 +898,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Domein is gedeactiveerd"
@@ -985,7 +1004,7 @@ msgstr "Deze bevoegdheid verwijderen"
msgid "No domain administrator defined yet."
msgstr "Geen domein administrator toegewezen"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "U kunt geen nieuwe domein administrator aanmaken"
diff --git a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po
index 7b27d3511..fa09fc018 100644
--- a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po
+++ b/modoboa/admin/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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2016-05-17 12:28+0000\n"
"Last-Translator: Jose Marcos Araujo \n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/"
@@ -139,7 +139,7 @@ msgstr ""
"criada."
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Deve ser um inteiro positivo"
@@ -151,11 +151,11 @@ msgstr ""
msgid "Administration"
msgstr "Administração"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Nome de usuário"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -163,56 +163,75 @@ 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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Papel"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Escolher"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Qual nível de permissão terá esse usuário"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid address"
+msgid "Random password"
+msgstr "Endereço inválido"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Senha"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Confirmação"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Para verificação, digite a mesma senha que a anterior."
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Ativado"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Os dois campos de senha não coincidiram."
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr "Apenas super administradores estão liberados para este modo"
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "Um caixa de mensagens é obrigatória"
+
+#: 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:200
msgid "You can't disable your own account"
msgstr "Você não pode desabilitar seu própria conta"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Cota"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -222,12 +241,12 @@ msgstr ""
"o padrão do domínio. Deixe em branco para definir um valor ilimitado (não "
"permitido para administradores de domínios)."
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias(es)"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -242,13 +261,13 @@ msgstr ""
"entrada, pressione ENTER para adicionar uma nova entrada. Use o caractere "
"'*' para criar um alias 'pega-todos' (ex: *@exemplo.com)."
-#: admin/forms/account.py:226
+#: admin/forms/account.py:242
#, fuzzy
#| msgid "Invalid address"
msgid "Sender addresses"
msgstr "Endereço inválido"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
#, fuzzy
#| msgid ""
#| "Addresses this alias will point to. Indicate only one address per input, "
@@ -261,54 +280,54 @@ msgstr ""
"Endereços que este alias vai apontar. Indique apenas um endereço por "
"entrada, pressione ENTER para adicionar uma nova entrada."
-#: admin/forms/account.py:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Domínio não existe"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
msgid "Local domain does not exist"
msgstr "Domínio local não existe"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Você não tem acesso a esse domínio"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Domínio(s)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Domínio(s) que o usuário administra"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Geral"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Correio"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Permissões"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Conta atualizada"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nova conta"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Conta criada"
@@ -342,7 +361,7 @@ 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:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Domínio"
@@ -357,12 +376,12 @@ msgstr "Um caixa de mensagens é obrigatória"
msgid "No recipient defined"
msgstr "Nenhum destinatário definido"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -370,47 +389,47 @@ msgstr ""
"Alias(es) para esse domínio. Indique apenas um nome por entrada, pressione "
"ENTER para adicionar uma nova entrada."
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "alias de domínio"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "Já existe um %s com este nome"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "domínio"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Criar automaticamente um administrador para este domínio"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -418,52 +437,52 @@ msgstr ""
"O nome de administrador. Não inclua aqui o nome de domínio. Ele será "
"automaticamente adicionado."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, 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:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Criar alias"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Criar automaticamente aliases padrão para este domínio"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "Um caixa de mensagens é obrigatória"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "O usuário '%s' já existe"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Domínio alterado"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Opções"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Novo domínio"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Domínio criado"
@@ -517,7 +536,7 @@ msgstr ""
msgid "Account import failed (%s): domain does not exist"
msgstr "Falha ao importar a conta (%s): domínio não existe"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "Caixa {} já existente"
@@ -537,15 +556,15 @@ msgstr "Identidades"
msgid "Forward"
msgstr "Encaminhar"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "Um caixa de mensagens é obrigatória"
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr "Você não tem permissão para importar domínios"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr "Você não tem permissão para importar aliases de domínio."
@@ -715,7 +734,7 @@ msgstr "Uma cota é requerida"
msgid "Domain quota exceeded"
msgstr "Domínio criado"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
msgid "Permission denied."
msgstr "Permissão negada"
@@ -726,23 +745,23 @@ msgstr ""
"Lista dos domínios administrados (somente revendedores e administradores de "
"domínio)"
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr "Não permitido para este perfil (role)"
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr "Deve ser igual ao endereço completo da conta"
-#: admin/serializers.py:248
+#: admin/serializers.py:253
msgid "Local domain {} does not exist"
msgstr "Domínio local {} não existe"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
msgid "Domain not found."
msgstr "Domínio não encontrado"
@@ -858,7 +877,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Domínio está desabilitado"
@@ -964,7 +983,7 @@ msgstr "Remover essa persmissão"
msgid "No domain administrator defined yet."
msgstr "Nenhum administrador de domínio definido"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Você não pode criar um novo administrador de domínio"
diff --git a/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po
index debda7851..3fd34b81e 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -141,7 +141,7 @@ msgstr ""
"automátiamente."
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Tem de ser um inteiro, positivo"
@@ -153,66 +153,85 @@ msgstr ""
msgid "Administration"
msgstr "Administração"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Nome de Utilizador"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Papel"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Escolher"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Que nível de permissões terá o utilizador"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid request"
+msgid "Random password"
+msgstr "Pedido inválido"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Password"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Confirmação"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Repita a password acima, para verificação."
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Ativo"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Os dois campos de password não são idênticos."
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A mailbox is required"
+msgid "This field is required."
+msgstr "É necessária uma caixa de correio"
+
+#: 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:200
msgid "You can't disable your own account"
msgstr "Não pode desativar a sua própria conta"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-mail"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Quota"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -222,12 +241,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:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias(es)"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -242,13 +261,13 @@ msgstr ""
"clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias "
"'catchall' (ex: *@domain.tld)."
-#: admin/forms/account.py:226
+#: admin/forms/account.py:242
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Pedido inválido"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -261,56 +280,56 @@ 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:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "O domínio não existe"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "O domínio não existe"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Não tem acesso a este domínio"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Domínio(s)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Domínio(s) administrado pelo utilizador"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Geral"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Correio"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Permissões"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Conta actualizada"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nova conta"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Conta criada"
@@ -352,7 +371,7 @@ 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:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Domínio"
@@ -367,12 +386,12 @@ msgstr "É necessária uma caixa de correio"
msgid "No recipient defined"
msgstr "Sem destinatário definido"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Tipo"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -380,47 +399,47 @@ msgstr ""
"Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar "
"ENTER para acrescentar uma nova entrada."
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "'Alias' de domínio"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "Já existe um(a) %s com este nome. "
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "domínio"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Criar automaticamente um administrador para este domínio"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Nome"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -428,52 +447,52 @@ msgstr ""
"O nome do administrador. Não inclua o nome do domínio já que este será "
"automaticamente anexado."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, 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:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Criar um administrador de domínio"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr " Criar aliases"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Criar automaticamente aliases para este domínio"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Formato inválido"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A mailbox is required"
-msgid "This field is required."
-msgstr "É necessária uma caixa de correio"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "O utilizador '%s' já existe"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Domínio alterado"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Opções"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Novo domínio"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Domínio criado"
@@ -527,7 +546,7 @@ msgstr "Marque esta opção se as senhas contidas no arquivo não são encriptad
msgid "Account import failed (%s): domain does not exist"
msgstr "Importação da conta falhou (%s): domínio não existe"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
@@ -549,17 +568,17 @@ msgstr "Identidades"
msgid "Forward"
msgstr "Reencaminhar"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "É necessária uma caixa de correio"
-#: admin/lib.py:129
+#: admin/lib.py:131
#, 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:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr ""
@@ -735,7 +754,7 @@ msgstr "É necessário uma quota"
msgid "Domain quota exceeded"
msgstr "Domínio criado"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
@@ -746,25 +765,25 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr ""
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/serializers.py:248
+#: admin/serializers.py:253
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "O domínio não existe"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
@@ -882,7 +901,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "O dominio está inativo"
@@ -988,7 +1007,7 @@ msgstr "Remover esta permissão"
msgid "No domain administrator defined yet."
msgstr "Nenhum administrador de domínio definido"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Não pode criar administradores de domínio"
diff --git a/modoboa/admin/locale/ru/LC_MESSAGES/django.po b/modoboa/admin/locale/ru/LC_MESSAGES/django.po
index 1b758d8ff..85ce69056 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -125,7 +125,7 @@ msgid "Create a domain and a mailbox when an account is automatically created."
msgstr ""
#: admin/app_settings.py:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr ""
@@ -137,66 +137,85 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Логин пользователя"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Роль"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Выбрать"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
msgid "What level of permission this user will have"
msgstr "Разрешения для этого пользователя"
-#: admin/forms/account.py:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Invalid request"
+msgid "Random password"
+msgstr "Ошибочный запрос"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Пароль"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Подтверждение"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Введите такой же пароль как выше. Для проверки."
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Разрешено"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Пароли не совпадают"
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
msgid "Only super administrators are allowed for this mode"
msgstr ""
-#: admin/forms/account.py:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+#, fuzzy
+#| msgid "A quota is required"
+msgid "This field is required."
+msgstr "Требуется квота"
+
+#: admin/forms/account.py:190
+msgid "The two password fields didn't match."
+msgstr "Пароли не совпадают"
+
+#: admin/forms/account.py:200
msgid "You can't disable your own account"
msgstr "Вы не можете запретить собственный аккаунт"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "Е-майл"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Квота"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -207,12 +226,12 @@ msgstr ""
"Оставьте пустым для неограниченного значения. (Не разрешено администраторам "
"домена)"
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Синоним(ы)"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
#, fuzzy
#| msgid ""
#| "Alias(es) of this mailbox. Indicate only one address per input, press "
@@ -226,13 +245,13 @@ msgstr ""
"Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
"добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
-#: admin/forms/account.py:226
+#: admin/forms/account.py:242
#, fuzzy
#| msgid "Invalid request"
msgid "Sender addresses"
msgstr "Ошибочный запрос"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
#, fuzzy
#| msgid ""
#| "Mailbox(es) this alias will point to. Indicate only one address per "
@@ -245,56 +264,56 @@ msgstr ""
"Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
"добавления."
-#: admin/forms/account.py:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Домен не существует"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain does not exist"
msgstr "Домен не существует"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Вы не имеете права доступа к этому домену"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Домен(ы)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Домен(ы) администрируемые пользователем"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Основные"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr ""
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Почта"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Права"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "аккаунт изменен"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Новый аккаунт"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Аккаунт создан"
@@ -336,7 +355,7 @@ msgstr ""
"Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
"добавления."
-#: admin/forms/alias.py:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr ""
@@ -351,12 +370,12 @@ msgstr "Требуется квота"
msgid "No recipient defined"
msgstr "Получатель не определен"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr ""
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -364,47 +383,47 @@ msgstr ""
"Синоним(ы) этого домена. Вводите одно имя за раз. Нажмите ENTER для "
"добавления."
-#: admin/forms/domain.py:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr ""
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr ""
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
msgid "No authorized MX record found for this domain"
msgstr ""
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr ""
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr ""
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr ""
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
msgid "Automatically create an administrator for this domain"
msgstr "Автоматически создаст администратора для этого домена"
-#: admin/forms/domain.py:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Логин"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -412,52 +431,52 @@ msgstr ""
"Имя администратора. Не включайте имя домена оно будет добавлено "
"автоматически."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, fuzzy
+#| msgid "Create a domain administrator"
+msgid "Generate a random password for the administrator."
+msgstr "Создание администратора домена"
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr ""
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
#, fuzzy
#| msgid "Create a domain administrator"
msgid "Create a mailbox for the administrator."
msgstr "Создание администратора домена"
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Создание синонимов"
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Автоматически создает стандартные синонимы для этого домена"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Неверный формат"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-#, fuzzy
-#| msgid "A quota is required"
-msgid "This field is required."
-msgstr "Требуется квота"
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "Пользователь '%s' уже существует"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Домен изменен"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Опции"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Новый домен"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Домен создан"
@@ -512,7 +531,7 @@ msgstr "Выберите эту опцию если пароль в вашем
msgid "Account import failed (%s): domain does not exist"
msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
#, fuzzy
#| msgid "Mailbox %s already exists"
msgid "Mailbox {} already exists"
@@ -534,17 +553,17 @@ msgstr "Пользователи"
msgid "Forward"
msgstr "Перенаправленые"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr ""
-#: admin/lib.py:129
+#: admin/lib.py:131
#, fuzzy
#| msgid "You can't delete your own domain"
msgid "You are not allowed to import domains"
msgstr "Вы не можете удалить собственный домен"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr ""
@@ -704,7 +723,7 @@ msgstr "Требуется квота"
msgid "Domain quota exceeded"
msgstr "Домен создан"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
#, fuzzy
#| msgid "Permissions"
msgid "Permission denied."
@@ -715,25 +734,25 @@ msgid ""
"List of administered domains (resellers and domain administrators only)."
msgstr ""
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr ""
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr ""
-#: admin/serializers.py:248
+#: admin/serializers.py:253
#, fuzzy
#| msgid "Domain does not exist"
msgid "Local domain {} does not exist"
msgstr "Домен не существует"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr ""
-#: admin/serializers.py:348
+#: admin/serializers.py:358
#, fuzzy
#| msgid "Domain modified"
msgid "Domain not found."
@@ -847,7 +866,7 @@ msgstr ""
msgid "No sender address defined"
msgstr ""
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
#, fuzzy
msgid "Domain is disabled"
@@ -954,7 +973,7 @@ msgstr "Удалить это разрешение"
msgid "No domain administrator defined yet."
msgstr "Администратор домена не определен"
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr ""
diff --git a/modoboa/admin/locale/sv/LC_MESSAGES/django.po b/modoboa/admin/locale/sv/LC_MESSAGES/django.po
index 4560533c2..b046141e0 100644
--- a/modoboa/admin/locale/sv/LC_MESSAGES/django.po
+++ b/modoboa/admin/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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2017-07-07 11:06+0000\n"
"Last-Translator: Olle Gustafsson \n"
"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/"
@@ -130,7 +130,7 @@ 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:156 admin/app_settings.py:164
-#: admin/forms/account.py:301
+#: admin/forms/account.py:317
msgid "Must be a positive integer"
msgstr "Måste vara ett positivt heltal"
@@ -142,11 +142,11 @@ msgstr ""
msgid "Administration"
msgstr "Administration"
-#: admin/forms/account.py:37 admin/templates/admin/domain_detail.html:101
+#: admin/forms/account.py:38 admin/templates/admin/domain_detail.html:101
msgid "Username"
msgstr "Användarnamn"
-#: admin/forms/account.py:39
+#: admin/forms/account.py:40
msgid ""
"The user's name. Must be a valid e-mail address for simple users or "
"administrators with a mailbox."
@@ -154,56 +154,73 @@ 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:44 admin/templates/admin/account_detail.html:29
+#: admin/forms/account.py:45 admin/templates/admin/account_detail.html:29
msgid "Role"
msgstr "Roll"
-#: admin/forms/account.py:45
+#: admin/forms/account.py:46
msgid "Choose"
msgstr "Välj"
-#: admin/forms/account.py:46
+#: admin/forms/account.py:47
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:49
+#: admin/forms/account.py:50 admin/forms/domain.py:217
+#, fuzzy
+#| msgid "Random address"
+msgid "Random password"
+msgstr "Slumpmässig adress"
+
+#: admin/forms/account.py:52
+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
msgid "Password"
msgstr "Lösenord"
-#: admin/forms/account.py:53
+#: admin/forms/account.py:63
msgid "Confirmation"
msgstr "Bekräftelse"
-#: admin/forms/account.py:56
+#: admin/forms/account.py:66
msgid "Enter the same password as above, for verification."
msgstr "Ange samma lösenord som ovan för verifiering."
-#: admin/forms/account.py:67
+#: admin/forms/account.py:78
msgid "Enabled"
msgstr "Aktiverad"
-#: admin/forms/account.py:159
-msgid "The two password fields didn't match."
-msgstr "Dessa två lösnordsfält matchar inte."
-
-#: admin/forms/account.py:176
+#: admin/forms/account.py:172
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:184
+#: admin/forms/account.py:183 admin/forms/account.py:185
+#: admin/forms/domain.py:263 admin/forms/domain.py:266 admin/serializers.py:241
+msgid "This field is required."
+msgstr "Detta fält krävs."
+
+#: 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:200
msgid "You can't disable your own account"
msgstr "Du kan inte inaktivera ditt eget konto"
-#: admin/forms/account.py:205
+#: admin/forms/account.py:221
msgid "E-mail"
msgstr "E-post"
-#: admin/forms/account.py:207 admin/templates/admin/account_detail.html:45
+#: admin/forms/account.py:223 admin/templates/admin/account_detail.html:45
#: admin/templates/admin/domain_detail.html:57
msgid "Quota"
msgstr "Kvot"
-#: admin/forms/account.py:209
+#: admin/forms/account.py:225
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 "
@@ -213,12 +230,12 @@ msgstr ""
"domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej "
"tillåtet för domänadministratörer)."
-#: admin/forms/account.py:217 admin/forms/domain.py:42
+#: admin/forms/account.py:233 admin/forms/domain.py:43
#: admin/templates/admin/domains.html:35
msgid "Alias(es)"
msgstr "Alias"
-#: admin/forms/account.py:220
+#: admin/forms/account.py:236
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 "
@@ -228,11 +245,11 @@ msgstr ""
"för att lägga till nytt. För att skapa ett \"catch-all\" alias, ange bara "
"domännamnet (@domain.tld)."
-#: admin/forms/account.py:226
+#: admin/forms/account.py:242
msgid "Sender addresses"
msgstr "Avsändaradress"
-#: admin/forms/account.py:229
+#: admin/forms/account.py:245
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 "
@@ -242,54 +259,54 @@ msgstr ""
"med från denna adress, även om den inte finns lokalt. Ange en adress per "
"rad. Tryck RETUR för att lägga till ny rad."
-#: admin/forms/account.py:279 admin/forms/alias.py:94
+#: admin/forms/account.py:295 admin/forms/alias.py:94
#: admin/models/mailbox.py:315
msgid "Domain does not exist"
msgstr "Domän existerar inte"
-#: admin/forms/account.py:311
+#: admin/forms/account.py:327
msgid "Local domain does not exist"
msgstr "Lokal domän existerar inte"
-#: admin/forms/account.py:315 admin/forms/account.py:323
+#: admin/forms/account.py:331 admin/forms/account.py:339
#: admin/forms/alias.py:97
msgid "You don't have access to this domain"
msgstr "Du har inte åtkomst till denna domän"
-#: admin/forms/account.py:416
+#: admin/forms/account.py:436
msgid "Domain(s)"
msgstr "Domän(er)"
-#: admin/forms/account.py:418
+#: admin/forms/account.py:438
msgid "Domain(s) that user administrates"
msgstr "Domän(er) användaren administrerar"
-#: admin/forms/account.py:464 admin/forms/account.py:554
-#: admin/forms/domain.py:320 admin/forms/domain.py:387
+#: admin/forms/account.py:484 admin/forms/account.py:574
+#: admin/forms/domain.py:334 admin/forms/domain.py:401
msgid "General"
msgstr "Generellt"
-#: admin/forms/account.py:468
+#: admin/forms/account.py:488
msgid "Profile"
msgstr "Profil"
-#: admin/forms/account.py:472 admin/forms/account.py:560
+#: admin/forms/account.py:492 admin/forms/account.py:580
msgid "Mail"
msgstr "Post"
-#: admin/forms/account.py:475
+#: admin/forms/account.py:495
msgid "Permissions"
msgstr "Rättigheter"
-#: admin/forms/account.py:543
+#: admin/forms/account.py:563
msgid "Account updated"
msgstr "Konto uppdaterat"
-#: admin/forms/account.py:568
+#: admin/forms/account.py:588
msgid "New account"
msgstr "Nytt konto"
-#: admin/forms/account.py:580
+#: admin/forms/account.py:600
msgid "Account created"
msgstr "Konto skapat"
@@ -320,7 +337,7 @@ 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:49 admin/forms/domain.py:31 admin/models/domain.py:115
+#: admin/forms/alias.py:49 admin/forms/domain.py:32 admin/models/domain.py:115
#: admin/templates/admin/_per_domain_statistics_widget.html:7
msgid "Domain"
msgstr "Domän"
@@ -333,12 +350,12 @@ msgstr "Detta fält krävs"
msgid "No recipient defined"
msgstr "Ingen mottagare definierad"
-#: admin/forms/domain.py:39
+#: admin/forms/domain.py:40
#: admin/templates/admin/_global_statistics_widget.html:7
msgid "Type"
msgstr "Typ"
-#: admin/forms/domain.py:45
+#: admin/forms/domain.py:46
msgid ""
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
"add a new input."
@@ -346,49 +363,49 @@ 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:89 admin/handlers.py:165
+#: admin/forms/domain.py:90 admin/handlers.py:165
msgid "domain alias"
msgstr "domän alias"
-#: admin/forms/domain.py:92 admin/forms/domain.py:144 admin/forms/domain.py:152
+#: admin/forms/domain.py:93 admin/forms/domain.py:145 admin/forms/domain.py:153
#, python-format
msgid "A %s with this name already exists"
msgstr "En %s med detta namn finns redan"
-#: admin/forms/domain.py:100 admin/serializers.py:45
+#: admin/forms/domain.py:101 admin/serializers.py:45
#, fuzzy
#| msgid "No MX record found for this domain."
msgid "No authorized MX record found for this domain"
msgstr "Inget MX record funnet för denna domän."
-#: admin/forms/domain.py:122 admin/serializers.py:55
+#: admin/forms/domain.py:123 admin/serializers.py:55
msgid "Cannot be greater than domain quota"
msgstr "Får inte vara större än domän kvot"
-#: admin/forms/domain.py:127
+#: admin/forms/domain.py:128
msgid "You can't define an unlimited quota."
msgstr "Du kan inte ange en obegränsad kvota."
-#: admin/forms/domain.py:144 admin/forms/domain.py:149
+#: admin/forms/domain.py:145 admin/forms/domain.py:150
msgid "domain"
msgstr "domän"
-#: admin/forms/domain.py:198
+#: admin/forms/domain.py:199
msgid "Create a domain administrator"
msgstr "Skapa en domän administratör"
-#: admin/forms/domain.py:201
+#: admin/forms/domain.py:202
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:206 admin/templates/admin/domain_detail.html:101
+#: admin/forms/domain.py:207 admin/templates/admin/domain_detail.html:101
#: admin/templates/admin/domains.html:34
#: admin/templates/admin/identity_headers.html:2
#: admin/templates/admin/mx_domain_detail.html:9
msgid "Name"
msgstr "Namn"
-#: admin/forms/domain.py:209
+#: admin/forms/domain.py:210
msgid ""
"The administrator's name. Don't include the domain's name here, it will be "
"automatically appended."
@@ -396,48 +413,50 @@ msgstr ""
"Administratörens namn. Inkludera inte domänens namn här, den kommer att "
"läggas till automatiskt."
-#: admin/forms/domain.py:216
+#: admin/forms/domain.py:220
+#, fuzzy
+#| msgid "Create a mailbox for the administrator."
+msgid "Generate a random password for the administrator."
+msgstr "Skapa en brevlåda för administratören."
+
+#: admin/forms/domain.py:226
msgid "With a mailbox"
msgstr "Med en brevlåda"
-#: admin/forms/domain.py:219
+#: admin/forms/domain.py:229
msgid "Create a mailbox for the administrator."
msgstr "Skapa en brevlåda för administratören."
-#: admin/forms/domain.py:225
+#: admin/forms/domain.py:235
msgid "Create aliases"
msgstr "Skapa alias."
-#: admin/forms/domain.py:228
+#: admin/forms/domain.py:238
msgid "Automatically create standard aliases for this domain"
msgstr "Skapa automatiskt standard alias för den här domänen"
-#: admin/forms/domain.py:244
+#: admin/forms/domain.py:254
msgid "Invalid format"
msgstr "Ogiltigt format"
-#: admin/forms/domain.py:253 admin/forms/domain.py:256
-msgid "This field is required."
-msgstr "Detta fält krävs."
-
-#: admin/forms/domain.py:273
+#: admin/forms/domain.py:283
#, python-format
msgid "User '%s' already exists"
msgstr "Användare '%s' finns redan"
-#: admin/forms/domain.py:377
+#: admin/forms/domain.py:391
msgid "Domain modified"
msgstr "Domän ändrad"
-#: admin/forms/domain.py:398
+#: admin/forms/domain.py:412
msgid "Options"
msgstr "Inställningar"
-#: admin/forms/domain.py:406
+#: admin/forms/domain.py:420
msgid "New domain"
msgstr "Ny domän"
-#: admin/forms/domain.py:419
+#: admin/forms/domain.py:433
msgid "Domain created"
msgstr "Domän skapad"
@@ -490,7 +509,7 @@ msgstr "Markera det här alternativet om lösenord i filen inte är krypterad"
msgid "Account import failed (%s): domain does not exist"
msgstr "Konto import misslyckades (%s): domänen existerar inte"
-#: admin/handlers.py:225 admin/models/mailbox.py:340
+#: admin/handlers.py:225 admin/models/mailbox.py:342
msgid "Mailbox {} already exists"
msgstr "Brevlåda {} finns redan"
@@ -510,15 +529,15 @@ msgstr "Konton"
msgid "Forward"
msgstr "Vidarebefordra"
-#: admin/lib.py:39
+#: admin/lib.py:41
msgid "A mailbox is required"
msgstr "En brevlåda krävs"
-#: admin/lib.py:129
+#: admin/lib.py:131
msgid "You are not allowed to import domains"
msgstr "Du tillåts inte att importera domäner"
-#: admin/lib.py:140
+#: admin/lib.py:142
msgid "You are not allowed to import domain aliases."
msgstr "Du tillåts inte att importera domän alias."
@@ -670,7 +689,7 @@ msgstr "En kvota krävs"
msgid "Domain quota exceeded"
msgstr "Domänkvota överskriden"
-#: admin/serializers.py:80 admin/serializers.py:261 admin/serializers.py:350
+#: admin/serializers.py:80 admin/serializers.py:266 admin/serializers.py:360
msgid "Permission denied."
msgstr "Åtskomst nekad."
@@ -681,23 +700,23 @@ msgstr ""
"Lista över administrerade domäner (endast återförsäljare och "
"domänadministratörer)."
-#: admin/serializers.py:226
+#: admin/serializers.py:218
msgid "Not allowed for this role."
msgstr "Inte tillåtet för denna roll."
-#: admin/serializers.py:236
+#: admin/serializers.py:228
msgid "Must be equal to mailbox full_address"
msgstr "Måste vara lika med brevlådans full_address"
-#: admin/serializers.py:248
+#: admin/serializers.py:253
msgid "Local domain {} does not exist"
msgstr "Lokal domän {} finns inte"
-#: admin/serializers.py:337
+#: admin/serializers.py:347
msgid "A list of recipient"
msgstr "En lista på mottagare"
-#: admin/serializers.py:348
+#: admin/serializers.py:358
msgid "Domain not found."
msgstr "Domän kunde ej hittas."
@@ -791,7 +810,7 @@ msgstr "Övriga avsändaradresser"
msgid "No sender address defined"
msgstr "Inga avsändaradresser angedda"
-#: admin/templates/admin/account_general_form.html:11
+#: admin/templates/admin/account_general_form.html:12
#: admin/templates/admin/aliasform.html:13
msgid "Domain is disabled"
msgstr "Domänen är inaktiverad"
@@ -885,7 +904,7 @@ msgstr "Radera detta tillstånd"
msgid "No domain administrator defined yet."
msgstr "Ingen domänadministratöre ännu definierad."
-#: admin/templates/admin/domain_options_form.html:9
+#: admin/templates/admin/domain_options_form.html:10
msgid "You can't create a new domain administrator"
msgstr "Du kan inte skapa en ny domänadministratör"
diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py
index 4b05d4219..22df9d964 100644
--- a/modoboa/core/tests/test_authentication.py
+++ b/modoboa/core/tests/test_authentication.py
@@ -1,4 +1,4 @@
-# coding: utf8
+# coding: utf-8
"""Tests for core application."""
diff --git a/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po
index 456e1011f..199efd1b5 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/de/LC_MESSAGES/django.po b/modoboa/limits/locale/de/LC_MESSAGES/django.po
index 169e241ba..3bda5efba 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/en/LC_MESSAGES/django.po b/modoboa/limits/locale/en/LC_MESSAGES/django.po
index f4b1ca2eb..bcd806d43 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/modoboa/limits/locale/es/LC_MESSAGES/django.po b/modoboa/limits/locale/es/LC_MESSAGES/django.po
index 3fec5cf90..0dfdc08e6 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/fr/LC_MESSAGES/django.po b/modoboa/limits/locale/fr/LC_MESSAGES/django.po
index 1052a7c72..1dd367b34 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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"
diff --git a/modoboa/limits/locale/it/LC_MESSAGES/django.po b/modoboa/limits/locale/it/LC_MESSAGES/django.po
index 7d41c866b..0e4e3138b 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2013-12-23 00:56+0100\n"
"Last-Translator: Alberto Berti \n"
"Language-Team: ITALIANO \n"
diff --git a/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po
index f426348c4..c2b02f05c 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po
index 2863c17ff..7ca4f70b8 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po
index 04d2a8e27..5e39ca09c 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po
index 0cf76aea7..1544a6ab5 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/ru/LC_MESSAGES/django.po b/modoboa/limits/locale/ru/LC_MESSAGES/django.po
index b749a0ab8..9dbe5641c 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/limits/locale/sv/LC_MESSAGES/django.po b/modoboa/limits/locale/sv/LC_MESSAGES/django.po
index 8759852df..d7ef8265c 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
index c34ffc598..9e8ef5616 100644
--- a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po
+++ b/modoboa/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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -100,54 +100,64 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Heslo spojení"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "Nastavení LDAP"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Adresa serveru"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP adresa DNS jména LDAP serveru"
-#: core/app_settings.py:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Port serveru"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "Port TCP, který používá LDAP server"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Použít zabezpečené připojení"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Použít připojení SSL/TLS pro přístup k LDAP serveru"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Metoda ověření"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Vyhledat a spojit"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Přímé spojení"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Zvolte si metodu ověření, která se použije"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Spojení pomocí DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -155,29 +165,29 @@ 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:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Heslo spojení"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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í)."
-#: core/app_settings.py:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Základna struktury uživatelů"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Vyhledávací filtr"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -185,11 +195,11 @@ msgstr ""
"Volitelný filtr (např. '(objectClass=osoba)'). Aby byl filtr platný, je "
"nezbytné jen uzavřít do závorek."
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Šablona uživatelského DN"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -198,28 +208,28 @@ 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:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Atribut hesla"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "Atribut používaný pro ukládání hesel uživatelů"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
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"
-#: core/app_settings.py:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Správcovské skupiny"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -227,151 +237,151 @@ 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:203
+#: core/app_settings.py:211
#, fuzzy
#| msgid "Group name"
msgid "Group type"
msgstr "Název skupiny"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr ""
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Základna struktury skupin"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
#, fuzzy
#| msgid "Authentication"
msgid "Notifications"
msgstr "Ověření"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Adresa serveru"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Zkontrolovat verzi"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Automaticky kontrolovat dostupnost nové verze"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Různé"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Interval aktualizací upozornění"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
#, fuzzy
#| msgid "Interval between two top notification checks"
msgid "Interval between two top notification checks (in seconds)"
msgstr "Interval mezi aktualizacemi upozornění na stránce"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Maximální stáří záznamu"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr "Maximální stáří záznamu ve dnech"
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Položek na stránce"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Počet zobrazených položek na stránce"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Výchozí přesměrování aplikace"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
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"
-#: core/app_settings.py:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Neplatná syntaxe"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Neplatný počet cyklů"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Toto pole je vyžadováno"
diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po
index a0132f620..684dca54f 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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"
@@ -102,81 +102,91 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Bind Passwort"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "LDAP-Einstellungen"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Server-Adresse"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP-Adresse oder Hostname des LDAP-Servers"
-#: core/app_settings.py:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Server-Port"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "Der TCP Port des LDAP-Servers"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Gesicherte Verbindung verwenden"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Authentifizierungsmethode"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Suchen und Bind anwenden"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Direkter Bind"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Wählen Sie die Authentifizierungsmethode"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Bind DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
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:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Bind Passwort"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Benutzer Search Base"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Suchfilter"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -184,11 +194,11 @@ msgstr ""
"Ein optionaler Filter, z.B. '(objectClass=person)'. Der Filter muss "
"entsprechend der LDAP-Konvention in Klammern gesetzt werden."
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Vorlage für User DN"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -197,27 +207,27 @@ msgstr ""
"Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s "
"enthalten."
-#: core/app_settings.py:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Passwort-Attribut"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "Das Attribut für Benutzerpasswörter"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
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:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Administrator-Gruppen"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -225,145 +235,145 @@ msgstr ""
"Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren "
"angelegt werden. Nutzen Sie ';', um Gruppen zu separieren."
-#: core/app_settings.py:203
+#: core/app_settings.py:211
msgid "Group type"
msgstr "Gruppentyp"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr ""
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Gruppen Search Base"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
#, fuzzy
#| msgid "Applications"
msgid "Notifications"
msgstr "Applikationen"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Server-Adresse"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Prüfe auf neue Versionen"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Prüft automatisch ob eine neuere Version verfügbar ist."
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Verschiedenes"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Benachrichtigungs-Prüfintervall"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervall zwischen zwei Benachrichtigungsprüfungen (in Sekunden)"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Maximales Alter für Log-Einträge"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)"
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Einträge pro Seite"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Anzahl dargestellter Einträge pro Seite"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Standardumleitung"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
msgstr "Die Standardumleitung wenn kein Programm angegeben wurde"
-#: core/app_settings.py:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Ungültiger Syntax"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Ungültige Zahl für Runden"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
diff --git a/modoboa/locale/en/LC_MESSAGES/django.po b/modoboa/locale/en/LC_MESSAGES/django.po
index c0c780023..91dd2c2c8 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -92,257 +92,265 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+msgid "Random password length"
+msgstr ""
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr ""
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr ""
-#: core/app_settings.py:96
+#: core/app_settings.py:104
msgid "The IP address or the DNS name of the LDAP server"
msgstr ""
-#: core/app_settings.py:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr ""
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr ""
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr ""
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr ""
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr ""
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr ""
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr ""
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr ""
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr ""
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
msgstr ""
-#: core/app_settings.py:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr ""
-#: core/app_settings.py:138
+#: core/app_settings.py:146
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr ""
-#: core/app_settings.py:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr ""
-#: core/app_settings.py:150
+#: core/app_settings.py:158
msgid "The distinguished name of the search base used to find users"
msgstr ""
-#: core/app_settings.py:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr ""
-#: core/app_settings.py:160
+#: core/app_settings.py:168
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:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr ""
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, 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:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr ""
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr ""
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr ""
-#: core/app_settings.py:189
+#: core/app_settings.py:197
msgid "Tell if the LDAP server is an Active Directory one"
msgstr ""
-#: core/app_settings.py:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr ""
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
msgstr ""
-#: core/app_settings.py:203
+#: core/app_settings.py:211
msgid "Group type"
msgstr ""
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr ""
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr ""
-#: core/app_settings.py:215
+#: core/app_settings.py:223
msgid "The distinguished name of the search base used to find groups"
msgstr ""
-#: core/app_settings.py:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
msgid "Notifications"
msgstr ""
-#: core/app_settings.py:241
+#: core/app_settings.py:249
msgid "Sender address"
msgstr ""
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr ""
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr ""
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr ""
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr ""
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr ""
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr ""
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr ""
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr ""
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr ""
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr ""
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
msgstr ""
-#: core/app_settings.py:345
+#: core/app_settings.py:353
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr ""
-#: core/app_settings.py:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr ""
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr ""
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr ""
diff --git a/modoboa/locale/es/LC_MESSAGES/django.po b/modoboa/locale/es/LC_MESSAGES/django.po
index 8cdf81eaa..291e009e3 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -103,54 +103,64 @@ msgid "Default password for automatically created accounts."
msgstr "Contraseña por defecto para cuentas creadas automáticamente."
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Modoboa password reset"
+msgid "Random password length"
+msgstr "Restauración de contraseña de Modoboa"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "Configuración de LDAP"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Dirección del servidor"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
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:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Puerto del servidor"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
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:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Usa una conexión segura"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Usa una conexión SSL/TLS para acceder al servidor LDAP"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Método de autenticación"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Buscar y unir"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Unión directa"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Elegir el método de autenticación a usar"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Unir a DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -158,29 +168,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:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Unir contraseña"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Base para la búsqueda de usuarios"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Filtro de búsqueda"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -188,11 +198,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:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Plantilla DN del usuario"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -201,27 +211,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:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Atributo de la contraseña"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "El atributo usado para guardar las contraseñas del usuario"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Directorio Activo"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
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:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Administrador de grupos"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -229,148 +239,148 @@ 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:203
+#: core/app_settings.py:211
msgid "Group type"
msgstr "Tipo de grupo"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr "El tipo de LDAP para usar en el directorio"
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Base para la búsqueda de grupos"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr "Panel de Control"
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr "Agregación RSS personalizada"
-#: core/app_settings.py:226
+#: core/app_settings.py:234
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:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr "Ocultar widget de características"
-#: core/app_settings.py:234
+#: core/app_settings.py:242
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:238
+#: core/app_settings.py:246
msgid "Notifications"
msgstr "Notificaciones"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
msgid "Sender address"
msgstr "Dirección del remitente"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr "Dirección de email usada para mandar notificaciones"
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr "API pública"
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr "Establecer comunicación"
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr "Establecer comunicación con la API publica de Modoboa"
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Comprobar nuevas versiones"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Verificar automáticamente si hay una nueva versión disponible"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr "Enviar estadísticas"
-#: core/app_settings.py:268
+#: core/app_settings.py:276
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:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Otros"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Intervalo de tiempo para notificaciones superiores"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervalo entre dos notificaciones superiores (en segundos)"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Máximo tiempo de almacenamiento del log"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
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:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Items por página"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Número de elementos mostrado por página"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Redirección principal por defecto"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
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:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Sintaxis inválida"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Número de rondas inváldo"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Este campo es obligatorio"
diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po
index 2ad088881..26acefa60 100644
--- a/modoboa/locale/fr/LC_MESSAGES/django.po
+++ b/modoboa/locale/fr/LC_MESSAGES/django.po
@@ -1,21 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Antoine Nguyen , 2016-2017
msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-08-18 14:44+0200\n"
-"PO-Revision-Date: 2017-08-09 11:34+0000\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
+"PO-Revision-Date: 2017-09-08 08:54+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n"
-"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: core/app_settings.py:26
@@ -64,8 +64,7 @@ msgstr "plain (faible)"
#: core/app_settings.py:61
msgid "Scheme used to crypt mailbox passwords"
-msgstr ""
-"Méthode utilisée pour chiffrer les mots de passe des boites aux lettres"
+msgstr "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres"
#: core/app_settings.py:66
msgid "Rounds"
@@ -75,9 +74,7 @@ msgstr "Tours"
msgid ""
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
"between 1000 and 999999999, inclusive."
-msgstr ""
-"Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit "
-"être compris entre 1000 et 999999999 inclue."
+msgstr "Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit être compris entre 1000 et 999999999 inclue."
#: core/app_settings.py:76
msgid "Secret key"
@@ -96,281 +93,265 @@ 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
+msgid "Random password length"
+msgstr "Taille d'un mot de passe aléatoire"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr "Taille des mots de passe générés aléatoirement."
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "Paramètres LDAP"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Adresse du serveur"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
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:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Port utilisé par le serveur"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "Le port TCP utilisé par le serveur LDAP"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Utiliser une connexion sécurisée"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Utiliser une connextion SSL/TLS pour accéder au serveur LDAP"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Méthode d'authentification"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Recherche et connexion"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Connexion directe"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Choisir la méthode d'authentification à utiliser"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "ND de connexion"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
-msgstr ""
-"Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser "
-"vide pour une connexion anonyme"
+msgstr "Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser vide pour une connexion anonyme"
-#: core/app_settings.py:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Mot de passe de connexion"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
-msgstr ""
-"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de "
-"connexion')"
+msgstr "Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de connexion')"
-#: core/app_settings.py:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Base de recherche des utilisateurs"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
msgid "The distinguished name of the search base used to find users"
-msgstr ""
-"Le nom distinctif de la base de recherche utilisée pour rechercher les "
-"utilisateurs"
+msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les utilisateurs"
-#: core/app_settings.py:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Filtre de recherche"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr ""
-"Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être "
-"valide, il doit être entouré de parenthèses."
+msgstr "Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être valide, il doit être entouré de parenthèses."
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Modèle de nom distinctif utilisateur"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr ""
-"Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il "
-"doit contenir un espace réservé (ex. %(user)s)"
+msgstr "Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il doit contenir un espace réservé (ex. %(user)s)"
-#: core/app_settings.py:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Attribut 'mot de passe'"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "L'attribut utilisé pour stocker les mots de passe"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
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:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Groupes administrateurs"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
-"Members of those LDAP Posix groups will be created as domain administrators. "
-"Use ';' characters to separate groups."
-msgstr ""
-"Les membres de ces groupes LDAP (Posix) seront créés en tant "
-"qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les "
-"groupes."
+"Members of those LDAP Posix groups will be created as domain administrators."
+" Use ';' characters to separate groups."
+msgstr "Les membres de ces groupes LDAP (Posix) seront créés en tant qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les groupes."
-#: core/app_settings.py:203
+#: core/app_settings.py:211
msgid "Group type"
msgstr "Type de groupe"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr "Le type de groupe LDAP à utiliser avec votre annuaire."
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Base de recherche des groupes"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
msgid "The distinguished name of the search base used to find groups"
-msgstr ""
-"Le nom distinctif de la base de recherche utilisée pour rechercher les "
-"groupes"
+msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les groupes"
-#: core/app_settings.py:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr "Tableau de bord"
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr "Flux RSS personnalisé"
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
-msgstr ""
-"Afficher un flux RSS personnalisé aux revendeurs et administrateurs de "
-"domaine"
+msgstr "Afficher un flux RSS personnalisé aux revendeurs et administrateurs de domaine"
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr "Masquer le widget des fonctionnalités"
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
-msgstr ""
-"Masquer le widget des fonctionnalités pour les revendeurs et les "
-"administrateurs de domaine"
+msgstr "Masquer le widget des fonctionnalités pour les revendeurs et les administrateurs de domaine"
-#: core/app_settings.py:238
+#: core/app_settings.py:246
msgid "Notifications"
msgstr "Notifications"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
msgid "Sender address"
msgstr "Adresse d'envoi"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr "Adresse utilisée pour envoyer les notifications."
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr "API publique"
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr "Activer la communication"
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr "Activer la communication avec l'API publique de Modoboa"
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Vérifier les nouvelles versions"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Vérifie automatiquement si une nouvelle version est disponible"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr "Envoyer des statistiques"
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
-msgstr ""
-"Envoyer des statistiques à l'API publique de Modoboa (compteurs et "
-"extensions utilisées)"
+msgstr "Envoyer des statistiques à l'API publique de Modoboa (compteurs et extensions utilisées)"
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Divers"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr "Seuil des comptes inactifs"
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
-"An account with a last login date greater than this threshold (in days) will "
-"be considered as inactive"
-msgstr ""
-"Un compte avec une date de dernière connexion antérieure à ce seuil sera "
-"considéré comme inactif"
+"An account with a last login date greater than this threshold (in days) will"
+" be considered as inactive"
+msgstr "Un compte avec une date de dernière connexion antérieure à ce seuil sera considéré comme inactif"
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Intervalle de vérification des notifications"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervalle entre deux vérifications de notification (en secondes)"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Age maximal d'un enregistrement du journal"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
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:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Eléments par page"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Nombre d'éléments affichés par page"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Redirection par défaut"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
-msgstr ""
-"La redirection appliquée par défaut quand aucune application n'est spécifiée"
+msgstr "La redirection appliquée par défaut quand aucune application n'est spécifiée"
-#: core/app_settings.py:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Syntaxe invalide"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Nombre invalide de tours"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Ce champ est requis"
@@ -498,8 +479,7 @@ msgstr "Une adresse e-mail alternative ou de secours."
#: core/models.py:128
msgid "Failed to update password: LDAP module not installed"
-msgstr ""
-"Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé"
+msgstr "Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé"
#: core/models.py:157
msgid "account"
@@ -553,9 +533,7 @@ msgstr[1] "Le mot de passe doit contenir au moins {} caractères spéciaux."
#: core/password_validation.py:67
msgid "Your password must contain a combination of different character types."
-msgstr ""
-"Votre mot de passe doit contenir une combinaison de différents types de "
-"caractère."
+msgstr "Votre mot de passe doit contenir une combinaison de différents types de caractère."
#: core/templates/core/_current_features.html:6
msgid "Features looking for sponsoring"
@@ -581,9 +559,7 @@ msgstr "Dernières nouvelles"
msgid ""
"Visit the official "
"weblog for more information."
-msgstr ""
-"Visitez le blog "
-"officiel pour plus d'information."
+msgstr "Visitez le blog officiel pour plus d'information."
#: core/templates/core/api_access.html:3
msgid "API access"
@@ -596,11 +572,9 @@ msgstr "Contrôlez votre accès à l'API de Modoboa"
#: core/templates/core/api_access.html:7
#, python-format
msgid ""
-"A documentation of the API is available here."
-msgstr ""
-"Une documentation de l'API est disponible ici."
+"A documentation of the API is available here."
+msgstr "Une documentation de l'API est disponible ici."
#: core/templates/core/api_access.html:14
msgid "API access token"
@@ -630,8 +604,7 @@ msgstr "Une ou plusieurs mises à jour sont disponibles!"
#: core/templates/core/information.html:6
msgid "Check the following list to find the component(s) that can be updated."
-msgstr ""
-"Consulter la liste suivante pour trouver le(s) composant(s) concerné(s)."
+msgstr "Consulter la liste suivante pour trouver le(s) composant(s) concerné(s)."
#: core/templates/core/information.html:10
msgid "Applications"
@@ -759,9 +732,7 @@ msgstr "Utiliseur '%s' connecté avec succès"
#: core/views/auth.py:53
msgid "Your username and password didn't match. Please try again."
-msgstr ""
-"Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez "
-"réessayer."
+msgstr "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez réessayer."
#: core/views/auth.py:88
msgid "User '{}' successfully logged out"
@@ -867,8 +838,9 @@ msgstr "Erreur :"
msgid "Help:"
msgstr "Aide :"
-#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13
-#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27
+#: templates/common/generic_modal.html:6
+#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6
+#: templates/common/wizard_forms.html:27
msgid "Close"
msgstr "Fermer"
@@ -902,9 +874,7 @@ msgstr "Mot de passe oublié ?"
msgid ""
"Your password has been set. You may go ahead and sign "
"in now."
-msgstr ""
-"Votre mot de passe a été défini. Vous pouvez continuer et vous connecter dès maintenant."
+msgstr "Votre mot de passe a été défini. Vous pouvez continuer et vous connecter dès maintenant."
#: templates/registration/password_reset_confirm.html:7
msgid "Change password"
@@ -914,10 +884,7 @@ msgstr "Changer le mot de passe"
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
-msgstr ""
-"Le lien de réinitialisation du mot de passe était invalide, probablement "
-"parce qu'il a déjà été utilisé. Merci de demander une nouvelle "
-"réinitialisation de mot de passe."
+msgstr "Le lien de réinitialisation du mot de passe était invalide, probablement parce qu'il a déjà été utilisé. Merci de demander une nouvelle réinitialisation de mot de passe."
#: templates/registration/password_reset_done.html:7
msgid ""
@@ -925,29 +892,20 @@ msgid ""
"exists with the email you entered. You should receive them shortly.
"
"If you don't receive an email, please make sure you've entered your "
"primary address, and check your spam folder.
"
-msgstr ""
-"Nous vous avons envoyé par email les instructions pour définir votre mot "
-"de passe, pour peu qu'un compte avec l'email que vous avez renseigné existe. "
-"Vous devriez les recevoir rapidement.
Si vous ne recevez pas d'email, "
-"merci de vérifier que vous avez renseigné votre adresse principale et de "
-"vérifier votre dossier spam.
"
+msgstr "Nous vous avons envoyé par email les instructions pour définir votre mot de passe, pour peu qu'un compte avec l'email que vous avez renseigné existe. Vous devriez les recevoir rapidement.
Si vous ne recevez pas d'email, merci de vérifier que vous avez renseigné votre adresse principale et de vérifier votre dossier spam.
"
#: templates/registration/password_reset_email.html:4
#, python-format
msgid ""
"To initiate the password reset process for your %(username)s Modoboa "
"account, click the link below:"
-msgstr ""
-"Pour initier la procédure de réinitialisation du mot de passe de votre "
-"compte Modoboa %(username)s, cliquez sur le lien ci-dessous :"
+msgstr "Pour initier la procédure de réinitialisation du mot de passe de votre compte Modoboa %(username)s, cliquez sur le lien ci-dessous :"
#: templates/registration/password_reset_email.html:10
msgid ""
"If clicking the link above doesn't work, please copy and paste the URL in a "
"new browser window instead."
-msgstr ""
-"Si cliquer sur lien ci-dessous ne fonctionne pas, merci de copier / coller "
-"cette URL dans une nouvelle fenêtre navigateur à la place."
+msgstr "Si cliquer sur lien ci-dessous ne fonctionne pas, merci de copier / coller cette URL dans une nouvelle fenêtre navigateur à la place."
#: templates/registration/password_reset_email.html:14
msgid "Sincerely, The Modoboa Team."
diff --git a/modoboa/locale/it/LC_MESSAGES/django.po b/modoboa/locale/it/LC_MESSAGES/django.po
index 2579d3540..7c869e0ae 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -102,54 +102,64 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Password del collegamento"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "Impostazioni LDAP"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Indirizzo del server"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
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:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Porta del server"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "Il numero della porta TCP utilizzata dal server LDAP"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Usa una connessione sicura"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Utilizza una connessione SSL/TLS per accedere al server LDAP"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Metodo di autenticazione"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Cerca e collega"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Collegamento diretto"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Scegli il metodo di autenticazione da usare"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "collega DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -157,31 +167,31 @@ msgstr ""
"Nome particolare da usare quando ci si collega al server LDAP. Lasciare "
"vuoto per un collegamento anonimo"
-#: core/app_settings.py:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Password del collegamento"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Base ricerca per gli utenti"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Filtro ricerca"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -189,11 +199,11 @@ msgstr ""
"Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere "
"valida deve essere racchiusa tra parentesi."
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Modello DN dell'utente"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -202,27 +212,27 @@ msgstr ""
"Il modello utilizzato per comporre un DN dell'utente. Deve contenere un "
"segnaposto (p.es. %(user)s)"
-#: core/app_settings.py:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Attributo della password"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "L'attributo utilizzato per memorizzare le password dell'utente"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Segnala se il server LDAP è una Active Directory"
-#: core/app_settings.py:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Gruppi degli amministratori"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -231,150 +241,150 @@ msgstr ""
"amministratori di dominio. Utilizza il carattere ';' per separare valori "
"multipli."
-#: core/app_settings.py:203
+#: core/app_settings.py:211
#, fuzzy
#| msgid "Group name"
msgid "Group type"
msgstr "Nome gruppo"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr ""
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Base ricerca per i gruppi"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
#, fuzzy
#| msgid "Applications"
msgid "Notifications"
msgstr "Applicazioni"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Indirizzo del server"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Controlla nuove versioni"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Controlla automaticamente se è disponibile una nuova versione"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Miscellanea"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Intervallo per nofifiche importanti"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervallo tra due nuove notifiche importanti (in secondi)"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Età massima dei log"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr "La persistenza massima in giorni dei log"
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Elementi per pagina"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Numero degli elementi visualizzati in ciascuna pagina"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Reindirizzamento principale predefinito"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
msgstr ""
"Redirezione predefinita utilizzata quando non è specificata alcuna "
"applicazione"
-#: core/app_settings.py:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Sintassi errata"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Numero di cicli non valido"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Questo campo è obbligatorio"
diff --git a/modoboa/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/locale/ja_JP/LC_MESSAGES/django.po
index c4ce177d5..db3834cef 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -101,54 +101,64 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Bind パスワード"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "LDAP 設定"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "サーバーアドレス"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
msgid "The IP address or the DNS name of the LDAP server"
msgstr "LDAP サーバーの IP アドレス、または DNS 名"
-#: core/app_settings.py:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "サーバーポート"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "LDAP サーバーの TCP ポート番号"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "セキュアな接続を使う"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "LDAP サーバーへの接続に SSL/TLS 接続を使う"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "認証方法"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "検索と Bind"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Bind"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "使用する認証方式を選択します"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Bind DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -156,28 +166,28 @@ msgstr ""
"LDAPサーバにバインドするときの識別名に使用します。\n"
"匿名バインドのときは空のままにします。"
-#: core/app_settings.py:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Bind パスワード"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr ""
"(\"Bind DN\" を使って) LDAPサーバにバインドするときに使用するパスワード"
-#: core/app_settings.py:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "ユーザーの検索ベース"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
msgid "The distinguished name of the search base used to find users"
msgstr "ユーザーを見つけるために使用される検索ベースの識別名(DN)"
-#: core/app_settings.py:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "検索フィルター"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -185,11 +195,11 @@ msgstr ""
"オプションのフィルタ文字列 (例えば \"(objectClass=person)\") \n"
"有効であるためには、括弧で囲まなければなりません。"
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "ユーザー DN テンプレート"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -198,27 +208,27 @@ msgstr ""
"ユーザーDNを作るために使用されるテンプレート。1つのプレースホルダ (%(user)s)"
"が含まれている必要があります。"
-#: core/app_settings.py:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "パスワード属性"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "ユーザーパスワードを格納するための属性"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "LDAP サーバーが Active Directory かどうか"
-#: core/app_settings.py:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "管理者グループ"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -227,143 +237,143 @@ msgstr ""
"す。\n"
"\";\" 文字を使って、複数グループを書けます。"
-#: core/app_settings.py:203
+#: core/app_settings.py:211
msgid "Group type"
msgstr "グループ種類"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr "ディレクトリで使用されている LDAP グループの種類"
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "グループの検索ベース"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
msgid "The distinguished name of the search base used to find groups"
msgstr "グループを見つけるために使用される検索ベースの識別名(DN)"
-#: core/app_settings.py:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
msgid "Notifications"
msgstr "通知"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
msgid "Sender address"
msgstr "送信者アドレス"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr "通知の送信に使われる電子メールアドレス"
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "新しいバージョンをチェックする"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "新しいバージョンが利用可能かどうか、自動的にチェックする"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "その他"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "トップの通知をチェックする間隔"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr "2つのトップの通知チェックの間隔 (秒)"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "最大ログ記録期間"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr "ログを記録する日数の最大期間"
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "ページあたりの件数"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "ページあたりに表示される項目の数"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "デフォルトのリダイレクト先"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
msgstr ""
"アプリケーションが指定されていないときのデフォルトのリダイレクト先に使用され"
"ます"
-#: core/app_settings.py:345
+#: core/app_settings.py:353
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "キーは、16, 24, 32 バイトのいずれかの長さでなければいけません"
-#: core/app_settings.py:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "不正な構文"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "不正なラウンド数"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "このフィールドは必須です"
diff --git a/modoboa/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/locale/nl_NL/LC_MESSAGES/django.po
index 3c2f2f50d..ab9db852a 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -101,54 +101,64 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Koppel wachtwoord"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "LDAP instellingen"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Server adres"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
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:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Server poort"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "Het TCP poortnummer gebruikt door de LDAP server"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Gebruik een beveiligde verbinding"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Gebruik een SSL/TLS verbinding met de LDAP server"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Authenticatie methode"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Zoeken en koppelen"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Directe koppeling"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Kies een authenticatie methode om te gebruiken"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Koppeling DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -156,29 +166,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:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Koppel wachtwoord"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Gebruikers zoekbasis"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Zoek filter"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -186,11 +196,11 @@ msgstr ""
"Een optionele filter string (zoals '(objectClass=person)'). Om geldig te "
"kunnen zijn, moet het ingesloten zijn tussen haakjes."
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Gebruiker DN template"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -199,27 +209,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:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Wachtwoord attribuut"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "Dit attribuut word gebruikt om wachtwoorden op te slaan"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "De LDAP server is een Active Directory"
-#: core/app_settings.py:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Administrator groepen"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -227,151 +237,151 @@ msgstr ""
"Leden van deze LDAP POSIX groepen zullen aangemaakt worden als domein "
"administrators. Gebruik ';' karakters om groepen te scheiden."
-#: core/app_settings.py:203
+#: core/app_settings.py:211
#, fuzzy
#| msgid "Group name"
msgid "Group type"
msgstr "Groep naam"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr ""
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Groepen zoek basis"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
#, fuzzy
#| msgid "Authentication"
msgid "Notifications"
msgstr "Authenticatie"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Server adres"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Controleer of er een nieuwe versie beschikbaar is"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Automatische controle voor nieuwe versies"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Diversen"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Top notificaties controle interval"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
#, 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:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Maximum bewaartijd van logs"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr "De maximum bewaartijd in dagen van een log record"
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Items per pagina"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Hoeveelheid items per pagina"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Standaard top omleiding"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
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:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Ongeldige zinsbouw"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Ongeldig nummer van rondes"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Dit veld is benodigd"
diff --git a/modoboa/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
index 78edeea63..7b6e0eb05 100644
--- a/modoboa/locale/pt_BR/LC_MESSAGES/django.po
+++ b/modoboa/locale/pt_BR/LC_MESSAGES/django.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2016-05-17 12:26+0000\n"
"Last-Translator: Jose Marcos Araujo \n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/"
@@ -105,54 +105,64 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Vincular senha"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "Configurações do LDAP"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Endereço do servidor"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
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:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Porta do servidor"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
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:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Usar conexão segura"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Usar uma conexão SSL/TLS para acessar o servidor LDAP"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Método de autenticação"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Pesquisar e vincular"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Vinculação direta"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Escolha o método de autenticação para usar"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Vincular DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -160,27 +170,27 @@ msgstr ""
"O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para "
"vincular anonimamente"
-#: core/app_settings.py:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Vincular senha"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Base de pesquisa de usuários"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Filtro de pesquisa"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -188,11 +198,11 @@ msgstr ""
"Uma string opcional de filtro (por ex: '(objectClass=person)'). Para ser "
"válida, deve estar entre parênteses."
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Usar template DN"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -201,27 +211,27 @@ msgstr ""
"A template usada para construir um DN de usuário. Deve conter um placeholder "
"(por ex: %(user)s)"
-#: core/app_settings.py:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Atributo de senha"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "O atributo usado para armazenar senhas de usuários"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Informe se o servidor LDAP é um Active Directory"
-#: core/app_settings.py:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Grupos de administradores"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -229,146 +239,146 @@ 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:203
+#: core/app_settings.py:211
msgid "Group type"
msgstr "Tipo de Grupo"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr "Tipo de grupo LDAP para ser usado em seu Diretório:"
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Base de pesquisa de grupos"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
#, fuzzy
#| msgid "Applications"
msgid "Notifications"
msgstr "Aplicações"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Endereço do servidor"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Verificar novas versões"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Verificar automaticamente se uma nova versão está disponível"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Diversos"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Intervalo de verificação de verificações de topo"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervalo entre checagem de notificações (em segundos)"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Idade máxima do registro de log"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
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:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Itens por página"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Número de itens exibidos por página"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Redirecionamento de topo padrão"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
msgstr ""
"O redirecionamento padrão usado quando nenhuma aplicação é especificada"
-#: core/app_settings.py:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Sintaxe inválida"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Número de ciclos inválido"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Este campo é obrigatório"
diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
index 853dbf1a3..0eb63d368 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -103,54 +103,64 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Password para bind"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "Definições do serviço de directório"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Endereço do Servidor"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
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:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Porta do Servidor"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr " A porta TCP usada pelo servidor LDAP"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Utilizar uma ligação segura"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Usar SSL/TLS na ligaçao de acesso ao servidor LDAP"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Método de autenticação"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Procurar e vincular (bind)"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "\"Direct bind\""
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Escolher o método de autenticação"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "\"Bind DN\""
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -158,28 +168,28 @@ msgstr ""
"O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario "
"para \"bind\" anónimo"
-#: core/app_settings.py:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Password para bind"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Base para pesquisa de utilizadores"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Filtro de pesquisa"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -187,11 +197,11 @@ msgstr ""
"Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre "
"parênteses para ser válido"
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Template DN de utilizador"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -200,27 +210,27 @@ msgstr ""
"O template usado para construir o DN (nome único). Deve apenas conter um "
"'placeholder' (ex: %(user)s) "
-#: core/app_settings.py:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Atributo de palavra-passe"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "O atributo utilizado para armazenar palavras-passe"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
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:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Grupos de Administrador"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -228,151 +238,151 @@ msgstr ""
"Os membros destes grupos \"LDAP Posix\" serão criados como administradores "
"de domínio. Use ';' para separar os grupos."
-#: core/app_settings.py:203
+#: core/app_settings.py:211
#, fuzzy
#| msgid "Group name"
msgid "Group type"
msgstr "Nome do grupo"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr ""
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Base para pesquisa de Grupos"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
#, fuzzy
#| msgid "Authentication"
msgid "Notifications"
msgstr "Autenticação"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Endereço do Servidor"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Procurar novas versões"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Verifica automaticamente se existem novas versões"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Vários"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Intervalo de tempo para verificar notificações (no topo)"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
#, 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:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Idade máxima do registo no log"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
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:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Itens por página"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Número de itens apresentados por página"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Redirecionamento pré-definido"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
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:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Sintax inválida"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Número de linhas inválido"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Este campo é obrigatório"
diff --git a/modoboa/locale/ru/LC_MESSAGES/django.po b/modoboa/locale/ru/LC_MESSAGES/django.po
index 5ab91ba05..b0c2ef528 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -98,54 +98,64 @@ msgid "Default password for automatically created accounts."
msgstr ""
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Bind password"
+msgid "Random password length"
+msgstr "Пароль для соединения"
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "Параметры LDAP"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Адрес сервера"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
msgid "The IP address or the DNS name of the LDAP server"
msgstr "IP адрес или DNS имя сервера LDAP"
-#: core/app_settings.py:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Порт сервера"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "Номер TCP порта LDAP сервера"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Использовать безопасное соединение"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Использовать SSL/TLS соединение с LDAP сервером"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Метод аутентификации"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Найти и соединиться"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Прямое соединение"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Выберите метод аутентификации "
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Соединится с DN "
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -153,27 +163,27 @@ msgstr ""
"Отличительное имя используемое для соединения с LDAP сервером. Оставьте "
"пустым для анонимного соединения"
-#: core/app_settings.py:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Пароль для соединения"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr "Пароль для соединения с LDAP сервером"
-#: core/app_settings.py:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr ""
-#: core/app_settings.py:150
+#: core/app_settings.py:158
msgid "The distinguished name of the search base used to find users"
msgstr ""
-#: core/app_settings.py:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Фильтр поиска"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -181,11 +191,11 @@ msgstr ""
"Необязательная срока поиска (например '(objectClass=person)') Значение нужно "
"заключить в скобки"
-#: core/app_settings.py:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Шаблон пользователя DN"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -194,176 +204,176 @@ msgstr ""
"Шаблон используется для построения запросов к DN Он должен содержать атрибут "
"например (%(user)s)"
-#: core/app_settings.py:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Свойства пароля"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "Свойства используемые для сохранения пользовательских паролей"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Укажите, если LDAP сервер в Active Directory"
-#: core/app_settings.py:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr ""
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
msgstr ""
-#: core/app_settings.py:203
+#: core/app_settings.py:211
#, fuzzy
#| msgid "Group name"
msgid "Group type"
msgstr "Название группы"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
msgid "The LDAP group type to use with your directory."
msgstr ""
-#: core/app_settings.py:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr ""
-#: core/app_settings.py:215
+#: core/app_settings.py:223
msgid "The distinguished name of the search base used to find groups"
msgstr ""
-#: core/app_settings.py:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr ""
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr ""
-#: core/app_settings.py:226
+#: core/app_settings.py:234
msgid "Display custom RSS feed to resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr ""
-#: core/app_settings.py:234
+#: core/app_settings.py:242
msgid "Hide features widget for resellers and domain administrators"
msgstr ""
-#: core/app_settings.py:238
+#: core/app_settings.py:246
#, fuzzy
#| msgid "Authentication"
msgid "Notifications"
msgstr "Аутентификация"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
#, fuzzy
#| msgid "Server address"
msgid "Sender address"
msgstr "Адрес сервера"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr ""
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr ""
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr ""
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr ""
-#: core/app_settings.py:258
+#: core/app_settings.py:266
#, fuzzy
msgid "Check new versions"
msgstr "Отметить для разрешения этого расширения"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr ""
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr ""
-#: core/app_settings.py:268
+#: core/app_settings.py:276
msgid "Send statistics to Modoboa public API (counters and used extensions)"
msgstr ""
-#: core/app_settings.py:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Прочее"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
#, fuzzy
msgid "Top notifications check interval"
msgstr "Уведомления отправителю"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
#, fuzzy
msgid "Interval between two top notification checks (in seconds)"
msgstr "Интервал между запросами на деблокирование для доставки"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Максимальный срок хранения лог записей"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr "Срок хранения лог записей в днях "
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Элементов на странице"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Количество элементов на странице"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Порог перенаправления по умолчанию"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
msgstr "Если приложение не указано. Используется перенаправление по умолчанию."
-#: core/app_settings.py:345
+#: core/app_settings.py:353
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "Ключ должен быть 16, 24 или 32 байта длинной"
-#: core/app_settings.py:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Ошибка в написании"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr ""
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Это поле обязательно для заполнеия"
diff --git a/modoboa/locale/sv/LC_MESSAGES/django.po b/modoboa/locale/sv/LC_MESSAGES/django.po
index 9748fbf56..595aa6193 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
@@ -98,54 +98,64 @@ msgid "Default password for automatically created accounts."
msgstr "Standardlösenord för automatiskt skapade konton."
#: core/app_settings.py:90
+#, fuzzy
+#| msgid "Modoboa password reset"
+msgid "Random password length"
+msgstr "Modoboa lösenordsåterställning."
+
+#: core/app_settings.py:94
+msgid "Length of randomly generated passwords."
+msgstr ""
+
+#: core/app_settings.py:98
msgid "LDAP settings"
msgstr "LDAP inställningar"
-#: core/app_settings.py:93
+#: core/app_settings.py:101
msgid "Server address"
msgstr "Server adress"
-#: core/app_settings.py:96
+#: core/app_settings.py:104
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:101
+#: core/app_settings.py:109
msgid "Server port"
msgstr "Server port"
-#: core/app_settings.py:103
+#: core/app_settings.py:111
msgid "The TCP port number used by the LDAP server"
msgstr "TCP port som används av LDAP servern"
-#: core/app_settings.py:108
+#: core/app_settings.py:116
msgid "Use a secured connection"
msgstr "Använd en säker anslutning"
-#: core/app_settings.py:111
+#: core/app_settings.py:119
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Använd SSL/TLS anslutning för åtkomst till LDAP servern"
-#: core/app_settings.py:115
+#: core/app_settings.py:123
msgid "Authentication method"
msgstr "Autentiseringsmetod"
-#: core/app_settings.py:116
+#: core/app_settings.py:124
msgid "Search and bind"
msgstr "Sök och bind"
-#: core/app_settings.py:117
+#: core/app_settings.py:125
msgid "Direct bind"
msgstr "Direkt bindning"
-#: core/app_settings.py:119
+#: core/app_settings.py:127
msgid "Choose the authentication method to use"
msgstr "Välj autentiseringsmetod att använda"
-#: core/app_settings.py:124
+#: core/app_settings.py:132
msgid "Bind DN"
msgstr "Bind DN"
-#: core/app_settings.py:127
+#: core/app_settings.py:135
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -153,28 +163,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:135
+#: core/app_settings.py:143
msgid "Bind password"
msgstr "Bind lösenord"
-#: core/app_settings.py:138
+#: core/app_settings.py:146
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:147
+#: core/app_settings.py:155
msgid "Users search base"
msgstr "Användare sökbas"
-#: core/app_settings.py:150
+#: core/app_settings.py:158
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:157
+#: core/app_settings.py:165
msgid "Search filter"
msgstr "Sökfilter"
-#: core/app_settings.py:160
+#: core/app_settings.py:168
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -182,11 +192,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:168
+#: core/app_settings.py:176
msgid "User DN template"
msgstr "Anvädar DN mall"
-#: core/app_settings.py:171
+#: core/app_settings.py:179
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -195,27 +205,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:179
+#: core/app_settings.py:187
msgid "Password attribute"
msgstr "Lösenordsattribut"
-#: core/app_settings.py:181
+#: core/app_settings.py:189
msgid "The attribute used to store user passwords"
msgstr "Attribut som används för att lagra användarlösenord"
-#: core/app_settings.py:186
+#: core/app_settings.py:194
msgid "Active Directory"
msgstr "Active Directory"
-#: core/app_settings.py:189
+#: core/app_settings.py:197
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:193
+#: core/app_settings.py:201
msgid "Administrator groups"
msgstr "Administratörsgrupper"
-#: core/app_settings.py:196
+#: core/app_settings.py:204
msgid ""
"Members of those LDAP Posix groups will be created as domain administrators. "
"Use ';' characters to separate groups."
@@ -223,143 +233,143 @@ 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:203
+#: core/app_settings.py:211
msgid "Group type"
msgstr "Grupptyp"
-#: core/app_settings.py:207
+#: core/app_settings.py:215
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:212
+#: core/app_settings.py:220
msgid "Groups search base"
msgstr "Grupper sökbas"
-#: core/app_settings.py:215
+#: core/app_settings.py:223
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:220 core/templates/core/dashboard.html:5
+#: core/app_settings.py:228 core/templates/core/dashboard.html:5
msgid "Dashboard"
msgstr "Kontrollpanel"
-#: core/app_settings.py:223
+#: core/app_settings.py:231
msgid "Custom RSS feed"
msgstr "Användardefinierat RSS-flöde"
-#: core/app_settings.py:226
+#: core/app_settings.py:234
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:231
+#: core/app_settings.py:239
msgid "Hide features widget"
msgstr "Dölj egenskaper widget"
-#: core/app_settings.py:234
+#: core/app_settings.py:242
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:238
+#: core/app_settings.py:246
msgid "Notifications"
msgstr "Notifikationer"
-#: core/app_settings.py:241
+#: core/app_settings.py:249
msgid "Sender address"
msgstr "Avsändaradress"
-#: core/app_settings.py:244
+#: core/app_settings.py:252
msgid "Email address used to send notifications."
msgstr "E-postadress som används till att skicka notifikationer."
-#: core/app_settings.py:248
+#: core/app_settings.py:256
msgid "Public API"
msgstr "Publikt API"
-#: core/app_settings.py:251
+#: core/app_settings.py:259
msgid "Enable communication"
msgstr "Aktivera kommunikation"
-#: core/app_settings.py:254
+#: core/app_settings.py:262
msgid "Enable communication with Modoboa public API"
msgstr "Aktivera kommunikation med Modoboa publikt API"
-#: core/app_settings.py:258
+#: core/app_settings.py:266
msgid "Check new versions"
msgstr "Kontrollera nya versioner"
-#: core/app_settings.py:261
+#: core/app_settings.py:269
msgid "Automatically checks if a newer version is available"
msgstr "Kontrollera automatiskt om en nyare version finns"
-#: core/app_settings.py:265
+#: core/app_settings.py:273
msgid "Send statistics"
msgstr "Skicka statistik"
-#: core/app_settings.py:268
+#: core/app_settings.py:276
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:272
+#: core/app_settings.py:280
msgid "Miscellaneous"
msgstr "Övrigt"
-#: core/app_settings.py:275
+#: core/app_settings.py:283
msgid "Inactive account threshold"
msgstr ""
-#: core/app_settings.py:278
+#: core/app_settings.py:286
msgid ""
"An account with a last login date greater than this threshold (in days) will "
"be considered as inactive"
msgstr ""
-#: core/app_settings.py:285
+#: core/app_settings.py:293
msgid "Top notifications check interval"
msgstr "Toppnotifikationer kontrollintervall"
-#: core/app_settings.py:288
+#: core/app_settings.py:296
msgid "Interval between two top notification checks (in seconds)"
msgstr "Intervall mellan två toppnotifikationskontroller (i sekunder)"
-#: core/app_settings.py:294
+#: core/app_settings.py:302
msgid "Maximum log record age"
msgstr "Maximal ålder för loggpost"
-#: core/app_settings.py:296
+#: core/app_settings.py:304
msgid "The maximum age in days of a log record"
msgstr "Maximal ålder i dagar för en logg post"
-#: core/app_settings.py:301
+#: core/app_settings.py:309
msgid "Items per page"
msgstr "Artiklar per sida"
-#: core/app_settings.py:303
+#: core/app_settings.py:311
msgid "Number of displayed items per page"
msgstr "Antal poster som visas per sida"
-#: core/app_settings.py:308
+#: core/app_settings.py:316
msgid "Default top redirection"
msgstr "Standard topp omdirigering"
-#: core/app_settings.py:312
+#: core/app_settings.py:320
msgid "The default redirection used when no application is specified"
msgstr "Standard omdirigering när ingen applikation angetts"
-#: core/app_settings.py:345
+#: core/app_settings.py:353
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:354
+#: core/app_settings.py:362
msgid "Invalid syntax"
msgstr "Ogiltig syntax"
-#: core/app_settings.py:360
+#: core/app_settings.py:368
msgid "Invalid rounds number"
msgstr "Ogiltigt antal omgångar"
-#: core/app_settings.py:387
+#: core/app_settings.py:395
msgid "This field is required"
msgstr "Detta fält är obligatoriskt"
diff --git a/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po
index 5a36968b3..8bb9eb671 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po
index 75e6d1b68..03ed0876b 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po
index 684d124f9..e0cee36eb 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po
index 49874f403..c0a0793c4 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po
index 83271b218..c1ff98483 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2017-01-16 16:45+0000\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n"
diff --git a/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po
index efa8d7826..ef95c3abf 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2013-12-23 00:56+0100\n"
"Last-Translator: Alberto Berti \n"
"Language-Team: ITALIANO \n"
diff --git a/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po
index de782e609..a16a7c933 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po
index e5a288d6b..a8df4bbec 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po
index 339f748ef..73138823b 100644
--- a/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po
+++ b/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2014-12-13 09:10+0000\n"
"Last-Translator: Paulino Michelazzo \n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
diff --git a/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po
index fdf3a610a..6793526e8 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po
index 9ce21c32b..54b999100 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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+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/"
diff --git a/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po
index ca7762685..28dcd10c8 100644
--- a/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po
+++ b/modoboa/relaydomains/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: 2017-08-18 14:44+0200\n"
+"POT-Creation-Date: 2017-09-08 10:50+0200\n"
"PO-Revision-Date: 2015-01-13 15:18+0000\n"
"Last-Translator: Olle Gustafsson \n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/modoboa/language/"