Commits

Anonymous committed d810619

Update template and catalogs for AccountManagerPlugin (36+ msgids).

German translations for new msgid's are completed too.

  • Participants
  • Parent commits b636caf

Comments (0)

Files changed (5)

File acct_mgr/locale/de/LC_MESSAGES/acct_mgr.po

 msgstr ""
 "Project-Id-Version: TracAccountManager 0.3\n"
 "Report-Msgid-Bugs-To: hoff.st@shaas.net\n"
-"POT-Creation-Date: 2010-11-17 00:22+0100\n"
+"POT-Creation-Date: 2010-11-29 00:46+0100\n"
 "PO-Revision-Date: 2010-09-25 00:04+0200\n"
 "Last-Translator: Steffen Hoffmann <hoff.st@web.de>\n"
 "Language-Team: German de_DE <trac-dev@googlegroups.com>\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.0dev-r482\n"
 
-#: acct_mgr/admin.py:70
+#: acct_mgr/admin.py:77
 #, python-format
 msgid "Invalid key type (%s) for StoreOrder"
 msgstr "Ungültiger Schlüsseltyp (%s) für Kennwortspeicherreihenfolge"
 
-#: acct_mgr/admin.py:115 acct_mgr/admin.py:117 acct_mgr/notification.py:170
-#: acct_mgr/templates/admin_users.html:11
+#: acct_mgr/admin.py:123 acct_mgr/admin.py:125 acct_mgr/admin.py:311
+#: acct_mgr/notification.py:170 acct_mgr/templates/admin_users.html:11
 msgid "Accounts"
 msgstr "Nutzerkonten"
 
-#: acct_mgr/admin.py:115
+#: acct_mgr/admin.py:123
 msgid "Configuration"
 msgstr "Einstellungen"
 
-#: acct_mgr/admin.py:117
+#: acct_mgr/admin.py:125
 msgid "Users"
 msgstr "Nutzer"
 
-#: acct_mgr/admin.py:204
+#: acct_mgr/admin.py:214
 msgid ""
 "The password store\n"
 "                                                   does not support\n"
 "                                                   creating users."
 msgstr "Der Kennwortspeicher erlaubt das Erstellen neuer Nutzer nicht."
 
-#: acct_mgr/admin.py:217
+#: acct_mgr/admin.py:227
 msgid ""
 "The password store does\n"
 "                                               not support deleting users."
 msgstr "Der Kennwortspeicher erlaubt das Löschen von Nutzern nicht."
 
-#: acct_mgr/admin.py:228 acct_mgr/web_ui.py:51
+#: acct_mgr/admin.py:238 acct_mgr/web_ui.py:55
 msgid "Username cannot be empty."
 msgstr "Nutzername darf nicht leer sein."
 
-#: acct_mgr/admin.py:233 acct_mgr/web_ui.py:113 acct_mgr/web_ui.py:333
-#: acct_mgr/web_ui.py:347
+#: acct_mgr/admin.py:243 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:337
+#: acct_mgr/web_ui.py:351
 msgid "Password cannot be empty."
 msgstr "Kennwort darf nicht leer sein."
 
-#: acct_mgr/admin.py:237 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:336
+#: acct_mgr/admin.py:247 acct_mgr/web_ui.py:121 acct_mgr/web_ui.py:340
 msgid "The passwords must match."
 msgstr "Die Kennwörter müssen übereinstimmen."
 
-#: acct_mgr/admin.py:245
+#: acct_mgr/admin.py:255
 msgid ""
 "The password store\n"
 "                                                      does not support\n"
 "                                                      changing passwords."
 msgstr "Der Kennwortspeicher erlaubt das Ändern von Kennwörtern nicht."
 
-#: acct_mgr/api.py:195
+#: acct_mgr/admin.py:270
+#, python-format
+msgid "Locked until %(t_release)s"
+msgstr "gesperrt bis %(t_release)s"
+
+#: acct_mgr/admin.py:311
+msgid "Account details"
+msgstr "Nutzerkontendetails"
+
+#: acct_mgr/admin.py:336
+#, python-format
+msgid "Failed login attempts for user %(user)s deleted"
+msgstr "Fehlgeschlagene Anmeldeversuche für Nutzer %(user)s gelöscht"
+
+#: acct_mgr/api.py:257
 #, python-format
 msgid ""
 "The authentication backend for user %s does not support\n"
 "Der Authentifikationsdienst für den Nutzer %s erlaubt das Festlegen des "
 "Kennworts nicht."
 
-#: acct_mgr/api.py:206
+#: acct_mgr/api.py:268
 msgid ""
 "None of the IPasswordStore components listed in the\n"
 "                trac.ini supports setting the password\n"
 "                                    on this platform."
 msgstr "Das \"crypt\"-Modul ist auf diesem System nicht verfügbar."
 
-#: acct_mgr/web_ui.py:57
+#: acct_mgr/web_ui.py:61
 #, python-format
 msgid "Username %s is not allowed."
 msgstr "Der Nutzername %s ist nicht zugelassen."
 
-#: acct_mgr/web_ui.py:67 acct_mgr/web_ui.py:87
+#: acct_mgr/web_ui.py:71 acct_mgr/web_ui.py:91
 #, python-format
 msgid "Another account or group named %s already exists."
 msgstr "Es existiert bereits ein Benutzerkonto oder eine Gruppe namens %s."
 
-#: acct_mgr/web_ui.py:104
+#: acct_mgr/web_ui.py:108
 msgid "The username must not contain any of these characters:"
 msgstr "Der Nutzername darf keines der folgenden Zeichen enthalten:"
 
-#: acct_mgr/web_ui.py:124
+#: acct_mgr/web_ui.py:128
 msgid "You must specify a valid email address."
 msgstr "Sie müssen eine gültige E-Mail-Adresse angeben."
 
-#: acct_mgr/web_ui.py:128
+#: acct_mgr/web_ui.py:132
 msgid ""
 "The email address specified appears to be\n"
 "                              invalid. Please specify a valid email "
 "Die angegebene E-Mail-Adresse scheint ungültig zu sein. Bitte geben Sie "
 "eine gültige E-Mail-Adresse an."
 
-#: acct_mgr/web_ui.py:133
+#: acct_mgr/web_ui.py:137
 msgid ""
 "The email address specified is already in\n"
 "                              use. Please specify a different one.\n"
 "Die angegebene E-Mail-Adresse wird bereits verwendet. Bitte geben Sie "
 "eine andere an."
 
-#: acct_mgr/web_ui.py:206 acct_mgr/templates/admin_users.html:79
+#: acct_mgr/web_ui.py:210 acct_mgr/templates/admin_users.html:98
 #: acct_mgr/templates/prefs_account.html:42
 msgid "Account"
 msgstr "Nutzerkonto"
 
-#: acct_mgr/web_ui.py:242 acct_mgr/templates/login.html:49
+#: acct_mgr/web_ui.py:246 acct_mgr/templates/login.html:49
 msgid "Forgot your password?"
 msgstr "Kennwort vergessen?"
 
-#: acct_mgr/web_ui.py:258
+#: acct_mgr/web_ui.py:262
 msgid "Are you sure you want to delete your account?"
 msgstr "Sind Sie sicher, dass Sie Ihr Nutzerkonto löschen möchten?"
 
-#: acct_mgr/web_ui.py:268
+#: acct_mgr/web_ui.py:272
 msgid "Thank you for taking the time to update your password."
 msgstr ""
 "Danke, dass Sie sich die Zeit genommen haben, Ihr Kennwort zu "
 "aktualisieren."
 
-#: acct_mgr/web_ui.py:277
+#: acct_mgr/web_ui.py:281
 msgid ""
 "You are required to change password because of a recent password change "
 "request. "
 "Sie müssen Ihr Kennwort wegen einer kürzlich angeforderten "
 "Kennwortänderung ändern. "
 
-#: acct_mgr/web_ui.py:280
+#: acct_mgr/web_ui.py:284
 msgid "Please change your password now."
 msgstr "Bitte ändern Sie jetzt Ihr Kennwort."
 
-#: acct_mgr/web_ui.py:291
+#: acct_mgr/web_ui.py:295
 msgid "Username is required"
 msgstr "Nutzername ist erforderlich"
 
-#: acct_mgr/web_ui.py:293
+#: acct_mgr/web_ui.py:297
 msgid "Email is required"
 msgstr "E-Mail-Adresse ist erforderlich"
 
-#: acct_mgr/web_ui.py:327
+#: acct_mgr/web_ui.py:331
 msgid "Old Password cannot be empty."
 msgstr "Das alte Kennwort darf nicht leer sein."
 
