>> Although intentional, this is not quite correct if we follow the
>> Unicode CLDR, which considers the ‘default’ Norwegian is ‘no’
>> (technically it’s a macrolanguage, and ‘nb’=“Norwegian Bokmål” is
>> empty and just inherits from it). This is the correspondence made
>> by babel, which follows Unicode.
> Except that that explanation is a bit turned on its head :-) First,
> the Common Locale Data Repository is not a part of the Unicode Standard
> (which encodes scripts, not languages),
Sure, but Unicode (more precisely Unicode, Inc., aka Unicode
Consortium) is also the name of the organization maintaining
the Unicode Standard and...
> it’s simply hosted on the
> Unicode servers.
... the Unicode Common Language Data Repository. This is its full
name, as often used, and the copyright holder is Unicode. What’s
hosted is the ICU, but we are digressing.
> Second, the fact that [nb] inherits from [no] without
> changes in the CLDR means precisely the opposite of the interpretation
> you make of it: it means that for the CLDR, Norwegian is [nb], that’s
> the relevant piece of information.
From the CLDR:
<language type="nb">Norwegian Bokmål</language>
<language type="nn">Norwegian Nynorsk</language>
So, the ‘default’ Norwegian is “no”. Both “nb” and “nn” inherit
from “no”, but “nb” (which represents “nb_NO”) is in addition
the ‘default content locale’ (listed as such in
supplementalMetadata.xml) for “no”. This means there is a
relation no/nb similar to en/en_US. See
A hint – there are two Norwegian Wikipedias, namely
no.wikipedia.org and nn.wikipedia. No nb.wikipedia.org, which is
just a redirection to the ‘real’ thing.
> so that hyph-no.tex contains their intersection, which both
> hyph-nb.tex and hyph-nn.tex load, with a very small number of additions > Hence the code [no] is only used as a convenience and does not mean
> “these are the patterns you get when you request [no]”.
Using a existing tag assigned to a (meta)language as a convenience
for the intersection of other locales doesn’t seem a good idea.
> Anyway, the more general point is that the comments in the hyph-*
> files have been very carefully tailored to generate exactly the contents
> of language.dat (and other infrastructure files) that we need;
This was basically my conclusion. Even if not quite correct, it
works in practice as it should.