Chyba v triedeni cs_CZ & sk_SK

Honza Pazdziora adelton na fi.muni.cz
Středa Květen 28 20:26:30 CEST 2003


On Wed, May 28, 2003 at 03:13:03PM +0000, Michal Kubecek wrote:
> 
> Možná vám to nepřipadá, ale problém, zda je 'ch' písmeno nebo dvě
> písmena, je skutečně podstatný problém. V současné době je to tak,
> že tam kde pracujete s jazykem ručně, je to jedno písmeno, tam, kde
> ho zpracováváte strojově, to jsou dvě písmena. Tam, kde převádíte
> jednu formu na druhou (třeba zpracování ručně vyplněných formulářů),
> narazíte na problémy. Proto jsem navrhoval dvě alternativy, jak tento
> rozpor řešit: buď to bude vždy jedno písmeno nebo vždy dvě písmena.

[...]

> To je přesně to, co kritizujete. Tím docílíte toho, že nebude existovat
> jednotná definice porovnávání řetězců (stejně jako dnes). Navíc řazení
> slov bude záviset na tom, zda ho provádí člověk nebo počítač. To mi moc
> nepřipadá jako bezproblémové řešení. Pokud by se norma pro porovnávání
> řetězců měla zjednodušit (jako že by měla), pak by měla být ale v každém
> případě stejná bez ohledu na to, kdo porovnává.

Pokud mám v češtině třídit slova s 'ch' tak, jak se to už dlouho dělá
v neelektronické podobě a jak se to už nějakou dobu dělá i v podobě
elektronické, tak se musím smířit například s tím, že v případě
smíšeného obsahu česko anglického se mi Christopher bude řadit za Havla.
Mohu samozřejmě mít slovník, podle kterého poznám, že Christopher není
slovo české, a proto by tento měl být v seznamu před Doudou, ovšem
pak dostanu na stůl pana Chalupu, který se shodou okolností vrátil po
50 letech ze zahraničí a je zvyklý na to, že jeho jméno je řazeno
poblíž Christopherů, a jsem v háji.

Tuto dodatečnou znalost ale přece potřebujete jak v případě, že
budete ten telefonní seznam skládat ručně, tak v případě, že to
projedete strojem.

Collating sekvence v locales a řazení v databázích je typicky o tom,
že se z původního textu nějak odvodí řadící řetězec. A seřazení se pak
provede na základě těchto odvozaných řadících řetězců. Pokud máte
takovou aplikaci, kde je kritické, aby vám to pořadí stroj nepřeházel
a chcete mít plnou kontrolu nad tím, že čechoameričana Chalupu frknete
před Crhu, ale jeho bratrance za Hrušku, evidujte si ten řadící řetězec
jako zcela separátní údaj, který Vám plniči dat budou muset naplnit
spolu se jménem a příjmením osoby, jejím datem narození a třeba
latinkovým přepisem jejího původně azbukou či arabsky psaného jména.

Mám ale dojem, že ten problém není tak podstatný, jak ho líčíte.
Měsíce či roky byli všichni spokojení, pak někdo udělal pokus o opravu
locales podle svého individuálního názoru na to, jak by měly cs_CZ
locales vypadat (a to nekompatibilně s normou i s praxí slovníkovou),
no a když jsme si vyjasnili, o co se ty locales snaží a proč jsou
takové, jaké jsou (rozumně spočitatelná míra kompatibility s normou
a neelektronickými zvyklostmi), najednou tady lidi začali mít akutní
a intenzivní pocit, že je potřeba zrušit nebo aspoň překopat normu,
znovu vydat slovníky a encyklopedie, a všeobecně vytvořit nový a lepší
řád.

Opravdu Vás současný stav světa v oblasti českého řazení už tak dlouho
a tak moc trápí?

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 .project: Perl, mod_perl, DBI, Oracle, auth. WWW servers, XML/XSL, ...
		Only self-confident people can be simple.


Další informace o konferenci Linux