Subject: RE: [Ltru] [psg.com #985] Specify case rules for canonical tags

From: "Addison Phillips" <[email-masked]>
Date: Tue, 17 May 2005 07:36:42 -0700

Thanks, John. Some responses below.

Addison

Addison P. Phillips
Globalization Architect, Quest Software
Chair, W3C Internationalization Core Working Group

Internationalization is not a feature.
It is an architecture. 

> -----Original Message-----
> From: John Cowan [mailto:[email-masked]]
> Sent: 2005?5?17? 7:30
> To: Addison Phillips
> Cc: [email-masked]
> Subject: Re: [Ltru] [psg.com #985] Specify case rules for canonical tags
> 
> Addison Phillips scripsit:
> 
> > <t>When performing canonicalization of language tags, processors MAY
> > optionally regularize the case of the subtags, following the case used
> > in the registry. Note that this corresponds to the following casing
> > rules: uppercase all non-initial two-letter subtags; titlecase all
> > non-initial four-letter subtags; lowercase everything else.</t>
> >
> > In other words, permit or even encourage it, but not require it.
> 
> I can live with that, provided the casing rules are moved or copied to the
> registry-creation section so that they are locked in (e.g. when ISO 639-3
> or 639-6 comes on line, we want their tags to be entered in lower case).
[Addison Phillips] 

Agreed.
> 
> > Oh, and should we add a warning about the one common case in which
> > locale-sensitive casing methods hurt? E.g. in Java I can write this:
> 
> Yes, absolutely.  Note that both Turkish and Azeri locales have this
> problem.
> 
> >        // set the locale as if environment is running in Turkish
> >        Locale.setDefault("tr","TR");
> >        // ...
> >        String fubar = "iI";
> >        fubar = fubar.toUpperCase();
> >
> > And 'fubar' contains: \u0130\u0049 (which would be bad in a language
> tag).
> 
> A more practical example would be "in" (India) being upcased to "\u0130n".
> Hopefully Turkish/Azeri programmers are used to this inconvenience by
> now, though.
[Addison Phillips] 

Turkish and Azeri programmers are used to it. It's all the other programmers in the world... they are blissfully unaware. If you want locale-neutral casing then you have to be explicit:

  fubar = fubar.toUpperCase(new Locale("",""));

Programs exported to or run in systems in these locales fail if you aren't careful.

The India example is a better one.
> 
> --
> Is a chair finely made tragic or comic? Is the          John Cowan
> portrait of Mona Lisa good if I desire to see
> [email-masked]
> it? Is the bust of Sir Philip Crampton lyrical,
> www.ccil.org/~cowan
> epical or dramatic?  If a man hacking in fury
> www.reutershealth.com
> at a block of wood make there an image of a cow,
> is that image a work of art? If not, why not?               --Stephen
> Dedalus

_______________________________________________
Ltru mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ltru