[loc-en-dev] Comments to the draft spec
Naoto.Sato at Sun.COM
Mon Feb 2 16:48:41 PST 2009
Yoshito Umaoka wrote:
> Sato-san, I added my comments below -
>> If it's BCP47, "ja_JP_JP" or "no_NO_NY" is illegal because the variant
>> subtag cannot be two-letter code. I think limiting builder strictly
>> to BCP47 is OK because developers can always use the old constructors.
> I got your point. Yes, ja-JP-JP is illegal unless variant JP is
> registered in IANA registry. It could be mapped to ja-JP-x-JP if my
> understanding is correct.
> I do not like to invalidate existing Java Locales just for this reason.
> There are two possible solutions here -
> 1. Register these Java's proprietary enhancement to the IANA registry.
> 2. Do not apply strict validation when a Locale is created, but handle
> it when converting to BCP47 language tag.
I prefer 1. if possible. But I don't know whether it's feasible as to
>> Does LDML define the mappings between, say "-k-collatio-traditio" and
>> "@collation=traditional"? If it's clearly defined in the LDML, we can
>> just say, Locale class implements -k extension as LDML's keywords.
> It's defined in the latest LDML spec. CLDR team actually should
> register letter "k" for the purpose in the language tag registry, which
> is not yet done. We had already agreed to register "k" to the language
> tag registry.
> I actually raised an issue about the truncation and we'll discuss this
> in the CLDR meeting tomorrow. The problem is that an LDML keyword can
> be systematically mapped to BCP47 extension, but you need full keyword
> name /value list for the inverse mapping. For example,
> "-k-collatio-traditio" is mapped to "collation=traditonal" in LDML, but
> you need to know "collatio" is the truncated form of LDML "collation",
> "traditio" is the truncated from of LDML keyword value "traditional".
Right. That's exactly what I meant. If "-k" is registered as a keyword
for LDML, LDML spec can just define "-k-collatio-[traditio | whatever]",
so that the round trip is ensured.
BTW, what happens if two LDML keywords that have the same first 8
characters mapped to BCP47 -k extension?
>> The reason is, again BCP47 conformance. If I understand it correctly,
>> language subtag is mandatory in BCP47.
> I think so too. But, as I mentioned, language "und" is valid in BCP47.
> So empty language code in a Locale can be interpreted as "und" in BCP47
> language tag.
I am fine with it.
More information about the locale-enhancement-dev