From 5073d83d60bb3e29f790603bc226d503185d719f Mon Sep 17 00:00:00 2001 From: Pomax Date: Thu, 27 May 2021 16:02:58 -0700 Subject: [PATCH] fix the language picker by making sure 'next' is the right URL --- .../templates/fragments/language_switcher.html | 15 ++++++++------- .../wagtailpages/templatetags/localization.py | 6 ++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/network-api/networkapi/templates/fragments/language_switcher.html b/network-api/networkapi/templates/fragments/language_switcher.html index 6bbe1fb130d..0aed1e0b841 100644 --- a/network-api/networkapi/templates/fragments/language_switcher.html +++ b/network-api/networkapi/templates/fragments/language_switcher.html @@ -1,15 +1,16 @@ -{% load i18n localization %} +{% load i18n localization wagtailcore_tags %} + +{% get_current_language as current_language %} +{% get_local_language_names as languages %}
- +
diff --git a/network-api/networkapi/wagtailpages/templatetags/localization.py b/network-api/networkapi/wagtailpages/templatetags/localization.py index f4fb0ef95de..5e44e591587 100644 --- a/network-api/networkapi/wagtailpages/templatetags/localization.py +++ b/network-api/networkapi/wagtailpages/templatetags/localization.py @@ -43,3 +43,9 @@ def get_local_language_names(): for lang in settings.LANGUAGES: languages.append([lang[0], get_language_info(lang[0])['name_local']]) return sorted(languages, key=lambda x: locale.strxfrm(unicodedata.normalize('NFD', x[1])).casefold()) + + +# Get the url for a page, but with the locale code removed. +@register.simple_tag() +def get_unlocalized_url(page, locale): + return page.get_url().replace(f'/{locale}/', '/', 1)