-#: acct_mgr/web_ui.py:329
+#: acct_mgr/web_ui.py:333
 msgid "Old Password is incorrect."
 msgstr "Das alte Kennwort ist ungültig."
 
-#: acct_mgr/web_ui.py:339
+#: acct_mgr/web_ui.py:343
 msgid "Password successfully updated."
 msgstr "Das Kennwort wurde erfolgreich aktualisiert."
 
-#: acct_mgr/web_ui.py:349
+#: acct_mgr/web_ui.py:353
 msgid "Password is incorrect."
 msgstr "Das Kennwort is ungültig."
 
-#: acct_mgr/web_ui.py:403 acct_mgr/templates/register.html:11
+#: acct_mgr/web_ui.py:406 acct_mgr/templates/register.html:11
 msgid "Register"
 msgstr "Registrieren"
 
-#: acct_mgr/web_ui.py:433
+#: acct_mgr/web_ui.py:436
 #, python-format
 msgid ""
 "Registration has been finished successfully.\n"
 "Die Registrierung ist erfolgreich abgeschlossen worden. Sie können sich "
 "nun als Nutzer %(user)s anmelden."
 
-#: acct_mgr/web_ui.py:487
+#. TRANSLATOR: Intentionally obfuscated login error
+#: acct_mgr/web_ui.py:533
 msgid "Invalid username or password"
 msgstr "Nutzername oder Kennwort ungültig"
 
+#: acct_mgr/web_ui.py:538
+#, python-format
+msgid ""
+"Account locked, please try again after\n"
+"                            %(release_time)s\n"
+"                            "
+msgstr "Nutzerkonto gesperrt, bitte nach %(release_time)s nochmals versuchen"
+
+#: acct_mgr/web_ui.py:543
+msgid "Account locked"
+msgstr "Nutzerkonto gesperrt"
+
+#: acct_mgr/web_ui.py:548
+#, python-format
+msgid "Login after %(attempts)s failed attempt"
+msgid_plural "Login after %(attempts)s failed attempts"
+msgstr[0] "Anmeldung nach %(attempts)s Fehlversuch"
+msgstr[1] "Anmeldung nach %(attempts)s Fehlversuchen"
+
 #. TRANSLATOR: Your permissions have been limited until you ...
-#: acct_mgr/web_ui.py:621
+#: acct_mgr/web_ui.py:684
 msgid "verify your email address"
 msgstr "Ihre E-Mail-Adresse bestätigen"
 
 #. TRANSLATOR: ... verify your email address
-#: acct_mgr/web_ui.py:624
+#: acct_mgr/web_ui.py:687
 #, python-format
 msgid "Your permissions have been limited until you %(link)s."
 msgstr "Ihre Berechtigungen sind eingeschränkt worden, bis Sie %(link)s."
 
 #. TRANSLATOR: An email has been sent to %(email)s
 #. with a token to ... (the link label for following message)
-#: acct_mgr/web_ui.py:652
+#: acct_mgr/web_ui.py:715
 msgid "verify your new email address"
 msgstr "Ihre neue E-Mail-Adresse zu bestätigen"
 
 #. TRANSLATOR: ... verify your new email address
-#: acct_mgr/web_ui.py:655
+#: acct_mgr/web_ui.py:718
 #, python-format
 msgid ""
 "An email has been sent to %(email)s with a token to\n"
 "Eine E-Mail-Nachricht mit einem Bestätigungscode wurde an %(email)s "
 "gesendet, um %(link)s."
 
-#: acct_mgr/web_ui.py:668
+#: acct_mgr/web_ui.py:731
 msgid "Please log in to finish email verification procedure."
 msgstr ""
 "Bitte melden Sie sich an, um den Bestätigungsvorgang für Ihre E-Mail-"
 "Adresse abzuschliessen."
 
-#: acct_mgr/web_ui.py:672
+#: acct_mgr/web_ui.py:735
 msgid "Your email is already verified."
 msgstr "Ihre E-Mail-Adresse ist bereits bestätigt."
 
-#: acct_mgr/web_ui.py:680
+#: acct_mgr/web_ui.py:743
 #, python-format
 msgid "A notification email has been resent to <%s>."
 msgstr "Eine E-Mail-Benachrichtigung ist an <%s> gesendet worden."
 
-#: acct_mgr/web_ui.py:686
+#: acct_mgr/web_ui.py:749
 msgid "Thank you for verifying your email address."
 msgstr "Vielen Dank, dass Sie Ihre E-Mail-Adresse bestätigt haben."
 
-#: acct_mgr/web_ui.py:689
+#: acct_mgr/web_ui.py:752
 msgid "Invalid verification token"
 msgstr "Ungültiger Bestätigungscode"
 
+#: acct_mgr/templates/account_details.html:11
+msgid "Account Details"
+msgstr "Nutzerkontendetails"
+
+#: acct_mgr/templates/account_details.html:17
+msgid "Review User Account Details"
+msgstr "Benutzerkontendetailprüfung"
+
+#: acct_mgr/templates/account_details.html:19
+#: acct_mgr/templates/account_details.html:20
+msgid "for"
+msgstr "für"
+
+#: acct_mgr/templates/account_details.html:27
+msgid "Account Status"
+msgstr "Nutzerkontenstatus"
+
+#: acct_mgr/templates/account_details.html:31
+#, python-format
+msgid ""
+"Credentials for this user are stored in AuthStore number\n"
+"              [1:%(order_num)s] (%(store)s)."
+msgstr ""
+"Identitätsmerkmale für diesen Nutzer sind im Beglaubigungsregister Nummer"
+" [1:%(order_num)s] (%(store)s) gespeichert."
+
+#: acct_mgr/templates/account_details.html:35
+msgid "Username matching is set to [1:not case-sensitive]."
+msgstr "Nutzernamesvergleich beachtet [1:Groß-/Kleinschreibung nicht]."
+
+#: acct_mgr/templates/account_details.html:37
+msgid "Username matching is set to [1:case-sensitive]."
+msgstr "Nutzernamesvergleich beachtet [1:Groß-/Kleinschreibung]."
+
+#: acct_mgr/templates/account_details.html:42
+msgid ""
+"No store provides credentials for this user,\n"
+"              so the user currently can't be authenticated and\n"
+"              access to this [1:account is effectively blocked],\n"
+"              while account details may still be available."
+msgstr ""
+"Kein Register bietet Identitätsmerkmale für diesen Nutzer an, daher kann "
+"der Nutzer momentan nicht beglaubigt werden, und der Zugang zu diesem "
+"[1:Benutzerkonto ist praktisch gesperrt], während Nutzerkontendetails "
+"weiterhin verfügbar sein können."
+
+#: acct_mgr/templates/account_details.html:54
+#, python-format
+msgid ""
+"[1:]\n"
+"                This account has been locked until %(time)s[2:]\n"
+"                and even valid login attempts are rejected meanwhile."
+msgstr ""
+"[1:] Dieses Nutzerkonto ist bis %(time)s gesperrt worden,[2:] und auch "
+"gültige Anmeldeversuche werden bis dahin abgewiesen."
+
+#: acct_mgr/templates/account_details.html:59
+msgid "This account has been locked permanently."
+msgstr "Dieses Nutzerkonto ist dauerhaft gesperrt worden."
+
+#: acct_mgr/templates/account_details.html:63
+msgid "Release account lock"
+msgstr "Hebe Nutzerkontensperre auf"
+
+#: acct_mgr/templates/account_details.html:63
+msgid "Unlock"
+msgstr "Nutzerkonto entsperren"
+
+#: acct_mgr/templates/account_details.html:75
+#, python-format
+msgid ""
+"Lock condition has been met\n"
+"                    %(count)s time by now."
+msgid_plural ""
+"Lock condition has been met\n"
+"                    %(count)s times by now."
+msgstr[0] "Sperrbedingung wurde bisher einmal erreicht."
+msgstr[1] "Sperrbedingung wurde bisher %(count)s mal erreicht."
+
+#: acct_mgr/templates/account_details.html:81
+#, python-format
+msgid ""
+"Therefore after another failed login attempt authentication\n"
+"                  for this account would be retarded by %(time)s."
+msgstr ""
+"Deshalb würde die Anmeldung für dieses Benutzerkonto nach einem weiteren "
+"Fehlversuch um %(time)s verzögert."
+
+#: acct_mgr/templates/account_details.html:88
+msgid "Lock condition has not been met yet."
+msgstr "Bisher wurde die Sperrbedingung nicht erreicht."
+
+#: acct_mgr/templates/account_details.html:94
+msgid "No constraints are set for this account."
+msgstr "Für dieses Nutzerkonto sind keine Beschränkungen festgelegt."
+
+#: acct_mgr/templates/account_details.html:102
+msgid "Access History"
+msgstr "Zugriffsverlauf"
+
+#: acct_mgr/templates/account_details.html:105
+#, python-format
+msgid "Last login: %(time)s"
+msgstr "Letzte Anmeldung: %(time)s"
+
+#: acct_mgr/templates/account_details.html:107
+msgid "The user has not logged in before."
+msgstr "Der Nutzer hat sich bisher nicht angemeldet."
+
+#: acct_mgr/templates/account_details.html:111
+#, python-format
+msgid "Total failed attempts: %(count)s"
+msgstr "Fehlversuche gesamt: %(count)s"
+
+#: acct_mgr/templates/account_details.html:112
+msgid "Table: Last failed login attempts log view"
+msgstr "Tabelle: Protokoll der letzten fehlgeschlagenen Anmeldeversuche"
+
+#: acct_mgr/templates/account_details.html:117
+msgid "IP address"
+msgstr "IP-Adresse"
+
+#: acct_mgr/templates/account_details.html:118
+msgid "Log time"
+msgstr "Protokollzeit"
+
+#: acct_mgr/templates/account_details.html:129
+msgid "Delete login failure log"
+msgstr "Lösche Anmeldefehlerprotokoll"
+
+#: acct_mgr/templates/account_details.html:129
+msgid "Delete Log"
+msgstr "Lösche Protokoll"
+
+#: acct_mgr/templates/account_details.html:136
+msgid "There is currently no failed login attempt logged."
+msgstr "Aktuell ist kein fehlgeschlagener Anmeldeversuch protokolliert."
+
+#: acct_mgr/templates/account_details.html:142
+msgid "Update"
+msgstr "Aktualisieren"
+
 #: acct_mgr/templates/admin_accountsconfig.html:11
 #: acct_mgr/templates/admin_accountsconfig.html:15
 msgid "Accounts: Configuration"
 msgstr "Benutzerkonto hinzufügen:"
 
 #: acct_mgr/templates/admin_users.html:24
