Revert "Make cookie modal fully locale-aware via settings-aware resolver"

This reverts commit 3e084c1850.
This commit is contained in:
2026-05-16 01:56:10 +02:00
parent 3e084c1850
commit fdcdff52cd
2 changed files with 15 additions and 117 deletions

View File

@@ -1,21 +1,19 @@
{% load i18n %} {% load i18n %}
{% load mandelstudio_i18n %}
{% load wagtailcore_tags ocyanjson %} {% load wagtailcore_tags ocyanjson %}
{% with settings.cookie_jar.CookieSettings as cookie_settings %} {% with settings.cookie_jar.CookieSettings as cookie_settings %}
{% if cookie_jar.needs_approval or cookie_jar.site_settings.strict_cookies %} {% if cookie_jar.needs_approval or cookie_jar.site_settings.strict_cookies %}
{% if cookie_jar.needs_display or cookie_jar.cookie is None %} {% if cookie_jar.needs_display or cookie_jar.cookie is None %}
<div id="cookie_popup_body" class="cookie-consent-overlay" role="region" aria-label="{% cookie_ui_text 'cookie_settings' %}"> <div id="cookie_popup_body" class="cookie-consent-overlay" role="region" aria-label="{% trans 'Cookie settings' %}">
<div class="cookie-consent-modal" role="dialog" aria-modal="true" aria-labelledby="cookie-consent-title"> <div class="cookie-consent-modal" role="dialog" aria-modal="true" aria-labelledby="cookie-consent-title">
<div class="cookie-consent-panel is-active" id="cookie-consent-main-panel"> <div class="cookie-consent-panel is-active" id="cookie-consent-main-panel">
<div class="cookie-banner-title" id="cookie-consent-title"> <div class="cookie-banner-title" id="cookie-consent-title">
<i class="fa fa-shield-halved" aria-hidden="true"></i> <i class="fa fa-shield-halved" aria-hidden="true"></i>
<span>{% cookie_ui_text 'cookie_title' %}</span> <span>{% trans 'Privacy & Cookies' %}</span>
</div> </div>
<div id="cookie_popup_content"> <div id="cookie_popup_content">
{% localized_cookie_text cookie_settings "cookie_message" as cookie_message_text %} {% if cookie_settings.cookie_message %}
{% if cookie_message_text %} {{ cookie_settings.cookie_message|richtext }}
{{ cookie_message_text|richtext }}
{% else %} {% else %}
<p> <p>
{% blocktrans %} {% blocktrans %}
@@ -25,27 +23,26 @@
{% endif %} {% endif %}
</div> </div>
<div id="cookie_buttons" class="cookie-consent-actions"> <div id="cookie_buttons" class="cookie-consent-actions">
<button type="button" id="cookie_popup_acceptButton" data-cookie-key="{{ cookie_jar.cookie_key }}">{% cookie_ui_text 'accept' %}</button> <button type="button" id="cookie_popup_acceptButton" data-cookie-key="{{ cookie_jar.cookie_key }}">{% trans 'Accept' %}</button>
<button type="button" id="cookie_popup_settingsToggle">{% cookie_ui_text 'settings' %}</button> <button type="button" id="cookie_popup_settingsToggle">{% trans 'Settings' %}</button>
</div> </div>
<div class="cookie-consent-hint"> <div class="cookie-consent-hint">
{% cookie_ui_text 'hint' %} {% trans 'You can update your cookie preferences at any time.' %}
</div> </div>
</div> </div>
<div class="cookie-consent-panel" id="cookie-consent-settings-panel"> <div class="cookie-consent-panel" id="cookie-consent-settings-panel">
<button type="button" class="cookie-consent-back" id="cookie_popup_backButton"> <button type="button" class="cookie-consent-back" id="cookie_popup_backButton">
<i class="fa fa-arrow-left" aria-hidden="true"></i> <i class="fa fa-arrow-left" aria-hidden="true"></i>
<span>{% cookie_ui_text 'back' %}</span> <span>{% trans 'Back' %}</span>
</button> </button>
<div class="cookie-banner-title"> <div class="cookie-banner-title">
<i class="fa fa-sliders" aria-hidden="true"></i> <i class="fa fa-sliders" aria-hidden="true"></i>
<span>{% cookie_ui_text 'cookie_settings' %}</span> <span>{% trans 'Cookie settings' %}</span>
</div> </div>
<div id="cookie_popup_content_modal"> <div id="cookie_popup_content_modal">
{% localized_cookie_text cookie_settings "popup_cookie_message" as popup_cookie_message_text %} {% if cookie_settings.popup_cookie_message %}
{% if popup_cookie_message_text %} {{ cookie_settings.popup_cookie_message|richtext }}
{{ popup_cookie_message_text|richtext }}
{% else %} {% else %}
<p> <p>
{% blocktrans %} {% blocktrans %}
@@ -56,8 +53,8 @@
</div> </div>
{% include "cookie_jar/partials/cookie_checkboxes.html" %} {% include "cookie_jar/partials/cookie_checkboxes.html" %}
<div class="cookie-consent-actions cookie-consent-actions-settings"> <div class="cookie-consent-actions cookie-consent-actions-settings">
<button type="button" id="cookie_popup_acceptButton_settings">{% cookie_ui_text 'accept' %}</button> <button type="button" id="cookie_popup_acceptButton_settings">{% trans 'Accept' %}</button>
<button type="button" id="cookie_model_saveButton" data-cookie-key="{{ cookie_jar.cookie_key }}">{% cookie_ui_text 'save_preferences' %}</button> <button type="button" id="cookie_model_saveButton" data-cookie-key="{{ cookie_jar.cookie_key }}">{% trans 'Save preferences' %}</button>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -17,113 +17,14 @@ SKIP_TO_CONTENT = {
"ru": "Перейти к содержанию", "ru": "Перейти к содержанию",
} }
COOKIE_UI_TEXT = {
"cookie_title": {
"nl": "Privacy & Cookies",
"en": "Privacy & Cookies",
"de": "Datenschutz & Cookies",
"fr": "Confidentialité & Cookies",
"es": "Privacidad y Cookies",
"it": "Privacy e Cookie",
"pt": "Privacidade e Cookies",
"ru": "Конфиденциальность и файлы cookie",
},
"accept": {
"nl": "Accepteer",
"en": "Accept",
"de": "Akzeptieren",
"fr": "Accepter",
"es": "Aceptar",
"it": "Accetta",
"pt": "Aceitar",
"ru": "Принять",
},
"settings": {
"nl": "Instellingen",
"en": "Settings",
"de": "Einstellungen",
"fr": "Paramètres",
"es": "Configuración",
"it": "Impostazioni",
"pt": "Definições",
"ru": "Настройки",
},
"hint": {
"nl": "U kunt uw cookievoorkeuren op elk moment aanpassen.",
"en": "You can update your cookie preferences at any time.",
"de": "Sie können Ihre Cookie-Einstellungen jederzeit aktualisieren.",
"fr": "Vous pouvez mettre à jour vos préférences de cookies à tout moment.",
"es": "Puede actualizar sus preferencias de cookies en cualquier momento.",
"it": "Puoi aggiornare le tue preferenze sui cookie in qualsiasi momento.",
"pt": "Pode atualizar as suas preferências de cookies a qualquer momento.",
"ru": "Вы можете изменить свои настройки cookie в любое время.",
},
"back": {
"nl": "Terug",
"en": "Back",
"de": "Zurück",
"fr": "Retour",
"es": "Volver",
"it": "Indietro",
"pt": "Voltar",
"ru": "Назад",
},
"cookie_settings": {
"nl": "Cookie instellingen",
"en": "Cookie settings",
"de": "Cookie-Einstellungen",
"fr": "Paramètres des cookies",
"es": "Configuración de cookies",
"it": "Impostazioni cookie",
"pt": "Definições de cookies",
"ru": "Настройки cookie",
},
"save_preferences": {
"nl": "Voorkeuren opslaan",
"en": "Save preferences",
"de": "Einstellungen speichern",
"fr": "Enregistrer les préférences",
"es": "Guardar preferencias",
"it": "Salva preferenze",
"pt": "Guardar preferências",
"ru": "Сохранить настройки",
},
}
def _active_language(context) -> str:
request = context.get("request")
language_code = getattr(request, "LANGUAGE_CODE", "nl") or "nl"
return language_code.split("-")[0].lower()
@register.simple_tag(takes_context=True) @register.simple_tag(takes_context=True)
def skip_to_content_text(context) -> str: def skip_to_content_text(context) -> str:
language_code = _active_language(context) request = context.get("request")
language_code = getattr(request, "LANGUAGE_CODE", "nl")
return SKIP_TO_CONTENT.get(language_code, SKIP_TO_CONTENT["en"]) return SKIP_TO_CONTENT.get(language_code, SKIP_TO_CONTENT["en"])
@register.simple_tag(takes_context=True)
def cookie_ui_text(context, key: str) -> str:
language_code = _active_language(context)
options = COOKIE_UI_TEXT.get(key, {})
return options.get(language_code, options.get("en", ""))
@register.simple_tag(takes_context=True)
def localized_cookie_text(context, cookie_settings, base_field: str) -> str:
"""Read cookie settings text for active language with safe fallbacks."""
language_code = _active_language(context)
suffix_field = f"{base_field}_{language_code}"
english_field = f"{base_field}_en"
for candidate in (suffix_field, base_field, english_field):
value = getattr(cookie_settings, candidate, None)
if value:
return value
return ""
@register.filter(name="language_neutral_path") @register.filter(name="language_neutral_path")
def language_neutral_path(value: str | None) -> str: def language_neutral_path(value: str | None) -> str:
"""Normalize a path for set_language by removing any leading language prefix.""" """Normalize a path for set_language by removing any leading language prefix."""