2 Commits

18 changed files with 327 additions and 6 deletions

Binary file not shown.

View File

@@ -0,0 +1,40 @@
msgid ""
msgstr ""
"Project-Id-Version: mandelstudio\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-15 00:00+0200\n"
"PO-Revision-Date: 2026-05-15 00:00+0200\n"
"Last-Translator: \n"
"Language-Team: German\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"
msgid "Privacy & Cookies"
msgstr "Datenschutz & Cookies"
msgid "We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree."
msgstr "Wir verwenden Cookies, um sicherzustellen, dass unsere Website so gut wie möglich funktioniert. Wenn Sie diese Website weiter nutzen, gehen wir davon aus, dass Sie einverstanden sind."
msgid "Accept"
msgstr "Akzeptieren"
msgid "Settings"
msgstr "Einstellungen"
msgid "You can update your cookie preferences at any time."
msgstr "Sie können Ihre Cookie-Einstellungen jederzeit ändern."
msgid "Back"
msgstr "Zurück"
msgid "Cookie settings"
msgstr "Cookie-Einstellungen"
msgid "Choose which cookie categories you allow. Functional cookies are always enabled because they are required for the website to work."
msgstr "Wählen Sie aus, welche Cookie-Kategorien Sie erlauben. Funktionale Cookies sind immer aktiviert, da sie für den Betrieb der Website erforderlich sind."
msgid "Save preferences"
msgstr "Einstellungen speichern"

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,40 @@
msgid ""
msgstr ""
"Project-Id-Version: mandelstudio\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-15 00:00+0200\n"
"PO-Revision-Date: 2026-05-15 00:00+0200\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es\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"
msgid "Privacy & Cookies"
msgstr "Privacidad y cookies"
msgid "We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree."
msgstr "Usamos cookies para asegurar que nuestro sitio web funcione lo mejor posible. Si continúa usando este sitio web, asumimos que está de acuerdo."
msgid "Accept"
msgstr "Aceptar"
msgid "Settings"
msgstr "Configuración"
msgid "You can update your cookie preferences at any time."
msgstr "Puede actualizar sus preferencias de cookies en cualquier momento."
msgid "Back"
msgstr "Volver"
msgid "Cookie settings"
msgstr "Configuración de cookies"
msgid "Choose which cookie categories you allow. Functional cookies are always enabled because they are required for the website to work."
msgstr "Elija qué categorías de cookies permite. Las cookies funcionales están siempre habilitadas porque son necesarias para que el sitio web funcione."
msgid "Save preferences"
msgstr "Guardar preferencias"

Binary file not shown.

View File

@@ -0,0 +1,40 @@
msgid ""
msgstr ""
"Project-Id-Version: mandelstudio\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-15 00:00+0200\n"
"PO-Revision-Date: 2026-05-15 00:00+0200\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr\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"
msgid "Privacy & Cookies"
msgstr "Confidentialité et cookies"
msgid "We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree."
msgstr "Nous utilisons des cookies pour garantir le bon fonctionnement de notre site. Si vous continuez à utiliser ce site, nous supposons que vous êtes d'accord."
msgid "Accept"
msgstr "Accepter"
msgid "Settings"
msgstr "Paramètres"
msgid "You can update your cookie preferences at any time."
msgstr "Vous pouvez modifier vos préférences de cookies à tout moment."
msgid "Back"
msgstr "Retour"
msgid "Cookie settings"
msgstr "Paramètres des cookies"
msgid "Choose which cookie categories you allow. Functional cookies are always enabled because they are required for the website to work."
msgstr "Choisissez les catégories de cookies que vous autorisez. Les cookies fonctionnels sont toujours activés car ils sont nécessaires au fonctionnement du site."
msgid "Save preferences"
msgstr "Enregistrer les préférences"

Binary file not shown.

View File

