translations

v1-0-stable
Christian Merten 9 years ago committed by GitHub
commit 4c0168f420

@ -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-11-19 16:11+0100\n" "POT-Creation-Date: 2017-01-14 15:55+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,51 +18,79 @@ 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:20 #: admin.py:32
msgid "Message sent" msgid "Message sent"
msgstr "Nachricht gesendet" msgstr "Nachricht gesendet"
#: admin.py:28 #: admin.py:40
msgid "Send message" msgid "Send message"
msgstr "Nachricht verschicken" msgstr "Nachricht verschicken"
#: admin.py:45 admin.py:53
msgid "Failed to send message"
msgstr "Fehler beim senden der Email"
#: admin.py:47 admin.py:55
msgid "Successfully sent message"
msgstr "Email wurde erfolgreich verschickt"
#: apps.py:7 #: apps.py:7
msgid "mailer" msgid "mailer"
msgstr "Verteiler" msgstr "Verteiler"
#: models.py:9 #: models.py:34
msgid "from email" msgid "from email"
msgstr "Von Email" msgstr "Von Email"
#: models.py:10 #: models.py:35
msgid "subject" msgid "subject"
msgstr "Betreff" msgstr "Betreff"
#: models.py:11 #: models.py:36
msgid "content" msgid "content"
msgstr "Inhalt" msgstr "Inhalt"
#: models.py:12 #: models.py:38
msgid "to group" msgid "to group"
msgstr "An Gruppe" msgstr "An Gruppe"
#: models.py:13 #: models.py:39
msgid "sent" msgid "sent"
msgstr "Gesendet" msgstr "Gesendet"
#: models.py:29 #: models.py:46
msgid "recipients"
msgstr "Empfänger"
#: models.py:74
msgid "message" msgid "message"
msgstr "Nachricht" msgstr "Nachricht"
#: models.py:30 #: models.py:75
msgid "messages" msgid "messages"
msgstr "Nachrichten" msgstr "Nachrichten"
#: models.py:32 #: models.py:77
msgid "Can submit mails" msgid "Can submit mails"
msgstr "Kann Mails verschicken" msgstr "Kann Mails verschicken"
#: templates/admin/change_form.html:11 #: models.py:86
msgid "file"
msgstr "Datei"
#: models.py:92
msgid "Empty"
msgstr "Leer"
#: models.py:95
msgid "attachment"
msgstr "Anhang"
#: models.py:96
msgid "attachments"
msgstr "Anhänge"
#: templates/mailer/change_form.html:11
msgid "Save and send mail" msgid "Save and send mail"
msgstr "Speichern und Email senden" msgstr "Speichern und Email senden"
@ -89,6 +117,14 @@ msgstr "Senden"
msgid "Cancel" msgid "Cancel"
msgstr "Abbruch" msgstr "Abbruch"
#: templates/mailer/confirmation_sent.html:3
msgid "Sent confirmation mail to"
msgstr "Bestätigungsmail gesendet an"
#: templates/mailer/confirmation_sent.html:3
msgid "Follow the link in your mail to confirm your unsubscription."
msgstr ""
#: templates/mailer/index.html:2 #: templates/mailer/index.html:2
msgid "This is the mailer app!" msgid "This is the mailer app!"
msgstr "Das ist die Mailer App!" msgstr "Das ist die Mailer App!"
@ -113,9 +149,71 @@ msgstr "Erhaltende Gruppe"
msgid "Send mail" msgid "Send mail"
msgstr "Email senden" msgstr "Email senden"
#: views.py:33 #: templates/mailer/subscribe.html:5
msgid "Here you can register yourself to the newsletter"
msgstr "Hier kannst du dich für den Newsletter anmelden."
#: templates/mailer/subscribe.html:16
msgid "Prename"
msgstr "Vorname"
#: templates/mailer/subscribe.html:21
msgid "Lastname"
msgstr "Nachname"
#: templates/mailer/subscribe.html:26 views.py:60
msgid "Birthdate"
msgstr "Geburtsdatum"
#: templates/mailer/subscribe.html:37 templates/mailer/unsubscribe.html:14
msgid "Email address"
msgstr "Email-Adresse"
#: templates/mailer/subscribe.html:42
msgid "Register"
msgstr "Registrieren"
#: templates/mailer/subscribed.html:3
msgid "Subscribed successfully"
msgstr "Erfolgreich angemeldet"
#: templates/mailer/unsubscribe.html:3
msgid "Here you can unsubscribe from the newsletter"
msgstr "Hier kannst du dich vom Newsletter abmelden"
#: templates/mailer/unsubscribe.html:19
msgid "Unsubscribe"
msgstr "Vom Newsletter abmelden"
#: templates/mailer/unsubscribed.html:4
msgid "Successfully unsubscribed from the newsletter for "
msgstr "Newsletter erfolgreich abbestellt für "
#: views.py:35
msgid "Can't verify this link. Try again!"
msgstr "Ungültiger Link. Bitte nochmal versuchen!"
#: views.py:47
msgid "Please fill in every field"
msgstr "Bitte jedes Feld ausfüllen!"
#: views.py:49
msgid "Confirmation of unsubscription"
msgstr "Abmeldebestätigung"
#: views.py:50
msgid ""
"Click the link to unsubscribe to the newsletter of the JDAV\n"
"{}"
msgstr "Klicke auf den Link um dich von Newsletter des JDAV Ludwigsburg abzumelden"
#: views.py:83
msgid "Please fill in every field!" msgid "Please fill in every field!"
msgstr "Bitte jedes Feld ausfüllen!" msgstr "Bitte jedes Feld ausfüllen!"
#: views.py:90
msgid "Member already exists"
msgstr "Mitglied schon vorhanden"
#~ msgid "History" #~ msgid "History"
#~ msgstr "Geschichte" #~ msgstr "Geschichte"

