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

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,6 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\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 #: apps.py:7
msgid "material" msgid "material"
msgstr "Material" msgstr "Material"
@ -27,10 +39,14 @@ msgid "name"
msgstr "Name" msgstr "Name"
#: models.py:18 #: models.py:18
msgid "quantity"
msgstr "Anzahl"
#: models.py:19
msgid "purchase date" msgid "purchase date"
msgstr "Kaufdatum" msgstr "Kaufdatum"
#: models.py:19 #: models.py:20
msgid "lifetime (years)" msgid "lifetime (years)"
msgstr "Lebenszeit (Jahre)" msgstr "Lebenszeit (Jahre)"
@ -38,30 +54,34 @@ msgstr "Lebenszeit (Jahre)"
msgid "photo" msgid "photo"
msgstr "Bild" msgstr "Bild"
#: models.py:35 #: models.py:32
msgid "Quantity"
msgstr "Anzahl"
#: models.py:42
msgid "Not too old?" msgid "Not too old?"
msgstr "Nicht zu alt?" msgstr "Nicht zu alt?"
#: models.py:38 #: models.py:45
msgid "material part" msgid "material part"
msgstr "Materialteil" msgstr "Materialteil"
#: models.py:39 #: models.py:46
msgid "material parts" msgid "material parts"
msgstr "Materialteile" msgstr "Materialteile"
#: models.py:45 #: models.py:52
msgid "owner" msgid "owner"
msgstr "Besitzer" msgstr "Besitzer"
#: models.py:46 #: models.py:53
msgid "count" msgid "count"
msgstr "Anzahl" msgstr "Anzahl"
#: models.py:53 #: models.py:60
msgid "ownership" msgid "ownership"
msgstr "Besitztum" msgstr "Besitztum"
#: models.py:54 #: models.py:61
msgid "ownerships" msgid "ownerships"
msgstr "Besitztümer" msgstr "Besitztümer"