@@ -0,0 +1,40 @@
msgid ""
msgstr ""
"Project-Id-Version: mandelstudio\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-15 00:00+0200\n"
"PO-Revision-Date: 2026-05-15 00:00+0200\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it\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"
msgid "Privacy & Cookies"
msgstr "Privacy e cookie"
msgid "We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree."
msgstr "Utilizziamo i cookie per assicurarci che il nostro sito web funzioni nel miglior modo possibile. Se continui a utilizzare questo sito web, presumiamo che tu sia d'accordo."
msgid "Accept"
msgstr "Accetta"
msgid "Settings"
msgstr "Impostazioni"
msgid "You can update your cookie preferences at any time."
msgstr "Puoi aggiornare le tue preferenze sui cookie in qualsiasi momento."
msgid "Back"
msgstr "Indietro"
msgid "Cookie settings"
msgstr "Impostazioni cookie"
msgid "Choose which cookie categories you allow. Functional cookies are always enabled because they are required for the website to work."
msgstr "Scegli quali categorie di cookie consentire. I cookie funzionali sono sempre abilitati perché necessari al funzionamento del sito web."
msgid "Save preferences"
msgstr "Salva preferenze"

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,40 @@
msgid ""
msgstr ""
"Project-Id-Version: mandelstudio\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-15 00:00+0200\n"
"PO-Revision-Date: 2026-05-15 00:00+0200\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt\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"
msgid "Privacy & Cookies"
msgstr "Privacidade e cookies"
msgid "We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree."
msgstr "Usamos cookies para garantir que nosso site funcione da melhor forma possível. Se você continuar usando este site, presumimos que concorda."
msgid "Accept"
msgstr "Aceitar"
msgid "Settings"
msgstr "Configurações"
msgid "You can update your cookie preferences at any time."
msgstr "Você pode atualizar suas preferências de cookies a qualquer momento."
msgid "Back"
msgstr "Voltar"
msgid "Cookie settings"
msgstr "Configurações de cookies"
msgid "Choose which cookie categories you allow. Functional cookies are always enabled because they are required for the website to work."
msgstr "Escolha quais categorias de cookies você permite. Os cookies funcionais estão sempre ativados porque são necessários para o funcionamento do site."
msgid "Save preferences"
msgstr "Salvar preferências"

Binary file not shown.

View File

@@ -0,0 +1,40 @@
msgid ""
msgstr ""
"Project-Id-Version: mandelstudio\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-15 00:00+0200\n"
"PO-Revision-Date: 2026-05-15 00:00+0200\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru\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"
msgid "Privacy & Cookies"
msgstr "Конфиденциальность и файлы cookie"
msgid "We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree."
msgstr "Мы используем файлы cookie, чтобы наш сайт работал как можно лучше. Если вы продолжаете пользоваться этим сайтом, мы считаем, что вы согласны."
msgid "Accept"
msgstr "Принять"
msgid "Settings"
msgstr "Настройки"
msgid "You can update your cookie preferences at any time."
msgstr "Вы можете изменить свои настройки cookie в любое время."
msgid "Back"
msgstr "Назад"
msgid "Cookie settings"
msgstr "Настройки cookie"
msgid "Choose which cookie categories you allow. Functional cookies are always enabled because they are required for the website to work."
msgstr "Выберите, какие категории cookie вы разрешаете. Функциональные cookie всегда включены, так как они необходимы для работы сайта."
msgid "Save preferences"
msgstr "Сохранить настройки"

View File

