Opened 2 years ago

Last modified 17 months ago

#34069 closed Cleanup/optimization

get_language_from_request should not fallback to settings.LANGUAGE_CODE — at Version 1

Reported by: sergioisidoro Owned by: nobody
Component: Internationalization Version: 4.1
Severity: Normal Keywords: i18n get_language_from_request middleware
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by sergioisidoro)

I'm writing a middleware to fallback to a different language depending on the TLD of the domain of the HTTP_HOST

However, I noticed that get_language_from_request falls back to the settings default language, which will almost always take precedence in this case.

This is quite confusing, since settings.LANGUAGE_CODE is not "from the request", but from the application configuration, and it feels that the responsibility of falling back to the default language should lie in the Middleware, not in this function.

Solution / Summary: get_language_from_request should return None, to communicate to the middleware that there was no language from request, and that the middleware should fallback to the default. Otherwise if the get_language_from_request returns "EN" we don't know if "EN" is actually a request preference, or because it came from the default settings.LANGUAGE_CODE

Change History (1)

comment:1 by sergioisidoro, 2 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top