Hello.
The Django default language (fallback) is in Spanish in all case
No IgnoreHTTPLanguageMiddleware
Browser having English has priority
URL specified language in Spanish /es/
-> Translated blocks in Spanish
-> Language related DB queries in English
URL specified language in English /en/
-> Translated blocks in English
-> Language related DB queries in English
No IgnoreHTTPLanguageMiddleware
Browser having Spanish has priority
URL specified language in Spanish /es/
-> Translated blocks in Spanish
-> Language related DB queries in Spanish
URL specified language in English /en/
-> Translated blocks in English
-> Language related DB queries in Spanish
IgnoreHTTPLanguageMiddleware enabled
Browser having Spanish has priority
URL specified language in Spanish /es/
-> Translated blocks in Spanish
-> Language related DB queries in Spanish
URL specified language in English /en/
-> Translated blocks in English
-> Language related DB queries in Spanish
IgnoreHTTPLanguageMiddleware enabled
Browser having English has priority
URL specified language in Spanish /es/
-> Translated blocks in Spanish
-> Language related DB queries in Spanish
URL specified language in English /en/
-> Translated blocks in English
-> Language related DB queries in Spanish
Basically, it looks like the block translations always use the language specified in the URL, where my queries always use the language specified in the HTTP request header... Is there something wrong with get_language() that could cause this ? Is there a better way ?
So I suppose when I "silence" the HTTP request header language it fallbacks to the default "Spanish" language.
Hmm, after some search, adding check_path=True to get_language_from_request fix this :)
Thank you.