From 47ea54b4aa72312904cafd324bdc963bfee303fa Mon Sep 17 00:00:00 2001 From: Andreas Donig Date: Tue, 17 Jul 2018 15:04:33 +0200 Subject: [PATCH] Add a German translation --- .gitignore | 1 + axes/conf.py | 5 ++- axes/models.py | 17 +++++--- locale/de/LC_MESSAGES/django.mo | Bin 0 -> 1251 bytes locale/de/LC_MESSAGES/django.po | 69 ++++++++++++++++++++++++++++++++ 5 files changed, 84 insertions(+), 8 deletions(-) create mode 100644 locale/de/LC_MESSAGES/django.mo create mode 100644 locale/de/LC_MESSAGES/django.po 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 0000000000000000000000000000000000000000..07e51319d9d4b5da8f8341fcc799b33629a2a718 GIT binary patch literal 1251 zcmbu7O>Y}T7{{kjpqLj?&PaWFD=K5`s3_5l-(g|U1tGowuY#X}4h-7o;5*Xaot=Hd!_=z9!_b&J|81nlSgnI#Z zO+26(L5q;h2!7vyy$*W~7Vd=@FGr|D#93C=##32k3(h0*RYgl>POwpEL&|$zuDom0 zUS+(>JSlAEOC0%%Y7?%}NmW}?XO7zc-D6s^a!lTykSY{Bmddjg@mWZk>LrVw(k16K z2+25ckW6V`c_sQO#d&VoIf0|9_GjvJG+7H$<>%tav8A|RhX4-&eQj3@okVQb8*%6d6;h0f(}T{tweD^bkL7SA_hb5e6b<{=?~M+V)<8Kgr&bw<$}1aD z?`SZf!+4m`&14w&2e;z={c$pxdgIlF;SGG9UAk|@i zn4H(wZFgGX^Wh=n^kjv+JwNszuSz`nHf3{V9s8Z5X-{sQ>q1&HwlXnUm1|Q(wDmyy zR$A6pm9kgarHja{nx)&>*rv1T&NV|Zk9}qr}#5?VAWz&t~qFwO`d{;YIJ?D+?{$^n^hV%eZM_ m7V(3o{Btj%k=L?xrgE`st4C<&1shYFLhQ1s{V9?N9sLgx3||%i literal 0 HcmV?d00001 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"