-#: acct_mgr/templates/admin_users.html:52 acct_mgr/templates/login.html:32
+#: acct_mgr/templates/admin_users.html:64 acct_mgr/templates/login.html:32
 #: acct_mgr/templates/register.html:33
 #: acct_mgr/templates/reset_password.html:50
 msgid "Username:"
 msgstr "Nutzername:"
 
-#: acct_mgr/templates/admin_users.html:27
-#: acct_mgr/templates/admin_users.html:55 acct_mgr/templates/login.html:37
+#: acct_mgr/templates/admin_users.html:29
+#: acct_mgr/templates/admin_users.html:69 acct_mgr/templates/login.html:37
 #: acct_mgr/templates/prefs_account.html:27 acct_mgr/templates/register.html:39
 msgid "Password:"
 msgstr "Kennwort:"
 
-#: acct_mgr/templates/admin_users.html:30
-#: acct_mgr/templates/admin_users.html:58
+#: acct_mgr/templates/admin_users.html:34
+#: acct_mgr/templates/admin_users.html:74
 #: acct_mgr/templates/prefs_account.html:71 acct_mgr/templates/register.html:45
 msgid "Confirm Password:"
 msgstr "Kennwortbestätigung:"
 
-#: acct_mgr/templates/admin_users.html:33 acct_mgr/templates/register.html:67
+#: acct_mgr/templates/admin_users.html:39 acct_mgr/templates/register.html:67
 msgid "Name:"
 msgstr "Name:"
 
-#: acct_mgr/templates/admin_users.html:36 acct_mgr/templates/register.html:51
+#: acct_mgr/templates/admin_users.html:44 acct_mgr/templates/register.html:51
 #: acct_mgr/templates/register.html:73
 msgid "Email:"
 msgstr "E-Mail:"
 
-#: acct_mgr/templates/admin_users.html:38
+#: acct_mgr/templates/admin_users.html:48
 msgid "Add a new user account."
 msgstr "Füge ein neues Benutzerkonto hinzu."
 
-#: acct_mgr/templates/admin_users.html:40
+#: acct_mgr/templates/admin_users.html:50
 msgid " Add "
 msgstr " Hinzufügen "
 
-#: acct_mgr/templates/admin_users.html:50
+#: acct_mgr/templates/admin_users.html:62
 msgid "Change Password:"
 msgstr "Kennwortänderung:"
 
-#: acct_mgr/templates/admin_users.html:60
+#: acct_mgr/templates/admin_users.html:78
 msgid "Change a user's password."
 msgstr "Ändere ein Nutzerkennwort."
 
-#: acct_mgr/templates/admin_users.html:62
+#: acct_mgr/templates/admin_users.html:80
 msgid " Change "
 msgstr " Ändern "
 
-#: acct_mgr/templates/admin_users.html:70
+#: acct_mgr/templates/admin_users.html:89
 msgid "This password store does not support listing users."
 msgstr "Der Kennwortspeicher erlaubt das Auflisten von Nutzern nicht."
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Name"
 msgstr "Name"
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Email"
 msgstr "E-Mail"
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Last Login"
 msgstr "Letzte Anmeldung"
 
-#: acct_mgr/templates/admin_users.html:95
+#: acct_mgr/templates/admin_users.html:112
+msgid "Permanently locked"
+msgstr "dauerhaft gesperrt"
+
+#: acct_mgr/templates/admin_users.html:125
 msgid "Remove selected accounts"
 msgstr "Ausgewählte Nutzerkonten löschen"
 

File acct_mgr/locale/es/LC_MESSAGES/acct_mgr.po

 msgstr ""
 "Project-Id-Version: TracAccountManager 0.3\n"
 "Report-Msgid-Bugs-To: agonzalez@qwi.es\n"
-"POT-Creation-Date: 2010-11-17 00:22+0100\n"
+"POT-Creation-Date: 2010-11-29 00:46+0100\n"
 "PO-Revision-Date: 2010-11-03 13:32+0100\n"
 "Last-Translator: Adolfo González Blázquez <agonzalez@qwi.es>\n"
 "Language-Team: Spanish es_ES <trac-dev@googlegroups.com>\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.0dev-r482\n"
 
-#: acct_mgr/admin.py:70
+#: acct_mgr/admin.py:77
 #, python-format
 msgid "Invalid key type (%s) for StoreOrder"
 msgstr "Tipo de clave (%s) inválida para StoreOrder"
 
-#: acct_mgr/admin.py:115 acct_mgr/admin.py:117 acct_mgr/notification.py:170
-#: acct_mgr/templates/admin_users.html:11
+#: acct_mgr/admin.py:123 acct_mgr/admin.py:125 acct_mgr/admin.py:311
+#: acct_mgr/notification.py:170 acct_mgr/templates/admin_users.html:11
 msgid "Accounts"
 msgstr "Cuentas"
 
-#: acct_mgr/admin.py:115
+#: acct_mgr/admin.py:123
 msgid "Configuration"
 msgstr "Configuración"
 
-#: acct_mgr/admin.py:117
+#: acct_mgr/admin.py:125
 msgid "Users"
 msgstr "Usuarios"
 
-#: acct_mgr/admin.py:204
+#: acct_mgr/admin.py:214
 msgid ""
 "The password store\n"
 "                                                   does not support\n"
 "                                                   creating users."
 msgstr "Este almacén de contraseñas no permite crear usuarios."
 
-#: acct_mgr/admin.py:217
+#: acct_mgr/admin.py:227
 msgid ""
 "The password store does\n"
 "                                               not support deleting users."
 msgstr "Este almacén de contraseñas no permite eliminar usuarios."
 
-#: acct_mgr/admin.py:228 acct_mgr/web_ui.py:51
+#: acct_mgr/admin.py:238 acct_mgr/web_ui.py:55
 msgid "Username cannot be empty."
 msgstr "El nombre de usuario no puede estar vacío."
 
-#: acct_mgr/admin.py:233 acct_mgr/web_ui.py:113 acct_mgr/web_ui.py:333
-#: acct_mgr/web_ui.py:347
+#: acct_mgr/admin.py:243 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:337
+#: acct_mgr/web_ui.py:351
 msgid "Password cannot be empty."
 msgstr "La contraseña no puede estar vacía."
 
-#: acct_mgr/admin.py:237 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:336
+#: acct_mgr/admin.py:247 acct_mgr/web_ui.py:121 acct_mgr/web_ui.py:340
 msgid "The passwords must match."
 msgstr "Las contraseñas deben ser iguales."
 
-#: acct_mgr/admin.py:245
+#: acct_mgr/admin.py:255
 msgid ""
 "The password store\n"
 "                                                      does not support\n"
 "                                                      changing passwords."
 msgstr "Este almacén de contraseñas no permite cambiar contraseñas."
 
