diff --git a/config/__pycache__/settings.cpython-311.pyc b/config/__pycache__/settings.cpython-311.pyc index 262f1a5..cb560c3 100644 Binary files a/config/__pycache__/settings.cpython-311.pyc and b/config/__pycache__/settings.cpython-311.pyc differ diff --git a/config/settings.py b/config/settings.py index f0a537c..252ca9c 100644 --- a/config/settings.py +++ b/config/settings.py @@ -42,6 +42,8 @@ SESSION_COOKIE_SECURE = True CSRF_COOKIE_SECURE = True SESSION_COOKIE_SAMESITE = "None" CSRF_COOKIE_SAMESITE = "None" +LANGUAGE_COOKIE_SECURE = True +LANGUAGE_COOKIE_SAMESITE = "None" SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") # Quick-start development settings - unsuitable for production @@ -63,6 +65,7 @@ MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', + 'core.middleware.LanguageDebugMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', @@ -83,6 +86,7 @@ TEMPLATES = [ 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.request', + 'django.template.context_processors.i18n', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', # IMPORTANT: do not remove – injects PROJECT_DESCRIPTION/PROJECT_IMAGE_URL and cache-busting timestamp diff --git a/core/__pycache__/middleware.cpython-311.pyc b/core/__pycache__/middleware.cpython-311.pyc new file mode 100644 index 0000000..b62f2da Binary files /dev/null and b/core/__pycache__/middleware.cpython-311.pyc differ diff --git a/core/middleware.py b/core/middleware.py new file mode 100644 index 0000000..724145c --- /dev/null +++ b/core/middleware.py @@ -0,0 +1,14 @@ +from django.utils.translation import get_language +import logging + +logger = logging.getLogger(__name__) + +class LanguageDebugMiddleware: + def __init__(self, get_response): + self.get_response = get_response + + def __call__(self, request): + response = self.get_response(request) + # Log the current language for debugging + print(f"DEBUG: Path: {request.path}, Lang: {get_language()}, Cookie: {request.COOKIES.get('django_language')}") + return response diff --git a/core/templates/base.html b/core/templates/base.html index 7ea38ab..6cab052 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -1,6 +1,7 @@ {% load static i18n %} +{% get_current_language as CURRENT_LANG %} - + @@ -12,7 +13,7 @@ - {% if request.LANGUAGE_CODE == 'ar' %} + {% if CURRENT_LANG == 'ar' %} {% endif %} @@ -23,7 +24,7 @@ {% block head %}{% endblock %}