-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Confusing description of IsStructurallyValidLanguageTag() operation #425
Comments
It should refer to |
I don't really see the inconsistency. The grammar describes Unicode locale identifiers in general, and Unicode BCP 47 locale identifiers are a subset of this, as described in section 3.3. But the grammar is in section 3.2; there's no other grammar we could refer to. Should we link directly to section 3.3 in addition for clarity? |
Add a note for IsStructurallyValidLanguageTag, clarifying the exact variant of locale indentifer that's expected and point to a resource that clarifies the differences between the two. Fixes: tc39#425
I find it hard not to see the inconsistency when one sentence says that the operation verifies that the argument
and the following sentence says the equivalent of: The operation returns The paragraph speaking about returning
I see it in the opposite way: the term "Unicode BCP 47 locale identifier" is defined in section 3.3 (and not mentioned at all in section 3.2). So, section 3.3 is the more important section to point to. Of course, the grammar in section 3.2 is crucial for the understanding of the definition. Hence, linking section 3.2 in addition (for clarity) is a very good idea. |
FWIW #429 would probably also resolve this by incidentally enumerating exact validity criteria and linking to both sections 3.2 and 3.3. |
@iamstolis @jswalden I added a note in #431 that should ideally clear up the confusion. Could you please take a quick look at that PR? |
In the time between this issue being opened and now, the |
IsStructurallyValidLanguageTag()
operation states that itIt also says that
These requirements are inconsistent. The mentioned grammar does not describe "Unicode BCP 47 locale identifier". It describes "Unicode CLDR locale identifier", i.e. it describes identifiers that support some backward compatibility syntax (
root
subtag, underscores as separator, tags starting with script subtag) that is not allowed in "Unicode BCP 47 locale identifier", see Unicode Technical Standard 35 section 3.3. Please, fix/improve the description of this operation such that it is clear what this operation is supposed to do.The text was updated successfully, but these errors were encountered: