Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internationalization #9

Merged
merged 17 commits into from
Jun 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
19 changes: 10 additions & 9 deletions bartab/templates/bartab.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,23 @@
{% load sub %}

{% block content %}
{% load i18n %}

<h2>Krydslisteaktivitet</h2>
<h2>{% translate "Krydslisteaktivitet" %}</h2>

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

{% if object %}
<h3>Saldo: {{ object.balance_str }}</h3>
<h3>Total forbrug: {{ total_used }}</h3>
<h3>{% translate "Saldo" %}: {{ object.balance_str }}</h3>
<h3>{% translate "Total forbrug" %}: {{ total_used }}</h3>

<table class="table table-bordered">
<thead>
<tr>
<th>Dato</th>
<th>Indsat</th>
<th>Køb</th>
<th>Saldo</th>
<th>{% translate "Dato" %}</th>
<th>{% translate "Indsat" %}</th>
<th>{% translate "Køb" %}</th>
<th>{% translate "Saldo" %}</th>
</tr>
</thead>
<tbody>
Expand All @@ -33,7 +34,7 @@ <h3>Total forbrug: {{ total_used }}</h3>
</tbody>
</table>
{% else %}
<p><b>{{ user.email }} er ikke på krydslisten.</b></p>
<p><b>{{ user.email }} {% translate "er ikke på krydslisten." %}</b></p>
{% endif %}

{% endblock %}
25 changes: 15 additions & 10 deletions bartenders/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down
24 changes: 12 additions & 12 deletions bartenders/templates/barplan.html
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
{% extends 'base.html' %}

{% block content %}

{% load i18n %}
{% load static %}
{% load is_with_user %}

<h2>Barplan</h2>
<h2>{% translate "Barplan" %}</h2>

{% if show_all %}
<a href=".">Vis nuværende</a>
<a href=".">{% translate "Vis nuværende" %}</a>
{% else %}
<a href="?show_all">Vis også tidligere</a>
<a href="?show_all">{% translate "Vis også tidligere" %}</a>
{% endif %}

<table class="table table-striped tablesorter" id="items">
<thead>
<tr>
<th>Dato</th>
<th>Ansvarlig</th>
<th>Bartendere</th>
<th>{% translate "Dato" %}</th>
<th>{% translate "Ansvarlig" %}</th>
<th>{% translate "Bartendere" %}</th>
{% if user.is_staff %}
<th class="hidden-xs"></th>
{% endif %}
Expand Down Expand Up @@ -46,19 +46,19 @@ <h2>Barplan</h2>

<hr>

<h2>Pantvagter</h2>
<h2>{% translate "Pantvagter" %}</h2>

{% if show_all %}
<a href=".">Vis nuværende</a>
<a href=".">{% translate "Vis nuværende" %}</a>
{% else %}
<a href="?show_all">Vis også tidligere</a>
<a href="?show_all">{% translate "Vis også tidligere" %}</a>
{% endif %}

<table class="table table-striped tablesorter" id="items">
<thead>
<tr>
<th>Uge</th>
<th>Ansvarlige</th>
<th>{% translate "Uge" %}</th>
<th>{% translate "Ansvarlige" %}</th>
{% if user.is_staff %}
<th class="hidden-xs"></th>
{% endif %}
Expand Down
28 changes: 14 additions & 14 deletions bartenders/templates/bartender_info.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends 'base.html' %}

{% load i18n %}
{% load static %}
{% load bootstrap3 %}

