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)