From 1246409cb279c290d99e38a3147d4729553231cf Mon Sep 17 00:00:00 2001 From: Thomas Rusiecki Date: Wed, 12 Mar 2025 15:59:19 -0300 Subject: [PATCH] language settings and html picker added --- dashboard/templates/language_picker.html | 19 +++++++++++++++++++ dashboard/templatetags/language_code.py | 11 +++++++++++ dhub/settings.py | 16 ++++++++++++++-- dhub/urls.py | 6 ++++++ 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 dashboard/templates/language_picker.html create mode 100644 dashboard/templatetags/language_code.py diff --git a/dashboard/templates/language_picker.html b/dashboard/templates/language_picker.html new file mode 100644 index 0000000..521fcbb --- /dev/null +++ b/dashboard/templates/language_picker.html @@ -0,0 +1,19 @@ +{% load i18n language_code %} + + diff --git a/dashboard/templatetags/language_code.py b/dashboard/templatetags/language_code.py new file mode 100644 index 0000000..a7c1e74 --- /dev/null +++ b/dashboard/templatetags/language_code.py @@ -0,0 +1,11 @@ +from django import template +from django.utils.translation import get_language_info + +register = template.Library() + +@register.filter +def get_language_code(language_code, languages): + for lang in languages: + if lang['code'] == language_code: + return lang['name_local'].lower() + return language_code.lower() diff --git a/dhub/settings.py b/dhub/settings.py index 7ad93a2..d9efff3 100644 --- a/dhub/settings.py +++ b/dhub/settings.py @@ -68,6 +68,11 @@ EVIDENCES_DIR = config("EVIDENCES_DIR", default=os.path.join(BASE_DIR, "db")) # Application definition + +LOCALE_PATHS = [ + os.path.join(BASE_DIR, 'locale'), +] + INSTALLED_APPS = [ # "django.contrib.admin", "django.contrib.auth", @@ -119,7 +124,13 @@ TEMPLATES = [ "django.template.context_processors.request", "django.contrib.auth.context_processors.auth", "django.contrib.messages.context_processors.messages", + "django.template.context_processors.i18n", ], + + 'libraries':{ + 'get_language_code': 'dashboard.templatetags.language_code', + } + }, }, ] @@ -172,8 +183,9 @@ if TIME_ZONE == "UTC": USE_L10N = True LANGUAGES = [ - ('es', 'Spanish'), - ('en', 'English'), + ('es', 'español'), + ('en', 'english'), + ('ca', 'català'), ] # Static files (CSS, JavaScript, Images) diff --git a/dhub/urls.py b/dhub/urls.py index 39405bd..fe7e796 100644 --- a/dhub/urls.py +++ b/dhub/urls.py @@ -16,6 +16,8 @@ Including another URLconf """ from django.conf import settings from django.urls import path, include +from django.conf.urls.i18n import i18n_patterns +from django.views.i18n import set_language urlpatterns = [ # path('api/', include('snapshot.urls')), @@ -30,6 +32,10 @@ urlpatterns = [ path('api/', include('api.urls')), ] +urlpatterns += i18n_patterns( + path("language/", set_language, name='set_language'), +) + if settings.DPP: urlpatterns.extend([ path('dpp/', include('dpp.urls')),