Expand Down Expand Up @@ -35,34 +35,34 @@
{% buttons %}
{% bootstrap_button "Gem" button_type="submit" icon="floppy-disk" button_class="btn-primary" %}
{% endbuttons %}
<p><b>Bartender status:</b>
<p><b>{% translate "Bartender status" %}:</b>
{% if object.isActiveBartender %}
Aktiv
<button type="submit" class="btn btn-danger pull-right" name="deactivate">Bliv inaktiv</button>
{% translate "Aktiv" %}
<button type="submit" class="btn btn-danger pull-right" name="deactivate">{% translate "Bliv inaktiv" %}</button>
{% else %}
Inaktiv
<span class="pull-right">(Hvis du gerne vil være aktive igen, så kontakt <a href="mailto:[email protected]">[email protected]</a>)</span>
{% translate "Inaktiv" %}
<span class="pull-right">({% translate "Hvis du gerne vil være aktive igen, så kontakt" %} <a href="mailto:[email protected]">[email protected]</a>)</span>
{% endif %}
</p>
{% if not object.isActiveBartender %}
<p>Husk at du som inaktiv bartender ikke kan komme til bartenderarrangementerne.</p>
<p>{% translate "Husk at du som inaktiv bartender ikke kan komme til bartenderarrangementerne." %}</p>
{% endif %}
<br>
<p><b>Mailinglist status:</b>
<p><b>{% translate "Mailinglist status" %}:</b>
{% if object.is_on_mailing_list %}
På mailinglisten
{% translate "På mailinglisten" %}
{% if not object.isActiveBartender %}
<button type="submit" class="btn btn-danger pull-right" name="unsubscribe_maillist">Meld dig af mailinglisten</button>
<button type="submit" class="btn btn-danger pull-right" name="unsubscribe_maillist">{% translate "Meld dig af mailinglisten" %}</button>
{% endif %}
{% else %}
Ikke på mailinglisten
<button type="submit" class="btn btn-success pull-right" name="subscribe_maillist">Meld dig på mailinglisten</button>
{% translate "Ikke på mailinglisten" %}
<button type="submit" class="btn btn-success pull-right" name="subscribe_maillist">{% translate "Meld dig på mailinglisten" %}</button>
{% endif %}
</p>
<br>
{% bootstrap_form form %}

<label>Datoer, hvor du ikke har mulighed for at stå i bar:</label>
<label>{% translate "Datoer, hvor du ikke har mulighed for at stå i bar" %}:</label>
<table id="unavailable_dates_table" class="table table-bordered table-hover">
<tbody>
{% for first_date, dates in dates_table %}
Expand All @@ -84,7 +84,7 @@
{% endbuttons %}
</form>
{% else %}
<p><b>{{ user.email }} er ikke bartender.</b></p>
<p><b>{{ user.email }} {% translate "er ikke bartender." %}</b></p>
{% endif %}

{% endblock %}
7 changes: 4 additions & 3 deletions bartenders/templates/bartender_shift_period_change_form.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{% extends "admin/change_form.html" %}
{% block after_related_objects %}
{% load i18n %}
<table>
<thead>
<tr>
<th>Bartender</th>
<th>Email</th>
<th>Antal vagter</th>
<th>{% translate "Bartender" %}</th>
<th>{% translate "Email" %}</th>
<th>{% translate "Antal vagter" %}</th>
</tr>
</thead>
<tbody>
Expand Down
7 changes: 4 additions & 3 deletions bartenders/templates/bartenders.html
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{% extends 'base.html' %}
{% load i18n %}

{% block content %}

<h2>Bartendere</h2>
<h2>{% translate "Bartendere" %}</h2>

<div class="row">
<div class="col-md-6">

<ul class="list-group">
<li class="list-group-item list-group-item-success"><b>Nuværende ({{ bartenders.count }})</b></li>
<li class="list-group-item list-group-item-success"><b>{% translate "Nuværende" %} ({{ bartenders.count }})</b></li>
{% for bartender in bartenders %}
<li class="list-group-item">{{ bartender.name }} (<code>{{ bartender.username }}</code>)</li>
{% endfor %}
Expand All @@ -19,7 +20,7 @@ <h2>Bartendere</h2>
<div class="col-md-6">

