From dbcf072683f7046d5e0363876920bbdfdbc9625f Mon Sep 17 00:00:00 2001
From: Anders Bruun Severinsen <202204885@post.au.dk>
Date: Thu, 11 Jul 2024 18:50:23 +0200
Subject: [PATCH] Added more translations
---
bartab/forms.py | 5 +-
bartab/models.py | 17 +-
bartab/sumfield.py | 3 +-
bartab/templates/bartab/consumption.html | 9 +-
bartenders/templates/barplan.html | 8 +-
bartenders/views.py | 25 +--
events/admin.py | 11 +-
events/forms.py | 16 +-
events/views.py | 15 +-
locale/da/LC_MESSAGES/django.mo | Bin 544 -> 1529 bytes
locale/da/LC_MESSAGES/django.po | 206 +++++++++++++++----
locale/en/LC_MESSAGES/django.mo | Bin 18547 -> 20530 bytes
locale/en/LC_MESSAGES/django.po | 242 +++++++++++++++++------
web/views.py | 5 +-
14 files changed, 428 insertions(+), 134 deletions(-)
diff --git a/bartab/forms.py b/bartab/forms.py
index d3c35de..6288577 100644
--- a/bartab/forms.py
+++ b/bartab/forms.py
@@ -1,12 +1,13 @@
from django import forms
+from django.utils.translation import ugettext_lazy as _
from .models import BarTabSnapshot
class ConsumptionForm(forms.Form):
start_snapshot = forms.ModelChoiceField(
- label="First to include", queryset=BarTabSnapshot.objects
+ label=_("First to include"), queryset=BarTabSnapshot.objects
)
end_snapshot = forms.ModelChoiceField(
- label="Last to include", queryset=BarTabSnapshot.objects
+ label=_("Last to include"), queryset=BarTabSnapshot.objects
)
diff --git a/bartab/models.py b/bartab/models.py
index ea26c69..447808a 100644
--- a/bartab/models.py
+++ b/bartab/models.py
@@ -6,6 +6,7 @@
from django.db.models import F, Sum, Value
from django.db.models.functions import Coalesce
from django.utils import timezone
+from django.utils.translation import ugettext_lazy as _
from bartenders.models import BartenderShift
@@ -83,10 +84,10 @@ class Meta:
def clean(self):
error = None
if self.bartender_shift and self.custom_datetime:
- error = "Can't have both bartender shift and custom datetime"
+ error = _("Can't have both bartender shift and custom datetime")
if not self.bartender_shift and not self.custom_datetime:
- error = "Must have either bartender shift or custom datetime"
+ error = _("Must have either bartender shift or custom datetime")
if error:
raise ValidationError(
@@ -131,16 +132,16 @@ def __str__(self):
class BarTabEntry(models.Model):
- added_cash = models.BooleanField(blank=True, null=True, verbose_name="Kontant?")
+ added_cash = models.BooleanField(blank=True, null=True, verbose_name=_("Kontant?"))
added = models.DecimalField(max_digits=9 + 2, decimal_places=2)
used = models.DecimalField(max_digits=9 + 2, decimal_places=2)
- raw_added = SumField(blank=True, verbose_name="Indsat")
- raw_used = SumField(blank=True, verbose_name="Køb")
+ raw_added = SumField(blank=True, verbose_name=_("Indsat"))
+ raw_used = SumField(blank=True, verbose_name=_("Køb"))
user = models.ForeignKey(
BarTabUser,
on_delete=models.CASCADE,
- related_name="entries",
- verbose_name="Bruger",
+ related_name=_("entries"),
+ verbose_name=_("Bruger"),
)
snapshot = models.ForeignKey(
BarTabSnapshot, on_delete=models.CASCADE, related_name="entries"
@@ -157,7 +158,7 @@ def clean(self):
if self.raw_added:
self.added = self.raw_added.value
if self.added_cash == None and self.added != 0:
- raise ValidationError("Vælg kontant eller ej.")
+ raise ValidationError(_("Vælg kontant eller ej."))
if self.raw_used:
self.used = self.raw_used.value
diff --git a/bartab/sumfield.py b/bartab/sumfield.py
index c5d256c..9fee0f9 100644
--- a/bartab/sumfield.py
+++ b/bartab/sumfield.py
@@ -4,6 +4,7 @@
from django import forms
from django.core.exceptions import ValidationError
from django.db import models
+from django.utils.translation import ugettext_lazy as _
SumValue = namedtuple("SumValue", ["string", "value"])
@@ -27,7 +28,7 @@ def clean(self, value):
try:
return parse_sum(value)
except (ValueError, InvalidOperation):
- raise ValidationError("Invalid sum")
+ raise ValidationError(_("Invalid sum"))
def prepare_value(self, value):
if isinstance(value, str) or value == None:
diff --git a/bartab/templates/bartab/consumption.html b/bartab/templates/bartab/consumption.html
index cfbdf61..5acd6ba 100644
--- a/bartab/templates/bartab/consumption.html
+++ b/bartab/templates/bartab/consumption.html
@@ -1,18 +1,19 @@
{% extends "admin/base_site.html" %}
{% block content %}
+{% load i18n %}
{% if result %}
-Result
+{% translate "Result" %}
# |
- Navn |
- Forbrug |
+ {% translate "Navn" %} |
+ {% translate "Forbrug" %} |
diff --git a/bartenders/templates/barplan.html b/bartenders/templates/barplan.html
index b1fa801..4949cff 100644
--- a/bartenders/templates/barplan.html
+++ b/bartenders/templates/barplan.html
@@ -31,7 +31,8 @@ {% translate "Barplan" %}
{{ shift.responsible.name }} |
{% for bartender in shift.other_bartenders.all %}
- {% if bartender.first_bartender_shift == shift %}{{ bartender.name }}{% else %}{{ bartender.name }}{% endif %}{% if not forloop.last %},{% endif %}
+ {% translate "Bartender's first shift" as FIRST_SHIFT_TEXT %}
+ {% if bartender.first_bartender_shift == shift %}{{ bartender.name }}{% else %}{{ bartender.name }}{% endif %}{% if not forloop.last %},{% endif %}
{% endfor %}
|
{% if user.is_staff %}
@@ -70,11 +71,12 @@ {% translate "Pantvagter" %}
{{ shift.start_date | date:"d M" }}{% if show_all %} {{ shift.start_date.year }}{% endif %} - {{ shift.end_date | date:"d M" }}{% if show_all %} {{ shift.end_date.year }}{% endif %} |
{% for responsible in shift.responsibles.all %}
- {% if responsible.first_deposit_shift == shift %}{{ responsible.name }}{% else %}{{ responsible.name }}{% endif %}{% if not forloop.last %},{% endif %}
+ {% translate "Bartender's first deposit shift" as FIRST_DEPOSIT_SHIFT_TEXT %}
+ {% if responsible.first_deposit_shift == shift %}{{ responsible.name }}{% else %}{{ responsible.name }}{% endif %}{% if not forloop.last %},{% endif %}
{% endfor %}
|
{% if user.is_staff %}
- Edit |
+ {% translate "Edit" %} |
{% endif %}
{% endfor %}
diff --git a/bartenders/views.py b/bartenders/views.py
index c00e9f1..9d7462c 100644
--- a/bartenders/views.py
+++ b/bartenders/views.py
@@ -9,6 +9,7 @@
from django.db import IntegrityError
from django.shortcuts import get_object_or_404, redirect, reverse
from django.utils import timezone
+from django.utils.translation import ugettext_lazy as _
from django.views.generic import (
CreateView,
FormView,
@@ -58,7 +59,7 @@ def form_valid(self, form):
# Send email to best
form.send_email(self.object.pk)
- messages.success(self.request, "Din ansøgning er blevet indsendt.")
+ messages.success(self.request, _("Din ansøgning er blevet indsendt."))
return response
@@ -104,7 +105,7 @@ class UserBarplan(ICalFeed):
product_id = "-//fredagscafeen.dk//UserBarplan//EN"
timezone = "UTC"
file_name = "barvagter.ics"
- title = "Barvagter"
+ title = _("Barvagter")
def get_object(self, request, **kwargs):
# kwargs['username'] is None if we need to show all shifts
@@ -127,8 +128,10 @@ def item_end_datetime(self, shift):
return shift.end_datetime
def item_description(self, shift):
- return f"""Responsible: {shift.responsible.name}
-Other bartenders: {", ".join(b.name for b in shift.other_bartenders.all())}"""
+ responsible_text = _("Responsible")
+ other_text = _("Other bartenders")
+ return f"""{responsible_text}: {shift.responsible.name}
+{other_text}: {", ".join(b.name for b in shift.other_bartenders.all())}"""
def item_link(self, shift):
return f"{settings.SELF_URL}barplan/"
@@ -141,7 +144,7 @@ class UserDepositShifts(ICalFeed):
product_id = "-//fredagscafeen.dk//UserDepositShifts//EN"
timezone = "UTC"
file_name = "pantvagter.ics"
- title = "Pantvagter"
+ title = _("Pantvagter")
def get_object(self, request, **kwargs):
# kwargs['username'] is None if we need to show all shifts
@@ -164,9 +167,8 @@ def item_end_datetime(self, shift):
return shift.end_date
def item_description(self, shift):
- return (
- f"""Responsibles: {", ".join(b.name for b in shift.responsibles.all())}"""
- )
+ responsible_text = _("Responsible")
+ return f"""{responsible_text}: {", ".join(b.name for b in shift.responsibles.all())}"""
def item_link(self, shift):
return f"{settings.SELF_URL}barplan/"
@@ -274,15 +276,16 @@ def get_context_data(self, **kwargs):
return context
def form_valid(self, form):
- messages.success(self.request, "Profil opdateret")
+ messages.success(self.request, _("Profil opdateret"))
redirect_url = super().form_valid(form)
if "deactivate" in self.request.POST:
self.object.isActiveBartender = False
self.object.save()
active_count = Bartender.objects.filter(isActiveBartender=True).count()
+ inactive_text = "Bartender har meldt sig inaktiv"
send_template_email(
- subject=f"Bartender har meldt sig inaktiv: {self.object.name}",
+ subject=f"{inactive_text}: {self.object.name}",
body_template=f"""Dette er en automatisk email.
{self.object.name} har meldt sig inaktiv.
@@ -342,7 +345,7 @@ def form_valid(self, form):
data = form.cleaned_data
urls = data["urls"].split()
if len(urls) < votees.count():
- form.add_error("urls", f"Atleast {votees.count()} urls required")
+ form.add_error("urls", f"At least {votees.count()} urls required")
return self.form_invalid(form)
try:
poll = Poll.objects.create(name=data["name"])
diff --git a/events/admin.py b/events/admin.py
index 0fe38e3..db86237 100644
--- a/events/admin.py
+++ b/events/admin.py
@@ -1,5 +1,6 @@
from django import forms
from django.contrib import admin
+from django.utils.translation import ugettext_lazy as _
from bartenders.models import Bartender
@@ -12,7 +13,7 @@ class Meta:
fields = ["name"]
chosen_options = forms.CharField(
- label="Chosen options", disabled=True, widget=forms.Textarea
+ label=_("Chosen options"), disabled=True, widget=forms.Textarea
)
def get_initial_for_field(self, field, fieldname):
@@ -68,8 +69,8 @@ class Meta:
fields = "__all__"
default_may_attends = forms.CharField(
- label="Default allowed attendees",
- help_text="Can be overwritten using the whitelist and blacklist above.",
+ label=_("Default allowed attendees"),
+ help_text=_("Can be overwritten using the whitelist and blacklist above."),
disabled=True,
widget=forms.Textarea,
)
@@ -82,8 +83,8 @@ def get_initial_for_field(self, field, fieldname):
if self.instance.may_attend_default(b):
s += f"- {b}\n"
allowed += 1
-
- return f"{allowed} bartenders:\n" + s.strip()
+ bartenders = _("bartenders")
+ return f"{allowed} {bartenders}:\n" + s.strip()
return super().get_initial_for_field(field, fieldname)
diff --git a/events/forms.py b/events/forms.py
index 8d13dd7..8208ba6 100644
--- a/events/forms.py
+++ b/events/forms.py
@@ -1,4 +1,5 @@
from django import forms
+from django.utils.translation import ugettext_lazy as _
from .models import EventChoiceOption, EventResponse
@@ -17,8 +18,8 @@ def create_option(self, *args, **kwargs):
class EventResponseForm(forms.Form):
ATTENDING_CHOICES = (
(None, "---------"),
- (True, "Deltager"),
- (False, "Deltager ikke"),
+ (True, _("Deltager")),
+ (False, _("Deltager ikke")),
)
def _to_bool(self, s):
@@ -55,7 +56,7 @@ def __init__(self, *args, event, bartender, **kwargs):
attending_choices = self.ATTENDING_CHOICES[1:]
self.fields["attending"] = forms.TypedChoiceField(
- label="Deltager", choices=attending_choices, coerce=self._to_bool
+ label=_("Deltager"), choices=attending_choices, coerce=self._to_bool
)
if event_response:
self.fields["attending"].initial = event_response.attending
@@ -86,14 +87,19 @@ def clean(self):
if not option:
self.add_error(
- field, f"Du skal udfylde {choice.name}, når du deltager"
+ field,
+ _("Du skal udfylde %(choice_name)s, når du deltager")
+ % {"choice_name": choice.name},
)
continue
if not option.can_bartender_choose(self.bartender):
self.add_error(
field,
- f"Der er for mange der har valgt {option.option}. Vælg noget andet.",
+ _(
+ "Der er for mange der har valgt %(option_option)s. Vælg noget andet."
+ )
+ & {"option_option": option.option},
)
def save(self):
diff --git a/events/views.py b/events/views.py
index d168919..4771303 100644
--- a/events/views.py
+++ b/events/views.py
@@ -2,6 +2,7 @@
from django.contrib import messages
from django.http import HttpResponseBadRequest, HttpResponseForbidden
from django.shortcuts import redirect
+from django.utils.translation import ugettext_lazy as _
from django.views.generic import TemplateView
from django_ical.views import ICalFeed
@@ -53,11 +54,11 @@ def post(self, request, *args, **kwargs):
event_id = request.POST.get("event_id")
event = Event.objects.get(id=event_id)
except Event.DoesNotExist:
- return HttpResponseBadRequest("Event with id does not exist")
+ return HttpResponseBadRequest(_("Event with id does not exist"))
bartender = self.get_bartender()
if not bartender or not event.may_attend(bartender):
- return HttpResponseForbidden("Not logged in as an active bartender")
+ return HttpResponseForbidden(_("Not logged in as an active bartender"))
form = EventResponseForm(request.POST, event=event, bartender=bartender)
if not form.is_valid():
@@ -67,7 +68,10 @@ def post(self, request, *args, **kwargs):
form.save()
- messages.success(request, f"Opdateret tilmelding til {event.name}")
+ messages.success(
+ request,
+ _("Opdateret tilmelding til %(event_name)s") % {"event_name": event.name},
+ )
return redirect("events")
@@ -75,7 +79,7 @@ class EventFeed(ICalFeed):
product_id = "-//fredagscafeen.dk//Events//EN"
timezone = "UTC"
file_name = "events.ics"
- title = "Bartender Events"
+ title = _("Bartender Events")
def items(self):
return Event.objects.all()
@@ -93,7 +97,8 @@ def item_end_datetime(self, event):
return event.end_datetime
def item_description(self, event):
- return f"""Tilmeldingsfrist: {event.response_deadline}
+ tilmeldingsfrist = _("Tilmeldingsfrist")
+ return f"""{tilmeldingsfrist}: {event.response_deadline}
{event.description}"""
diff --git a/locale/da/LC_MESSAGES/django.mo b/locale/da/LC_MESSAGES/django.mo
index c20b14dcf69e4bae652ff1934d8311fc8848d136..cdc0d4faeb68cf36707bee80175e21109ec193eb 100644
GIT binary patch
literal 1529
zcmZvc&ugPa7{{l&t`K4Ufd@r}NAM@*jY(a1yJ;&M({zd3rln1bf*vNBC+|CbCo^GY
zlCC$wvqx_VUKEcW6}%Pk;z4hMAc6-G!GFMu-)ZW;yUT_opZ5vRJo9~Ko^O78;=(5a
zuP5<&7N74@fY*CV6(7Xo`-s;-3BC?~23`Vx1}}oYgHMBhf)~K02ZVSSya=Ycm%zus
zW$;mO9ZYq$LA=F>_<8~S2uyijfscUSf~o%ZVAAm;SOb3oKgM3af@wdEuQq7GRq$)@
zaqutjA@E=D8E^?f()HXqUj&~*oPkN#7MS`v0!)T)-Y~8nv@QY)Y#`AvSp|X9g>baVM-u
zCLxMBh_2F6bZw4(3(=jkjdY^1msX@42eK{_--1N3r9Fg3N7|0eOtILOcgH)BvQW#Y
z0G0RZb)N2(+jpXm9gNF!$kLW%z*&$SMV-3-zhSX^cfla`IZV-@9vT)0v*83?yo+{j
zuLxq#yJH^3tf#Ug_5sJyqP=$KX8T5$j=K8?z1@CopQp~pY$xPeWpB;$kPTdmYJ0nb
ztm9dxGt4$|v@Kd`tX$3-SF>i5nyanLSC$(qjRq34eV*%7{Qh}Ymm7^Y8ntv(*}zL1
zjEv5=h-h67!}X~Pu`XwIRlbQFo6ls<*?{GwMceKEjl-mMeS7=5(RJtZDhC>OdOO{!
zv1Ywd>o|*B#XcWQAvp4__}bJ+ZP#d2NFO+E91ga!)haLP8MDv2cH|UhvPG*y9cz1L
z=B3HDoS%di+38srHdfYX@woAdrRO)O`RZEjo!d>Z$_~?9w@4kM5tn()VT_U*^=tKO
zwd4gBH*vMe38D13-avEQd2xLDrJ0f(S8ho2n^$&7AqI2oeEqC~E=xXl#pxI7jwuOc
zas`$~ZKg6{|H>Cf(&Uk8GBY|a7#>R22&FiPu%7fPtuay|MX`yv2G5u=rSXvL!3Mbt
zdrZ=xDjI7TC{Pk3dbUiC@H9UC1}3TEpcTS{QkrvPq#LTndMCtNvr|^%U#M`oR2aEpzq)fHS
delta 315
zcmYL?u}cFn7{x!^vqEpuO;pG(`3DX`QxdU~yMwD8>XsqsX}E*ta1xxIi@T#8+=`Rn
z;9ue5|KaBQgyJK=yoB#PzMu3tdHCK*o(LL%ePBTf?g8rs^uZEv<`ry#73hI?!1E6<
z+93LbCt!f#COn06ejCoYT{sRM;6i+a=fD1n_;Qg$YjKfO2&7$8$7?dpRbVe#n)$_7
z@3@qezpG>2Hd4FJXJTelCG%2hCC8>&i?fi^u-k9&hx#GT!n=AK-<*p>s#SrfN1t
diff --git a/locale/da/LC_MESSAGES/django.po b/locale/da/LC_MESSAGES/django.po
index d925f74..35fc735 100644
--- a/locale/da/LC_MESSAGES/django.po
+++ b/locale/da/LC_MESSAGES/django.po
@@ -8,15 +8,60 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-29 19:40+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
+"POT-Creation-Date: 2024-07-11 18:46+0200\n"
+"PO-Revision-Date: 2024-07-11 18:47+0050\n"
+"Last-Translator: \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"
+"X-Translated-Using: django-rosetta 0.9.9\n"
+
+#: bartab/forms.py:9
+msgid "First to include"
+msgstr "Inkluder først"
+
+#: bartab/forms.py:12
+msgid "Last to include"
+msgstr "Inkluder sidst"
+
+#: bartab/models.py:87
+msgid "Can't have both bartender shift and custom datetime"
+msgstr "Kan ikke have både bartenderskift og tilpasset datetime"
+
+#: bartab/models.py:90
+msgid "Must have either bartender shift or custom datetime"
+msgstr "Skal have enten bartendervagt eller tilpasset datetime"
+
+#: bartab/models.py:135
+msgid "Kontant?"
+msgstr ""
+
+#: bartab/models.py:138 bartab/templates/bartab.html:20
+msgid "Indsat"
+msgstr ""
+
+#: bartab/models.py:139 bartab/templates/bartab.html:21
+msgid "Køb"
+msgstr ""
+
+#: bartab/models.py:143
+msgid "entries"
+msgstr ""
+
+#: bartab/models.py:144
+msgid "Bruger"
+msgstr ""
+
+#: bartab/models.py:161
+msgid "Vælg kontant eller ej."
+msgstr ""
+
+#: bartab/sumfield.py:31
+msgid "Invalid sum"
+msgstr ""
#: bartab/templates/bartab.html:8
msgid "Krydslisteaktivitet"
@@ -38,16 +83,24 @@ msgstr ""
msgid "Dato"
msgstr ""
-#: bartab/templates/bartab.html:20
-msgid "Indsat"
+#: bartab/templates/bartab.html:37
+msgid "er ikke på krydslisten."
msgstr ""
-#: bartab/templates/bartab.html:21
-msgid "Køb"
+#: bartab/templates/bartab/consumption.html:7
+msgid "Submit"
+msgstr "Indsend"
+
+#: bartab/templates/bartab/consumption.html:10
+msgid "Result"
msgstr ""
-#: bartab/templates/bartab.html:37
-msgid "er ikke på krydslisten."
+#: bartab/templates/bartab/consumption.html:15 events/templates/events.html:68
+msgid "Navn"
+msgstr ""
+
+#: bartab/templates/bartab/consumption.html:16
+msgid "Forbrug"
msgstr ""
#: bartenders/models.py:51
@@ -94,12 +147,12 @@ msgstr ""
msgid "Barplan"
msgstr ""
-#: bartenders/templates/barplan.html:11 bartenders/templates/barplan.html:52
+#: bartenders/templates/barplan.html:11 bartenders/templates/barplan.html:53
#: events/templates/events.html:12
msgid "Vis nuværende"
msgstr ""
-#: bartenders/templates/barplan.html:13 bartenders/templates/barplan.html:54
+#: bartenders/templates/barplan.html:13 bartenders/templates/barplan.html:55
#: events/templates/events.html:14
msgid "Vis også tidligere"
msgstr ""
@@ -113,18 +166,30 @@ msgstr ""
msgid "Bartendere"
msgstr ""
-#: bartenders/templates/barplan.html:49
+#: bartenders/templates/barplan.html:34
+msgid "Bartender's first shift"
+msgstr ""
+
+#: bartenders/templates/barplan.html:50 bartenders/views.py:147
msgid "Pantvagter"
msgstr ""
-#: bartenders/templates/barplan.html:60
+#: bartenders/templates/barplan.html:61
msgid "Uge"
msgstr ""
-#: bartenders/templates/barplan.html:61 udlejning/models.py:107
+#: bartenders/templates/barplan.html:62 udlejning/models.py:107
msgid "Ansvarlige"
msgstr ""
+#: bartenders/templates/barplan.html:74
+msgid "Bartender's first deposit shift"
+msgstr ""
+
+#: bartenders/templates/barplan.html:79
+msgid "Edit"
+msgstr "Rediger"
+
#: bartenders/templates/bartender_info.html:38
msgid "Bartender status"
msgstr ""
@@ -147,7 +212,8 @@ msgstr ""
#: bartenders/templates/bartender_info.html:48
msgid ""
-"Husk at du som inaktiv bartender ikke kan komme til bartenderarrangementerne."
+"Husk at du som inaktiv bartender ikke kan komme til "
+"bartenderarrangementerne."
msgstr ""
#: bartenders/templates/bartender_info.html:51
@@ -249,7 +315,7 @@ msgid ""
"indebærer."
msgstr ""
-#: bartenders/templates/index.html:23
+#: bartenders/templates/index.html:23 udlejning/templates/udlejning.html:120
msgid "Indsend"
msgstr ""
@@ -257,6 +323,60 @@ msgstr ""
msgid "Bartendertilmeldingen er lukket."
msgstr ""
+#: bartenders/views.py:62
+msgid "Din ansøgning er blevet indsendt."
+msgstr ""
+
+#: bartenders/views.py:108
+msgid "Barvagter"
+msgstr ""
+
+#: bartenders/views.py:131 bartenders/views.py:170
+msgid "Responsible"
+msgstr "Ansvarlige"
+
+#: bartenders/views.py:132
+msgid "Other bartenders"
+msgstr "Andre bartendere"
+
+#: bartenders/views.py:281
+msgid "Profil opdateret"
+msgstr ""
+
+#: events/admin.py:16
+msgid "Chosen options"
+msgstr "Valgte muligheder"
+
+#: events/admin.py:72
+msgid "Default allowed attendees"
+msgstr "Standard tilladte deltagere"
+
+#: events/admin.py:73
+msgid "Can be overwritten using the whitelist and blacklist above."
+msgstr "Kan overskrives ved hjælp af whitelisten og blacklisten ovenfor."
+
+#: events/admin.py:86
+msgid "bartenders"
+msgstr "bartendere"
+
+#: events/forms.py:21 events/forms.py:59
+msgid "Deltager"
+msgstr ""
+
+#: events/forms.py:22
+msgid "Deltager ikke"
+msgstr ""
+
+#: events/forms.py:91
+#, python-format
+msgid "Du skal udfylde %(choice_name)s, når du deltager"
+msgstr ""
+
+#: events/forms.py:98
+#, python-format
+msgid "Der er for mange der har valgt %(option_option)s. Vælg noget andet."
+msgstr ""
+
#: events/templates/events.html:8
msgid "Bartender events"
msgstr ""
@@ -302,7 +422,7 @@ msgid ""
"end en måned siden."
msgstr ""
-#: events/templates/events.html:37
+#: events/templates/events.html:37 events/views.py:97
msgid "Tilmeldingsfrist"
msgstr ""
@@ -326,8 +446,21 @@ msgstr ""
msgid "Tilmeldte"
msgstr ""
-#: events/templates/events.html:68
-msgid "Navn"
+#: events/views.py:57
+msgid "Event with id does not exist"
+msgstr "Event med id findes ikke"
+
+#: events/views.py:61
+msgid "Not logged in as an active bartender"
+msgstr "Ikke logget ind som en aktiv bartender"
+
+#: events/views.py:71
+#, python-format
+msgid "Opdateret tilmelding til %(event_name)s"
+msgstr ""
+
+#: events/views.py:79
+msgid "Bartender Events"
msgstr ""
#: fredagscafeen/admin_filters.py:30
@@ -369,8 +502,8 @@ msgstr ""
#: guides/templates/guides.html:9
msgctxt "Fredagscaféen"
msgid ""
-"Her ligger alle de lækre guides, som er rare at have, når man involverer sig "
-"i driften af"
+"Her ligger alle de lækre guides, som er rare at have, når man involverer sig"
+" i driften af"
msgstr ""
#: guides/templates/guides.html:12
@@ -455,8 +588,8 @@ msgstr ""
#: udlejning/models.py:64
msgid ""
-"Hvilke slags øl eller andre drikkevarer ønskes der og hvor mange fustager af "
-"hver type?"
+"Hvilke slags øl eller andre drikkevarer ønskes der og hvor mange fustager af"
+" hver type?"
msgstr ""
#: udlejning/models.py:67
@@ -579,7 +712,8 @@ msgstr ""
#: udlejning/templates/udlejning.html:41
msgid ""
-"Udelukkende arrangementer der finder sted på universitetet. Dette inkluderer:"
+"Udelukkende arrangementer der finder sted på universitetet. Dette "
+"inkluderer:"
msgstr ""
#: udlejning/templates/udlejning.html:43
@@ -596,8 +730,8 @@ msgstr ""
#: udlejning/templates/udlejning.html:49
msgid ""
-"Arrangementer der finder sted på universitetet eller andetsteds, kan være af "
-"privat natur. Dette inkluderer:"
+"Arrangementer der finder sted på universitetet eller andetsteds, kan være af"
+" privat natur. Dette inkluderer:"
msgstr ""
#: udlejning/templates/udlejning.html:51
@@ -640,10 +774,10 @@ msgstr ""
#: udlejning/templates/udlejning.html:71
msgid ""
-"Når du låner et anlæg, skal der på udlåningsdagen samt tilbagelevering, være "
-"et bestyrelsesmedlem der står for det praktiske. Vi er alle frivillige og "
-"har studier og jobs ved siden af vorest bestyrelsesarbejde, og derfor kan vi "
-"ikke være sikre på at kunne stille et besyterelsesmedlem til rådighed."
+"Når du låner et anlæg, skal der på udlåningsdagen samt tilbagelevering, være"
+" et bestyrelsesmedlem der står for det praktiske. Vi er alle frivillige og "
+"har studier og jobs ved siden af vorest bestyrelsesarbejde, og derfor kan vi"
+" ikke være sikre på at kunne stille et besyterelsesmedlem til rådighed."
msgstr ""
#: udlejning/templates/udlejning.html:73
@@ -660,8 +794,8 @@ msgid ""
"mulighed for at være der i en af de mulige tidsrum. Hvis ikke du skriver "
"mindst 7 dage i forvejen, kan vi ikke garantere at vi kan melde ud hvorvidt "
"udlejning er muligt i god tid, dog er det stadig muligt at kunne låne "
-"anlægget selv hvis man melder ud i dårlig tid, vi kan blot ikke garantere at "
-"der kommer et svar i god tid."
+"anlægget selv hvis man melder ud i dårlig tid, vi kan blot ikke garantere at"
+" der kommer et svar i god tid."
msgstr ""
#: udlejning/templates/udlejning.html:78
@@ -678,7 +812,8 @@ msgstr ""
#: udlejning/templates/udlejning.html:90
msgid ""
-", som kommer i 25 liters fustager. Prisen er 750 kr. pr. fustage (incl. moms)"
+", som kommer i 25 liters fustager. Prisen er 750 kr. pr. fustage (incl. "
+"moms)"
msgstr ""
#: udlejning/templates/udlejning.html:93
@@ -923,3 +1058,8 @@ msgstr ""
#: web/templates/base.html:109
msgid "er en fredagsbar for datalogi og IT på Aarhus Universitet."
msgstr ""
+
+#: web/views.py:47
+msgid ""
+"Login mail sendt: Tryk på linket i din modtagede mail for at logge ind."
+msgstr ""
diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo
index 0a1442ff3697b952dc4ebcf9517b4cdca92d72dd..3eac80980b9309828c3878a2b5531998b57f4272 100644
GIT binary patch
delta 5513
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\n"
"Language-Team: LANGUAGE \n"
"Language: \n"
@@ -19,6 +19,50 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Translated-Using: django-rosetta 0.9.9\n"
+#: bartab/forms.py:9
+msgid "First to include"
+msgstr "First to include"
+
+#: bartab/forms.py:12
+msgid "Last to include"
+msgstr "Last to include"
+
+#: bartab/models.py:87
+msgid "Can't have both bartender shift and custom datetime"
+msgstr "Can't have both bartender shift and custom datetime"
+
+#: bartab/models.py:90
+msgid "Must have either bartender shift or custom datetime"
+msgstr "Must have either bartender shift or custom datetime"
+
+#: bartab/models.py:135
+msgid "Kontant?"
+msgstr "Cash?"
+
+#: bartab/models.py:138 bartab/templates/bartab.html:20
+msgid "Indsat"
+msgstr "Deposited"
+
+#: bartab/models.py:139 bartab/templates/bartab.html:21
+msgid "Køb"
+msgstr "Purchases"
+
+#: bartab/models.py:143
+msgid "entries"
+msgstr "entries"
+
+#: bartab/models.py:144
+msgid "Bruger"
+msgstr "User"
+
+#: bartab/models.py:161
+msgid "Vælg kontant eller ej."
+msgstr "Choose cash or not."
+
+#: bartab/sumfield.py:31
+msgid "Invalid sum"
+msgstr "Invalid sum"
+
#: bartab/templates/bartab.html:8
msgid "Krydslisteaktivitet"
msgstr "Tab activity"
@@ -39,18 +83,26 @@ msgstr "Total consumption"
msgid "Dato"
msgstr "Date"
-#: bartab/templates/bartab.html:20
-msgid "Indsat"
-msgstr "Deposited"
-
-#: bartab/templates/bartab.html:21
-msgid "Køb"
-msgstr "Purchases"
-
#: bartab/templates/bartab.html:37
msgid "er ikke på krydslisten."
msgstr "is not on the tab."
+#: bartab/templates/bartab/consumption.html:7
+msgid "Submit"
+msgstr ""
+
+#: bartab/templates/bartab/consumption.html:10
+msgid "Result"
+msgstr "Result"
+
+#: bartab/templates/bartab/consumption.html:15 events/templates/events.html:68
+msgid "Navn"
+msgstr "Name"
+
+#: bartab/templates/bartab/consumption.html:16
+msgid "Forbrug"
+msgstr "Consumption"
+
#: bartenders/models.py:51
msgid "Fulde navn"
msgstr "Full name"
@@ -95,12 +147,12 @@ msgstr "Any additional information for the board can be written here"
msgid "Barplan"
msgstr "Bar Plan"
-#: bartenders/templates/barplan.html:11 bartenders/templates/barplan.html:52
+#: bartenders/templates/barplan.html:11 bartenders/templates/barplan.html:53
#: events/templates/events.html:12
msgid "Vis nuværende"
msgstr "Show current"
-#: bartenders/templates/barplan.html:13 bartenders/templates/barplan.html:54
+#: bartenders/templates/barplan.html:13 bartenders/templates/barplan.html:55
#: events/templates/events.html:14
msgid "Vis også tidligere"
msgstr "Also show earlier"
@@ -114,18 +166,30 @@ msgstr "Responsible"
msgid "Bartendere"
msgstr "Bartenders"
-#: bartenders/templates/barplan.html:49
+#: bartenders/templates/barplan.html:34
+msgid "Bartender's first shift"
+msgstr "Bartender's first shift"
+
+#: bartenders/templates/barplan.html:50 bartenders/views.py:147
msgid "Pantvagter"
msgstr "Deposit shifts"
-#: bartenders/templates/barplan.html:60
+#: bartenders/templates/barplan.html:61
msgid "Uge"
msgstr "Week"
-#: bartenders/templates/barplan.html:61 udlejning/models.py:107
+#: bartenders/templates/barplan.html:62 udlejning/models.py:107
msgid "Ansvarlige"
msgstr "Responsible"
+#: bartenders/templates/barplan.html:74
+msgid "Bartender's first deposit shift"
+msgstr "Bartender's first deposit shift"
+
+#: bartenders/templates/barplan.html:79
+msgid "Edit"
+msgstr "Edit"
+
#: bartenders/templates/bartender_info.html:38
msgid "Bartender status"
msgstr "Bartender status"
@@ -148,8 +212,7 @@ msgstr "If you wish to be active again, contact"
#: bartenders/templates/bartender_info.html:48
msgid ""
-"Husk at du som inaktiv bartender ikke kan komme til "
-"bartenderarrangementerne."
+"Husk at du som inaktiv bartender ikke kan komme til bartenderarrangementerne."
msgstr ""
"Remember that as an inactive bartender you cannot come to the bartending "
"events."
@@ -245,8 +308,8 @@ msgid ""
"begivenheder, såsom ølsmagning og lign. Alt sammen gratis for bartendere."
msgstr ""
"In addition to this, you are invited to our annual events for bartenders, "
-"such as the Summer Party and the Christmas Lunch. In addition, there will be"
-" ongoing cool events, such as beer tasting and the like. All free for "
+"such as the Summer Party and the Christmas Lunch. In addition, there will be "
+"ongoing cool events, such as beer tasting and the like. All free for "
"bartenders."
#: bartenders/templates/index.html:16
@@ -265,8 +328,7 @@ msgstr ""
"before you sign up, so you know what a typical shift in Fredagscaféen "
"involve."
-#: bartenders/templates/index.html:23
-#| msgid "Indsat"
+#: bartenders/templates/index.html:23 udlejning/templates/udlejning.html:120
msgid "Indsend"
msgstr "Submit"
@@ -274,6 +336,61 @@ msgstr "Submit"
msgid "Bartendertilmeldingen er lukket."
msgstr "Bartender applications are closed."
+#: bartenders/views.py:62
+msgid "Din ansøgning er blevet indsendt."
+msgstr "Your application has been submitted."
+
+#: bartenders/views.py:108
+msgid "Barvagter"
+msgstr "Bar shifts"
+
+#: bartenders/views.py:131 bartenders/views.py:170
+msgid "Responsible"
+msgstr "Responsible"
+
+#: bartenders/views.py:132
+msgid "Other bartenders"
+msgstr "Other bartenders"
+
+#: bartenders/views.py:281
+msgid "Profil opdateret"
+msgstr "Profile updated"
+
+#: events/admin.py:16
+msgid "Chosen options"
+msgstr "Chosen options"
+
+#: events/admin.py:72
+msgid "Default allowed attendees"
+msgstr "Default allowed attendees"
+
+#: events/admin.py:73
+msgid "Can be overwritten using the whitelist and blacklist above."
+msgstr "Can be overwritten using the whitelist and blacklist above."
+
+#: events/admin.py:86
+msgid "bartenders"
+msgstr "bartenders"
+
+#: events/forms.py:21 events/forms.py:59
+msgid "Deltager"
+msgstr "Attending"
+
+#: events/forms.py:22
+msgid "Deltager ikke"
+msgstr "Not attending"
+
+#: events/forms.py:91
+#, python-format
+msgid "Du skal udfylde %(choice_name)s, når du deltager"
+msgstr "You must fill in %(choice_name)s when you attend"
+
+#: events/forms.py:98
+#, python-format
+msgid "Der er for mange der har valgt %(option_option)s. Vælg noget andet."
+msgstr ""
+"There are too many who have chosen %(option_option)s. Choose something else."
+
#: events/templates/events.html:8
msgid "Bartender events"
msgstr "Bartender events"
@@ -328,7 +445,7 @@ msgstr ""
"There has been a bar guard during a bar guard plan period that ended less "
"than a month ago."
-#: events/templates/events.html:37
+#: events/templates/events.html:37 events/views.py:97
msgid "Tilmeldingsfrist"
msgstr "Registration deadline"
@@ -352,9 +469,22 @@ msgstr "Sign up"
msgid "Tilmeldte"
msgstr "Registered participant"
-#: events/templates/events.html:68
-msgid "Navn"
-msgstr "Name"
+#: events/views.py:57
+msgid "Event with id does not exist"
+msgstr "Event with id does not exist"
+
+#: events/views.py:61
+msgid "Not logged in as an active bartender"
+msgstr "Not logged in as an active bartender"
+
+#: events/views.py:71
+#, python-format
+msgid "Opdateret tilmelding til %(event_name)s"
+msgstr "Updated registration for %(event_name)s"
+
+#: events/views.py:79
+msgid "Bartender Events"
+msgstr "Bartender Events"
#: fredagscafeen/admin_filters.py:30
msgid "All"
@@ -395,8 +525,8 @@ msgstr "Guides"
#: guides/templates/guides.html:9
msgctxt "Fredagscaféen"
msgid ""
-"Her ligger alle de lækre guides, som er rare at have, når man involverer sig"
-" i driften af"
+"Her ligger alle de lækre guides, som er rare at have, når man involverer sig "
+"i driften af"
msgstr ""
"Here are all the delicious guides that are nice to have when you get "
"involved in the operation of"
@@ -487,8 +617,8 @@ msgstr "Expected consumption"
#: udlejning/models.py:64
msgid ""
-"Hvilke slags øl eller andre drikkevarer ønskes der og hvor mange fustager af"
-" hver type?"
+"Hvilke slags øl eller andre drikkevarer ønskes der og hvor mange fustager af "
+"hver type?"
msgstr ""
"What types of beer or other beverages are desired and how many kegs of each "
"type?"
@@ -570,7 +700,6 @@ msgid "Uspecificeret"
msgstr "Unspecified"
#: udlejning/templates/udlejning.html:21
-#| msgid "reserveret af"
msgid "anlæg, reserveret af"
msgstr "kegerator, reserved by"
@@ -591,8 +720,8 @@ msgid ""
"Hvis vores anlæg ikke allerede er udlånt, kan du låne det ved at udfylde "
"ansøgninsformularen nederst på denne side."
msgstr ""
-"If our equipment is not already on loan, you can borrow it by filling in the"
-" application form at the bottom of this page."
+"If our equipment is not already on loan, you can borrow it by filling in the "
+"application form at the bottom of this page."
#: udlejning/templates/udlejning.html:37
msgid "Anlæg udlånes kun til"
@@ -616,8 +745,7 @@ msgstr "Internal events"
#: udlejning/templates/udlejning.html:41
msgid ""
-"Udelukkende arrangementer der finder sted på universitetet. Dette "
-"inkluderer:"
+"Udelukkende arrangementer der finder sted på universitetet. Dette inkluderer:"
msgstr "Exclusive events that take place at the university. This includes:"
#: udlejning/templates/udlejning.html:43
@@ -634,8 +762,8 @@ msgstr "Events with association"
#: udlejning/templates/udlejning.html:49
msgid ""
-"Arrangementer der finder sted på universitetet eller andetsteds, kan være af"
-" privat natur. Dette inkluderer:"
+"Arrangementer der finder sted på universitetet eller andetsteds, kan være af "
+"privat natur. Dette inkluderer:"
msgstr ""
"Events that take place at the university or elsewhere may be of a private "
"nature. This includes:"
@@ -665,9 +793,9 @@ msgid ""
"Forløber som det har gjort indtil nu, udlån inkluderer opstilling, kulsyre "
"og skylning af anlægget, 50 glas (1 rulle) tilkøbes for 150,- pr. stk."
msgstr ""
-"Precursor as it has been until now, lending includes setting up, carbonation"
-" and rinsing of the system, 50 cups (1 roll) can be purchased for DKK 150 "
-"per PCS."
+"Precursor as it has been until now, lending includes setting up, carbonation "
+"and rinsing of the system, 50 cups (1 roll) can be purchased for DKK 150 per "
+"PCS."
#: udlejning/templates/udlejning.html:65
msgid ""
@@ -676,9 +804,9 @@ msgid ""
"Afleveringstid af anlægget skal aftales i dialog med den ansvarlige for det "
"praktiske, og er ikke nødvendigvis samme dag."
msgstr ""
-"Here, loans only include unlocking and unlocking of the draft beer facility."
-" This means that the plant must be picked up in Ada-0, and delivered cleaned"
-" in Ada-0. The delivery time of the installation must be agreed in dialogue "
+"Here, loans only include unlocking and unlocking of the draft beer facility. "
+"This means that the plant must be picked up in Ada-0, and delivered cleaned "
+"in Ada-0. The delivery time of the installation must be agreed in dialogue "
"with the person responsible for the practical, and is not necessarily the "
"same day."
@@ -688,10 +816,10 @@ msgstr "Request rental in good time"
#: udlejning/templates/udlejning.html:71
msgid ""
-"Når du låner et anlæg, skal der på udlåningsdagen samt tilbagelevering, være"
-" et bestyrelsesmedlem der står for det praktiske. Vi er alle frivillige og "
-"har studier og jobs ved siden af vorest bestyrelsesarbejde, og derfor kan vi"
-" ikke være sikre på at kunne stille et besyterelsesmedlem til rådighed."
+"Når du låner et anlæg, skal der på udlåningsdagen samt tilbagelevering, være "
+"et bestyrelsesmedlem der står for det praktiske. Vi er alle frivillige og "
+"har studier og jobs ved siden af vorest bestyrelsesarbejde, og derfor kan vi "
+"ikke være sikre på at kunne stille et besyterelsesmedlem til rådighed."
msgstr ""
"When you borrow a facility, there must be a board member responsible for "
"practical matters on the day of lending and return. We are all volunteers "
@@ -712,15 +840,15 @@ msgid ""
"mulighed for at være der i en af de mulige tidsrum. Hvis ikke du skriver "
"mindst 7 dage i forvejen, kan vi ikke garantere at vi kan melde ud hvorvidt "
"udlejning er muligt i god tid, dog er det stadig muligt at kunne låne "
-"anlægget selv hvis man melder ud i dårlig tid, vi kan blot ikke garantere at"
-" der kommer et svar i god tid."
+"anlægget selv hvis man melder ud i dårlig tid, vi kan blot ikke garantere at "
+"der kommer et svar i god tid."
msgstr ""
"We will therefore, no later than 5 days before, announce whether someone on "
"the board has the opportunity to be there during one of the possible times. "
"If you do not write at least 7 days in advance, we cannot guarantee that we "
"can announce whether or not renting is possible in good time, however it is "
-"still possible to borrow the facility even if you announce at a bad time, we"
-" just cannot guarantee that there will be an answer in good time."
+"still possible to borrow the facility even if you announce at a bad time, we "
+"just cannot guarantee that there will be an answer in good time."
#: udlejning/templates/udlejning.html:78
msgid "Generelle informationer"
@@ -736,8 +864,7 @@ msgstr "Our primary draft beer is"
#: udlejning/templates/udlejning.html:90
msgid ""
-", som kommer i 25 liters fustager. Prisen er 750 kr. pr. fustage (incl. "
-"moms)"
+", som kommer i 25 liters fustager. Prisen er 750 kr. pr. fustage (incl. moms)"
msgstr ""
", which comes in 25 liter kegs. The price is DKK 750 per keg (incl. VAT)"
@@ -762,16 +889,15 @@ msgid ""
"Vi sælger også Magners Cider på fustage, der koster 1250 kr. pr. fustage "
"(incl. moms)."
msgstr ""
-"We also sell Magners Cider in kegs, which costs DKK 1250 per keg (incl. "
-"VAT)."
+"We also sell Magners Cider in kegs, which costs DKK 1250 per keg (incl. VAT)."
#: udlejning/templates/udlejning.html:105
msgid ""
"Vi har et sortiment af special-øl tilgængeligt på: (det er ikke tilgængelig "
"pt. men man kan skrive en mail til"
msgstr ""
-"We have a range of specialty beers available at: (it is not available at the"
-" moment, but you can write an email to"
+"We have a range of specialty beers available at: (it is not available at the "
+"moment, but you can write an email to"
#: udlejning/templates/udlejning.html:108
msgid ""
@@ -995,5 +1121,9 @@ msgstr "Log out"
msgid "er en fredagsbar for datalogi og IT på Aarhus Universitet."
msgstr "is a friday bar for computer science and IT at Aarhus University."
+#: web/views.py:47
+msgid "Login mail sendt: Tryk på linket i din modtagede mail for at logge ind."
+msgstr ""
+
#~ msgid "Fadølsanlæggene"
#~ msgstr "Kegerators"
diff --git a/web/views.py b/web/views.py
index d309dc6..506ab8b 100644
--- a/web/views.py
+++ b/web/views.py
@@ -2,6 +2,7 @@
from django.contrib import messages
from django.contrib.auth import REDIRECT_FIELD_NAME, authenticate, login, logout
from django.shortcuts import redirect
+from django.utils.translation import ugettext_lazy as _
from django.views.decorators.http import require_GET, require_POST
from django.views.generic import TemplateView
from django.views.generic.edit import FormView
@@ -43,7 +44,9 @@ def form_valid(self, form):
form.send_email(self.request.GET.get("next"))
messages.success(
self.request,
- "Login mail sendt: Tryk på linket i din modtagede mail for at logge ind.",
+ _(
+ "Login mail sendt: Tryk på linket i din modtagede mail for at logge ind."
+ ),
)
return super().form_valid(form)