-#: acct_mgr/api.py:195
+#: acct_mgr/admin.py:270
+#, python-format
+msgid "Locked until %(t_release)s"
+msgstr ""
+
+#: acct_mgr/admin.py:311
+#, fuzzy
+msgid "Account details"
+msgstr "Cuentas"
+
+#: acct_mgr/admin.py:336
+#, python-format
+msgid "Failed login attempts for user %(user)s deleted"
+msgstr ""
+
+#: acct_mgr/api.py:257
 #, python-format
 msgid ""
 "The authentication backend for user %s does not support\n"
 "El sistema de autenticación no permite que el usuario %s cambie su "
 "contraseña."
 
-#: acct_mgr/api.py:206
+#: acct_mgr/api.py:268
 msgid ""
 "None of the IPasswordStore components listed in the\n"
 "                trac.ini supports setting the password\n"
 "                                    on this platform."
 msgstr "El módulo \"crypt\" no se encuentra disponible en esta plataforma."
 
-#: acct_mgr/web_ui.py:57
+#: acct_mgr/web_ui.py:61
 #, python-format
 msgid "Username %s is not allowed."
 msgstr "El nombre de usuario %s no está permitido."
 
-#: acct_mgr/web_ui.py:67 acct_mgr/web_ui.py:87
+#: acct_mgr/web_ui.py:71 acct_mgr/web_ui.py:91
 #, python-format
 msgid "Another account or group named %s already exists."
 msgstr "Ya existe otra cuenta o grupo llamado %s."
 
-#: acct_mgr/web_ui.py:104
+#: acct_mgr/web_ui.py:108
 msgid "The username must not contain any of these characters:"
 msgstr "El nombre de usuario no debe contener ninguno de estos caracteres:"
 
-#: acct_mgr/web_ui.py:124
+#: acct_mgr/web_ui.py:128
 msgid "You must specify a valid email address."
 msgstr "Debe introducir una dirección de correo electrónico correcta."
 
-#: acct_mgr/web_ui.py:128
+#: acct_mgr/web_ui.py:132
 msgid ""
 "The email address specified appears to be\n"
 "                              invalid. Please specify a valid email "
 "La dirección de correo electrónico parece incorrecta. Por favor "
 "especifique una válida."
 
-#: acct_mgr/web_ui.py:133
+#: acct_mgr/web_ui.py:137
 msgid ""
 "The email address specified is already in\n"
 "                              use. Please specify a different one.\n"
 "La dirección de correo electrónico que ha introducido ya está en uso. Por"
 " favor introduzca una diferente."
 
-#: acct_mgr/web_ui.py:206 acct_mgr/templates/admin_users.html:79
+#: acct_mgr/web_ui.py:210 acct_mgr/templates/admin_users.html:98
 #: acct_mgr/templates/prefs_account.html:42
 msgid "Account"
 msgstr "Cuenta"
 
-#: acct_mgr/web_ui.py:242 acct_mgr/templates/login.html:49
+#: acct_mgr/web_ui.py:246 acct_mgr/templates/login.html:49
 msgid "Forgot your password?"
 msgstr "¿Olvidó su contraseña?"
 
-#: acct_mgr/web_ui.py:258
+#: acct_mgr/web_ui.py:262
 msgid "Are you sure you want to delete your account?"
 msgstr "¿Está seguro de que desea eliminar su cuenta?"
 
-#: acct_mgr/web_ui.py:268
+#: acct_mgr/web_ui.py:272
 msgid "Thank you for taking the time to update your password."
 msgstr "Gracias por tomarse el tiempo en actualizar su contraseña."
 
-#: acct_mgr/web_ui.py:277
+#: acct_mgr/web_ui.py:281
 msgid ""
 "You are required to change password because of a recent password change "
 "request. "
 "Se le pide cambiar su contraseña porque ha habido un solicitud de cambio "
 "recientemente."
 
-#: acct_mgr/web_ui.py:280
+#: acct_mgr/web_ui.py:284
 msgid "Please change your password now."
 msgstr "Por favor cambie ahora su contraseña."
 
-#: acct_mgr/web_ui.py:291
+#: acct_mgr/web_ui.py:295
 msgid "Username is required"
 msgstr "El nombre de usuario es necesario"
 
-#: acct_mgr/web_ui.py:293
+#: acct_mgr/web_ui.py:297
 msgid "Email is required"
 msgstr "El correo electrónico es necesario"
 
-#: acct_mgr/web_ui.py:327
+#: acct_mgr/web_ui.py:331
 msgid "Old Password cannot be empty."
 msgstr "La contraseña antigua no puede estar vacía."
 
-#: acct_mgr/web_ui.py:329
+#: acct_mgr/web_ui.py:333
 msgid "Old Password is incorrect."
 msgstr "La contraseña antigua es incorrecta."
 
-#: acct_mgr/web_ui.py:339
+#: acct_mgr/web_ui.py:343
 msgid "Password successfully updated."
 msgstr "Contraseña actualizada con éxito."
 
-#: acct_mgr/web_ui.py:349
+#: acct_mgr/web_ui.py:353
 msgid "Password is incorrect."
 msgstr "La contraseña es incorrecta."
 
-#: acct_mgr/web_ui.py:403 acct_mgr/templates/register.html:11
+#: acct_mgr/web_ui.py:406 acct_mgr/templates/register.html:11
 msgid "Register"
 msgstr "Registrarse"
 
-#: acct_mgr/web_ui.py:433
+#: acct_mgr/web_ui.py:436
 #, python-format
 msgid ""
 "Registration has been finished successfully.\n"
 "Se ha registrado con éxito. Ahora debería iniciar sesión como el usuario "
 "%(user)s."
 
-#: acct_mgr/web_ui.py:487
+#. TRANSLATOR: Intentionally obfuscated login error
+#: acct_mgr/web_ui.py:533
 msgid "Invalid username or password"
 msgstr "Nombre de usuario o contraseña inválidos"
 
+#: acct_mgr/web_ui.py:538
+#, python-format
+msgid ""
+"Account locked, please try again after\n"
+"                            %(release_time)s\n"
+"                            "
+msgstr ""
+
+#: acct_mgr/web_ui.py:543
+msgid "Account locked"
+msgstr ""
+
+#: acct_mgr/web_ui.py:548
+#, python-format
+msgid "Login after %(attempts)s failed attempt"
+msgid_plural "Login after %(attempts)s failed attempts"
+msgstr[0] ""
+msgstr[1] ""
+
 #. TRANSLATOR: Your permissions have been limited until you ...
-#: acct_mgr/web_ui.py:621
+#: acct_mgr/web_ui.py:684
 msgid "verify your email address"
 msgstr "verifique su dirección de correo electrónico"
 
 #. TRANSLATOR: ... verify your email address
-#: acct_mgr/web_ui.py:624
+#: acct_mgr/web_ui.py:687
 #, python-format
 msgid "Your permissions have been limited until you %(link)s."
 msgstr "Sus permisos se han limitado hasta que %(link)s."
 
 #. TRANSLATOR: An email has been sent to %(email)s
 #. with a token to ... (the link label for following message)
-#: acct_mgr/web_ui.py:652
+#: acct_mgr/web_ui.py:715
 msgid "verify your new email address"
 msgstr "verifique su nueva dirección de correo electrónico"
 
 #. TRANSLATOR: ... verify your new email address
-#: acct_mgr/web_ui.py:655
+#: acct_mgr/web_ui.py:718
 #, python-format
 msgid ""
 "An email has been sent to %(email)s with a token to\n"
 "Se ha enviado un correo electrónico a %(email)s con una clave para "
 "%(link)s."
 
-#: acct_mgr/web_ui.py:668
+#: acct_mgr/web_ui.py:731
 msgid "Please log in to finish email verification procedure."
 msgstr ""
 "Por favor, inicie sesión para terminar el proceso de verificación de "
 "correo electrónico."
 
-#: acct_mgr/web_ui.py:672
+#: acct_mgr/web_ui.py:735
 msgid "Your email is already verified."
 msgstr "Su correo electrónico ya ha sido verificado."
 
-#: acct_mgr/web_ui.py:680
+#: acct_mgr/web_ui.py:743
 #, python-format
 msgid "A notification email has been resent to <%s>."
 msgstr "Se ha reenviado un correo de notificación a <%s>."
 
-#: acct_mgr/web_ui.py:686
+#: acct_mgr/web_ui.py:749
 msgid "Thank you for verifying your email address."
 msgstr "Gracias por verificar su dirección de correo electrónico."
 
-#: acct_mgr/web_ui.py:689
+#: acct_mgr/web_ui.py:752
 msgid "Invalid verification token"
 msgstr "Clave de verificación inválida"
 
