In UniversalLanguageSelector with $wgULSLanguageDetection = true the HTTP header
Accept-Language: de-DE, de-AT;q=0.8, de-CH;q=0.6, de;q=0.4, nl;q=0.2
leads to the language code de-AT.
Expected language code is de-DE or de.
In UniversalLanguageSelector with $wgULSLanguageDetection = true the HTTP header
Accept-Language: de-DE, de-AT;q=0.8, de-CH;q=0.6, de;q=0.4, nl;q=0.2
leads to the language code de-AT.
Expected language code is de-DE or de.
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Introduce language codes 'de-de', 'en-us', 'ko-kr' and 'pt-pt' | mediawiki/core | master | +40 -0 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T183295 The language code 'de-DE' is ignored in Accept-Language HTTP header | |||
Open | None | T334348 Normalize BCP 47 language codes | |||
Open | None | T334350 Decide whether to make LanguageNameUtils able to support BCP 47 language codes |
Change 399341 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/core@master] Introduce language codes 'de-de' and 'en-us'
I disagree with the expected result to some extend. You should send de-DE, de;q=0.9 to get your expected result.
Of course when you set
Accept-Language: de-DE, de;q=0.9
then you get de.
But the
Accept-Language: de-DE, de-AT;q=0.9, de;q=0.8
is a standard conform and widespread configuration. The expected result is de-DE or de, but the current result is de-AT.
Here another example for the inconsistency:
Accept-Language: en-GB, en-US;q=0.9, en;q=0.8
and
Accept-Language: en-GB, en-US;q=0.9
selects en-gb
But
Accept-Language: en-US, en-GB;q=0.9, en;q=0.8
and
Accept-Language: en-US, en-GB;q=0.9
also selects en-gb.
Change 399341 had a related patch set uploaded (by Fomafix; owner: Fomafix):
[mediawiki/core@master] Introduce language codes 'de-de', 'en-us', 'ko-kr' and 'pt-pt'