On 29/10/05, Brendan O'Dea <[EMAIL PROTECTED]> wrote:
> On Sat, Oct 29, 2005 at 12:21:29PM +0200, Piotr Engelking wrote:
> >In 1.36.1, the following snippet was added to help2man.PL:
> >
> >    # Add default territory to locale.
> >    $locale .= "_\U$locale" if $locale =~ /^[a-z]{2}$/;
> >
> >This is hopelessly broken for many languages. Uppercasing an ISO 639-1 code
> >often doesn't result in a valid ISO 3166-1 alpha-2 code (e.g. in the case of
> >en [English], or uk [Ukrainian]). Even if it does, the produced code often
> >doesn't stand for a territory where the language is primarily spoken (e.g.
> >in the case of be [Belarusian] or cs [Czech], BE stands for Belgium, and CS
> >for Serbia and Montenegro).
>
> I think that you misunderstand the transformation which is actually
> occuring here:  the intent is to change a locale specified as "fr" to
> "fr_FR".
>
> The problem is that, at least on Debian systems, "fr" is not a valid
> locale, whereas "fr_FR" is.
>
> Note:  this is merely a default for the case where the specified locale
> is exactly two characters.  If you specify a locale of "fr_BE", then no
> change is made; the emitted manual page will use the Belgian varient of
> French, presuming such a catalog is available.

I think that you misunderstand the problem: "fr" is transformed to "fr_FR",
which, by luck, happens to be right, but "sv" and "en" are transformed to
"sv_SV" and "en_EN", which doesn't make sense - there are not many Swedish
speakers in San Salvador, and "EN" doesn't correspond to any territory at
all.

Reply via email to