#32922: Adding "preferred_language" property to "HttpRequest" object --------------------------------+-------------------------------------- Reporter: Ruslan Semagin | Owner: nobody Type: New feature | Status: closed Component: HTTP handling | Version: 3.2 Severity: Normal | Resolution: wontfix Keywords: | Triage Stage: Unreviewed Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 0 | UI/UX: 0 --------------------------------+-------------------------------------- Changes (by Nick Pope):
* status: new => closed * resolution: => wontfix Comment: So unfortunately this is not as simple as what you have proposed for a number of reasons: - The `q` value for the priority of entries in the header should be taken into account [https://github.com/django/django/pull/14632#pullrequestreview-705530998 as mentioned by Keryn]. - The special `*` value shouldn't be returned as it isn't a valid language. - The value in `Accept-Language` may not be the user's "preferred" language. It is just the languages that the client is configured to accept. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept- Language for more details. The good news is that Django has already implemented this and taken everything into consideration. Check out [https://docs.djangoproject.com/en/stable/ref/utils/#django.utils.translation.get_language_from_request get_language_from_request()]. Obviously this restricts the returned languages to those that are available in `settings.LANGUAGES`. If you really need to have the "preferred" and unadulterated value from the `Accept-Language` header, you could use the `parse_accept_lang_header()` function, but beware that this is an undocumented, private function. -- Ticket URL: <https://code.djangoproject.com/ticket/32922#comment:2> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/066.2796e25a6d218717ee29c31d0a34b521%40djangoproject.com.