+#: acct_mgr/templates/account_details.html:11
+#, fuzzy
+msgid "Account Details"
+msgstr "Cuentas"
+
+#: acct_mgr/templates/account_details.html:17
+#, fuzzy
+msgid "Review User Account Details"
+msgstr "Añadir nueva cuenta de usuario."
+
+#: acct_mgr/templates/account_details.html:19
+#: acct_mgr/templates/account_details.html:20
+msgid "for"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:27
+#, fuzzy
+msgid "Account Status"
+msgstr "Cuentas"
+
+#: acct_mgr/templates/account_details.html:31
+#, python-format
+msgid ""
+"Credentials for this user are stored in AuthStore number\n"
+"              [1:%(order_num)s] (%(store)s)."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:35
+msgid "Username matching is set to [1:not case-sensitive]."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:37
+msgid "Username matching is set to [1:case-sensitive]."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:42
+msgid ""
+"No store provides credentials for this user,\n"
+"              so the user currently can't be authenticated and\n"
+"              access to this [1:account is effectively blocked],\n"
+"              while account details may still be available."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:54
+#, python-format
+msgid ""
+"[1:]\n"
+"                This account has been locked until %(time)s[2:]\n"
+"                and even valid login attempts are rejected meanwhile."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:59
+msgid "This account has been locked permanently."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:63
+#, fuzzy
+msgid "Release account lock"
+msgstr "Eliminar cuenta"
+
+#: acct_mgr/templates/account_details.html:63
+msgid "Unlock"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:75
+#, python-format
+msgid ""
+"Lock condition has been met\n"
+"                    %(count)s time by now."
+msgid_plural ""
+"Lock condition has been met\n"
+"                    %(count)s times by now."
+msgstr[0] ""
+msgstr[1] ""
+
+#: acct_mgr/templates/account_details.html:81
+#, python-format
+msgid ""
+"Therefore after another failed login attempt authentication\n"
+"                  for this account would be retarded by %(time)s."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:88
+msgid "Lock condition has not been met yet."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:94
+msgid "No constraints are set for this account."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:102
+msgid "Access History"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:105
+#, python-format
+msgid "Last login: %(time)s"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:107
+msgid "The user has not logged in before."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:111
+#, python-format
+msgid "Total failed attempts: %(count)s"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:112
+msgid "Table: Last failed login attempts log view"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:117
+msgid "IP address"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:118
+msgid "Log time"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:129
+msgid "Delete login failure log"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:129
+msgid "Delete Log"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:136
+msgid "There is currently no failed login attempt logged."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:142
+msgid "Update"
+msgstr ""
+
 #: acct_mgr/templates/admin_accountsconfig.html:11
 #: acct_mgr/templates/admin_accountsconfig.html:15
 msgid "Accounts: Configuration"
 msgstr "Añadir cuenta:"
 
 #: acct_mgr/templates/admin_users.html:24
-#: acct_mgr/templates/admin_users.html:52 acct_mgr/templates/login.html:32
+#: acct_mgr/templates/admin_users.html:64 acct_mgr/templates/login.html:32
 #: acct_mgr/templates/register.html:33
 #: acct_mgr/templates/reset_password.html:50
 msgid "Username:"
 msgstr "Nombre de usuario:"
 
-#: acct_mgr/templates/admin_users.html:27
-#: acct_mgr/templates/admin_users.html:55 acct_mgr/templates/login.html:37
+#: acct_mgr/templates/admin_users.html:29
+#: acct_mgr/templates/admin_users.html:69 acct_mgr/templates/login.html:37
 #: acct_mgr/templates/prefs_account.html:27 acct_mgr/templates/register.html:39
 msgid "Password:"
 msgstr "Contraseña:"
 
-#: acct_mgr/templates/admin_users.html:30
-#: acct_mgr/templates/admin_users.html:58
+#: acct_mgr/templates/admin_users.html:34
+#: acct_mgr/templates/admin_users.html:74
 #: acct_mgr/templates/prefs_account.html:71 acct_mgr/templates/register.html:45
 msgid "Confirm Password:"
 msgstr "Confirmar contraseña:"
 
-#: acct_mgr/templates/admin_users.html:33 acct_mgr/templates/register.html:67
+#: acct_mgr/templates/admin_users.html:39 acct_mgr/templates/register.html:67
 msgid "Name:"
 msgstr "Nombre:"
 
-#: acct_mgr/templates/admin_users.html:36 acct_mgr/templates/register.html:51
+#: acct_mgr/templates/admin_users.html:44 acct_mgr/templates/register.html:51
 #: acct_mgr/templates/register.html:73
 msgid "Email:"
 msgstr "Correo electrónico:"
 
-#: acct_mgr/templates/admin_users.html:38
+#: acct_mgr/templates/admin_users.html:48
 msgid "Add a new user account."
 msgstr "Añadir nueva cuenta de usuario."
 
-#: acct_mgr/templates/admin_users.html:40
+#: acct_mgr/templates/admin_users.html:50
 msgid " Add "
 msgstr " Añadir "
 
-#: acct_mgr/templates/admin_users.html:50
+#: acct_mgr/templates/admin_users.html:62
 msgid "Change Password:"
 msgstr "Cambiar contraseña:"
 
-#: acct_mgr/templates/admin_users.html:60
+#: acct_mgr/templates/admin_users.html:78
 msgid "Change a user's password."
 msgstr "Cambiar la contraseña de un usuario."
 
-#: acct_mgr/templates/admin_users.html:62
+#: acct_mgr/templates/admin_users.html:80
 msgid " Change "
 msgstr " Cambiar "
 
-#: acct_mgr/templates/admin_users.html:70
+#: acct_mgr/templates/admin_users.html:89
 msgid "This password store does not support listing users."
 msgstr "Este almacén de contraseñas no puede listar usuarios."
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Name"
 msgstr "Nombre"
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Email"
 msgstr "Correo electrónico"
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Last Login"
 msgstr "Última conexión"
 
-#: acct_mgr/templates/admin_users.html:95
+#: acct_mgr/templates/admin_users.html:112
+msgid "Permanently locked"
+msgstr ""
+
+#: acct_mgr/templates/admin_users.html:125
 msgid "Remove selected accounts"
 msgstr "Eliminar cuentas de usuario seleccionadas"
 

File acct_mgr/locale/ja/LC_MESSAGES/acct_mgr.po

 msgstr ""
 "Project-Id-Version: TracAccountManager 0.3\n"
 "Report-Msgid-Bugs-To: hoff.st@shaas.net\n"
-"POT-Creation-Date: 2010-11-17 00:22+0100\n"
+"POT-Creation-Date: 2010-11-29 00:46+0100\n"
 "PO-Revision-Date: 2010-11-17 11:31+0900\n"
 "Last-Translator: Jun Omae <jun66j5@gmail.com>\n"
 "Language-Team: ja <LL@li.org>\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.0dev-r482\n"
 
-#: acct_mgr/admin.py:70
+#: acct_mgr/admin.py:77
 #, python-format
 msgid "Invalid key type (%s) for StoreOrder"
 msgstr "StoreOrder に対するキーの型 (%s) が正しくありません"
 
-#: acct_mgr/admin.py:115 acct_mgr/admin.py:117 acct_mgr/notification.py:170
-#: acct_mgr/templates/admin_users.html:11
+#: acct_mgr/admin.py:123 acct_mgr/admin.py:125 acct_mgr/admin.py:311
+#: acct_mgr/notification.py:170 acct_mgr/templates/admin_users.html:11
 msgid "Accounts"
 msgstr "アカウント"
 
-#: acct_mgr/admin.py:115
+#: acct_mgr/admin.py:123
 msgid "Configuration"
 msgstr "設定"
 
-#: acct_mgr/admin.py:117
+#: acct_mgr/admin.py:125
 msgid "Users"
 msgstr "ユーザ"
 
-#: acct_mgr/admin.py:204
+#: acct_mgr/admin.py:214
 msgid ""
 "The password store\n"
 "                                                   does not support\n"
 "                                                   creating users."
 msgstr "パスワードストアはユーザ作成をサポートしていません。"
 
-#: acct_mgr/admin.py:217
+#: acct_mgr/admin.py:227
 msgid ""
 "The password store does\n"
 "                                               not support deleting users."
 msgstr "パスワードストアはユーザ削除をサポートしていません。"
 
-#: acct_mgr/admin.py:228 acct_mgr/web_ui.py:51
+#: acct_mgr/admin.py:238 acct_mgr/web_ui.py:55
 msgid "Username cannot be empty."
 msgstr "ユーザ名は空にできません。"
 
