diff --git a/src/fellchensammlung/mail.py b/src/fellchensammlung/mail.py
index 3f35747..2f36712 100644
--- a/src/fellchensammlung/mail.py
+++ b/src/fellchensammlung/mail.py
@@ -12,8 +12,8 @@ from notfellchen.settings import host
def mail_admins_new_report(report):
subject = _("New report")
for moderator in Member.objects.filter(Q(trust_level=Member.MODERATOR) | Q(trust_level=Member.ADMIN)):
- greeting = _("Moin,\r\n")
- new_report_text = "es wurde eine Vermittlung gemeldet.\r\n"
+ greeting = _("Moin,") + "\r\n"
+ new_report_text = _("es wurde eine Vermittlung gemeldet.") + "\r\n"
if len(report.reported_broken_rules.all()) > 0:
reported_rules_text = f"Ein Verstoß gegen die folgenden Regeln wurde gemeldet [{', '.join(report.reported_broken_rules.all())}]\r\n"
else:
diff --git a/src/fellchensammlung/templates/fellchensammlung/header.html b/src/fellchensammlung/templates/fellchensammlung/header.html
index 5a24d95..3a0dcb3 100644
--- a/src/fellchensammlung/templates/fellchensammlung/header.html
+++ b/src/fellchensammlung/templates/fellchensammlung/header.html
@@ -22,9 +22,26 @@
- {% else %}
+ {% else %}
Registrieren
Einloggen
{% endif %}
+
+
\ No newline at end of file
diff --git a/src/fellchensammlung/urls.py b/src/fellchensammlung/urls.py
index 010e14f..9202abe 100644
--- a/src/fellchensammlung/urls.py
+++ b/src/fellchensammlung/urls.py
@@ -47,4 +47,6 @@ urlpatterns = [
path('accounts/', include('django_registration.backends.activation.urls')),
path('accounts/', include('django.contrib.auth.urls')),
+ path('change-language', views.change_language, name="change-language")
+
]
diff --git a/src/fellchensammlung/views.py b/src/fellchensammlung/views.py
index 8d6d432..bc8229f 100644
--- a/src/fellchensammlung/views.py
+++ b/src/fellchensammlung/views.py
@@ -1,6 +1,9 @@
+from django.http import HttpResponseRedirect
from django.shortcuts import render, redirect
from django.urls import reverse
+from django.contrib.auth.decorators import login_required
from .mail import mail_admins_new_report
+from notfellchen import settings
from fellchensammlung.models import AdoptionNotice, MarkdownContent, Animal, Rule, Image, Report, ModerationAction, \
Member
@@ -15,6 +18,24 @@ def index(request):
return render(request, 'fellchensammlung/index.html', context=context)
+def change_language(request):
+ if request.method == 'POST':
+ language_code = request.POST.get('language')
+ if language_code:
+ if language_code != settings.LANGUAGE_CODE and language_code in list(zip(*settings.LANGUAGES))[0]:
+ redirect_path = f'/{language_code}/'
+ elif language_code == settings.LANGUAGE_CODE:
+ redirect_path = '/'
+ else:
+ response = HttpResponseRedirect('/')
+ return response
+ from django.utils import translation
+ translation.activate(language_code)
+ response = HttpResponseRedirect(redirect_path)
+ response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language_code)
+ return response
+
+
def adoption_notice_detail(request, adoption_notice_id):
adoption_notice = AdoptionNotice.objects.get(id=adoption_notice_id)
context = {"adoption_notice": adoption_notice}
@@ -33,6 +54,7 @@ def search(request):
return render(request, 'fellchensammlung/search.html', context=context)
+@login_required
def add_adoption(request):
if request.method == 'POST':
form = AdoptionNoticeForm(request.POST, request.FILES)
@@ -45,6 +67,7 @@ def add_adoption(request):
return render(request, 'fellchensammlung/forms/form_add_adoption.html', {'form': form})
+@login_required
def add_animal_to_adoption(request, adoption_notice_id):
if request.method == 'POST':
form = AnimalForm(request.POST)
diff --git a/src/locale/de/LC_MESSAGES/django.po b/src/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000..c42faad
--- /dev/null
+++ b/src/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,315 @@
+# 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: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-04-12 20:50+0000\n"
+"PO-Revision-Date: 2024-04-12 23:05+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: de\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-Generator: Poedit 3.4.2\n"
+
+#: build/lib/notfellchen/settings.py:214 src/notfellchen/settings.py:223
+msgid "English"
+msgstr "Englisch"
+
+#: build/lib/notfellchen/settings.py:215 src/notfellchen/settings.py:224
+msgid "German"
+msgstr "Deutsch"
+
+#: src/fellchensammlung/mail.py:13
+msgid "New report"
+msgstr "Neue Meldung"
+
+#: src/fellchensammlung/mail.py:15
+msgid "Moin,"
+msgstr ""
+
+#: src/fellchensammlung/mail.py:16
+msgid "es wurde eine Vermittlung gemeldet."
+msgstr ""
+
+#: src/fellchensammlung/models.py:26
+msgid "Enter a animal species"
+msgstr "Gib die Tierart an"
+
+#: src/fellchensammlung/models.py:27
+msgid "Name"
+msgstr "Name"
+
+#: src/fellchensammlung/models.py:34 src/fellchensammlung/models.py:35
+msgid "Species"
+msgstr "Tierart"
+
+#: src/fellchensammlung/models.py:54 src/fellchensammlung/models.py:82
+#: src/fellchensammlung/models.py:146
+msgid "Description"
+msgstr "Beschreibung"
+
+#: src/fellchensammlung/models.py:62
+msgid "Trusted"
+msgstr "Vertrauenswürdig"
+
+#: src/fellchensammlung/models.py:64
+msgid "Instagram profile"
+msgstr "Instagram Profil"
+
+#: src/fellchensammlung/models.py:65
+msgid "Facebook profile"
+msgstr "Facebook Profil"
+
+#: src/fellchensammlung/models.py:66
+msgid "Fediverse profile"
+msgstr "Fediverse Profil"
+
+#: src/fellchensammlung/models.py:67
+msgid "Website"
+msgstr "Website"
+
+#: src/fellchensammlung/models.py:79
+msgid "Created at"
+msgstr "Veröffentlicht am"
+
+#: src/fellchensammlung/models.py:80
+msgid "Searching for a home since"
+msgstr "Sucht nach einem Zuhause seit"
+
+#: src/fellchensammlung/models.py:84
+msgid "Organization"
+msgstr "Organisation"
+
+#: src/fellchensammlung/models.py:85
+msgid "Link to further information"
+msgstr "Link zur mehr Informationen"
+
+#: src/fellchensammlung/models.py:86
+msgid "Only group adoption"
+msgstr "Ausschließlich Adoption der ganzen Gruppe möglich"
+
+#: src/fellchensammlung/models.py:144
+msgid "Date of birth"
+msgstr "Geburtstag"
+
+#: src/fellchensammlung/models.py:222
+msgid "ID dieses reports"
+msgstr "ID des Reports"
+
+#: src/fellchensammlung/models.py:223
+msgid "ID"
+msgstr "ID"
+
+#: src/fellchensammlung/models.py:273
+msgid "Enter a natural languages name (e.g. English, French, Japanese etc.)."
+msgstr "Gib den Namen einer natürlichen Sprache ein (Detusch, Englisch etc..)"
+
+#: src/fellchensammlung/models.py:279
+msgid ""
+"Enter the language code for this language. For further information see "
+"http://www.i18nguy.com/unicode/language-identifiers.html"
+msgstr ""
+"Gib den Language Code der Sprache ein. Mehr Informationen: http://www."
+"i18nguy.com/unicode/language-identifiers.html"
+
+#: src/fellchensammlung/models.py:280
+msgid "Language code"
+msgstr ""
+
+#: src/fellchensammlung/models.py:287
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:11
+msgid "Language"
+msgstr "Sprache"
+
+#: src/fellchensammlung/models.py:288
+msgid "Languages"
+msgstr "Sprachen"
+
+#: src/fellchensammlung/models.py:323
+msgid "User"
+msgstr "Nutzer*in"
+
+#: src/fellchensammlung/models.py:325
+msgid "Preferred language"
+msgstr "Bevorzugte Sprache"
+
+#: src/fellchensammlung/models.py:329
+msgid "Member"
+msgstr ""
+
+#: src/fellchensammlung/models.py:330
+msgid "Members"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:7
+msgid "Username"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:8
+msgid "E-Mail"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:13
+msgid "No preferred language set."
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/index.html:5
+msgid "Notfellchen - Vermittlungen finden"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/index.html:6
+msgid ""
+"Alle Tiere brauchen ein liebendes Zuhause. Damit keins vergessen wird gibt "
+"es diese Seite. Entwickelt und betreut von "
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/index.html:8
+msgid "Aktuelle Vermittlungen"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/modqueue.html:5
+msgid "Modqueue"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/modqueue.html:6
+msgid ""
+"Erlaube oder blockiere Vermittlungsanzeigen die bisher noch zurückgehaltemn "
+"werden "
+msgstr ""
+
+#: src/templates/django_registration/activate.html:6
+msgid "Account activation failed"
+msgstr ""
+
+#: src/templates/django_registration/activation_complete.html:5
+msgid "You are now activated. Have fun."
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:2
+msgid "Activate account at"
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:4
+msgid "Activate by clicking this link"
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:5
+msgid "or open the following link in your browser"
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:8
+#, python-format
+msgid "Link is valid for %(expiration_days)s days."
+msgstr ""
+
+#: src/templates/django_registration/activation_email_subject.txt:1
+msgid "Account activation on"
+msgstr ""
+
+#: src/templates/django_registration/activation_failed.html:5
+msgid ""
+"Activation failed. Please send an e-mail to info@notfellchen.org to get an "
+"account."
+msgstr ""
+
+#: src/templates/django_registration/registration_closed.html:5
+msgid "Registration is currently closed."
+msgstr ""
+
+#: src/templates/django_registration/registration_complete.html:5
+msgid "You are now registered. Activation email sent."
+msgstr ""
+
+#: src/templates/django_registration/registration_form.html:10
+msgid "Submit"
+msgstr ""
+
+#: src/templates/django_registration/registration_form.html:13
+#: src/templates/registration/login.html:11
+msgid "You're already logged in."
+msgstr ""
+
+#: src/templates/registration/logged_out.html:5
+msgid "Logged out"
+msgstr ""
+
+#: src/templates/registration/logged_out.html:6
+msgid "Click here to login again."
+msgstr ""
+
+#: src/templates/registration/login.html:7
+msgid "Your username and password didn't match. Please try again."
+msgstr ""
+
+#: src/templates/registration/login.html:13
+msgid "Please login to see this page."
+msgstr ""
+"Bitte logg dich ein oder erstelle einen Account um diese Seite zu sehen."
+
+#: src/templates/registration/login.html:30
+msgid "login"
+msgstr ""
+
+#: src/templates/registration/login.html:34
+msgid "Lost password?"
+msgstr ""
+
+#: src/templates/registration/password_reset_complete.html:5
+msgid "The password has been changed!"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:6
+msgid "Please enter (and confirm) your new password."
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:12
+msgid "New password"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:17
+msgid "Confirm password"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:22
+msgid "Change my password"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:27
+msgid "Password reset failed"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:28
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: src/templates/registration/password_reset_done.html:5
+msgid ""
+"We've emailed you instructions for setting your password. If they haven't "
+"arrived in a few minutes, check your spam folder."
+msgstr ""
+
+#: src/templates/registration/password_reset_email.html:2
+msgid "Someone asked for password reset for your email. Follow the link below:"
+msgstr ""
+
+#: src/templates/registration/password_reset_form.html:10
+msgid "Password reset"
+msgstr ""
+
+#: src/templates/registration/password_reset_form.html:11
+msgid "Provide the e-mail address that is connected with your account"
+msgstr ""
+
+#: src/templates/registration/password_reset_form.html:13
+msgid "Reset"
+msgstr ""
diff --git a/src/locale/en/LC_MESSAGES/django.po b/src/locale/en/LC_MESSAGES/django.po
new file mode 100644
index 0000000..3b8d9df
--- /dev/null
+++ b/src/locale/en/LC_MESSAGES/django.po
@@ -0,0 +1,311 @@
+# 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-04-12 20:50+0000\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"
+
+#: build/lib/notfellchen/settings.py:214 src/notfellchen/settings.py:223
+msgid "English"
+msgstr ""
+
+#: build/lib/notfellchen/settings.py:215 src/notfellchen/settings.py:224
+msgid "German"
+msgstr ""
+
+#: src/fellchensammlung/mail.py:13
+msgid "New report"
+msgstr ""
+
+#: src/fellchensammlung/mail.py:15
+msgid "Moin,"
+msgstr ""
+
+#: src/fellchensammlung/mail.py:16
+msgid "es wurde eine Vermittlung gemeldet."
+msgstr ""
+
+#: src/fellchensammlung/models.py:26
+msgid "Enter a animal species"
+msgstr ""
+
+#: src/fellchensammlung/models.py:27
+msgid "Name"
+msgstr ""
+
+#: src/fellchensammlung/models.py:34 src/fellchensammlung/models.py:35
+msgid "Species"
+msgstr ""
+
+#: src/fellchensammlung/models.py:54 src/fellchensammlung/models.py:82
+#: src/fellchensammlung/models.py:146
+msgid "Description"
+msgstr ""
+
+#: src/fellchensammlung/models.py:62
+msgid "Trusted"
+msgstr ""
+
+#: src/fellchensammlung/models.py:64
+msgid "Instagram profile"
+msgstr ""
+
+#: src/fellchensammlung/models.py:65
+msgid "Facebook profile"
+msgstr ""
+
+#: src/fellchensammlung/models.py:66
+msgid "Fediverse profile"
+msgstr ""
+
+#: src/fellchensammlung/models.py:67
+msgid "Website"
+msgstr ""
+
+#: src/fellchensammlung/models.py:79
+msgid "Created at"
+msgstr ""
+
+#: src/fellchensammlung/models.py:80
+msgid "Searching for a home since"
+msgstr ""
+
+#: src/fellchensammlung/models.py:84
+msgid "Organization"
+msgstr ""
+
+#: src/fellchensammlung/models.py:85
+msgid "Link to further information"
+msgstr ""
+
+#: src/fellchensammlung/models.py:86
+msgid "Only group adoption"
+msgstr ""
+
+#: src/fellchensammlung/models.py:144
+msgid "Date of birth"
+msgstr ""
+
+#: src/fellchensammlung/models.py:222
+msgid "ID dieses reports"
+msgstr ""
+
+#: src/fellchensammlung/models.py:223
+msgid "ID"
+msgstr ""
+
+#: src/fellchensammlung/models.py:273
+msgid "Enter a natural languages name (e.g. English, French, Japanese etc.)."
+msgstr ""
+
+#: src/fellchensammlung/models.py:279
+msgid ""
+"Enter the language code for this language. For further information see "
+"http://www.i18nguy.com/unicode/language-identifiers.html"
+msgstr ""
+
+#: src/fellchensammlung/models.py:280
+msgid "Language code"
+msgstr ""
+
+#: src/fellchensammlung/models.py:287
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:11
+msgid "Language"
+msgstr ""
+
+#: src/fellchensammlung/models.py:288
+msgid "Languages"
+msgstr ""
+
+#: src/fellchensammlung/models.py:323
+msgid "User"
+msgstr ""
+
+#: src/fellchensammlung/models.py:325
+msgid "Preferred language"
+msgstr ""
+
+#: src/fellchensammlung/models.py:329
+msgid "Member"
+msgstr ""
+
+#: src/fellchensammlung/models.py:330
+msgid "Members"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:7
+msgid "Username"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:8
+msgid "E-Mail"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/details/detail-member.html:13
+msgid "No preferred language set."
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/index.html:5
+msgid "Notfellchen - Vermittlungen finden"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/index.html:6
+msgid ""
+"Alle Tiere brauchen ein liebendes Zuhause. Damit keins vergessen wird gibt "
+"es diese Seite. Entwickelt und betreut von "
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/index.html:8
+msgid "Aktuelle Vermittlungen"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/modqueue.html:5
+msgid "Modqueue"
+msgstr ""
+
+#: src/fellchensammlung/templates/fellchensammlung/modqueue.html:6
+msgid ""
+"Erlaube oder blockiere Vermittlungsanzeigen die bisher noch zurückgehaltemn "
+"werden "
+msgstr ""
+
+#: src/templates/django_registration/activate.html:6
+msgid "Account activation failed"
+msgstr ""
+
+#: src/templates/django_registration/activation_complete.html:5
+msgid "You are now activated. Have fun."
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:2
+msgid "Activate account at"
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:4
+msgid "Activate by clicking this link"
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:5
+msgid "or open the following link in your browser"
+msgstr ""
+
+#: src/templates/django_registration/activation_email_body.txt:8
+#, python-format
+msgid "Link is valid for %(expiration_days)s days."
+msgstr ""
+
+#: src/templates/django_registration/activation_email_subject.txt:1
+msgid "Account activation on"
+msgstr ""
+
+#: src/templates/django_registration/activation_failed.html:5
+msgid ""
+"Activation failed. Please send an e-mail to info@notfellchen.org to get an "
+"account."
+msgstr ""
+
+#: src/templates/django_registration/registration_closed.html:5
+msgid "Registration is currently closed."
+msgstr ""
+
+#: src/templates/django_registration/registration_complete.html:5
+msgid "You are now registered. Activation email sent."
+msgstr ""
+
+#: src/templates/django_registration/registration_form.html:10
+msgid "Submit"
+msgstr ""
+
+#: src/templates/django_registration/registration_form.html:13
+#: src/templates/registration/login.html:11
+msgid "You're already logged in."
+msgstr ""
+
+#: src/templates/registration/logged_out.html:5
+msgid "Logged out"
+msgstr ""
+
+#: src/templates/registration/logged_out.html:6
+msgid "Click here to login again."
+msgstr ""
+
+#: src/templates/registration/login.html:7
+msgid "Your username and password didn't match. Please try again."
+msgstr ""
+
+#: src/templates/registration/login.html:13
+msgid "Please login to see this page."
+msgstr ""
+
+#: src/templates/registration/login.html:30
+msgid "login"
+msgstr ""
+
+#: src/templates/registration/login.html:34
+msgid "Lost password?"
+msgstr ""
+
+#: src/templates/registration/password_reset_complete.html:5
+msgid "The password has been changed!"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:6
+msgid "Please enter (and confirm) your new password."
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:12
+msgid "New password"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:17
+msgid "Confirm password"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:22
+msgid "Change my password"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:27
+msgid "Password reset failed"
+msgstr ""
+
+#: src/templates/registration/password_reset_confirmation.html:28
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: src/templates/registration/password_reset_done.html:5
+msgid ""
+"We've emailed you instructions for setting your password. If they haven't "
+"arrived in a few minutes, check your spam folder."
+msgstr ""
+
+#: src/templates/registration/password_reset_email.html:2
+msgid "Someone asked for password reset for your email. Follow the link below:"
+msgstr ""
+
+#: src/templates/registration/password_reset_form.html:10
+msgid "Password reset"
+msgstr ""
+
+#: src/templates/registration/password_reset_form.html:11
+msgid "Provide the e-mail address that is connected with your account"
+msgstr ""
+
+#: src/templates/registration/password_reset_form.html:13
+msgid "Reset"
+msgstr ""
diff --git a/src/notfellchen/settings.py b/src/notfellchen/settings.py
index 2b5e696..77ea4ec 100644
--- a/src/notfellchen/settings.py
+++ b/src/notfellchen/settings.py
@@ -138,12 +138,13 @@ MIDDLEWARE = [
# Static file serving & caching
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
+ # Needs to be after SessionMiddleware and before CommonMiddleware
+ 'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
- 'django.middleware.locale.LocaleMiddleware',
]
ROOT_URLCONF = 'notfellchen.urls'
@@ -211,6 +212,7 @@ AUTH_PASSWORD_VALIDATORS = [
# https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = config.get('locale', 'default', fallback='en')
+LANGUAGE_COOKIE_NAME = "selected-language"
TIME_ZONE = config.get('locale', 'timezone', fallback='UTC')
USE_I18N = True
@@ -220,7 +222,7 @@ USE_L10N = True
USE_TZ = True
LANGUAGES = (
- ('en-us', _('English')),
+ ('en', _('English')),
('de', _('German')),
)
diff --git a/src/notfellchen/urls.py b/src/notfellchen/urls.py
index 48d4ed0..507d47d 100644
--- a/src/notfellchen/urls.py
+++ b/src/notfellchen/urls.py
@@ -14,6 +14,7 @@ Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
+from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.urls import include, path
from django.conf import settings
@@ -21,10 +22,13 @@ from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
- path("", include("fellchensammlung.urls")),
path('admin/', admin.site.urls),
]
+urlpatterns += i18n_patterns (
+ path("", include("fellchensammlung.urls")),
+)
+
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)