Accept BCP 47 codes as aliases for nonstandard variants
authorC. Scott Ananian <cscott@cscott.net>
Tue, 3 Jul 2018 20:12:38 +0000 (16:12 -0400)
committerC. Scott Ananian <cscott@cscott.net>
Thu, 11 Oct 2018 06:23:20 +0000 (02:23 -0400)
commitd59f27aeab08b171e5ab6a081e763a4cad0bca04
tree069bb7fc21779ca7701f9acc0a51bc9c8bdbd1fd
parent21ead7a98d1a103b77f1e3ba29a85493782d398b
Accept BCP 47 codes as aliases for nonstandard variants

The browser Accept-Language header uses BCP 47 codes, which don't
precisely match our internal mediawiki variant names in a number of
places.  Allow proper BCP 47 codes to alias our internal variants
for: Accept-Language parsing, URL parsing, user preferences, and
explicit enumeration of codes in LanguageConverter rules.

This is a replay of an earlier merged patch,
0818070c59eb4e8330496796b943951c01c7a573, which had to be reverted
because it was based on 8380f0173e79b66f0e2afd6c49cd88afb9f4f6f3 which
caused regressions in the Babel extension (T199941).

Change-Id: Ica89d9547c58967747ab0fa15d4e83be5378796d
languages/FakeConverter.php
languages/LanguageConverter.php
tests/phpunit/languages/LanguageConverterTest.php