@ -25,13 +25,12 @@ class MaterialPart(models.Model):
return self.name return self.name
def quantity_real(self): 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) return str(real) + '/' + str(self.quantity)
quantity_real.admin_order_field = 'quantity' quantity_real.admin_order_field = 'quantity'
quantity_real.short_description = _('Quantity') quantity_real.short_description = _('Quantity')
def not_too_old(self): def not_too_old(self):
"""Returns wether the part should be replaced cause of age""" """Returns wether the part should be replaced cause of age"""
buy_time = timezone.make_aware(datetime.combine(self.buy_date, 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): class MemberAdmin(admin.ModelAdmin):
fields = ['prename', 'lastname', 'email', 'street', 'town', 'phone_number', 'phone_number_parents', 'birth_date', 'group', fields = ['prename', 'lastname', 'email', 'street', 'town', 'phone_number', 'phone_number_parents', 'birth_date', 'group',
'gets_newsletter', 'comments'] 'gets_newsletter', 'comments']
list_display = ('name', 'street', 'town', 'phone_number', list_display = ('name', 'birth_date', 'gets_newsletter', 'get_group', 'comments')
'phone_number_parents', 'birth_date', 'gets_newsletter', 'get_group', 'comments')
list_filter = ('group', 'gets_newsletter') list_filter = ('group', 'gets_newsletter')
formfield_overrides = { formfield_overrides = {
ManyToManyField: {'widget': forms.CheckboxSelectMultiple} ManyToManyField: {'widget': forms.CheckboxSelectMultiple}

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,38 +18,118 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: apps.py:7 models.py:45 #: apps.py:7 models.py:81
msgid "members" msgid "members"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:10 #: models.py:13
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
#: models.py:12 #: models.py:15
msgid "minimum age (years)" msgid "minimum age (years)"
msgstr "Mindestalter (Jahre)" msgstr "Mindestalter (Jahre)"
#: models.py:19 #: models.py:22 models.py:39
msgid "group" msgid "group"
msgstr "Gruppe" msgstr "Gruppe"
#: models.py:20 #: models.py:23
msgid "groups" msgid "groups"
msgstr "Gruppen" msgstr "Gruppen"
#: models.py:28 #: models.py:31
msgid "prename" msgid "prename"
msgstr "Vorname" msgstr "Vorname"
#: models.py:29 #: models.py:32
msgid "last name" msgid "last name"
msgstr "Nachname" 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" msgid "birth date"
msgstr "Geburtsdatum" msgstr "Geburtsdatum"
#: models.py:40
msgid "receives newsletter"
msgstr "Erhält den Newsletter"
#: models.py:44 #: models.py:44
msgid "comments"
msgstr "Kommentare"
#: models.py:77
msgid "Group"
msgstr "Gruppe"
#: models.py:80
msgid "member" msgid "member"
msgstr "Teilnehmer" 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) phone_number_parents = models.CharField(max_length=12, verbose_name=_('parents phone number'), default='', blank=True)
email = models.EmailField(max_length=100, default="") email = models.EmailField(max_length=100, default="")
birth_date = models.DateField(_('birth date')) # to determine the age 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'), gets_newsletter = models.BooleanField(_('receives newsletter'),
default=True) default=True)
unsubscribe_key = models.CharField(max_length=32, default="") unsubscribe_key = models.CharField(max_length=32, default="")
@ -68,7 +68,7 @@ class Member(models.Model):
def name(self): def name(self):
"""Returning whole name (prename + lastname)""" """Returning whole name (prename + lastname)"""
return "{0} {1}".format(self.prename, self.lastname) return "{0} {1}".format(self.prename, self.lastname)
def get_group(self): def get_group(self):
"""Returns a string of groups in which the member is.""" """Returns a string of groups in which the member is."""
groupstring = ''.join(g.name + ',\n' for g in self.group.all()) groupstring = ''.join(g.name + ',\n' for g in self.group.all())
@ -83,35 +83,43 @@ class Member(models.Model):
class MemberList(models.Model): class MemberList(models.Model):
"""Lets the user create a list of members in pdf format. """ """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) max_length=50)
date = models.DateField(default=datetime.today) date = models.DateField(default=datetime.today, verbose_name=_('date'))
comment = models.TextField(_('Comments'), default='') comment = models.TextField(_('Comments'), default='')
def __str__(self): def __str__(self):
"""String represenation""" """String represenation"""
return self.name return self.name
class Meta:
verbose_name = _('Memberlist')
verbose_name_plural = _('Memberlists')
class MemberOnList(models.Model): class MemberOnList(models.Model):
""" """
Connects members to a list of members. Connects members to a list of members.
""" """
member = models.ForeignKey(Member) member = models.ForeignKey(Member, verbose_name=_('Member'))
memberlist = models.ForeignKey(MemberList) memberlist = models.ForeignKey(MemberList)
comments = models.TextField(_('Comment'), default='') comments = models.TextField(_('Comment'), default='')
class Meta:
verbose_name = _('Member')
verbose_name_plural = _('Members')
class Klettertreff(models.Model): class Klettertreff(models.Model):
""" This model represents a Klettertreff event. """ This model represents a Klettertreff event.
A Klettertreff can take a date, location, Jugendleiter, attending members as A Klettertreff can take a date, location, Jugendleiter, attending members
input. as input.
""" """
date = models.DateField(_('Date'), default=datetime.today) date = models.DateField(_('Date'), default=datetime.today)
location = models.CharField(_('Location'), default='', max_length=60) location = models.CharField(_('Location'), default='', max_length=60)
jugendleiter = models.ManyToManyField(Member) jugendleiter = models.ManyToManyField(Member)
def __str__(self): def __str__(self):
return self.location + ' ' + self.date.strftime('%d.%m.%Y') return self.location + ' ' + self.date.strftime('%d.%m.%Y')
@ -121,8 +129,16 @@ class Klettertreff(models.Model):
get_jugendleiter.short_description = _('Jugendleiter') get_jugendleiter.short_description = _('Jugendleiter')
class Meta:
verbose_name = _('Klettertreff')
verbose_name_plural = _('Klettertreffs')
class KlettertreffAttendee(models.Model): class KlettertreffAttendee(models.Model):
"""Connects members to Klettertreffs.""" """Connects members to Klettertreffs."""
member = models.ForeignKey(Member) member = models.ForeignKey(Member, verbose_name=_('Member'))
klettertreff = models.ForeignKey(Klettertreff) klettertreff = models.ForeignKey(Klettertreff)
class Meta:
verbose_name = _('Member')
verbose_name_plural = _('Members')

Loading…
Cancel
Save