-#: acct_mgr/admin.py:233 acct_mgr/web_ui.py:113 acct_mgr/web_ui.py:333
-#: acct_mgr/web_ui.py:347
+#: acct_mgr/admin.py:243 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:337
+#: acct_mgr/web_ui.py:351
 msgid "Password cannot be empty."
 msgstr "パスワードは空にできません。"
 
-#: acct_mgr/admin.py:237 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:336
+#: acct_mgr/admin.py:247 acct_mgr/web_ui.py:121 acct_mgr/web_ui.py:340
 msgid "The passwords must match."
 msgstr "パスワードが一致しません。"
 
-#: acct_mgr/admin.py:245
+#: acct_mgr/admin.py:255
 msgid ""
 "The password store\n"
 "                                                      does not support\n"
 "                                                      changing passwords."
 msgstr "パスワードストアはパスワードの変更をサポートしていません。"
 
-#: acct_mgr/api.py:195
+#: acct_mgr/admin.py:270
+#, python-format
+msgid "Locked until %(t_release)s"
+msgstr ""
+
+#: acct_mgr/admin.py:311
+#, fuzzy
+msgid "Account details"
+msgstr "アカウント"
+
+#: acct_mgr/admin.py:336
+#, python-format
+msgid "Failed login attempts for user %(user)s deleted"
+msgstr ""
+
+#: acct_mgr/api.py:257
 #, python-format
 msgid ""
 "The authentication backend for user %s does not support\n"
 "                setting the password."
 msgstr "ユーザ %s に対する認証バックエンドはパスワードの設定をサポートしていません。"
 
-#: acct_mgr/api.py:206
+#: acct_mgr/api.py:268
 msgid ""
 "None of the IPasswordStore components listed in the\n"
 "                trac.ini supports setting the password\n"
 "                                    on this platform."
 msgstr "このプラットフォームでは \"crypt\" モジュールが利用できません。"
 
-#: acct_mgr/web_ui.py:57
+#: acct_mgr/web_ui.py:61
 #, python-format
 msgid "Username %s is not allowed."
 msgstr "ユーザ名 %s は使用できません。"
 
-#: acct_mgr/web_ui.py:67 acct_mgr/web_ui.py:87
+#: acct_mgr/web_ui.py:71 acct_mgr/web_ui.py:91
 #, python-format
 msgid "Another account or group named %s already exists."
 msgstr "%s という名前のアカウント、もしくはグループはすでに使われています。"
 
-#: acct_mgr/web_ui.py:104
+#: acct_mgr/web_ui.py:108
 msgid "The username must not contain any of these characters:"
 msgstr "ユーザ名にはこれらの文字は使えません: "
 
-#: acct_mgr/web_ui.py:124
+#: acct_mgr/web_ui.py:128
 msgid "You must specify a valid email address."
 msgstr "有効なメールアドレスを指定してください。"
 
-#: acct_mgr/web_ui.py:128
+#: acct_mgr/web_ui.py:132
 msgid ""
 "The email address specified appears to be\n"
 "                              invalid. Please specify a valid email "
 "正しくないメールアドレスは指定されています。\n"
 "正しいメールアドレスを指定してください。"
 
-#: acct_mgr/web_ui.py:133
+#: acct_mgr/web_ui.py:137
 msgid ""
 "The email address specified is already in\n"
 "                              use. Please specify a different one.\n"
 "このメールアドレスはすでに使用されています。\n"
 "別のメールアドレスを指定してください。"
 
-#: acct_mgr/web_ui.py:206 acct_mgr/templates/admin_users.html:79
+#: acct_mgr/web_ui.py:210 acct_mgr/templates/admin_users.html:98
 #: acct_mgr/templates/prefs_account.html:42
 msgid "Account"
 msgstr "アカウント"
 
-#: acct_mgr/web_ui.py:242 acct_mgr/templates/login.html:49
+#: acct_mgr/web_ui.py:246 acct_mgr/templates/login.html:49
 msgid "Forgot your password?"
 msgstr "パスワードが思い出せない?"
 
-#: acct_mgr/web_ui.py:258
+#: acct_mgr/web_ui.py:262
 msgid "Are you sure you want to delete your account?"
 msgstr "本当にアカウントを削除しますか?"
 
-#: acct_mgr/web_ui.py:268
+#: acct_mgr/web_ui.py:272
 msgid "Thank you for taking the time to update your password."
 msgstr "パスワードの更新に時間を割いてくれてありがとうございます。"
 
-#: acct_mgr/web_ui.py:277
+#: acct_mgr/web_ui.py:281
 msgid ""
 "You are required to change password because of a recent password change "
 "request. "
 msgstr "パスワード変更要求により、パスワードを変更する必要があります。"
 
-#: acct_mgr/web_ui.py:280
+#: acct_mgr/web_ui.py:284
 msgid "Please change your password now."
 msgstr "直ちにパスワードを変更してください。"
 
-#: acct_mgr/web_ui.py:291
+#: acct_mgr/web_ui.py:295
 msgid "Username is required"
 msgstr "ユーザ名が必要です"
 
-#: acct_mgr/web_ui.py:293
+#: acct_mgr/web_ui.py:297
 msgid "Email is required"
 msgstr "メールアドレスが必要です"
 
-#: acct_mgr/web_ui.py:327
+#: acct_mgr/web_ui.py:331
 msgid "Old Password cannot be empty."
 msgstr "旧パスワードは空にできません。"
 
-#: acct_mgr/web_ui.py:329
+#: acct_mgr/web_ui.py:333
 msgid "Old Password is incorrect."
 msgstr "旧パスワードが間違っています。"
 
-#: acct_mgr/web_ui.py:339
+#: acct_mgr/web_ui.py:343
 msgid "Password successfully updated."
 msgstr "パスワードが正常に更新されました。"
 
-#: acct_mgr/web_ui.py:349
+#: acct_mgr/web_ui.py:353
 msgid "Password is incorrect."
 msgstr "パスワードが間違っています。"
 
-#: acct_mgr/web_ui.py:403 acct_mgr/templates/register.html:11
+#: acct_mgr/web_ui.py:406 acct_mgr/templates/register.html:11
 msgid "Register"
 msgstr "登録"
 
-#: acct_mgr/web_ui.py:433
+#: acct_mgr/web_ui.py:436
 #, python-format
 msgid ""
 "Registration has been finished successfully.\n"
 "登録処理は正常に終了しました。\n"
 "いまからユーザ %(user)s でログインできます。"
 
-#: acct_mgr/web_ui.py:487
+#. TRANSLATOR: Intentionally obfuscated login error
+#: acct_mgr/web_ui.py:533
 msgid "Invalid username or password"
 msgstr "ユーザ名、またはパスワードが間違っています"
 
+#: acct_mgr/web_ui.py:538
+#, python-format
+msgid ""
+"Account locked, please try again after\n"
+"                            %(release_time)s\n"
+"                            "
+msgstr ""
+
+#: acct_mgr/web_ui.py:543
+msgid "Account locked"
+msgstr ""
+
+#: acct_mgr/web_ui.py:548
+#, python-format
+msgid "Login after %(attempts)s failed attempt"
+msgid_plural "Login after %(attempts)s failed attempts"
+msgstr[0] ""
+
 #. TRANSLATOR: Your permissions have been limited until you ...
-#: acct_mgr/web_ui.py:621
+#: acct_mgr/web_ui.py:684
 msgid "verify your email address"
 msgstr "メールアドレスが確認できる"
 
 #. TRANSLATOR: ... verify your email address
-#: acct_mgr/web_ui.py:624
+#: acct_mgr/web_ui.py:687
 #, python-format
 msgid "Your permissions have been limited until you %(link)s."
 msgstr "%(link)sまでは、権限に制限が付きます。"
 
 #. TRANSLATOR: An email has been sent to %(email)s
 #. with a token to ... (the link label for following message)
-#: acct_mgr/web_ui.py:652
+#: acct_mgr/web_ui.py:715
 msgid "verify your new email address"
 msgstr "新しいメールアドレスを確認する"
 
 #. TRANSLATOR: ... verify your new email address
-#: acct_mgr/web_ui.py:655
+#: acct_mgr/web_ui.py:718
 #, python-format
 msgid ""
 "An email has been sent to %(email)s with a token to\n"
 "                %(link)s."
 msgstr "%(link)sために確認用コードを %(email)s に送信しました。"
 
-#: acct_mgr/web_ui.py:668
+#: acct_mgr/web_ui.py:731
 msgid "Please log in to finish email verification procedure."
 msgstr "メールアドレスを確認するためにログインしてください。"
 
-#: acct_mgr/web_ui.py:672
+#: acct_mgr/web_ui.py:735
 msgid "Your email is already verified."
 msgstr "メールアドレスはすでに確認済みです。"
 
