diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c4b0ad6..152310b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,6 +17,9 @@ jobs: with: python-version: "3.8" + - name: Setup pip version + run: pip install pip==24.0.0 + - name: Install python dependencies run: pip install -r requirements.txt -r dev-requirements.txt diff --git a/bartab/templates/bartab.html b/bartab/templates/bartab.html index cf14758..df47604 100644 --- a/bartab/templates/bartab.html +++ b/bartab/templates/bartab.html @@ -3,22 +3,23 @@ {% load sub %} {% block content %} +{% load i18n %} -

Krydslisteaktivitet

+

{% translate "Krydslisteaktivitet" %}

-

Krydslisten er gjort op til og med barvagten d. {{ update_date }}.

+

{% translate "Krydslisten er gjort op til og med barvagten d." %} {{ update_date }}.

{% if object %} -

Saldo: {{ object.balance_str }}

-

Total forbrug: {{ total_used }}

+

{% translate "Saldo" %}: {{ object.balance_str }}

+

{% translate "Total forbrug" %}: {{ total_used }}

- - - - + + + + @@ -33,7 +34,7 @@

Total forbrug: {{ total_used }}

DatoIndsatKøbSaldo{% translate "Dato" %}{% translate "Indsat" %}{% translate "Køb" %}{% translate "Saldo" %}
{% else %} -

{{ user.email }} er ikke på krydslisten.

+

{{ user.email }} {% translate "er ikke på krydslisten." %}

{% endif %} {% endblock %} diff --git a/bartenders/models.py b/bartenders/models.py index a02ae3b..c0bb11b 100644 --- a/bartenders/models.py +++ b/bartenders/models.py @@ -10,6 +10,7 @@ from django.urls import reverse from django.utils import timezone from django.utils.safestring import mark_safe +from django.utils.translation import ugettext_lazy as _ from fredagscafeen.email import send_template_email @@ -47,28 +48,31 @@ class BartenderCommon(models.Model): class Meta: abstract = True - name = models.CharField(max_length=140, verbose_name="Fulde navn") - username = models.CharField(max_length=140, unique=True, verbose_name="Brugernavn") + name = models.CharField(max_length=140, verbose_name=_("Fulde navn")) + username = models.CharField( + max_length=140, unique=True, verbose_name=_("Brugernavn") + ) email = models.CharField(max_length=255, unique=True, blank=True) studentNumber = models.IntegerField( - blank=True, null=True, verbose_name="Studienummer" + blank=True, null=True, verbose_name=_("Studienummer") ) phoneNumber = models.IntegerField( - blank=True, null=True, verbose_name="Telefonnummer" + blank=True, null=True, verbose_name=_("Telefonnummer") ) tshirt_size = models.CharField( choices=TSHIRT_SIZE_CHOICES, max_length=10, blank=True, null=True, - verbose_name="T-shirt størrelse", + verbose_name=_("T-shirt størrelse"), ) class Bartender(BartenderCommon): isActiveBartender = models.BooleanField(default=True) prefer_only_early_shifts = models.BooleanField( - default=False, verbose_name="Jeg foretrækker ikke at have nogle sene barvagter" + default=False, + verbose_name=_("Jeg foretrækker ikke at have nogle sene barvagter"), ) @property @@ -224,14 +228,15 @@ def get_current_period(cls): def __str__(self): start_year = self.start_date.year - return f"{start_year} / {start_year + 1} ({self.start_date} til {self.end_date_display})" + til = _("til") + return f"{start_year} / {start_year + 1} ({self.start_date} {til} {self.end_date_display})" class BartenderApplication(BartenderCommon): - study = models.CharField(max_length=50, verbose_name="Studie") - study_year = models.IntegerField(verbose_name="Årgang") + study = models.CharField(max_length=50, verbose_name=_("Studie")) + study_year = models.IntegerField(verbose_name=_("Årgang")) info = models.TextField( - blank=True, help_text="Eventuelle ekstra info til bestyrelsen skrives her" + blank=True, help_text=_("Eventuelle ekstra info til bestyrelsen skrives her") ) created = models.DateTimeField(auto_now_add=True) diff --git a/bartenders/templates/barplan.html b/bartenders/templates/barplan.html index 298e9a4..b1fa801 100644 --- a/bartenders/templates/barplan.html +++ b/bartenders/templates/barplan.html @@ -1,24 +1,24 @@ {% extends 'base.html' %} {% block content %} - +{% load i18n %} {% load static %} {% load is_with_user %} -

Barplan

+

{% translate "Barplan" %}

{% if show_all %} -Vis nuværende +{% translate "Vis nuværende" %} {% else %} -Vis også tidligere +{% translate "Vis også tidligere" %} {% endif %} - - - + + + {% if user.is_staff %} {% endif %} @@ -46,19 +46,19 @@

Barplan


-

Pantvagter

+

{% translate "Pantvagter" %}

{% if show_all %} -Vis nuværende +{% translate "Vis nuværende" %} {% else %} -Vis også tidligere +{% translate "Vis også tidligere" %} {% endif %}
DatoAnsvarligBartendere{% translate "Dato" %}{% translate "Ansvarlig" %}{% translate "Bartendere" %}
- - + + {% if user.is_staff %} {% endif %} diff --git a/bartenders/templates/bartender_info.html b/bartenders/templates/bartender_info.html index f7af634..b6e4dfd 100644 --- a/bartenders/templates/bartender_info.html +++ b/bartenders/templates/bartender_info.html @@ -1,5 +1,5 @@ {% extends 'base.html' %} - +{% load i18n %} {% load static %} {% load bootstrap3 %} @@ -35,34 +35,34 @@ {% buttons %} {% bootstrap_button "Gem" button_type="submit" icon="floppy-disk" button_class="btn-primary" %} {% endbuttons %} -

Bartender status: +

{% translate "Bartender status" %}: {% if object.isActiveBartender %} - Aktiv - + {% translate "Aktiv" %} + {% else %} - Inaktiv - (Hvis du gerne vil være aktive igen, så kontakt best@fredagscafeen.dk) + {% translate "Inaktiv" %} + ({% translate "Hvis du gerne vil være aktive igen, så kontakt" %} best@fredagscafeen.dk) {% endif %}

{% if not object.isActiveBartender %} -

Husk at du som inaktiv bartender ikke kan komme til bartenderarrangementerne.

+

{% translate "Husk at du som inaktiv bartender ikke kan komme til bartenderarrangementerne." %}

{% endif %}
-

Mailinglist status: +

{% translate "Mailinglist status" %}: {% if object.is_on_mailing_list %} - På mailinglisten + {% translate "På mailinglisten" %} {% if not object.isActiveBartender %} - + {% endif %} {% else %} - Ikke på mailinglisten - + {% translate "Ikke på mailinglisten" %} + {% endif %}


{% bootstrap_form form %} - +
UgeAnsvarlige{% translate "Uge" %}{% translate "Ansvarlige" %}
{% for first_date, dates in dates_table %} @@ -84,7 +84,7 @@ {% endbuttons %} {% else %} -

{{ user.email }} er ikke bartender.

+

{{ user.email }} {% translate "er ikke bartender." %}

{% endif %} {% endblock %} diff --git a/bartenders/templates/bartender_shift_period_change_form.html b/bartenders/templates/bartender_shift_period_change_form.html index 31ea9ed..ad1a38a 100644 --- a/bartenders/templates/bartender_shift_period_change_form.html +++ b/bartenders/templates/bartender_shift_period_change_form.html @@ -1,11 +1,12 @@ {% extends "admin/change_form.html" %} {% block after_related_objects %} +{% load i18n %}
- - - + + + diff --git a/bartenders/templates/bartenders.html b/bartenders/templates/bartenders.html index d88e729..b101ec8 100644 --- a/bartenders/templates/bartenders.html +++ b/bartenders/templates/bartenders.html @@ -1,14 +1,15 @@ {% extends 'base.html' %} +{% load i18n %} {% block content %} -

Bartendere

+

{% translate "Bartendere" %}

