class MacDinhTiengVietMiddleware:
    """Mặc định TIẾNG VIỆT cho khách chưa chọn ngôn ngữ.

    Khi vào '/' (không có tiền tố /vi/ hay /en/), Django LocaleMiddleware đọc
    'Accept-Language' của trình duyệt để quyết định — nên trình duyệt tiếng Anh
    (hoặc khách nước ngoài) sẽ bị đưa sang /en/. Middleware này ghi đè
    Accept-Language = 'vi' TRƯỚC LocaleMiddleware, nên '/' luôn mặc định tiếng Việt.

    Người dùng bấm sang /en/ vẫn xem tiếng Anh bình thường: tiền tố URL được
    LocaleMiddleware ưu tiên cao hơn header, nên bản tiếng Anh không bị ảnh hưởng.
    """

    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        request.META["HTTP_ACCEPT_LANGUAGE"] = "vi"
        return self.get_response(request)