-#: acct_mgr/web_ui.py:680
+#: acct_mgr/web_ui.py:743
 #, python-format
 msgid "A notification email has been resent to <%s>."
 msgstr "通知メールを <%s> に再送信しました。"
 
-#: acct_mgr/web_ui.py:686
+#: acct_mgr/web_ui.py:749
 msgid "Thank you for verifying your email address."
 msgstr "メールアドレスを確認してくれてありがとうございます。"
 
-#: acct_mgr/web_ui.py:689
+#: acct_mgr/web_ui.py:752
 msgid "Invalid verification token"
 msgstr "確認用コードが正しくありません"
 
+#: acct_mgr/templates/account_details.html:11
+#, fuzzy
+msgid "Account Details"
+msgstr "アカウント"
+
+#: acct_mgr/templates/account_details.html:17
+#, fuzzy
+msgid "Review User Account Details"
+msgstr "新しいアカウントを追加することができます。"
+
+#: acct_mgr/templates/account_details.html:19
+#: acct_mgr/templates/account_details.html:20
+msgid "for"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:27
+#, fuzzy
+msgid "Account Status"
+msgstr "アカウント"
+
+#: acct_mgr/templates/account_details.html:31
+#, python-format
+msgid ""
+"Credentials for this user are stored in AuthStore number\n"
+"              [1:%(order_num)s] (%(store)s)."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:35
+msgid "Username matching is set to [1:not case-sensitive]."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:37
+msgid "Username matching is set to [1:case-sensitive]."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:42
+msgid ""
+"No store provides credentials for this user,\n"
+"              so the user currently can't be authenticated and\n"
+"              access to this [1:account is effectively blocked],\n"
+"              while account details may still be available."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:54
+#, python-format
+msgid ""
+"[1:]\n"
+"                This account has been locked until %(time)s[2:]\n"
+"                and even valid login attempts are rejected meanwhile."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:59
+msgid "This account has been locked permanently."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:63
+#, fuzzy
+msgid "Release account lock"
+msgstr "アカウントの削除"
+
+#: acct_mgr/templates/account_details.html:63
+msgid "Unlock"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:75
+#, python-format
+msgid ""
+"Lock condition has been met\n"
+"                    %(count)s time by now."
+msgid_plural ""
+"Lock condition has been met\n"
+"                    %(count)s times by now."
+msgstr[0] ""
+
+#: acct_mgr/templates/account_details.html:81
+#, python-format
+msgid ""
+"Therefore after another failed login attempt authentication\n"
+"                  for this account would be retarded by %(time)s."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:88
+msgid "Lock condition has not been met yet."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:94
+msgid "No constraints are set for this account."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:102
+msgid "Access History"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:105
+#, python-format
+msgid "Last login: %(time)s"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:107
+msgid "The user has not logged in before."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:111
+#, python-format
+msgid "Total failed attempts: %(count)s"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:112
+msgid "Table: Last failed login attempts log view"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:117
+msgid "IP address"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:118
+msgid "Log time"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:129
+msgid "Delete login failure log"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:129
+msgid "Delete Log"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:136
+msgid "There is currently no failed login attempt logged."
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:142
+msgid "Update"
+msgstr ""
+
 #: acct_mgr/templates/admin_accountsconfig.html:11
 #: acct_mgr/templates/admin_accountsconfig.html:15
 msgid "Accounts: Configuration"
 msgstr "アカウントの追加:"
 
 #: acct_mgr/templates/admin_users.html:24
-#: acct_mgr/templates/admin_users.html:52 acct_mgr/templates/login.html:32
+#: acct_mgr/templates/admin_users.html:64 acct_mgr/templates/login.html:32
 #: acct_mgr/templates/register.html:33
 #: acct_mgr/templates/reset_password.html:50
 msgid "Username:"
 msgstr "ユーザ名:"
 
-#: acct_mgr/templates/admin_users.html:27
-#: acct_mgr/templates/admin_users.html:55 acct_mgr/templates/login.html:37
+#: acct_mgr/templates/admin_users.html:29
+#: acct_mgr/templates/admin_users.html:69 acct_mgr/templates/login.html:37
 #: acct_mgr/templates/prefs_account.html:27 acct_mgr/templates/register.html:39
 msgid "Password:"
 msgstr "パスワード:"
 
-#: acct_mgr/templates/admin_users.html:30
-#: acct_mgr/templates/admin_users.html:58
+#: acct_mgr/templates/admin_users.html:34
+#: acct_mgr/templates/admin_users.html:74
 #: acct_mgr/templates/prefs_account.html:71 acct_mgr/templates/register.html:45
 msgid "Confirm Password:"
 msgstr "パスワード(確認):"
 
-#: acct_mgr/templates/admin_users.html:33 acct_mgr/templates/register.html:67
+#: acct_mgr/templates/admin_users.html:39 acct_mgr/templates/register.html:67
 msgid "Name:"
 msgstr "名前:"
 
-#: acct_mgr/templates/admin_users.html:36 acct_mgr/templates/register.html:51
+#: acct_mgr/templates/admin_users.html:44 acct_mgr/templates/register.html:51
 #: acct_mgr/templates/register.html:73
 msgid "Email:"
 msgstr "メールアドレス:"
 
-#: acct_mgr/templates/admin_users.html:38
+#: acct_mgr/templates/admin_users.html:48
 msgid "Add a new user account."
 msgstr "新しいアカウントを追加することができます。"
 
-#: acct_mgr/templates/admin_users.html:40
+#: acct_mgr/templates/admin_users.html:50
 msgid " Add "
 msgstr " 追加 "
 
-#: acct_mgr/templates/admin_users.html:50
+#: acct_mgr/templates/admin_users.html:62
 msgid "Change Password:"
 msgstr "パスワードの変更:"
 
-#: acct_mgr/templates/admin_users.html:60
+#: acct_mgr/templates/admin_users.html:78
 msgid "Change a user's password."
 msgstr "ユーザのパスワードを変更することができます。"
 
-#: acct_mgr/templates/admin_users.html:62
+#: acct_mgr/templates/admin_users.html:80
 msgid " Change "
 msgstr " 変更 "
 
-#: acct_mgr/templates/admin_users.html:70
+#: acct_mgr/templates/admin_users.html:89
 msgid "This password store does not support listing users."
 msgstr "パスワードストアはユーザの列挙をサポートしていません。"
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Name"
 msgstr "名前"
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Email"
 msgstr "メールアドレス"
 
-#: acct_mgr/templates/admin_users.html:79
+#: acct_mgr/templates/admin_users.html:98
 msgid "Last Login"
 msgstr "最終ログイン"
 
-#: acct_mgr/templates/admin_users.html:95
+#: acct_mgr/templates/admin_users.html:112
+msgid "Permanently locked"
+msgstr ""
+
+#: acct_mgr/templates/admin_users.html:125
 msgid "Remove selected accounts"
 msgstr "選択したアカウントを削除"
 

File acct_mgr/locale/messages.pot

 msgstr ""
 "Project-Id-Version: TracAccountManager 0.3\n"
 "Report-Msgid-Bugs-To: hoff.st@shaas.net\n"
-"POT-Creation-Date: 2010-11-17 00:22+0100\n"
+"POT-Creation-Date: 2010-11-29 00:46+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.0dev-r482\n"
 
-#: acct_mgr/admin.py:70
+#: acct_mgr/admin.py:77
 #, python-format
 msgid "Invalid key type (%s) for StoreOrder"
 msgstr ""
 
-#: acct_mgr/admin.py:115 acct_mgr/admin.py:117 acct_mgr/notification.py:170
-#: acct_mgr/templates/admin_users.html:11
+#: acct_mgr/admin.py:123 acct_mgr/admin.py:125 acct_mgr/admin.py:311
+#: acct_mgr/notification.py:170 acct_mgr/templates/admin_users.html:11
 msgid "Accounts"
 msgstr ""
 
-#: acct_mgr/admin.py:115
+#: acct_mgr/admin.py:123
 msgid "Configuration"
 msgstr ""
 
-#: acct_mgr/admin.py:117
+#: acct_mgr/admin.py:125
 msgid "Users"
 msgstr ""
 
-#: acct_mgr/admin.py:204
+#: acct_mgr/admin.py:214
 msgid ""
 "The password store\n"
 "                                                   does not support\n"
 "                                                   creating users."
 msgstr ""
 
-#: acct_mgr/admin.py:217
+#: acct_mgr/admin.py:227
 msgid ""
 "The password store does\n"
 "                                               not support deleting "
 "users."
 msgstr ""
 
