You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 25, 2022. It is now read-only.
No irregular or BCP47 grandfathered tags are allowed
No extlang subtags are allowed
A tag must not start with the subtag "x". Thus a privateuse (eg x-abc) can only be after a language subtag like "und"
It allows for certain additions:
For field separator characters, the "_" character can be used as well as the "-" used in [BCP47].
"root" to indicate the generic locale used as the parent of all languages in the CLDR data model.
Certain codes that are private-use in BCP-47 and ISO are given semantics by LDML.
Each macrolanguage has an identified primary encompassed language. That encompassed language is treated as an alias for the macrolanguage, and thus is replaced when canonicalizing.
The language tag may begin with a script rather than a language (specialized use only).
There are multiple problems with bcp-47 tags, from slightly annoying grandfathered tags (source of most Locale bugs in v8), to script mapping.
@littledan this is a proposal we could work into our Locale spec, if we can get group to agree on the change.
Current spec (and most of the constructors) expect bcp-47 locale id. A cleaner approach would be to use Unicode locale ID, see here for differences:
http://unicode.org/repos/cldr/trunk/specs/ldml/tr35.html#BCP_47_Conformance
It does not allow for the full syntax of [BCP47]:
It allows for certain additions:
There are multiple problems with bcp-47 tags, from slightly annoying grandfathered tags (source of most Locale bugs in v8), to script mapping.
For example: