[loc-en-dev] Comments to the draft spec

Naoto Sato 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 
time wise.

> 
>>
>> 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.

Thanks,
-- 
Naoto Sato



More information about the locale-enhancement-dev mailing list