Nazvy locales u glibc (nejen ceskych) a lokalizace vs. X

Petr Kolar PETR.KOLAR na vslib.cz
Úterý Listopad 3 07:49:10 CET 1998


Tento dopis jsem mel zahrabany mezi rozepsanymi, takze jej posilam se 
znacnym zpozdenim:

Vladimir Michl <michlv na risc.upol.cz> wrote:
> On Mon, 5 Oct 1998, Petr Kolar wrote:
>  Doma jsem se potom dival, a nasel jsem nekolik adresaru xx_XX (asi 3) k nimz
> nebyl adresar xx. Kdyz jsem se podival do jednoho adresare xx_XX/LC_MESSAGES
> nasel jsem tam pouze jediny soubor SYS_LC_MESSAGES. Takze duvod proc
> neexistuji adresare xx je asi ten, ze neexistuji katalogy pro dotycny jazyk.

   Cili jak pisu: katalogy v xx, glibc locales v xx_XX...

> >    Podle toho jak je to ve zdrajacich k X, ve vasem programku, i v kousku, 
> > ktery posilal Zdenek Kabelac <kabi na fi.muni.cz> dne Mon, 7 Sep 1998 16:54:51 
> > +0200 (MEST) se Subject: Re: Bug nalezen: isprint()  + X11 programovani,
> > je videt, ze X aplikace nejdrive nahlednou do normalnich locales a pak do 
> > Xlocales a pak snad jeste jednou do locales.
>  
>  Svuj test jsem cerpal prave z pristevku Zdenka Kabelace. Problem je ten, 
> ze v X11/Xlocale.h se pri nadefinovanem makru X_LOCALE, nadefinuje makro
> 
> #define setlocale _Xsetlocale
> 
> ktere odstrani puvodni volani setlocale z glibc a misto nej se vola 
> funkce _Xsetlocale, ve ktere se uz glibc-ove setlocale nevola (strace 
> na priklad neregistruje zadny pristup do /usr/share/locale). To by pak 
> melo pusobit (a pusobi) problem s nastavenim prostredi glibc pro dotycny 
> jazyk. V prikladu je to videt pri tisku datumu.

   Ted jsem nejak mimo misu. K cemu se to X_LOCALE vlastne definuje?
 
> Ted jak se divam na priklad, tak jedna chybova hlaska je zavadejici:
> 
> I18N: Locale not supported by C library, locale unchanged
> 
> protoze ona je pravdiva pouze v pripade, kdyz neni definovano X_LOCALE.

   Mel jsem pocit, ze tato hlaska je dobra. Bohuzel ovsem neinformuje,
JAKE locale neni zname.  

>  No LC_* a LANG by se meli nastavovat na jazyk[_ZEME[.kodovani]], pricemz 
> by vse melo byt podle norem. Ale mozna je to pouze moje predstava. Uz si 
> nepamatuju, kde jsem to cetl.

   Vzhledem k tomu, jak je to dlouhe a jak je mozne davat na ruzna mista
podtrzitka a pomlcky, tak neni divu, ze jsou v locale.alias definovany 
aliasy jako czech, slovak apod.. Podle mne neni na pouzivani techto aliasu
nic spatneho. Je vsak otazkou, jestli cs, sk apod. pouzivat jako hodnotu
cehokoli jineho nez promenne LANG (kvuli Xresourcum a man. strankam). 
Myslim, ze spis ne.

> > > Osobne by me zajimalo jak moc trivialni ci nikoli by byla ta konverze, kdyz 
> > > uvazime, ze by musela byt univerzalni z jakehokoliv kodovani do unicode.
> > > Podle me je to stejne zbytecne. Da se to vyresit velice jednoduse i bez 
> > > teto konverze.
> > 
> >    Locales ale snad obsahuji popis znakove sady ISO-8859-2, takze konverze
> > by nemela delat problemy...
> 
>  No jo, ale popis je v symbolicke podobe v /usr/share/i18n/charmaps. 
> Jinde v pouzitelne podobe, co ja vim, neni. Pro prekodovani by se definice 
> znakove sady a UNICODU musela natahnout do pameti a udelat konverzni 
> tabulku do UNICODE coz zabere cas a pamet. Jinak to resitelne je.

   Ten dotaz jsem myslel nikoli jestli to v principu jde, ale jestli to
skutecne funguje, resp. jestli to ma fungovat (je mozne, ze je tam ted 
treba nejaka chyba, ale melo by to fungovat). 

                                                     S pozdravem
--
                          ***  Petr Kolar  ***
 Department of Information Technologies, Technical University of Liberec
             Voronezska 1329, 461 17 Liberec, Czech Republic
             Phone: +420-48-535-2371   Fax: +420-48-535-2229
  E-mail: Petr.Kolar na vslib.cz  http://asterix.vslib.cz/staff/kolar.html


Další informace o konferenci Linux