-#: acct_mgr/admin.py:228 acct_mgr/web_ui.py:51
+#: acct_mgr/admin.py:238 acct_mgr/web_ui.py:55
 msgid "Username cannot be empty."
 msgstr ""
 
-#: acct_mgr/admin.py:233 acct_mgr/web_ui.py:113 acct_mgr/web_ui.py:333
-#: acct_mgr/web_ui.py:347
+#: acct_mgr/admin.py:243 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:337
+#: acct_mgr/web_ui.py:351
 msgid "Password cannot be empty."
 msgstr ""
 
-#: acct_mgr/admin.py:237 acct_mgr/web_ui.py:117 acct_mgr/web_ui.py:336
+#: acct_mgr/admin.py:247 acct_mgr/web_ui.py:121 acct_mgr/web_ui.py:340
 msgid "The passwords must match."
 msgstr ""
 
-#: acct_mgr/admin.py:245
+#: acct_mgr/admin.py:255
 msgid ""
 "The password store\n"
 "                                                      does not "
 "passwords."
 msgstr ""
 
-#: acct_mgr/api.py:195
+#: acct_mgr/admin.py:270
+#, python-format
+msgid "Locked until %(t_release)s"
+msgstr ""
+
+#: acct_mgr/admin.py:311
+msgid "Account details"
+msgstr ""
+
+#: acct_mgr/admin.py:336
+#, python-format
+msgid "Failed login attempts for user %(user)s deleted"
+msgstr ""
+
+#: acct_mgr/api.py:257
 #, python-format
 msgid ""
 "The authentication backend for user %s does not support\n"
 "                setting the password."
 msgstr ""
 
-#: acct_mgr/api.py:206
+#: acct_mgr/api.py:268
 msgid ""
 "None of the IPasswordStore components listed in the\n"
 "                trac.ini supports setting the password\n"
 "                                    on this platform."
 msgstr ""
 
-#: acct_mgr/web_ui.py:57
+#: acct_mgr/web_ui.py:61
 #, python-format
 msgid "Username %s is not allowed."
 msgstr ""
 
-#: acct_mgr/web_ui.py:67 acct_mgr/web_ui.py:87
+#: acct_mgr/web_ui.py:71 acct_mgr/web_ui.py:91
 #, python-format
 msgid "Another account or group named %s already exists."
 msgstr ""
 
-#: acct_mgr/web_ui.py:104
+#: acct_mgr/web_ui.py:108
 msgid "The username must not contain any of these characters:"
 msgstr ""
 
-#: acct_mgr/web_ui.py:124
+#: acct_mgr/web_ui.py:128
 msgid "You must specify a valid email address."
 msgstr ""
 
-#: acct_mgr/web_ui.py:128
+#: acct_mgr/web_ui.py:132
 msgid ""
 "The email address specified appears to be\n"
 "                              invalid. Please specify a valid email "
 "                              "
 msgstr ""
 
-#: acct_mgr/web_ui.py:133
+#: acct_mgr/web_ui.py:137
 msgid ""
 "The email address specified is already in\n"
 "                              use. Please specify a different one.\n"
 "                              "
 msgstr ""
 
-#: acct_mgr/web_ui.py:206 acct_mgr/templates/admin_users.html:79
+#: acct_mgr/web_ui.py:210 acct_mgr/templates/admin_users.html:98
 #: acct_mgr/templates/prefs_account.html:42
 msgid "Account"
 msgstr ""
 
-#: acct_mgr/web_ui.py:242 acct_mgr/templates/login.html:49
+#: acct_mgr/web_ui.py:246 acct_mgr/templates/login.html:49
 msgid "Forgot your password?"
 msgstr ""
 
-#: acct_mgr/web_ui.py:258
+#: acct_mgr/web_ui.py:262
 msgid "Are you sure you want to delete your account?"
 msgstr ""
 
-#: acct_mgr/web_ui.py:268
+#: acct_mgr/web_ui.py:272
 msgid "Thank you for taking the time to update your password."
 msgstr ""
 
-#: acct_mgr/web_ui.py:277
+#: acct_mgr/web_ui.py:281
 msgid ""
 "You are required to change password because of a recent password "
 "change request. "
 msgstr ""
 
-#: acct_mgr/web_ui.py:280
+#: acct_mgr/web_ui.py:284
 msgid "Please change your password now."
 msgstr ""
 
-#: acct_mgr/web_ui.py:291
+#: acct_mgr/web_ui.py:295
 msgid "Username is required"
 msgstr ""
 
-#: acct_mgr/web_ui.py:293
+#: acct_mgr/web_ui.py:297
 msgid "Email is required"
 msgstr ""
 
-#: acct_mgr/web_ui.py:327
+#: acct_mgr/web_ui.py:331
 msgid "Old Password cannot be empty."
 msgstr ""
 
-#: acct_mgr/web_ui.py:329
+#: acct_mgr/web_ui.py:333
 msgid "Old Password is incorrect."
 msgstr ""
 
-#: acct_mgr/web_ui.py:339
+#: acct_mgr/web_ui.py:343
 msgid "Password successfully updated."
 msgstr ""
 
-#: acct_mgr/web_ui.py:349
+#: acct_mgr/web_ui.py:353
 msgid "Password is incorrect."
 msgstr ""
 
-#: acct_mgr/web_ui.py:403 acct_mgr/templates/register.html:11
+#: acct_mgr/web_ui.py:406 acct_mgr/templates/register.html:11
 msgid "Register"
 msgstr ""
 
-#: acct_mgr/web_ui.py:433
+#: acct_mgr/web_ui.py:436
 #, python-format
 msgid ""
 "Registration has been finished successfully.\n"
 "                     You may login as user %(user)s now."
 msgstr ""
 
-#: acct_mgr/web_ui.py:487
+#. TRANSLATOR: Intentionally obfuscated login error
+#: acct_mgr/web_ui.py:533
 msgid "Invalid username or password"
 msgstr ""
 
+#: acct_mgr/web_ui.py:538
+#, python-format
+msgid ""
+"Account locked, please try again after\n"
+"                            %(release_time)s\n"
+"                            "
+msgstr ""
+
+#: acct_mgr/web_ui.py:543
+msgid "Account locked"
+msgstr ""
+
+#: acct_mgr/web_ui.py:548
+#, python-format
+msgid "Login after %(attempts)s failed attempt"
+msgid_plural "Login after %(attempts)s failed attempts"
+msgstr[0] ""
+msgstr[1] ""
+
 #. TRANSLATOR: Your permissions have been limited until you ...
-#: acct_mgr/web_ui.py:621
+#: acct_mgr/web_ui.py:684
 msgid "verify your email address"
 msgstr ""
 
 #. TRANSLATOR: ... verify your email address
-#: acct_mgr/web_ui.py:624
+#: acct_mgr/web_ui.py:687
 #, python-format
 msgid "Your permissions have been limited until you %(link)s."
 msgstr ""
 
 #. TRANSLATOR: An email has been sent to %(email)s
 #. with a token to ... (the link label for following message)
-#: acct_mgr/web_ui.py:652
+#: acct_mgr/web_ui.py:715
 msgid "verify your new email address"
 msgstr ""
 
 #. TRANSLATOR: ... verify your new email address
-#: acct_mgr/web_ui.py:655
+#: acct_mgr/web_ui.py:718
 #, python-format
 msgid ""
 "An email has been sent to %(email)s with a token to\n"
 "                %(link)s."
 msgstr ""
 
-#: acct_mgr/web_ui.py:668
+#: acct_mgr/web_ui.py:731
 msgid "Please log in to finish email verification procedure."
 msgstr ""
 
-#: acct_mgr/web_ui.py:672
+#: acct_mgr/web_ui.py:735
 msgid "Your email is already verified."
 msgstr ""
 
-#: acct_mgr/web_ui.py:680
+#: acct_mgr/web_ui.py:743
 #, python-format
 msgid "A notification email has been resent to <%s>."
 msgstr ""
 
-#: acct_mgr/web_ui.py:686
+#: acct_mgr/web_ui.py:749
 msgid "Thank you for verifying your email address."
 msgstr ""
 
-#: acct_mgr/web_ui.py:689
+#: acct_mgr/web_ui.py:752
 msgid "Invalid verification token"
 msgstr ""
 
+#: acct_mgr/templates/account_details.html:11
+msgid "Account Details"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:17
+msgid "Review User Account Details"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:19
+#: acct_mgr/templates/account_details.html:20
+msgid "for"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:27
+msgid "Account Status"
+msgstr ""
+
+#: acct_mgr/templates/account_details.html:31
+#, python-format
+msgid ""
+"Credentials for this user are stored in AuthStore number\n"
+"              [1:%(order_num)s] (%(store)s)."
+msgstr ""