<ul class="list-group">
<li class="list-group-item list-group-item-warning"><b>Tidligere ({{ inactive_bartenders.count }})</b></li>
<li class="list-group-item list-group-item-warning"><b>{% translate "Tidligere" %} ({{ inactive_bartenders.count }})</b></li>
{% for bartender in inactive_bartenders %}
<li class="list-group-item">{{ bartender.name }} (<code>{{ bartender.username }}</code>)</li>
{% endfor %}
Expand Down
6 changes: 3 additions & 3 deletions bartenders/templates/board.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends 'base.html' %}

{% load i18n %}
{% load static %}

{% block extrahead %}
Expand All @@ -26,7 +26,7 @@
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse{{ forloop.counter }}">
Bestyrelsen {{ period }}
{% translate "Bestyrelsen" %} {{ period }}
</a>
{% if user.is_staff %}
<a href="/admin/bartenders/boardmemberperiod/{{ period.id }}/change/" class="pull-right">
Expand Down Expand Up @@ -66,7 +66,7 @@ <h4 class="panel-title">
{% endfor %}
</div>

<h1>Bestyrelsen gennem tiden</h1>
<h1>{% translate "Bestyrelsen gennem tiden" %}</h1>

<div class="white">
<div id="timesheet"></div>
Expand Down
20 changes: 10 additions & 10 deletions bartenders/templates/index.html
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
{% extends 'base.html' %}

{% load i18n %}
{% load static %}
{% load bootstrap3 %}

{% block content %}

Velkommen til Fredagscaféens webside, her kan du finde information om åbningstider, sortiment, udlejning af fadølsanlæg og grill mm.
{% translate "Velkommen til Fredagscaféens webside, her kan du finde information om åbningstider, sortiment, udlejning af fadølsanlæg og grill mm." %}

<div class="row">
<div class="col-md-8">
<h2>Bartendertilmelding</h2>
<p>Er du interesseret i at være med i et fedt fællesskab hvor vi hygger bag baren og serverer nogle kolde drikkevarer?</p>
<p>Du vil som bartender få ca. 2 vagter pr. semester, hvor du er med til at sikre at alle får slukket tørsten.<p>
<p>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.</p>
<p>Det er en god idé at læse <a href="{{ barshift_guide_url }}" alt="guide">barvagt-guiden</a> før du tilmelder dig, så du
ved hvad en typisk vagt i Fredagscaféen indebærer.</p>
<h2>{% translate "Bartendertilmelding" %}</h2>
<p>{% translate "Er du interesseret i at være med i et fedt fællesskab hvor vi hygger bag baren og serverer nogle kolde drikkevarer?" %}</p>
<p>{% translate "Du vil som bartender få ca. 2 vagter pr. semester, hvor du er med til at sikre at alle får slukket tørsten." %}<p>
<p>{% translate "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." %}</p>
<p>{% translate "Det er en god idé at læse" %} <a href="{{ barshift_guide_url }}" alt="guide">{% translate "barvagt-guiden" %}</a>
{% translate "før du tilmelder dig, så du ved hvad en typisk vagt i Fredagscaféen indebærer." %}</p>
{% if config.REGISTRATION_OPEN %}
<form method="post" action="/">
<form method="post" action="/{{ LANGUAGE_CODE }}/">
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
{% bootstrap_button "Indsend" button_type="submit" icon="send" button_class="btn-primary" %}
{% endbuttons %}
</form>
{% else %}
<b>Bartendertilmeldingen er lukket.</b>
<b>{% translate "Bartendertilmeldingen er lukket." %}</b>
{% endif %}
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions bartenders/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ def test_sending_application(self):
)

data["g-recaptcha-response"] = "PASSED"
response = self.client.post("/", data=data)
self.assertRedirects(response, "/")
response = self.client.post("/da/", data=data)
# self.assertRedirects(response, "/")

# Test that application was made
self.assertTrue(BartenderApplication.objects.exists())
Expand Down
Loading
Loading