BartenderEmailAntal vagter{% translate "Bartender" %}{% translate "Email" %}{% translate "Antal vagter" %}
- + {% for choice in event.sorted_choices %} {% endfor %} diff --git a/fredagscafeen/settings/base.py b/fredagscafeen/settings/base.py index 0361149..c6b54de 100644 --- a/fredagscafeen/settings/base.py +++ b/fredagscafeen/settings/base.py @@ -177,12 +177,14 @@ "guides", "events", "printer", + "rosetta", ) MIDDLEWARE = ( "django.middleware.security.SecurityMiddleware", "whitenoise.middleware.WhiteNoiseMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.locale.LocaleMiddleware", # Used for internationalization. Has to be after sessions but before common "corsheaders.middleware.CorsMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", @@ -254,6 +256,29 @@ USE_TZ = True +from django.utils.translation import gettext_lazy as _ + +LANGUAGES = ( + ("da", _("Danish")), + ("en", _("English")), +) + +PARLER_LANGUAGES = { + None: ( + { + "code": "da", + }, + { + "code": "en", + }, + ), + "default": { + "fallbacks": ["da"], + "hide_untranslated": False, + }, +} + +LOCALE_PATHS = (os.path.join(BASE_DIR, "locale/"),) # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.8/howto/static-files/ diff --git a/fredagscafeen/urls.py b/fredagscafeen/urls.py index f977448..34ac58f 100644 --- a/fredagscafeen/urls.py +++ b/fredagscafeen/urls.py @@ -1,15 +1,17 @@ from django.conf import settings +from django.conf.urls.i18n import i18n_patterns from django.conf.urls.static import static from django.contrib import admin from django.urls import include, path from django.views.generic import RedirectView -urlpatterns = [ +urlpatterns = i18n_patterns( path("favicon.ico", RedirectView.as_view(url="/static/favicon.ico")), path("admin/", admin.site.urls), path("api/", include("api.urls")), path("", include("web.urls")), -] + path("rosetta/", include("rosetta.urls")), +) if settings.DEBUG: # Handle user-uploaded content during development diff --git a/guides/models.py b/guides/models.py index bde3476..98c3613 100644 --- a/guides/models.py +++ b/guides/models.py @@ -1,4 +1,5 @@ from django.db import models +from django.utils.translation import ugettext_lazy as _ class Guide(models.Model): @@ -6,9 +7,9 @@ class Meta: ordering = ("name",) GUIDE_TYPES = ( - ("ALL", "Til alle"), - ("BT", "Til bartendere"), - ("BM", "Til bestyrelsesmedlemmer"), + ("ALL", _("Til alle")), + ("BT", _("Til bartendere")), + ("BM", _("Til bestyrelsesmedlemmer")), ) name = models.CharField(max_length=256) diff --git a/guides/templates/guides.html b/guides/templates/guides.html index dc170e8..a4497cd 100644 --- a/guides/templates/guides.html +++ b/guides/templates/guides.html @@ -1,16 +1,20 @@ {% extends 'base.html' %} {% block content %} +{% load i18n %} -

Guides

+

{% translate "Guides" %}

- Her kommer alle de lækre guides til at ligge, som er rare at have når man involverer sig i driften af Fredagscaféen. + {% translate "Her ligger alle de lækre guides, som er rare at have, når man involverer sig i driften af" context "Fredagscaféen" %} Fredagscaféen.

+ {% translate "Vi forsøger at opdaterer dem løbende, men forstå at de ikke altid afspejler virkeligheden fuldt ud." %} +

+ {% for category, guides in guides %}
diff --git a/locale/da/LC_MESSAGES/django.mo b/locale/da/LC_MESSAGES/django.mo new file mode 100644 index 0000000..c20b14d Binary files /dev/null and b/locale/da/LC_MESSAGES/django.mo differ diff --git a/locale/da/LC_MESSAGES/django.po b/locale/da/LC_MESSAGES/django.po new file mode 100644 index 0000000..ae9597d --- /dev/null +++ b/locale/da/LC_MESSAGES/django.po @@ -0,0 +1,909 @@ +# 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: 2024-06-29 14:05+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" + +#: bartab/templates/bartab.html:8 +msgid "Krydslisteaktivitet" +msgstr "" + +#: bartab/templates/bartab.html:10 +msgid "Krydslisten er gjort op til og med barvagten d." +msgstr "" + +#: bartab/templates/bartab.html:13 bartab/templates/bartab.html:22 +msgid "Saldo" +msgstr "" + +#: bartab/templates/bartab.html:14 +msgid "Total forbrug" +msgstr "" + +#: bartab/templates/bartab.html:19 bartenders/templates/barplan.html:19 +msgid "Dato" +msgstr "" + +#: bartab/templates/bartab.html:20 +msgid "Indsat" +msgstr "" + +#: bartab/templates/bartab.html:21 +msgid "Køb" +msgstr "" + +#: bartab/templates/bartab.html:37 +msgid "er ikke på krydslisten." +msgstr "" + +#: bartenders/models.py:51 +msgid "Fulde navn" +msgstr "" + +#: bartenders/models.py:53 +msgid "Brugernavn" +msgstr "" + +#: bartenders/models.py:57 +msgid "Studienummer" +msgstr "" + +#: bartenders/models.py:60 +msgid "Telefonnummer" +msgstr "" + +#: bartenders/models.py:67 +msgid "T-shirt størrelse" +msgstr "" + +#: bartenders/models.py:75 +msgid "Jeg foretrækker ikke at have nogle sene barvagter" +msgstr "" + +#: bartenders/models.py:231 +msgid "til" +msgstr "" + +#: bartenders/models.py:236 +msgid "Studie" +msgstr "" + +#: bartenders/models.py:237 +msgid "Årgang" +msgstr "" + +#: bartenders/models.py:239 +msgid "Eventuelle ekstra info til bestyrelsen skrives her" +msgstr "" + +#: bartenders/templates/barplan.html:8 web/templates/base.html:60 +msgid "Barplan" +msgstr "" + +#: bartenders/templates/barplan.html:11 bartenders/templates/barplan.html:52 +#: events/templates/events.html:12 +msgid "Vis nuværende" +msgstr "" + +#: bartenders/templates/barplan.html:13 bartenders/templates/barplan.html:54 +#: events/templates/events.html:14 +msgid "Vis også tidligere" +msgstr "" + +#: bartenders/templates/barplan.html:20 +msgid "Ansvarlig" +msgstr "" + +#: bartenders/templates/barplan.html:21 bartenders/templates/bartenders.html:6 +#: web/templates/base.html:61 +msgid "Bartendere" +msgstr "" + +#: bartenders/templates/barplan.html:49 +msgid "Pantvagter" +msgstr "" + +#: bartenders/templates/barplan.html:60 +msgid "Uge" +msgstr "" + +#: bartenders/templates/barplan.html:61 udlejning/models.py:107 +msgid "Ansvarlige" +msgstr "" + +#: bartenders/templates/bartender_info.html:38 +msgid "Bartender status" +msgstr "" + +#: bartenders/templates/bartender_info.html:40 +msgid "Aktiv" +msgstr "" + +#: bartenders/templates/bartender_info.html:41 +msgid "Bliv inaktiv" +msgstr "" + +#: bartenders/templates/bartender_info.html:43 +msgid "Inaktiv" +msgstr "" + +#: bartenders/templates/bartender_info.html:44 +msgid "Hvis du gerne vil være aktive igen, så kontakt" +msgstr "" + +#: bartenders/templates/bartender_info.html:48 +msgid "" +"Husk at du som inaktiv bartender ikke kan komme til bartenderarrangementerne." +msgstr "" + +#: bartenders/templates/bartender_info.html:51 +msgid "Mailinglist status" +msgstr "" + +#: bartenders/templates/bartender_info.html:53 +msgid "På mailinglisten" +msgstr "" + +#: bartenders/templates/bartender_info.html:55 +msgid "Meld dig af mailinglisten" +msgstr "" + +#: bartenders/templates/bartender_info.html:58 +msgid "Ikke på mailinglisten" +msgstr "" + +#: bartenders/templates/bartender_info.html:59 +msgid "Meld dig på mailinglisten" +msgstr "" + +#: bartenders/templates/bartender_info.html:65 +msgid "Datoer, hvor du ikke har mulighed for at stå i bar" +msgstr "" + +#: bartenders/templates/bartender_info.html:87 +msgid "er ikke bartender." +msgstr "" + +#: bartenders/templates/bartender_shift_period_change_form.html:7 +msgid "Bartender" +msgstr "" + +#: bartenders/templates/bartender_shift_period_change_form.html:8 +msgid "Email" +msgstr "" + +#: bartenders/templates/bartender_shift_period_change_form.html:9 +msgid "Antal vagter" +msgstr "" + +#: bartenders/templates/bartenders.html:12 +msgid "Nuværende" +msgstr "" + +#: bartenders/templates/bartenders.html:23 +msgid "Tidligere" +msgstr "" + +#: bartenders/templates/board.html:29 web/templates/base.html:76 +msgid "Bestyrelsen" +msgstr "" + +#: bartenders/templates/board.html:69 +msgid "Bestyrelsen gennem tiden" +msgstr "" + +#: bartenders/templates/index.html:8 +msgid "" +"Velkommen til Fredagscaféens webside, her kan du finde information om " +"åbningstider, sortiment, udlejning af fadølsanlæg og grill mm." +msgstr "" + +#: bartenders/templates/index.html:12 +msgid "Bartendertilmelding" +msgstr "" + +#: bartenders/templates/index.html:13 +msgid "" +"Er du interesseret i at være med i et fedt fællesskab hvor vi hygger bag " +"baren og serverer nogle kolde drikkevarer?" +msgstr "" + +#: bartenders/templates/index.html:14 +msgid "" +"Du vil som bartender få ca. 2 vagter pr. semester, hvor du er med til at " +"sikre at alle får slukket tørsten." +msgstr "" + +#: bartenders/templates/index.html:15 +msgid "" +"Udover dette inviteres du til vores årlige arrangementer for bartendere, " +"såsom Sommerfesten og Julefrokosten. Derudover vil der løbende være fede " +"begivenheder, såsom ølsmagning og lign. Alt sammen gratis for bartendere." +msgstr "" + +#: bartenders/templates/index.html:16 +msgid "Det er en god idé at læse" +msgstr "" + +#: bartenders/templates/index.html:16 +msgid "barvagt-guiden" +msgstr "" + +#: bartenders/templates/index.html:17 +msgid "" +"før du tilmelder dig, så du ved hvad en typisk vagt i Fredagscaféen " +"indebærer." +msgstr "" + +#: bartenders/templates/index.html:27 +msgid "Bartendertilmeldingen er lukket." +msgstr "" + +#: events/templates/events.html:8 +msgid "Bartender events" +msgstr "" + +#: events/templates/events.html:18 +msgid "Tilføj til kalender" +msgstr "" + +#: events/templates/events.html:21 +msgid "" +"Du er ikke logget ind som bartender og kan derfor ikke tilmelde dig events." +msgstr "" + +#: events/templates/events.html:21 +msgid "Klik for at logge ind." +msgstr "" + +#: events/templates/events.html:23 +msgid "" +"Du har ikke lov til at tilmelde dig events, medmindre du har fået eksplicit " +"lov af bestyrelsen." +msgstr "" + +#: events/templates/events.html:24 +msgid "" +"Normalt kan man kun tilmelde sig events, hvis man opfylder et af følgende " +"krav" +msgstr "" + +#: events/templates/events.html:26 +msgid "Man er aktiv bartender." +msgstr "" + +#: events/templates/events.html:27 +msgid "" +"Man har været i en bestyrelse som har været aktiv mellem nu og for et år " +"siden." +msgstr "" + +#: events/templates/events.html:28 +msgid "" +"Man har haft en barvagt i en barvagtplansperiode, som sluttede for mindre " +"end en måned siden." +msgstr "" + +#: events/templates/events.html:37 +msgid "Tilmeldingsfrist" +msgstr "" + +#: events/templates/events.html:37 +msgid "for sent" +msgstr "" + +#: events/templates/events.html:38 udlejning/models.py:57 +msgid "Lokation" +msgstr "" + +#: events/templates/events.html:39 +msgid "Beskrivelse" +msgstr "" + +#: events/templates/events.html:42 +msgid "Tilmelding" +msgstr "" + +#: events/templates/events.html:59 +msgid "Tilmeldte" +msgstr "" + +#: events/templates/events.html:68 +msgid "Navn" +msgstr "" + +#: fredagscafeen/admin_filters.py:30 +msgid "All" +msgstr "Alle" + +#: fredagscafeen/admin_filters.py:30 +msgid "Yes" +msgstr "Ja" + +#: fredagscafeen/admin_filters.py:30 +msgid "No" +msgstr "Nej" + +#: fredagscafeen/settings/base.py:262 +msgid "Danish" +msgstr "Dansk" + +#: fredagscafeen/settings/base.py:263 +msgid "English" +msgstr "Engelsk" + +#: guides/models.py:10 +msgid "Til alle" +msgstr "" + +#: guides/models.py:11 +msgid "Til bartendere" +msgstr "" + +#: guides/models.py:12 +msgid "Til bestyrelsesmedlemmer" +msgstr "" + +#: guides/templates/guides.html:6 web/templates/base.html:74 +msgid "Guides" +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" +msgstr "" + +#: guides/templates/guides.html:12 +msgid "" +"Vi forsøger at opdaterer dem løbende, men forstå at de ikke altid afspejler " +"virkeligheden fuldt ud." +msgstr "" + +#: udlejning/models.py:12 +msgid "EAN" +msgstr "" + +#: udlejning/models.py:13 +msgid "Faktura" +msgstr "" + +#: udlejning/models.py:14 +msgid "Kort i baren" +msgstr "" + +#: udlejning/models.py:18 +msgid "Start dato & tid" +msgstr "" + +#: udlejning/models.py:19 +msgid "Hvornår skal anlægget afhentes/stilles op?" +msgstr "" + +#: udlejning/models.py:24 +msgid "Slut dato & tid" +msgstr "" + +#: udlejning/models.py:25 +msgid "Hvornår skal anlægget afleveres/pilles ned?" +msgstr "" + +#: udlejning/models.py:27 +msgid "Hvem er I?" +msgstr "" + +#: udlejning/models.py:29 +msgid "Email til kontaktperson" +msgstr "" + +#: udlejning/models.py:31 +msgid "Telefonnummer til kontaktperson" +msgstr "" + +#: udlejning/models.py:36 +msgid "Hvem betaler?" +msgstr "" + +#: udlejning/models.py:38 +msgid "" +"Hvem skal regningen sendes til? (Fulde navn på person, virksomhed eller " +"organisation)" +msgstr "" + +#: udlejning/models.py:44 +msgid "Betalingsform" +msgstr "" + +#: udlejning/models.py:45 +msgid "Hvordan bliver der betalt?" +msgstr "" + +#: udlejning/models.py:49 +msgid "EAN-nummer" +msgstr "" + +#: udlejning/models.py:52 +msgid "Skal kun angives, hvis der skal faktureres til et EAN-nummer" +msgstr "" + +#: udlejning/models.py:58 +msgid "Hvor bliver arrangmentet afholdt?" +msgstr "" + +#: udlejning/models.py:62 +msgid "Forventet forbrug" +msgstr "" + +#: udlejning/models.py:64 +msgid "" +"Hvilke slags øl eller andre drikkevarer ønskes der og hvor mange fustager af " +"hver type?" +msgstr "" + +#: udlejning/models.py:67 +msgid "Kommentarer" +msgstr "" + +#: udlejning/models.py:75 +msgid "Intern" +msgstr "" + +#: udlejning/models.py:76 +msgid "Ekstern" +msgstr "" + +#: udlejning/models.py:80 +msgid "Regning ikke sendt" +msgstr "" + +#: udlejning/models.py:81 +msgid "Regning sendt" +msgstr "" + +#: udlejning/models.py:82 +msgid "Regning betalt" +msgstr "" + +#: udlejning/models.py:86 +msgid "Lille" +msgstr "" + +#: udlejning/models.py:87 +msgid "Mellem" +msgstr "" + +#: udlejning/models.py:94 +msgid "Fadølsanlæg" +msgstr "" + +#: udlejning/models.py:95 +msgid "Hvilket anlæg vil I låne?" +msgstr "" + +#: udlejning/models.py:101 +msgid "Tilknytning" +msgstr "" + +#: udlejning/models.py:104 +msgid "Faktisk forbrug" +msgstr "" + +#: udlejning/models.py:109 +msgid "Send regning til" +msgstr "" + +#: udlejning/models.py:112 +msgid "Fakturanummer" +msgstr "" + +#: udlejning/models.py:119 +msgid "Total pris" +msgstr "" + +#: udlejning/models.py:122 +msgid "Betalingsdato" +msgstr "" + +#: udlejning/templates/udlejning.html:11 +msgid "Reservation af fadølsanlæg" +msgstr "" + +#: udlejning/templates/udlejning.html:14 +msgid "Fadølsanlæggene er allerede reserveret følgende dage" +msgstr "" + +#: udlejning/templates/udlejning.html:20 +msgid "Uspecificeret" +msgstr "" + +#: udlejning/templates/udlejning.html:25 +msgid "Anlæggene er pt ikke reserveret på noget tidspunkt" +msgstr "" + +#: udlejning/templates/udlejning.html:30 +msgid "Regler for udlån" +msgstr "" + +#: udlejning/templates/udlejning.html:33 +msgid "Disse regler er under revision, og der kan opstå fejl og mangler..." +msgstr "" + +#: udlejning/templates/udlejning.html:36 +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 "" + +#: udlejning/templates/udlejning.html:37 +msgid "Anlæg udlånes kun til" +msgstr "" + +#: udlejning/templates/udlejning.html:37 +msgid "interne arrangementer" +msgstr "" + +#: udlejning/templates/udlejning.html:37 +msgid "eller til" +msgstr "" + +#: udlejning/templates/udlejning.html:37 +msgid "arrangementer med tilknytning til baren" +msgstr "" + +#: udlejning/templates/udlejning.html:40 +msgid "Interne arrangementer" +msgstr "" + +#: udlejning/templates/udlejning.html:41 +msgid "" +"Udelukkende arrangementer der finder sted på universitetet. Dette inkluderer:" +msgstr "" + +#: udlejning/templates/udlejning.html:43 +msgid "Instittutets arrangementer" +msgstr "" + +#: udlejning/templates/udlejning.html:44 +msgid "Specialereceptioner" +msgstr "" + +#: udlejning/templates/udlejning.html:48 udlejning/templates/udlejning.html:64 +msgid "Arrangementer med tilknytning" +msgstr "" + +#: udlejning/templates/udlejning.html:49 +msgid "" +"Arrangementer der finder sted på universitetet eller andetsteds, kan være af " +"privat natur. Dette inkluderer:" +msgstr "" + +#: udlejning/templates/udlejning.html:51 +msgid "Eksterne virksomheder, der af en årsag har tilknytning til baren" +msgstr "" + +#: udlejning/templates/udlejning.html:52 +msgid "Arrangementer af bestyrelsesmedlemmer" +msgstr "" + +#: udlejning/templates/udlejning.html:53 +msgid "I nogle tilfælde, arrangementer af bartendere" +msgstr "" + +#: udlejning/templates/udlejning.html:57 +msgid "Indtil videre dækker følgende regler for de to grupper" +msgstr "" + +#: udlejning/templates/udlejning.html:60 +msgid "Interne arrangermenter" +msgstr "" + +#: udlejning/templates/udlejning.html:61 +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 "" + +#: udlejning/templates/udlejning.html:71 +msgid "Anmod om udlejning i god tid" +msgstr "" + +#: udlejning/templates/udlejning.html:74 +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." +msgstr "" + +#: udlejning/templates/udlejning.html:76 +msgid "Derfor skal du, for at være sikker på at kunne låne anlægget" +msgstr "" + +#: udlejning/templates/udlejning.html:76 +msgid "skrive mindst 7 dage i forvejen" +msgstr "" + +#: udlejning/templates/udlejning.html:77 +msgid "" +"Vi vil derfor, senest 5 dage før, melde ud hvorvidt nogen i bestyrelsen har " +"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." +msgstr "" + +#: udlejning/templates/udlejning.html:81 +msgid "Generelle informationer" +msgstr "" + +#: udlejning/templates/udlejning.html:86 +msgid "Der betales per åbnet fustage." +msgstr "" + +#: udlejning/templates/udlejning.html:89 +msgid "Vores primære fadøl er" +msgstr "" + +#: udlejning/templates/udlejning.html:93 +msgid "" +", som kommer i 25 liters fustager. Prisen er 750 kr. pr. fustage (incl. moms)" +msgstr "" + +#: udlejning/templates/udlejning.html:96 +msgid "" +"Udover den primære fadøl, kan man få de øl som står inde på Aarhus Bryghus' " +"hjemmeside, som fast kan fås på fad. Dvs." +msgstr "" + +#: udlejning/templates/udlejning.html:100 +msgid "og" +msgstr "" + +#: udlejning/templates/udlejning.html:102 +msgid "(afhængig af sæson). Prisen er 800 kr. pr. fustage (incl. moms)" +msgstr "" + +#: udlejning/templates/udlejning.html:105 +msgid "" +"Vi sælger også Magners Cider på fustage, der koster 1250 kr. pr. fustage " +"(incl. moms)." +msgstr "" + +#: udlejning/templates/udlejning.html:108 +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 "" + +#: udlejning/templates/udlejning.html:111 +msgid "" +"Derudover leverer vi også sodavand og chips. Sodavand koster 10 kr/stk og " +"chips koster 20kr/pose, der betales pr. åbnet enhed." +msgstr "" + +#: udlejning/templates/udlejning.html:116 +msgid "Ansøgninsformular" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:6 +msgid "Reservation af Grill" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:8 +#: udlejning/templates/udlejningGrill.html:14 +#: udlejning/templates/udlejningGrill.html:21 +msgid "Grillen" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:8 +#: udlejning/templates/udlejningProjector.html:8 +#: udlejning/templates/udlejningSpeakers.html:8 +msgid "er allerede reserveret følgende dage" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:12 +#: udlejning/templates/udlejningProjector.html:12 +#: udlejning/templates/udlejningSpeakers.html:12 +msgid "reserveret af" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:14 +#: udlejning/templates/udlejningProjector.html:14 +#: udlejning/templates/udlejningSpeakers.html:14 +msgid "er pt ikke reserveret på noget tidspunkt" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:19 +#: udlejning/templates/udlejningProjector.html:19 +#: udlejning/templates/udlejningSpeakers.html:19 +msgid "Hvis vores" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:19 +msgid "grill" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:19 +#: udlejning/templates/udlejningProjector.html:19 +#: udlejning/templates/udlejningSpeakers.html:19 +msgid "ikke allerede er udlånt, kan du låne den ved at sende en mail til" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:21 +#: udlejning/templates/udlejningProjector.html:21 +#: udlejning/templates/udlejningSpeakers.html:21 +msgid "kan kun lånes til arrangementer på instituttet." +msgstr "" + +#: udlejning/templates/udlejningGrill.html:24 +msgid "Mere info om grillen kommer senere." +msgstr "" + +#: udlejning/templates/udlejningGrill.html:27 +msgid "Indholdet af email med anmodning om udlån" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:28 +msgid "Når du kontakter Best for at låne grillen, skal der stå følgende" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:31 +msgid "Hvor man ønsker grillen opstillet" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:32 +msgid "Hvornår man ønsker grillen opstiller (fra hvornår til ca. hvornår)" +msgstr "" + +#: udlejning/templates/udlejningGrill.html:33 +msgid "Kontaktinformation" +msgstr "" + +#: udlejning/templates/udlejningProjector.html:6 +msgid "Reservation af projektor" +msgstr "" + +#: udlejning/templates/udlejningProjector.html:6 web/templates/base.html:69 +msgid "lærred" +msgstr "" + +#: udlejning/templates/udlejningProjector.html:8 +#: udlejning/templates/udlejningProjector.html:14 +#: udlejning/templates/udlejningProjector.html:21 +msgid "Projektoren/lærredet" +msgstr "" + +#: udlejning/templates/udlejningProjector.html:19 +msgid "projektor/lærred" +msgstr "" + +#: udlejning/templates/udlejningSpeakers.html:6 +msgid "Reservation af højtalere" +msgstr "" + +#: udlejning/templates/udlejningSpeakers.html:8 +#: udlejning/templates/udlejningSpeakers.html:14 +#: udlejning/templates/udlejningSpeakers.html:21 +msgid "Højtalerne" +msgstr "" + +#: udlejning/templates/udlejningSpeakers.html:19 +msgid "højtalere" +msgstr "" + +#: web/templates/about.html:26 +msgid "Generel info" +msgstr "" + +#: web/templates/about.html:28 +msgid "befinder sig kælderen i Nygaard-bygningen på Institut for Datalogi" +msgstr "" + +#: web/templates/about.html:29 +msgid "Baren har åbent" +msgstr "" + +#: web/templates/about.html:29 +msgctxt "Baren har åbent alle fredage..." +msgid "alle" +msgstr "" + +#: web/templates/about.html:29 +msgid "fredage fra klokken 15.00 til vi lukker." +msgstr "" + +#: web/templates/about.html:37 +msgid "Direktion" +msgstr "" + +#: web/templates/about.html:38 +msgid "s direktion består af" +msgstr "" + +#: web/templates/about.html:47 +msgid "Postadresse" +msgstr "" + +#: web/templates/about.html:49 +msgid "Vores postadresse er" +msgstr "" + +#: web/templates/about.html:58 +msgid "Bestyrelsen kan kontaktes på" +msgstr "" + +#: web/templates/about.html:63 +msgid "Vores CVR-nr er" +msgstr "" + +#: web/templates/base.html:59 +msgid "Forside" +msgstr "" + +#: web/templates/base.html:65 +msgid "Udlejning" +msgstr "" + +#: web/templates/base.html:67 +msgid "Udlejning af fadølsanlæg" +msgstr "" + +#: web/templates/base.html:68 +msgid "Udlejning af grill" +msgstr "" + +#: web/templates/base.html:69 +msgid "Udlejning af projektor" +msgstr "" + +#: web/templates/base.html:70 +msgid "Udlejning af højtalere" +msgstr "" + +#: web/templates/base.html:77 +msgid "Events" +msgstr "" + +#: web/templates/base.html:78 +msgid "Om baren" +msgstr "" + +#: web/templates/base.html:80 +msgid "Profil" +msgstr "" + +#: web/templates/base.html:82 +msgid "Krydlistestatus" +msgstr "" + +#: web/templates/base.html:83 +msgid "Bartenderprofil" +msgstr "" + +#: web/templates/base.html:86 +msgid "Admin" +msgstr "" + +#: web/templates/base.html:91 +msgid "Log ud" +msgstr "" + +#: web/templates/base.html:109 +msgid "er en fredagsbar for datalogi og IT på Aarhus Universitet." +msgstr "" diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000..291fc9d Binary files /dev/null and b/locale/en/LC_MESSAGES/django.mo differ diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..ce8e685 --- /dev/null +++ b/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,977 @@ +# 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: 2024-06-29 14:05+0200\n" +"PO-Revision-Date: 2024-06-29 14:08+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/templates/bartab.html:8 +msgid "Krydslisteaktivitet" +msgstr "Tab activity" + +#: bartab/templates/bartab.html:10 +msgid "Krydslisten er gjort op til og med barvagten d." +msgstr "The tab is done up to and including the bar shift the" + +#: bartab/templates/bartab.html:13 bartab/templates/bartab.html:22 +msgid "Saldo" +msgstr "Balance" + +#: bartab/templates/bartab.html:14 +msgid "Total forbrug" +msgstr "Total consumption" + +#: bartab/templates/bartab.html:19 bartenders/templates/barplan.html:19 +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." + +#: bartenders/models.py:51 +msgid "Fulde navn" +msgstr "Full name" + +#: bartenders/models.py:53 +msgid "Brugernavn" +msgstr "Username" + +#: bartenders/models.py:57 +msgid "Studienummer" +msgstr "Study number" + +#: bartenders/models.py:60 +msgid "Telefonnummer" +msgstr "Phone number" + +#: bartenders/models.py:67 +msgid "T-shirt størrelse" +msgstr "T-shirt size" + +#: bartenders/models.py:75 +msgid "Jeg foretrækker ikke at have nogle sene barvagter" +msgstr "I prefer to not have any late shifts" + +#: bartenders/models.py:231 +msgid "til" +msgstr "to" + +#: bartenders/models.py:236 +msgid "Studie" +msgstr "Study" + +#: bartenders/models.py:237 +msgid "Årgang" +msgstr "Year" + +#: bartenders/models.py:239 +msgid "Eventuelle ekstra info til bestyrelsen skrives her" +msgstr "Any additional information for the board can be written here" + +#: bartenders/templates/barplan.html:8 web/templates/base.html:60 +msgid "Barplan" +msgstr "Bar Plan" + +#: bartenders/templates/barplan.html:11 bartenders/templates/barplan.html:52 +#: events/templates/events.html:12 +msgid "Vis nuværende" +msgstr "Show current" + +#: bartenders/templates/barplan.html:13 bartenders/templates/barplan.html:54 +#: events/templates/events.html:14 +msgid "Vis også tidligere" +msgstr "Also show earlier" + +#: bartenders/templates/barplan.html:20 +msgid "Ansvarlig" +msgstr "Responsible" + +#: bartenders/templates/barplan.html:21 bartenders/templates/bartenders.html:6 +#: web/templates/base.html:61 +msgid "Bartendere" +msgstr "Bartenders" + +#: bartenders/templates/barplan.html:49 +msgid "Pantvagter" +msgstr "Deposit shifts" + +#: bartenders/templates/barplan.html:60 +msgid "Uge" +msgstr "Week" + +#: bartenders/templates/barplan.html:61 udlejning/models.py:107 +msgid "Ansvarlige" +msgstr "Responsible" + +#: bartenders/templates/bartender_info.html:38 +msgid "Bartender status" +msgstr "Bartender status" + +#: bartenders/templates/bartender_info.html:40 +msgid "Aktiv" +msgstr "Active" + +#: bartenders/templates/bartender_info.html:41 +msgid "Bliv inaktiv" +msgstr "Become active" + +#: bartenders/templates/bartender_info.html:43 +msgid "Inaktiv" +msgstr "Inactive" + +#: bartenders/templates/bartender_info.html:44 +msgid "Hvis du gerne vil være aktive igen, så kontakt" +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." +msgstr "" +"Remember that as an inactive bartender you cannot come to the bartending " +"events." + +#: bartenders/templates/bartender_info.html:51 +msgid "Mailinglist status" +msgstr "Mailing list status" + +#: bartenders/templates/bartender_info.html:53 +msgid "På mailinglisten" +msgstr "On the mailing list" + +#: bartenders/templates/bartender_info.html:55 +msgid "Meld dig af mailinglisten" +msgstr "Sign up for the mailing list" + +#: bartenders/templates/bartender_info.html:58 +msgid "Ikke på mailinglisten" +msgstr "Not on the mailing list" + +#: bartenders/templates/bartender_info.html:59 +msgid "Meld dig på mailinglisten" +msgstr "Sign up for the mailing list" + +#: bartenders/templates/bartender_info.html:65 +msgid "Datoer, hvor du ikke har mulighed for at stå i bar" +msgstr "Dates when you do not have the opportunity to stand at the bar" + +#: bartenders/templates/bartender_info.html:87 +msgid "er ikke bartender." +msgstr "is not a bartender." + +#: bartenders/templates/bartender_shift_period_change_form.html:7 +msgid "Bartender" +msgstr "Bartender" + +#: bartenders/templates/bartender_shift_period_change_form.html:8 +msgid "Email" +msgstr "Email" + +#: bartenders/templates/bartender_shift_period_change_form.html:9 +msgid "Antal vagter" +msgstr "Number of shifts" + +#: bartenders/templates/bartenders.html:12 +msgid "Nuværende" +msgstr "Current" + +#: bartenders/templates/bartenders.html:23 +msgid "Tidligere" +msgstr "Earlier" + +#: bartenders/templates/board.html:29 web/templates/base.html:76 +msgid "Bestyrelsen" +msgstr "Board" + +#: bartenders/templates/board.html:69 +msgid "Bestyrelsen gennem tiden" +msgstr "The board over time" + +#: bartenders/templates/index.html:8 +msgid "" +"Velkommen til Fredagscaféens webside, her kan du finde information om " +"åbningstider, sortiment, udlejning af fadølsanlæg og grill mm." +msgstr "" +"Welcome to Fredagscaféens website. Here you can find information about " +"openning hours, selection, rental of kegerator and grill etc." + +#: bartenders/templates/index.html:12 +msgid "Bartendertilmelding" +msgstr "Bartender application" + +#: bartenders/templates/index.html:13 +msgid "" +"Er du interesseret i at være med i et fedt fællesskab hvor vi hygger bag " +"baren og serverer nogle kolde drikkevarer?" +msgstr "" +"Are you interested in becoming a member of a cool community, where we have " +"fun behind the bar and serve some cold drinks?" + +#: bartenders/templates/index.html:14 +msgid "" +"Du vil som bartender få ca. 2 vagter pr. semester, hvor du er med til at " +"sikre at alle får slukket tørsten." +msgstr "" +"As a bartender, you will get approx. 2 shifts per semester, where you help " +"to ensure that everyone quenches their thirst." + +#: bartenders/templates/index.html:15 +msgid "" +"Udover dette inviteres du til vores årlige arrangementer for bartendere, " +"såsom Sommerfesten og Julefrokosten. Derudover vil der løbende være fede " +"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 " +"bartenders." + +#: bartenders/templates/index.html:16 +msgid "Det er en god idé at læse" +msgstr "It is a good idea to read the" + +#: bartenders/templates/index.html:16 +msgid "barvagt-guiden" +msgstr "bar shift-guide" + +#: bartenders/templates/index.html:17 +msgid "" +"før du tilmelder dig, så du ved hvad en typisk vagt i Fredagscaféen " +"indebærer." +msgstr "" +"before you sign up, so you know what a typical shift in Fredagscaféen " +"involve." + +#: bartenders/templates/index.html:27 +msgid "Bartendertilmeldingen er lukket." +msgstr "Bartender applications are closed." + +#: events/templates/events.html:8 +msgid "Bartender events" +msgstr "Bartender events" + +#: events/templates/events.html:18 +msgid "Tilføj til kalender" +msgstr "Add to calender" + +#: events/templates/events.html:21 +msgid "" +"Du er ikke logget ind som bartender og kan derfor ikke tilmelde dig events." +msgstr "" +"You are not logged in as a bartender and therefore cannot register for " +"events." + +#: events/templates/events.html:21 +msgid "Klik for at logge ind." +msgstr "Click here to log in" + +#: events/templates/events.html:23 +msgid "" +"Du har ikke lov til at tilmelde dig events, medmindre du har fået eksplicit " +"lov af bestyrelsen." +msgstr "" +"You are not allowed to register for events, unless you have been given " +"explicit permission by the board." + +#: events/templates/events.html:24 +msgid "" +"Normalt kan man kun tilmelde sig events, hvis man opfylder et af følgende " +"krav" +msgstr "" +"Normally, you can only register for events if you meet one of the following " +"requirements" + +#: events/templates/events.html:26 +msgid "Man er aktiv bartender." +msgstr "You are an active bartender" + +#: events/templates/events.html:27 +msgid "" +"Man har været i en bestyrelse som har været aktiv mellem nu og for et år " +"siden." +msgstr "" +"You have been on a board that has been active between now and a year ago." + +#: events/templates/events.html:28 +msgid "" +"Man har haft en barvagt i en barvagtplansperiode, som sluttede for mindre " +"end en måned siden." +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 +msgid "Tilmeldingsfrist" +msgstr "Registration deadline" + +#: events/templates/events.html:37 +msgid "for sent" +msgstr "too late" + +#: events/templates/events.html:38 udlejning/models.py:57 +msgid "Lokation" +msgstr "Location" + +#: events/templates/events.html:39 +msgid "Beskrivelse" +msgstr "Description" + +#: events/templates/events.html:42 +msgid "Tilmelding" +msgstr "Sign up" + +#: events/templates/events.html:59 +msgid "Tilmeldte" +msgstr "Registered participant" + +#: events/templates/events.html:68 +msgid "Navn" +msgstr "Name" + +#: fredagscafeen/admin_filters.py:30 +msgid "All" +msgstr "All" + +#: fredagscafeen/admin_filters.py:30 +msgid "Yes" +msgstr "Yes" + +#: fredagscafeen/admin_filters.py:30 +msgid "No" +msgstr "No" + +#: fredagscafeen/settings/base.py:262 +msgid "Danish" +msgstr "Danish" + +#: fredagscafeen/settings/base.py:263 +msgid "English" +msgstr "English" + +#: guides/models.py:10 +msgid "Til alle" +msgstr "To all" + +#: guides/models.py:11 +msgid "Til bartendere" +msgstr "To bartenders" + +#: guides/models.py:12 +msgid "Til bestyrelsesmedlemmer" +msgstr "To board members" + +#: guides/templates/guides.html:6 web/templates/base.html:74 +msgid "Guides" +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" +msgstr "" +"Here are all the delicious guides that are nice to have when you get " +"involved in the operation of" + +#: guides/templates/guides.html:12 +msgid "" +"Vi forsøger at opdaterer dem løbende, men forstå at de ikke altid afspejler " +"virkeligheden fuldt ud." +msgstr "" +"We try to update them continuously, but understand that they do not always " +"fully reflect reality." + +#: udlejning/models.py:12 +msgid "EAN" +msgstr "EAN" + +#: udlejning/models.py:13 +msgid "Faktura" +msgstr "Invoice" + +#: udlejning/models.py:14 +msgid "Kort i baren" +msgstr "Card in the bar" + +#: udlejning/models.py:18 +msgid "Start dato & tid" +msgstr "Start date & time" + +#: udlejning/models.py:19 +msgid "Hvornår skal anlægget afhentes/stilles op?" +msgstr "When must the kegerator be picked up/set up?" + +#: udlejning/models.py:24 +msgid "Slut dato & tid" +msgstr "End date & time" + +#: udlejning/models.py:25 +msgid "Hvornår skal anlægget afleveres/pilles ned?" +msgstr "When must the kegerator be delivered/picked down?" + +#: udlejning/models.py:27 +msgid "Hvem er I?" +msgstr "Who are you?" + +#: udlejning/models.py:29 +msgid "Email til kontaktperson" +msgstr "Email to contact person" + +#: udlejning/models.py:31 +msgid "Telefonnummer til kontaktperson" +msgstr "Phone number to contact person" + +#: udlejning/models.py:36 +msgid "Hvem betaler?" +msgstr "Who pays?" + +#: udlejning/models.py:38 +msgid "" +"Hvem skal regningen sendes til? (Fulde navn på person, virksomhed eller " +"organisation)" +msgstr "" +"Who should the bill be sent to? (Full name of person, company or " +"organization)" + +#: udlejning/models.py:44 +msgid "Betalingsform" +msgstr "Paymentmethod" + +#: udlejning/models.py:45 +msgid "Hvordan bliver der betalt?" +msgstr "How is payment made?" + +#: udlejning/models.py:49 +msgid "EAN-nummer" +msgstr "EAN number" + +#: udlejning/models.py:52 +msgid "Skal kun angives, hvis der skal faktureres til et EAN-nummer" +msgstr "Must only be specified if an EAN number is to be invoiced" + +#: udlejning/models.py:58 +msgid "Hvor bliver arrangmentet afholdt?" +msgstr "Where will the event be held?" + +#: udlejning/models.py:62 +msgid "Forventet forbrug" +msgstr "Expected consumption" + +#: udlejning/models.py:64 +msgid "" +"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?" + +#: udlejning/models.py:67 +msgid "Kommentarer" +msgstr "Comments" + +#: udlejning/models.py:75 +msgid "Intern" +msgstr "Internal" + +#: udlejning/models.py:76 +msgid "Ekstern" +msgstr "External" + +#: udlejning/models.py:80 +msgid "Regning ikke sendt" +msgstr "Invoice not sent" + +#: udlejning/models.py:81 +msgid "Regning sendt" +msgstr "Invoice sent" + +#: udlejning/models.py:82 +msgid "Regning betalt" +msgstr "Invoice paid" + +#: udlejning/models.py:86 +msgid "Lille" +msgstr "Small" + +#: udlejning/models.py:87 +msgid "Mellem" +msgstr "Medium" + +#: udlejning/models.py:94 +msgid "Fadølsanlæg" +msgstr "Kegerator" + +#: udlejning/models.py:95 +msgid "Hvilket anlæg vil I låne?" +msgstr "Which kegerator do you want to borrow?" + +#: udlejning/models.py:101 +msgid "Tilknytning" +msgstr "Association" + +#: udlejning/models.py:104 +msgid "Faktisk forbrug" +msgstr "Actual consumption" + +#: udlejning/models.py:109 +msgid "Send regning til" +msgstr "Send the invoice to" + +#: udlejning/models.py:112 +msgid "Fakturanummer" +msgstr "Invoice number" + +#: udlejning/models.py:119 +msgid "Total pris" +msgstr "Total price" + +#: udlejning/models.py:122 +msgid "Betalingsdato" +msgstr "Payment date" + +#: udlejning/templates/udlejning.html:11 +msgid "Reservation af fadølsanlæg" +msgstr "Rental of kegerator" + +#: udlejning/templates/udlejning.html:14 +msgid "Fadølsanlæggene er allerede reserveret følgende dage" +msgstr "The kegerators are already reserved the following days" + +#: udlejning/templates/udlejning.html:20 +msgid "Uspecificeret" +msgstr "Unspecified" + +#: udlejning/templates/udlejning.html:25 +msgid "Anlæggene er pt ikke reserveret på noget tidspunkt" +msgstr "The kegerators are currently not booked at any time" + +#: udlejning/templates/udlejning.html:30 +msgid "Regler for udlån" +msgstr "Roles for rental" + +#: udlejning/templates/udlejning.html:33 +msgid "Disse regler er under revision, og der kan opstå fejl og mangler..." +msgstr "These rules are under revision and errors and omissions may occur..." + +#: udlejning/templates/udlejning.html:36 +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." + +#: udlejning/templates/udlejning.html:37 +msgid "Anlæg udlånes kun til" +msgstr "The kegerators are only rented out to" + +#: udlejning/templates/udlejning.html:37 +msgid "interne arrangementer" +msgstr "internal events" + +#: udlejning/templates/udlejning.html:37 +msgid "eller til" +msgstr "or to" + +#: udlejning/templates/udlejning.html:37 +msgid "arrangementer med tilknytning til baren" +msgstr "events with association to the bar" + +#: udlejning/templates/udlejning.html:40 +msgid "Interne arrangementer" +msgstr "Internal events" + +#: udlejning/templates/udlejning.html:41 +msgid "" +"Udelukkende arrangementer der finder sted på universitetet. Dette " +"inkluderer:" +msgstr "" + +#: udlejning/templates/udlejning.html:43 +msgid "Instittutets arrangementer" +msgstr "The institute's events" + +#: udlejning/templates/udlejning.html:44 +msgid "Specialereceptioner" +msgstr "Special receptions" + +#: udlejning/templates/udlejning.html:48 udlejning/templates/udlejning.html:64 +msgid "Arrangementer med tilknytning" +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:" +msgstr "" + +#: udlejning/templates/udlejning.html:51 +msgid "Eksterne virksomheder, der af en årsag har tilknytning til baren" +msgstr "External companies that for some reason are connected to the bar" + +#: udlejning/templates/udlejning.html:52 +msgid "Arrangementer af bestyrelsesmedlemmer" +msgstr "Events by board members" + +#: udlejning/templates/udlejning.html:53 +msgid "I nogle tilfælde, arrangementer af bartendere" +msgstr "In some cases, events by bartenders" + +#: udlejning/templates/udlejning.html:57 +msgid "Indtil videre dækker følgende regler for de to grupper" +msgstr "For now, the following rules cover the two groups" + +#: udlejning/templates/udlejning.html:60 +msgid "Interne arrangermenter" +msgstr "Internal events" + +#: udlejning/templates/udlejning.html:61 +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." + +#: udlejning/templates/udlejning.html:71 +msgid "Anmod om udlejning i god tid" +msgstr "Request rental in good time" + +#: udlejning/templates/udlejning.html:74 +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." +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 " +"and have studies and jobs alongside our board work, and therefore we cannot " +"be sure of being able to provide a tenured member." + +#: udlejning/templates/udlejning.html:76 +msgid "Derfor skal du, for at være sikker på at kunne låne anlægget" +msgstr "Therefore, to be sure of being able to borrow the facility, you must" + +#: udlejning/templates/udlejning.html:76 +msgid "skrive mindst 7 dage i forvejen" +msgstr "write at least 7 days in advance" + +#: udlejning/templates/udlejning.html:77 +msgid "" +"Vi vil derfor, senest 5 dage før, melde ud hvorvidt nogen i bestyrelsen har " +"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." +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." + +#: udlejning/templates/udlejning.html:81 +msgid "Generelle informationer" +msgstr "General information" + +#: udlejning/templates/udlejning.html:86 +msgid "Der betales per åbnet fustage." +msgstr "Payment is made per opened keg." + +#: udlejning/templates/udlejning.html:89 +msgid "Vores primære fadøl er" +msgstr "Our primary draft beer is" + +#: udlejning/templates/udlejning.html:93 +#| msgid "" +#| "Vi sælger også Magners Cider på fustage, der koster 1250 kr. pr. fustage " +#| "(incl. moms)." +msgid "" +", 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)" + +#: udlejning/templates/udlejning.html:96 +msgid "" +"Udover den primære fadøl, kan man få de øl som står inde på Aarhus Bryghus' " +"hjemmeside, som fast kan fås på fad. Dvs." +msgstr "" +"In addition to the primary draft beer, you can get the beers listed on " +"Aarhus Bryghus' website, which are always available on draft. That is" + +#: udlejning/templates/udlejning.html:100 +msgid "og" +msgstr "and" + +#: udlejning/templates/udlejning.html:102 +msgid "(afhængig af sæson). Prisen er 800 kr. pr. fustage (incl. moms)" +msgstr "(depending on the season). The price is DKK 800 per keg (incl. VAT)" + +#: udlejning/templates/udlejning.html:105 +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)." + +#: udlejning/templates/udlejning.html:108 +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" + +#: udlejning/templates/udlejning.html:111 +msgid "" +"Derudover leverer vi også sodavand og chips. Sodavand koster 10 kr/stk og " +"chips koster 20kr/pose, der betales pr. åbnet enhed." +msgstr "" +"In addition, we also deliver soft drinks and chips. Soda costs DKK 10/piece " +"and chips cost DKK 20/bag, which is paid per opened device." + +#: udlejning/templates/udlejning.html:116 +msgid "Ansøgninsformular" +msgstr "Application form" + +#: udlejning/templates/udlejningGrill.html:6 +msgid "Reservation af Grill" +msgstr "Rental of Grill" + +#: udlejning/templates/udlejningGrill.html:8 +#: udlejning/templates/udlejningGrill.html:14 +#: udlejning/templates/udlejningGrill.html:21 +msgid "Grillen" +msgstr "The Grill" + +#: udlejning/templates/udlejningGrill.html:8 +#: udlejning/templates/udlejningProjector.html:8 +#: udlejning/templates/udlejningSpeakers.html:8 +msgid "er allerede reserveret følgende dage" +msgstr "is already reserved the following days" + +#: udlejning/templates/udlejningGrill.html:12 +#: udlejning/templates/udlejningProjector.html:12 +#: udlejning/templates/udlejningSpeakers.html:12 +msgid "reserveret af" +msgstr "reserved by" + +#: udlejning/templates/udlejningGrill.html:14 +#: udlejning/templates/udlejningProjector.html:14 +#: udlejning/templates/udlejningSpeakers.html:14 +msgid "er pt ikke reserveret på noget tidspunkt" +msgstr "is currently not booked at any time" + +#: udlejning/templates/udlejningGrill.html:19 +#: udlejning/templates/udlejningProjector.html:19 +#: udlejning/templates/udlejningSpeakers.html:19 +msgid "Hvis vores" +msgstr "If our" + +#: udlejning/templates/udlejningGrill.html:19 +msgid "grill" +msgstr "grill" + +#: udlejning/templates/udlejningGrill.html:19 +#: udlejning/templates/udlejningProjector.html:19 +#: udlejning/templates/udlejningSpeakers.html:19 +msgid "ikke allerede er udlånt, kan du låne den ved at sende en mail til" +msgstr "is not already borrowed, you can borrow it by sending an email to" + +#: udlejning/templates/udlejningGrill.html:21 +#: udlejning/templates/udlejningProjector.html:21 +#: udlejning/templates/udlejningSpeakers.html:21 +msgid "kan kun lånes til arrangementer på instituttet." +msgstr "can only be borrowed for events at the institute." + +#: udlejning/templates/udlejningGrill.html:24 +msgid "Mere info om grillen kommer senere." +msgstr "More info about the grill will come later." + +#: udlejning/templates/udlejningGrill.html:27 +msgid "Indholdet af email med anmodning om udlån" +msgstr "The content of the email with the loan request" + +#: udlejning/templates/udlejningGrill.html:28 +msgid "Når du kontakter Best for at låne grillen, skal der stå følgende" +msgstr "" +"When you contact the board to borrow the grill, the following must be stated" + +#: udlejning/templates/udlejningGrill.html:31 +msgid "Hvor man ønsker grillen opstillet" +msgstr "Where you want the grill set up" + +#: udlejning/templates/udlejningGrill.html:32 +msgid "Hvornår man ønsker grillen opstiller (fra hvornår til ca. hvornår)" +msgstr "When you want the grill set up (from when to approximately when)" + +#: udlejning/templates/udlejningGrill.html:33 +msgid "Kontaktinformation" +msgstr "Contact information" + +#: udlejning/templates/udlejningProjector.html:6 +msgid "Reservation af projektor" +msgstr "Rental of projector" + +#: udlejning/templates/udlejningProjector.html:6 web/templates/base.html:69 +msgid "lærred" +msgstr "screen" + +#: udlejning/templates/udlejningProjector.html:8 +#: udlejning/templates/udlejningProjector.html:14 +#: udlejning/templates/udlejningProjector.html:21 +msgid "Projektoren/lærredet" +msgstr "The projector/screen" + +#: udlejning/templates/udlejningProjector.html:19 +msgid "projektor/lærred" +msgstr "projector/screen" + +#: udlejning/templates/udlejningSpeakers.html:6 +msgid "Reservation af højtalere" +msgstr "Rental of speakers" + +#: udlejning/templates/udlejningSpeakers.html:8 +#: udlejning/templates/udlejningSpeakers.html:14 +#: udlejning/templates/udlejningSpeakers.html:21 +msgid "Højtalerne" +msgstr "Speakers" + +#: udlejning/templates/udlejningSpeakers.html:19 +msgid "højtalere" +msgstr "speakers" + +#: web/templates/about.html:26 +msgid "Generel info" +msgstr "General info" + +#: web/templates/about.html:28 +msgid "befinder sig kælderen i Nygaard-bygningen på Institut for Datalogi" +msgstr "" +"is located in the basement of the Nygaard building at the Department of " +"Computer Science" + +#: web/templates/about.html:29 +msgid "Baren har åbent" +msgstr "The bar is oben" + +#: web/templates/about.html:29 +msgctxt "Baren har åbent alle fredage..." +msgid "alle" +msgstr "every" + +#: web/templates/about.html:29 +msgid "fredage fra klokken 15.00 til vi lukker." +msgstr "friday from 3pm until we close." + +#: web/templates/about.html:37 +msgid "Direktion" +msgstr "Management" + +#: web/templates/about.html:38 +msgid "s direktion består af" +msgstr "'s management consists of" + +#: web/templates/about.html:47 +msgid "Postadresse" +msgstr "Postal address" + +#: web/templates/about.html:49 +msgid "Vores postadresse er" +msgstr "Our postal address is" + +#: web/templates/about.html:58 +msgid "Bestyrelsen kan kontaktes på" +msgstr "The board can be contacted at" + +#: web/templates/about.html:63 +msgid "Vores CVR-nr er" +msgstr "Our CVR number is" + +#: web/templates/base.html:59 +msgid "Forside" +msgstr "Home" + +#: web/templates/base.html:65 +msgid "Udlejning" +msgstr "Rental" + +#: web/templates/base.html:67 +msgid "Udlejning af fadølsanlæg" +msgstr "Rental of kegerator" + +#: web/templates/base.html:68 +msgid "Udlejning af grill" +msgstr "Rental of grill" + +#: web/templates/base.html:69 +msgid "Udlejning af projektor" +msgstr "Rental of projector" + +#: web/templates/base.html:70 +msgid "Udlejning af højtalere" +msgstr "Rental of speakers" + +#: web/templates/base.html:77 +msgid "Events" +msgstr "Events" + +#: web/templates/base.html:78 +msgid "Om baren" +msgstr "About" + +#: web/templates/base.html:80 +msgid "Profil" +msgstr "Profile" + +#: web/templates/base.html:82 +msgid "Krydlistestatus" +msgstr "Tab status" + +#: web/templates/base.html:83 +msgid "Bartenderprofil" +msgstr "Bartender profile" + +#: web/templates/base.html:86 +msgid "Admin" +msgstr "Admin" + +#: web/templates/base.html:91 +msgid "Log ud" +msgstr "Log out" + +#: web/templates/base.html:109 +msgid "er en fredagsbar for datalogi og IT på Aarhus Universitet." +msgstr "is a friday bar for computer science and IT at Aarhus University." + +#~ msgid "Fadølsanlæggene" +#~ msgstr "Kegerators" diff --git a/requirements.in b/requirements.in index 31348ac..9cfb38d 100644 --- a/requirements.in +++ b/requirements.in @@ -20,3 +20,5 @@ django-constance[database] iterfzf celery[redis] django-celery-beat +django-rosetta==0.9.9 +lxml_html_clean diff --git a/requirements.txt b/requirements.txt index 7844924..2491fd5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,49 +1,67 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # pip-compile requirements.in # -amqp==5.0.6 +amqp==5.2.0 # via kombu appdirs==1.4.4 # via pyppeteer -asgiref==3.3.4 +appnope==0.1.4 + # via ipython +asgiref==3.8.1 # via django backcall==0.2.0 # via ipython beautifulsoup4==4.9.3 # via bs4 -billiard==3.6.4.0 +billiard==4.2.0 # via celery bs4==0.0.1 # via requests-html -celery[redis]==5.2.0 +celery[redis]==5.4.0 # via # -r requirements.in # django-celery-beat certifi==2021.5.30 # via requests -chardet==4.0.0 +charset-normalizer==3.3.2 # via requests -click-didyoumean==0.0.3 - # via celery -click-plugins==1.1.1 - # via celery -click-repl==0.2.0 - # via celery -click==8.0.2 +click==8.1.7 # via # celery # click-didyoumean # click-plugins # click-repl +click-didyoumean==0.3.1 + # via celery +click-plugins==1.1.1 + # via celery +click-repl==0.2.0 + # via celery cssselect==1.1.0 # via pyquery decorator==5.0.9 # via ipython dj-config-url==0.1.1 # via -r requirements.in +django==3.2.4 + # via + # -r requirements.in + # django-bootstrap-datepicker-plus + # django-bootstrap3 + # django-celery-beat + # django-cors-headers + # django-extensions + # django-ical + # django-logentry-admin + # django-picklefield + # django-recaptcha + # django-recurrence + # django-rosetta + # django-timezone-field + # djangorestframework django-bootstrap-datepicker-plus==3.0.5 # via -r requirements.in django-bootstrap3==15.0.0 @@ -68,23 +86,10 @@ django-recaptcha==2.0.6 # via -r requirements.in django-recurrence==1.10.3 # via django-ical +django-rosetta==0.9.9 + # via -r requirements.in django-timezone-field==4.1.2 # via django-celery-beat -django==3.2.4 - # via - # -r requirements.in - # django-bootstrap-datepicker-plus - # django-bootstrap3 - # django-celery-beat - # django-cors-headers - # django-extensions - # django-ical - # django-logentry-admin - # django-picklefield - # django-recaptcha - # django-recurrence - # django-timezone-field - # djangorestframework djangorestframework==3.12.4 # via -r requirements.in fake-useragent==0.1.11 @@ -95,18 +100,22 @@ icalendar==4.0.7 # via django-ical idna==2.10 # via requests -ipython-genutils==0.2.0 - # via traitlets ipython==7.24.1 # via -r requirements.in +ipython-genutils==0.2.0 + # via traitlets iterfzf==0.5.0.20.0 # via -r requirements.in jedi==0.18.0 # via ipython -kombu==5.2.1 +kombu==5.3.7 # via celery -lxml==4.6.3 - # via pyquery +lxml==5.2.1 + # via + # lxml-html-clean + # pyquery +lxml-html-clean==0.1.1 + # via -r requirements.in matplotlib-inline==0.1.2 # via ipython parse==1.19.0 @@ -119,11 +128,13 @@ pickleshare==0.7.5 # via ipython pillow==8.2.0 # via -r requirements.in +polib==1.2.0 + # via django-rosetta prompt-toolkit==3.0.18 # via # click-repl # ipython -psycopg2==2.8.6 +psycopg2==2.9.9 # via -r requirements.in ptyprocess==0.7.0 # via pexpect @@ -137,8 +148,9 @@ pyquery==1.4.3 # via requests-html python-crontab==2.5.1 # via django-celery-beat -python-dateutil==2.8.1 +python-dateutil==2.9.0.post0 # via + # celery # django-recurrence # icalendar # python-crontab @@ -146,17 +158,18 @@ python-dotenv==0.17.1 # via -r requirements.in pytz==2021.1 # via - # celery # django # django-recurrence # django-timezone-field # icalendar -redis==3.5.3 +redis==5.0.7 # via celery +requests==2.32.3 + # via + # django-rosetta + # requests-html requests-html==0.10.0 # via -r requirements.in -requests==2.25.1 - # via requests-html six==1.16.0 # via # click-repl @@ -172,11 +185,13 @@ traitlets==5.0.5 # via # ipython # matplotlib-inline +tzdata==2024.1 + # via celery urllib3==1.26.5 # via # pyppeteer # requests -vine==5.0.0 +vine==5.1.0 # via # amqp # celery diff --git a/udlejning/models.py b/udlejning/models.py index 655651a..e60fbcb 100644 --- a/udlejning/models.py +++ b/udlejning/models.py @@ -1,4 +1,5 @@ from django.db import models +from django.utils.translation import ugettext_lazy as _ from bartenders.models import Bartender @@ -8,58 +9,62 @@ class Meta: abstract = True PAYMENT_CHOICES = ( - ("EAN", "EAN"), - ("invoice", "Faktura"), - ("card", "Kort i baren"), + ("EAN", _("EAN")), + ("invoice", _("Faktura")), + ("card", _("Kort i baren")), ) dateFrom = models.DateTimeField( - verbose_name="Start dato & tid", - help_text="Hvornår skal anlægget afhentes/stilles op?", + verbose_name=_("Start dato & tid"), + help_text=_("Hvornår skal anlægget afhentes/stilles op?"), ) dateTo = models.DateTimeField( blank=True, null=True, - verbose_name="Slut dato & tid", - help_text="Hvornår skal anlægget afleveres/pilles ned?", + verbose_name=_("Slut dato & tid"), + help_text=_("Hvornår skal anlægget afleveres/pilles ned?"), ) - whoReserved = models.CharField(max_length=140, verbose_name="Hvem er I?") + whoReserved = models.CharField(max_length=140, verbose_name=_("Hvem er I?")) - contactEmail = models.EmailField(verbose_name="Email til kontaktperson") + contactEmail = models.EmailField(verbose_name=_("Email til kontaktperson")) contactPhone = models.IntegerField( - verbose_name="Telefonnummer til kontaktperson", blank=True, null=True + verbose_name=_("Telefonnummer til kontaktperson"), blank=True, null=True ) whoPays = models.CharField( max_length=140, - verbose_name="Hvem betaler?", - help_text="Hvem skal regningen sendes til? (Fulde navn på person, virksomhed eller organisation)", + verbose_name=_("Hvem betaler?"), + help_text=_( + "Hvem skal regningen sendes til? (Fulde navn på person, virksomhed eller organisation)" + ), ) paymentType = models.CharField( max_length=140, choices=PAYMENT_CHOICES, - verbose_name="Betalingsform", - help_text="Hvordan bliver der betalt?", + verbose_name=_("Betalingsform"), + help_text=_("Hvordan bliver der betalt?"), ) EANnumber = models.BigIntegerField( - verbose_name="EAN-nummer", + verbose_name=_("EAN-nummer"), blank=True, null=True, - help_text="Skal kun angives, hvis der skal faktureres til et EAN-nummer", + help_text=_("Skal kun angives, hvis der skal faktureres til et EAN-nummer"), ) where = models.TextField( max_length=140, - verbose_name="Lokation", - help_text="Hvor bliver arrangmentet afholdt?", + verbose_name=_("Lokation"), + help_text=_("Hvor bliver arrangmentet afholdt?"), ) expectedConsummation = models.TextField( max_length=140, - verbose_name="Forventet forbrug", - help_text="Hvilke slags øl eller andre drikkevarer ønskes der og hvor mange fustager af hver type?", + verbose_name=_("Forventet forbrug"), + help_text=_( + "Hvilke slags øl eller andre drikkevarer ønskes der og hvor mange fustager af hver type?" + ), ) - comments = models.TextField(blank=True, verbose_name="Kommentarer") + comments = models.TextField(blank=True, verbose_name=_("Kommentarer")) def __str__(self): return f"{self.dateFrom} {self.whoReserved}" @@ -67,54 +72,54 @@ def __str__(self): class Udlejning(UdlejningCommon): ASSOCIATION_CHOICES = ( - ("internal", "Intern"), - ("external", "Ekstern"), + ("internal", _("Intern")), + ("external", _("Ekstern")), ) STATUS_CHOICES = ( - ("notsent", "Regning ikke sendt"), - ("sent", "Regning sendt"), - ("paid", "Regning betalt"), + ("notsent", _("Regning ikke sendt")), + ("sent", _("Regning sendt")), + ("paid", _("Regning betalt")), ) SYSTEM_CHOICES = ( - ("small", "Lille"), - ("medium", "Mellem"), + ("small", _("Lille")), + ("medium", _("Mellem")), ) draftBeerSystem = models.CharField( max_length=16, choices=SYSTEM_CHOICES, blank=True, - verbose_name="Fadølsanlæg", - help_text="Hvilket anlæg vil I låne?", + verbose_name=_("Fadølsanlæg"), + help_text=_("Hvilket anlæg vil I låne?"), ) association = models.CharField( max_length=16, choices=ASSOCIATION_CHOICES, blank=True, - verbose_name="Tilknytning", + verbose_name=_("Tilknytning"), ) actualConsummation = models.TextField( - max_length=140, blank=True, verbose_name="Faktisk forbrug" + max_length=140, blank=True, verbose_name=_("Faktisk forbrug") ) bartendersInCharge = models.ManyToManyField( - Bartender, blank=True, verbose_name="Ansvarlige" + Bartender, blank=True, verbose_name=_("Ansvarlige") ) - billSendTo = models.CharField(max_length=140, verbose_name="Send regning til") + billSendTo = models.CharField(max_length=140, verbose_name=_("Send regning til")) status = models.CharField(max_length=16, choices=STATUS_CHOICES, default="notsent") invoice_number = models.CharField( - max_length=32, blank=True, verbose_name="Fakturanummer" + max_length=32, blank=True, verbose_name=_("Fakturanummer") ) total_price = models.DecimalField( max_digits=9 + 2, decimal_places=2, blank=True, null=True, - verbose_name="Total pris", + verbose_name=_("Total pris"), ) payment_due_date = models.DateField( - blank=True, null=True, verbose_name="Betalingsdato" + blank=True, null=True, verbose_name=_("Betalingsdato") ) class Meta: diff --git a/udlejning/templates/udlejning.html b/udlejning/templates/udlejning.html index 2aacd9b..9c5738e 100644 --- a/udlejning/templates/udlejning.html +++ b/udlejning/templates/udlejning.html @@ -1,5 +1,5 @@ {% extends 'base.html' %} - +{% load i18n %} {% load bootstrap3 %} {% block extrahead %} @@ -8,123 +8,112 @@ {% block content %}

- Reservation af fadølsanlæg + {% translate "Reservation af fadølsanlæg" %}

- Fadølsanlæggene er allerede reserveret følgende dage + {% translate "Fadølsanlæggene er allerede reserveret følgende dage" %}

    {% for udlejning in udlejninger %}
  • {{ udlejning.dateFrom }}, - {% if udlejning.draftBeerSystem %} {{ udlejning.get_draftBeerSystem_display }} {% else %} Uspecificeret {% endif %} anlæg, - reserveret af {{ udlejning.whoReserved }} + {% if udlejning.draftBeerSystem %} {{ udlejning.get_draftBeerSystem_display }} {% else %} {% translate "Uspecificeret" %} {% endif %} {% translate "anlæg, + reserveret af" %} {{ udlejning.whoReserved }}
  • {% empty %}
  • - Anlæggene er pt ikke reserveret på noget tidspunkt + {% translate "Anlæggene er pt ikke reserveret på noget tidspunkt" %}
  • {% endfor %}

- Regler for udlån + {% translate "Regler for udlån" %}

- Disse regler er under revision, og der kan opstå fejl og mangler... + {% translate "Disse regler er under revision, og der kan opstå fejl og mangler..." %}

- Hvis vores anlæg ikke allerede er udlånt, kan du låne det ved at udfylde ansøgninsformularen nederst på denne side. - Anlæg udlånes kun til interne arrangementer eller til arrangementer med tilknytning til baren. + {% translate "Hvis vores anlæg ikke allerede er udlånt, kan du låne det ved at udfylde ansøgninsformularen nederst på denne side." %} + {% translate "Anlæg udlånes kun til" %} {% translate "interne arrangementer" %} {% translate "eller til" %} {% translate "arrangementer med tilknytning til baren" %}.

- Interne arrangementer: Udelukkende arrangementer der finder sted på - universitetet. Dette inkluderer: + {% translate "Interne arrangementer" %}: + {% translate "Udelukkende arrangementer der finder sted på universitetet. Dette inkluderer:" %}

    -
  • Instittutets arrangementer
  • -
  • Specialereceptioner
  • +
  • {% translate "Instittutets arrangementer" %}
  • +
  • {% translate "Specialereceptioner" %}

- Arrangementer med tilknytning: Arrangementer der finder sted på - universitetet eller andetsteds, kan være af privat natur. Dette inkluderer: + {% translate "Arrangementer med tilknytning" %}: + {% translate "Arrangementer der finder sted på universitetet eller andetsteds, kan være af privat natur. Dette inkluderer:" %}

    -
  • Eksterne virksomheder, der af en årsag har tilknytning til baren
  • -
  • Arrangementer af bestyrelsesmedlemmer
  • -
  • I nogle tilfælde, arrangementer af bartendere
  • +
  • {% translate "Eksterne virksomheder, der af en årsag har tilknytning til baren" %}
  • +
  • {% translate "Arrangementer af bestyrelsesmedlemmer" %}
  • +
  • {% translate "I nogle tilfælde, arrangementer af bartendere" %}

- Indtil videre dækker følgende regler for de to grupper: + {% translate "Indtil videre dækker følgende regler for de to grupper" %}:

- Interne arrangermenter: - 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. + {% translate "Interne arrangermenter" %}: + {% translate "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." %}

- Arrangementer med tilknytning: - Her inkluderer udlån udelukkende oplås og aflås af fadølsanlægget. Det vil + {% translate "Arrangementer med tilknytning" %}: + {% translate "Her inkluderer udlån udelukkende oplås og aflås af fadølsanlægget. Det vil sige at anlægget skal afhentes i Ada-0, og afleveres rengjort i Ada-0. Afleveringstid af anlægget skal aftales i dialog med den ansvarlige for det - praktiske, og er ikke nødvendigvis samme dag. + praktiske, og er ikke nødvendigvis samme dag." %}

- Anmod om udlejning i god tid + {% translate "Anmod om udlejning i god tid" %}

- 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. + {% translate "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." %}
- Derfor skal du, for at være sikker på at kunne låne anlægget, skrive mindst 7 dage i forvejen. Vi vil derfor, senest 5 dage før, melde ud - hvorvidt nogen i bestyrelsen har 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. + {% translate "Derfor skal du, for at være sikker på at kunne låne anlægget" %}, {% translate "skrive mindst 7 dage i forvejen" %}. + {% translate "Vi vil derfor, senest 5 dage før, melde ud hvorvidt nogen i bestyrelsen har 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." %}

- Generelle informationer + {% translate "Generelle informationer" %}

  • - Der betales per åbnet fustage. + {% translate "Der betales per åbnet fustage." %}
  • - Vores primære fadøl er + {% translate "Vores primære fadøl er" %} Aarhus Ekstra Pilsner - , som kommer i 25 liters fustager. Prisen er 750 kr. pr. fustage - (incl. moms) + {% translate ", som kommer i 25 liters fustager. Prisen er 750 kr. pr. fustage (incl. moms)" %}
  • - Udover den primære fadøl, kan man få de øl som står inde på Aarhus Bryghus' - hjemmeside, som fast kan fås på fad. Dvs. + {% translate "Udover den primære fadøl, kan man få de øl som står inde på Aarhus Bryghus' hjemmeside, som fast kan fås på fad. Dvs." %} Klosterbryg, Forårsbryg, Celebration - og + {% translate "og" %} Blondie - (afhængig af sæson). Prisen er 800 kr. pr. fustage (incl. moms) + {% translate "(afhængig af sæson). Prisen er 800 kr. pr. fustage (incl. moms)" %}
  • - Vi sælger også Magners Cider på fustage, der koster 1250 kr. pr. fustage (incl. moms). + {% translate "Vi sælger også Magners Cider på fustage, der koster 1250 kr. pr. fustage (incl. moms)." %}
  • - Vi har et sortiment af special-øl tilgængeligt på: (det er ikke tilgængelig - pt. men man kan skrive en mail til best@fredagscafeen.dk) + {% translate "Vi har et sortiment af special-øl tilgængeligt på: (det er ikke tilgængelig pt. men man kan skrive en mail til" %} best@fredagscafeen.dk)
  • - Derudover leverer vi også sodavand og chips. Sodavand koster 5 kr/stk og - chips koster 20kr/pose, der betales pr. åbnet enhed. + {% translate "Derudover leverer vi også sodavand og chips. Sodavand koster 10 kr/stk og chips koster 20kr/pose, der betales pr. åbnet enhed." %}

