Description
Symfony version(s) affected: 3.4
When we generate the list of language names for the Intl component we rely on https://github.com/unicode-org/icu/blob/master/icu4c/source/data/lang/en.txt
This provides many translations, but is not the authoritative code list as-is.
See e.g. no
and sh
- https://github.com/unicode-org/icu/blob/master/icu4c/source/data/lang/en.txt#L438
- https://github.com/unicode-org/icu/blob/master/icu4c/source/data/lang/en.txt#L531
which are marked legacy in the metadata file, respectively
- https://github.com/unicode-org/icu/blob/master/icu4c/source/data/misc/metadata.txt#L1018
- https://github.com/unicode-org/icu/blob/master/icu4c/source/data/misc/metadata.txt#L1234
The problem comes with ISO vs. ICU. ISO qualifies e.g. no
a macrolanguage (https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) and seems valid today: https://www.loc.gov/standards/iso639-2/php/langcodes_name.php?iso_639_1=no, but sh
is not: https://www.loc.gov/standards/iso639-2/php/langcodes_name.php?iso_639_1=sh
Not sure what to do :) Issue for now, to move forward in #33140
For now this causes the list to (alpha2 vs alpha3) to vary so it seems.