@ -1,3 +1,7 @@
{% load i18n %} {% load i18n %}
<head>
<title>{% trans "Unsubscribe" %}</title>
</head>
<p>{% trans "Sent confirmation mail to" %} <b>{{ email }}</b>. {% trans "Follow the link in your mail to confirm your unsubscription." %}</p> <p>{% trans "Sent confirmation mail to" %} <b>{{ email }}</b>. {% trans "Follow the link in your mail to confirm your unsubscription." %}</p>

@ -1,5 +1,11 @@
{% load i18n %} {% load i18n %}
<head>
<title>
{% trans "Unsubscribe" %}
</title>
</head>
<p><b>{% trans "Here you can unsubscribe from the newsletter" %}</b></p> <p><b>{% trans "Here you can unsubscribe from the newsletter" %}</b></p>
{% if error_message %} {% if error_message %}

@ -1,5 +1,9 @@
{% load i18n %} {% load i18n %}
<head>
<title>{% trans Unsubscribe %}</title>
</head>
<p> <p>
{% trans "Successfully unsubscribed from the newsletter for " %}<b>{{ email }}</b> {% trans "Successfully unsubscribed from the newsletter for " %}<b>{{ email }}</b>
</p> </p>

@ -46,9 +46,10 @@ def unsubscribe(request):
except (KeyError, Member.DoesNotExist): except (KeyError, Member.DoesNotExist):
return render_unsubscribe(request, _("Please fill in every field")) return render_unsubscribe(request, _("Please fill in every field"))
else: else:
send_mail(_("Confirmation of unsubscription"), send_mail("Abmeldebestätigung",
_("Click the link to unsubscribe to the newsletter of" "Klicke auf den Link, um dich vom Newsletter des JDAV "
" the JDAV\n{}".format(get_unsubscribe_link(member))), "Ludwigsburg "
"abzumelden\n{}".format(get_unsubscribe_link(member)),
mail_root, email) mail_root, email)
return render_confirmation_sent(request, email) return render_confirmation_sent(request, email)

@ -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