This feature was implemented inb01544d690to replace the session's language in the request.44ddbdf925moved the process from the request to the response, which made this feature unusable (because the request was already processed).44ddbdf925also made this feature set the language cookie. However, it is overwritten by user preferences. To fix this, we could overwrite the cookie of the response after it's set from user preferences. However, it is not an ideal solution because when users switch between Sites with different languages, the first response will use the language of the previous page. Therefore, this ignores user preferences and alters the cookie of a request instead.
Open edX -------- This is the root package for Open edX. The intent is that all importable code from Open edX will eventually live here, including the code in the lms, cms, and common directories. If you're adding a new Django app, place it in core/djangoapps. If you're adding utilities that require Django, place them in core/djangolib. If you're adding code that defines no Django models or views of its own but is widely useful, put it in core/lib. Note: All new code should be created in this package, and the legacy code will be moved here gradually. For now the code is not structured like this, and hence legacy code will continue to live in a number of different packages.