#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.

Reply via email to