Opened 15 years ago

Last modified 11 years ago

#11915 closed

language range request should return sublanguage — at Version 1

Reported by: George Lund Owned by: nobody
Component: Internationalization Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Ramiro Morales)

If a user's browser includes a request for a language range including a parent language, sub-languages which match should be returned.

For example, if a user's browser sends a header

Accept-Language: pt

And my site has

LANGUAGES = (
#...
  ('pt-br', 'Português (Brazil)'),
#...
)

Then the pt_BR locale files I have should be used. (RFC 2616: 'A language-range matches a language-tag if it exactly equals the tag, or if it exactly equals a prefix of the tag such that the first tag character following the prefix is "-".')

Right now the only way to get the Portugese returned is for me to relabel my local to just "pt" (which works except that the language will now be mislabelled in the Content-Language header).

Change History (1)

comment:1 by Ramiro Morales, 14 years ago

Description: modified (diff)
Triage Stage: UnreviewedDesign decision needed
Version: 1.0SVN

This takes us to the following possible scenario: What if the LANGUAGES setting has, in addition to 'pt-br', 'pt-cv' (Portuguese as spoken in Cape Verde)? How and why should Django choose 'pt-br' in preference to 'pt-cv' (or vice versa) if a translation to 'pt' is missing?

(The fact I'm using pt, pt-br and pt-cv in this example is just incidental, the real issue is what matters)

Note: See TracTickets for help on using tickets.
Back to Top