add translations

v1-0-stable
Christian Merten 9 years ago
parent 4f3e2ae6ed
commit c215e67e34

@ -1,5 +1,5 @@
from django.contrib import admin
from django.utils. translation import ugettext_lazy as translate
from django.utils.translation import ugettext_lazy as _
from django.contrib.admin import SimpleListFilter
from .models import MaterialPart, Ownership
@ -16,13 +16,13 @@ class OwnershipInline(admin.StackedInline):
class NotTooOldFilter(SimpleListFilter):
title = translate('Age')
title = _('Age')
parameter_name = 'age'
def lookups(self, request, model_admin):
return (
('too_old', translate('Not Too Old')),
('not_too_old', translate('Too old')),
('too_old', _('Not too old')),
('not_too_old', _('Too old')),
)
def queryset(self, request, queryset):
@ -31,7 +31,7 @@ class NotTooOldFilter(SimpleListFilter):
if self.value() == 'not_too_old':
return queryset.filter(pk__in=[x.pk for x in queryset.all() if not x.not_too_old()])
class MaterialAdmin(admin.ModelAdmin):
"""Edit view of a MaterialPart"""
@ -41,4 +41,4 @@ class MaterialAdmin(admin.ModelAdmin):
list_filter = (NotTooOldFilter,)
admin.site.register(MaterialPart, MaterialAdmin)
admin.site.register(MaterialPart, MaterialAdmin)

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-21 23:38+0200\n"
"POT-Creation-Date: 2017-01-14 16:49+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"
@ -18,6 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:19
msgid "Age"
msgstr "Alter"
#: admin.py:24
msgid "Not too old"
msgstr "Nicht zu alt"
#: admin.py:25
msgid "Too old"
msgstr "Zu alt"
#: apps.py:7
msgid "material"
msgstr "Material"
@ -27,10 +39,14 @@ msgid "name"
msgstr "Name"
#: models.py:18
msgid "quantity"
msgstr "Anzahl"
#: models.py:19
msgid "purchase date"
msgstr "Kaufdatum"
#: models.py:19
#: models.py:20
msgid "lifetime (years)"
msgstr "Lebenszeit (Jahre)"
@ -38,30 +54,34 @@ msgstr "Lebenszeit (Jahre)"
msgid "photo"
msgstr "Bild"
#: models.py:35
#: models.py:32
msgid "Quantity"
msgstr "Anzahl"
#: models.py:42
msgid "Not too old?"
msgstr "Nicht zu alt?"
#: models.py:38
#: models.py:45
msgid "material part"
msgstr "Materialteil"
#: models.py:39
#: models.py:46
msgid "material parts"
msgstr "Materialteile"
#: models.py:45
#: models.py:52
msgid "owner"
msgstr "Besitzer"
#: models.py:46
#: models.py:53
msgid "count"
msgstr "Anzahl"
#: models.py:53
#: models.py:60
msgid "ownership"
msgstr "Besitztum"
#: models.py:54
#: models.py:61
msgid "ownerships"
msgstr "Besitztümer"