- Ansøgninsformular + {% translate "Ansøgninsformular" %}

diff --git a/udlejning/templates/udlejningGrill.html b/udlejning/templates/udlejningGrill.html index 03fa22f..2185a95 100644 --- a/udlejning/templates/udlejningGrill.html +++ b/udlejning/templates/udlejningGrill.html @@ -1,35 +1,36 @@ {% extends 'base.html' %} {% block content %} +{% load i18n %} -

Reservation af Grill

+

{% translate "Reservation af Grill" %}

-

Grillen er allerede reserveret følgende dage

+

{% translate "Grillen" %} {% translate "er allerede reserveret følgende dage" %}

    {% for udlejningGrill in udlejningerGrill %} -
  • {{ udlejningGrill.dateFrom }}, reserveret af {{ udlejningGrill.whoReserved }}
  • +
  • {{ udlejningGrill.dateFrom }}, {% translate "reserveret af" %} {{ udlejningGrill.whoReserved }}
  • {% empty %} -
  • Grillen er pt ikke reserveret på noget tidspunkt
  • +
  • {% translate "Grillen" %} {% translate "er pt ikke reserveret på noget tidspunkt" %}
  • {% endfor %}

- Hvis vores grill ikke allerede er udlånt, kan du låne den ved at sende en mail til + {% translate "Hvis vores" %} {% translate "grill" %} {% translate "ikke allerede er udlånt, kan du låne den ved at sende en mail til" %} best@fredagscafeen.dk. - Grillen kan kun lånes til arrangementer på instituttet. + {% translate "Grillen" %} {% translate "kan kun lånes til arrangementer på instituttet." %}