@@ -0,0 +1,63 @@
# Generated by Django 5.2.11 on 2026-05-15 00:00
from django.db import migrations
import wagtail.fields
class Migration(migrations.Migration):
dependencies = [
("cookie_jar", "0007_cookiesettings_cookie_message_de_and_more"),
]
operations = [
migrations.AddField(
model_name="cookiesettings",
name="popup_cookie_message_de",
field=wagtail.fields.RichTextField(
blank=True, null=True, verbose_name="Popup cookie statement"
),
),
migrations.AddField(
model_name="cookiesettings",
name="popup_cookie_message_en",
field=wagtail.fields.RichTextField(
blank=True, null=True, verbose_name="Popup cookie statement"
),
),
migrations.AddField(
model_name="cookiesettings",
name="popup_cookie_message_es",
field=wagtail.fields.RichTextField(
blank=True, null=True, verbose_name="Popup cookie statement"
),
),
migrations.AddField(
model_name="cookiesettings",
name="popup_cookie_message_fr",
field=wagtail.fields.RichTextField(
blank=True, null=True, verbose_name="Popup cookie statement"
),
),
migrations.AddField(
model_name="cookiesettings",
name="popup_cookie_message_it",
field=wagtail.fields.RichTextField(
blank=True, null=True, verbose_name="Popup cookie statement"
),
),
migrations.AddField(
model_name="cookiesettings",
name="popup_cookie_message_pt",
field=wagtail.fields.RichTextField(
blank=True, null=True, verbose_name="Popup cookie statement"
),
),
migrations.AddField(
model_name="cookiesettings",
name="popup_cookie_message_ru",
field=wagtail.fields.RichTextField(
blank=True, null=True, verbose_name="Popup cookie statement"
),
),
]

View File

@@ -174,6 +174,16 @@ ACTIVE_VERTICAL = "agency"
WAGTAIL_I18N_ENABLED = True
WAGTAIL_CONTENT_LANGUAGES = LANGUAGES
# Ocyan i18n field mapping (language-aware columns per active language).
_translated_fields = dict(globals().get("OCYAN_I18N_TRANSLATED_FIELDS", {}))
_translated_fields.update(
{
"cookie_jar.cookiesettings.cookie_message": True,
"cookie_jar.cookiesettings.popup_cookie_message": True,
}
)
OCYAN_I18N_TRANSLATED_FIELDS = _translated_fields
CONTENT_GUARD_STRICT = True
CONTENT_GUARD_BLOCK_MEDIUM = False
CONTENT_GUARD_LOCALES = [code for code, _label in LANGUAGES]

View File

@@ -2,6 +2,8 @@
{% load wagtailcore_tags ocyanjson %}
{% with settings.cookie_jar.CookieSettings as cookie_settings %}
{% if cookie_jar.needs_approval or cookie_jar.site_settings.strict_cookies %}
{% if cookie_jar.needs_display or cookie_jar.cookie is None %}
<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-panel is-active" id="cookie-consent-main-panel">
@@ -10,11 +12,15 @@
<span>{% trans 'Privacy & Cookies' %}</span>
</div>
<div id="cookie_popup_content">
<p>
{% blocktrans %}
We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree.
{% endblocktrans %}
</p>
{% if cookie_settings.cookie_message %}
{{ cookie_settings.cookie_message|richtext }}
{% else %}
<p>
{% blocktrans %}
We use cookies to make sure our website works as well as possible. If you continue using this website, we assume you agree.
{% endblocktrans %}
</p>
{% endif %}
</div>
<div id="cookie_buttons" class="cookie-consent-actions">
<button type="button" id="cookie_popup_acceptButton" data-cookie-key="{{ cookie_jar.cookie_key }}">{% trans 'Accept' %}</button>
@@ -53,6 +59,8 @@
</div>
</div>
</div>
{% endif %}
{% endif %}
{% endwith %}
<script>

View File

@@ -15,7 +15,7 @@
{{ block.super }}
{# Ensure Carbasa webshop styling is present so responsive header/footer render correctly. #}
<link rel="stylesheet" type="text/x-scss" href="{% static 'carbasa/webshop_base.scss' %}">
<link rel="stylesheet" type="text/x-scss" href="{% static 'mandelstudio/scss/layout_overrides.scss' %}">
<link rel="stylesheet" type="text/css" href="{% static 'mandelstudio/css/layout_overrides.css' %}">
{% endblock %}
{% block extrahead %}