@ -25,13 +25,12 @@ class MaterialPart(models.Model):
return self.name
def quantity_real(self):
real = sum([o.count for o in Ownership.objects.filter(material__id = self.pk)])
real = sum([o.count for o in Ownership.objects.filter(material__id=self.pk)])
return str(real) + '/' + str(self.quantity)
quantity_real.admin_order_field = 'quantity'
quantity_real.short_description = _('Quantity')
def not_too_old(self):
"""Returns wether the part should be replaced cause of age"""
buy_time = timezone.make_aware(datetime.combine(self.buy_date,

@ -22,8 +22,7 @@ from .models import (Member, Group, MemberList, MemberOnList, Klettertreff,
class MemberAdmin(admin.ModelAdmin):
fields = ['prename', 'lastname', 'email', 'street', 'town', 'phone_number', 'phone_number_parents', 'birth_date', 'group',
'gets_newsletter', 'comments']
list_display = ('name', 'street', 'town', 'phone_number',
'phone_number_parents', 'birth_date', 'gets_newsletter', 'get_group', 'comments')
list_display = ('name', 'birth_date', 'gets_newsletter', 'get_group', 'comments')
list_filter = ('group', 'gets_newsletter')
formfield_overrides = {
ManyToManyField: {'widget': forms.CheckboxSelectMultiple}

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-21 23:37+0200\n"
"POT-Creation-Date: 2017-01-14 16:40+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"
@ -18,38 +18,118 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: apps.py:7 models.py:45
#: apps.py:7 models.py:81
msgid "members"
msgstr "Teilnehmer"
#: models.py:10
#: models.py:13
msgid "name"
msgstr "Name"
#: models.py:12
#: models.py:15
msgid "minimum age (years)"
msgstr "Mindestalter (Jahre)"
#: models.py:19
#: models.py:22 models.py:39
msgid "group"
msgstr "Gruppe"
#: models.py:20
#: models.py:23
msgid "groups"
msgstr "Gruppen"
#: models.py:28
#: models.py:31
msgid "prename"
msgstr "Vorname"
#: models.py:29
#: models.py:32
msgid "last name"
msgstr "Nachname"
#: models.py:31
#: models.py:33
msgid "street"
msgstr "Straße"
#: models.py:34
msgid "town"
msgstr "Stadt"
#: models.py:35
msgid "phone number"
msgstr "Telefonnummer"
#: models.py:36
msgid "parents phone number"
msgstr "Telefonnummer der Eltern"
#: models.py:38
msgid "birth date"
msgstr "Geburtsdatum"
#: models.py:40
msgid "receives newsletter"
msgstr "Erhält den Newsletter"
#: models.py:44
msgid "comments"
msgstr "Kommentare"
#: models.py:77
msgid "Group"
msgstr "Gruppe"
#: models.py:80
msgid "member"
msgstr "Teilnehmer"
#: models.py:86
msgid "Listname"
msgstr "Name der Liste"
#: models.py:88
msgid "date"
msgstr "Datum"
#: models.py:89
msgid "Comments"
msgstr "Kommentare"
#: models.py:96
msgid "Memberlist"
msgstr "Teilnehmerliste"
#: models.py:97
msgid "Memberlists"
msgstr "Teilnehmerlisten"
#: models.py:104 models.py:109 models.py:139 models.py:143
msgid "Member"
msgstr "Teilnehmer"
#: models.py:106
msgid "Comment"
msgstr "Kommentar"
#: models.py:110 models.py:144
msgid "Members"
msgstr "Teilnehmer"
#: models.py:119
msgid "Date"
msgstr "Datum"
#: models.py:120
msgid "Location"
msgstr "Ort"
#: models.py:130
msgid "Jugendleiter"
msgstr "Jugendleiter"
#: models.py:133
msgid "Klettertreff"
msgstr "Klettertreff"
#: models.py:134
msgid "Klettertreffs"
msgstr "Klettertreffs"

@ -36,7 +36,7 @@ class Member(models.Model):
phone_number_parents = models.CharField(max_length=12, verbose_name=_('parents phone number'), default='', blank=True)
email = models.EmailField(max_length=100, default="")
birth_date = models.DateField(_('birth date')) # to determine the age
group = models.ManyToManyField(Group)
group = models.ManyToManyField(Group, verbose_name=_('group'))
gets_newsletter = models.BooleanField(_('receives newsletter'),
default=True)
unsubscribe_key = models.CharField(max_length=32, default="")
@ -68,7 +68,7 @@ class Member(models.Model):
def name(self):
"""Returning whole name (prename + lastname)"""
return "{0} {1}".format(self.prename, self.lastname)
def get_group(self):
"""Returns a string of groups in which the member is."""
groupstring = ''.join(g.name + ',\n' for g in self.group.all())
@ -83,35 +83,43 @@ class Member(models.Model):
class MemberList(models.Model):
"""Lets the user create a list of members in pdf format. """
name = models.CharField(verbose_name='List Name', default='',
name = models.CharField(verbose_name=_('Listname'), default='',
max_length=50)
date = models.DateField(default=datetime.today)
date = models.DateField(default=datetime.today, verbose_name=_('date'))
comment = models.TextField(_('Comments'), default='')
def __str__(self):
"""String represenation"""
return self.name
class Meta:
verbose_name = _('Memberlist')
verbose_name_plural = _('Memberlists')
class MemberOnList(models.Model):
"""
Connects members to a list of members.
"""
member = models.ForeignKey(Member)
member = models.ForeignKey(Member, verbose_name=_('Member'))
memberlist = models.ForeignKey(MemberList)
comments = models.TextField(_('Comment'), default='')
class Meta:
verbose_name = _('Member')
verbose_name_plural = _('Members')
class Klettertreff(models.Model):
""" This model represents a Klettertreff event.
A Klettertreff can take a date, location, Jugendleiter, attending members as
input.
A Klettertreff can take a date, location, Jugendleiter, attending members
as input.
"""
date = models.DateField(_('Date'), default=datetime.today)
location = models.CharField(_('Location'), default='', max_length=60)
jugendleiter = models.ManyToManyField(Member)
def __str__(self):
return self.location + ' ' + self.date.strftime('%d.%m.%Y')
@ -121,8 +129,16 @@ class Klettertreff(models.Model):
get_jugendleiter.short_description = _('Jugendleiter')
class Meta:
verbose_name = _('Klettertreff')
verbose_name_plural = _('Klettertreffs')
class KlettertreffAttendee(models.Model):
"""Connects members to Klettertreffs."""
member = models.ForeignKey(Member)
member = models.ForeignKey(Member, verbose_name=_('Member'))
klettertreff = models.ForeignKey(Klettertreff)
class Meta:
verbose_name = _('Member')
verbose_name_plural = _('Members')

Loading…
Cancel
Save