lib.itmens/users/middlewares.py

17 lines
661 B
Python
Raw Normal View History

2024-04-03 23:10:21 -04:00
from django.conf import settings
from django.middleware.locale import LocaleMiddleware
2024-04-03 23:10:21 -04:00
from django.utils import translation
class LanguageMiddleware(LocaleMiddleware):
2024-04-03 23:10:21 -04:00
def process_request(self, request):
user_language = None
2024-04-03 23:10:21 -04:00
user = getattr(request, "user", None)
if user and user.is_authenticated:
user_language = getattr(user, "language", "")
if not user_language:
user_language = translation.get_language_from_request(request)
# if user_language in dict(settings.LANGUAGES).keys():
translation.activate(user_language)
request.LANGUAGE_CODE = translation.get_language()