[w3c/manifest] Use of `CanonicalizeUnicodeLocaleId` (Issue #1084)

`lang` member
https://w3c.github.io/manifest/#lang-member

> Set manifest["lang"] to the result of calling the [CanonicalizeUnicodeLocaleId](https://tc39.es/ecma402/#sec-canonicalizeunicodelocaleid) abstract operation with json["lang"].

The instructions on processing the `lang` member are inconsistent with the description of what a `lang` member can contain. The ECMA-402 function `CanonicalizeUnicodeLocaleID` is invoked and this results in a variety of potential changes to a few otherwise-valid values. This is probably the right thing to do when actually consuming the `lang` member's _value_ (particularly with `Intl.Locale` and friends in JavaScript), but its sudden appearance buried in the processing instructions makes this surprising. This suggests that `lang` should actually be defined as a Unicode Locale ID??

It's not clear if referencing Unicode Locale IDs is the right thing for the manifest spec to do, since the manifest is mainly concerned with transmitting data values, not actually performing runtime processing.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3c/manifest/issues/1084
You are receiving this because you are subscribed to this thread.

Message ID: <w3c/manifest/issues/1084@github.com>

Received on Monday, 15 May 2023 07:22:02 UTC