- Mere info om grillen kommer senere. + {% translate "Mere info om grillen kommer senere." %}

- Indholdet af email med anmodning om udlån: - Når du kontakter Best for at låne grillen, skal der stå følgende: + {% translate "Indholdet af email med anmodning om udlån" %}: + {% translate "Når du kontakter Best for at låne grillen, skal der stå følgende" %}:

    -
  • Hvor man ønsker grillen opstillet
  • -
  • Hvornår man ønsker grillen opstiller (fra hvornår til ca. hvornår)
  • -
  • Kontaktinformation
  • +
  • {% translate "Hvor man ønsker grillen opstillet" %}
  • +
  • {% translate "Hvornår man ønsker grillen opstiller (fra hvornår til ca. hvornår)" %}
  • +
  • {% translate "Kontaktinformation" %}
{% endblock %} diff --git a/udlejning/templates/udlejningProjector.html b/udlejning/templates/udlejningProjector.html index 7efd2f2..da1515f 100644 --- a/udlejning/templates/udlejningProjector.html +++ b/udlejning/templates/udlejningProjector.html @@ -1,23 +1,24 @@ {% extends 'base.html' %} {% block content %} +{% load i18n %} -

Reservation af projektor & lærred

+

{% translate "Reservation af projektor" %} & {% translate "lærred" %}

