diff --git a/.gitignore b/.gitignore index dd74cd7..f35d8c8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ .DS_Store .project .pydevproject +.python-version .tox build/ dist/ diff --git a/axes/conf.py b/axes/conf.py index f2be02e..c03b72e 100644 --- a/axes/conf.py +++ b/axes/conf.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from django.conf import settings +ifrom django.utils.translation import gettext as _ from appconf import AppConf @@ -54,10 +55,10 @@ class MyAppConf(AppConf): IP_BLACKLIST = None # message to show when locked out and have cooloff enabled - COOLOFF_MESSAGE = 'Account locked: too many login attempts. Please try again later' + COOLOFF_MESSAGE = _('Account locked: too many login attempts. Please try again later') # message to show when locked out and have cooloff disabled - PERMALOCK_MESSAGE = 'Account locked: too many login attempts. Contact an admin to unlock your account.' + PERMALOCK_MESSAGE = _('Account locked: too many login attempts. Contact an admin to unlock your account.') # if your deployment is using reverse proxies, set this value to 'left-most' or 'right-most' per your configuration PROXY_ORDER = 'left-most' diff --git a/axes/models.py b/axes/models.py index 2757028..f32403b 100644 --- a/axes/models.py +++ b/axes/models.py @@ -1,21 +1,24 @@ from __future__ import unicode_literals from django.db import models +from django.utils.translation import gettext as _ class CommonAccess(models.Model): user_agent = models.CharField( + verbose+name=_('User Agent'), max_length=255, db_index=True, ) ip_address = models.GenericIPAddressField( - verbose_name='IP Address', + verbose_name=_('IP Address'), null=True, db_index=True, ) username = models.CharField( + verbose_name=_('Username'), max_length=255, null=True, db_index=True, @@ -29,16 +32,17 @@ class CommonAccess(models.Model): ) http_accept = models.CharField( - verbose_name='HTTP Accept', + verbose_name=_('HTTP Accept'), max_length=1025, ) path_info = models.CharField( - verbose_name='Path', + verbose_name=_('Path'), max_length=255, ) attempt_time = models.DateTimeField( + verbose_name=_('Attempt Time'), auto_now_add=True, ) @@ -50,15 +54,15 @@ class CommonAccess(models.Model): class AccessAttempt(CommonAccess): get_data = models.TextField( - verbose_name='GET Data', + verbose_name=_('GET Data'), ) post_data = models.TextField( - verbose_name='POST Data', + verbose_name=_('POST Data'), ) failures_since_start = models.PositiveIntegerField( - verbose_name='Failed Logins', + verbose_name=_('Failed Logins'), ) @property @@ -71,6 +75,7 @@ class AccessAttempt(CommonAccess): class AccessLog(CommonAccess): logout_time = models.DateTimeField( + verbose_name=_('Logout Time'), null=True, blank=True, ) diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 0000000..07e5131 Binary files /dev/null and b/locale/de/LC_MESSAGES/django.mo differ diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..88cef79 --- /dev/null +++ b/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-17 14:57+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: axes/conf.py:58 +msgid "Account locked: too many login attempts. Please try again later" +msgstr "Zugang gesperrt: zu viele fehlgeschlagene Anmeldeversuche. Bitte versuchen Sie es später erneut." + +#: axes/conf.py:61 +msgid "" +"Account locked: too many login attempts. Contact an admin to unlock your " +"account." +msgstr "Zugang gesperrt: zu viele fehlgeschlagene Anmeldeversuche. Kontaktieren Sie einen Administrator, um Ihren Zugang zu entsperren." + +#: axes/models.py:9 +msgid "User Agent" +msgstr "Browserkennung" + +#: axes/models.py:15 +msgid "IP Address" +msgstr "IP-Adresse" + +#: axes/models.py:21 +msgid "Username" +msgstr "Benutzername" + +#: axes/models.py:35 +msgid "HTTP Accept" +msgstr "" + +#: axes/models.py:40 +msgid "Path" +msgstr "Pfad" + +#: axes/models.py:45 +msgid "Attempt Time" +msgstr "Zugriffszeitpunkt" + +#: axes/models.py:57 +msgid "GET Data" +msgstr "GET-Daten" + +#: axes/models.py:61 +msgid "POST Data" +msgstr "POST-Daten" + +#: axes/models.py:65 +msgid "Failed Logins" +msgstr "Fehlgeschlagene Anmeldeversuche" + +#: axes/models.py:78 +msgid "Logout Time" +msgstr "Abmeldezeitpunkt"