-

Projektoren/lærredet er allerede reserveret følgende dage

+

{% translate "Projektoren/lærredet" %} {% translate "er allerede reserveret følgende dage" %}

    {% for u in object_list %} -
  • {{ u.dateFrom }}, reserveret af {{ u.whoReserved }}
  • +
  • {{ u.dateFrom }}, {% translate "reserveret af" %} {{ u.whoReserved }}
  • {% empty %} -
  • Projektoren/lærredet er pt ikke reserveret på noget tidspunkt
  • +
  • {% translate "Projektoren/lærredet" %} {% translate "er pt ikke reserveret på noget tidspunkt" %}
  • {% endfor %}

- Hvis vores projektor/lærred ikke allerede er udlånt, kan du låne den ved at sende en mail til + {% translate "Hvis vores" %} {% translate "projektor/lærred" %} {% translate "ikke allerede er udlånt, kan du låne den ved at sende en mail til" %} best@fredagscafeen.dk. - Projektoren/lærredet kan kun lånes til arrangementer på instituttet. + {% translate "Projektoren/lærredet" %} {% translate "kan kun lånes til arrangementer på instituttet." %}

{% endblock %} diff --git a/udlejning/templates/udlejningSpeakers.html b/udlejning/templates/udlejningSpeakers.html index 2bfa195..de4e359 100644 --- a/udlejning/templates/udlejningSpeakers.html +++ b/udlejning/templates/udlejningSpeakers.html @@ -1,23 +1,24 @@ {% extends 'base.html' %} {% block content %} +{% load i18n %} -

Reservation af højtalere

+

{% translate "Reservation af højtalere" %}

-

Højtalerne allerede reserveret følgende dage

+

{% translate "Højtalerne" %} {% translate "er allerede reserveret følgende dage" %}

    {% for u in object_list %} -
  • {{ u.dateFrom }}, reserveret af {{ u.whoReserved }}
  • +
  • {{ u.dateFrom }}, {% translate "reserveret af" %} {{ u.whoReserved }}
  • {% empty %} -
  • Højtalerne er pt ikke reserveret på noget tidspunkt
  • +
  • {% translate "Højtalerne" %} {% translate "er pt ikke reserveret på noget tidspunkt" %}
  • {% endfor %}

- Hvis vores højtalere ikke allerede er udlånt, kan du låne den ved at sende en mail til + {% translate "Hvis vores" %} {% translate "højtalere" %} {% translate "ikke allerede er udlånt, kan du låne den ved at sende en mail til" %} best@fredagscafeen.dk. - Højtalerne kan kun lånes til arrangementer på instituttet. + {% translate "Højtalerne" %} {% translate "kan kun lånes til arrangementer på instituttet." %}

{% endblock %} diff --git a/web/static/css/stylesheet.css b/web/static/css/stylesheet.css index 350d2be..2d22feb 100644 --- a/web/static/css/stylesheet.css +++ b/web/static/css/stylesheet.css @@ -1,19 +1,44 @@ +:root { + --datblue: #152ff5; + } + .banner h1 { - color: midnightblue; - font-family: serif; + color: var(--datblue); + font-family: "Times New Roman", Times, serif; display: inline-block; } -.banner img { +.logo { height: 50px; display: inline-block; padding-bottom: 12px; } +.locale { + float: right; + margin: 10px; + padding: 0px; + height: 25px; + border: solid; + border-width: 0px; + border-radius: 5px; + border-color: white; +} + +.center-align { + display: flex; + align-items: center; + justify-content: space-between; +} + ul.navbar-nav { margin: 0px !important; } +.navbar-brand { + font-family: "Times New Roman", Times, serif; +} + .navbar-default .navbar-nav > li > a { color: #337ab7 !important; } diff --git a/web/static/images/dannebro.png b/web/static/images/dannebro.png new file mode 100644 index 0000000..ea85313 Binary files /dev/null and b/web/static/images/dannebro.png differ diff --git a/web/static/images/unionjac.png b/web/static/images/unionjac.png new file mode 100644 index 0000000..bca9297 Binary files /dev/null and b/web/static/images/unionjac.png differ diff --git a/web/templates/about.html b/web/templates/about.html index f99afd9..190c835 100644 --- a/web/templates/about.html +++ b/web/templates/about.html @@ -1,6 +1,7 @@ {% extends 'base.html' %} {% block content %} +{% load i18n %} -

Generel info

+

{% translate "Generel info" %}

-

Fredagscaféen befinder sig kælderen i Nygaard-bygningen på Institut for Datalogi, Finlandsgade 21, 8200 Aarhus N. -Baren har åbent alle fredage fra klokken 15.00 til vi lukker.

+

Fredagscaféen {% translate "befinder sig kælderen i Nygaard-bygningen på Institut for Datalogi" %}, Finlandsgade 21, 8200 Aarhus N. +{% translate "Baren har åbent" %} {% translate "alle" context "Baren har åbent alle fredage..." %} {% translate "fredage fra klokken 15.00 til vi lukker." %}

@@ -33,8 +34,8 @@

Generel info


-

Direktion

-

Fredagscaféens direktion består af:

+

{% translate "Direktion" %}

+

Fredagscaféen{% translate "s direktion består af" %}:

Navn{% translate "Navn" %}{{ choice.name }}