Novinky v lokalizaci ve FreeBSD

Cejka Rudolf cejkar at dcse.fee.vutbr.cz
Fri Feb 9 20:58:48 CET 2001


Petr Holub wrote (2001/02/09):
> > Na jednu stranu je to docela dobre, ale na druhou stranu lze ocekavat,
> > ze nastanou problemy s desetinnou carkou u realnych cisel stejne
> > jako v jinych systemech...
> 
> Nikdy jsem se locale bliz nezabyval, ale nedal by se tam udelat nejaky
> alias (ze tecka vlastne taky muze byt carka)?

Mozna si nerozumime. Dam priklad z praxe: Pri nelokalizovane podobe
funkce printf() jsou realna cisla vypisovana jako "xyz.xyz", ale v
lokalizovane podobe jsou u nas "xyz,xyz". Vystup ovlivnuje (ne)zapnuti
kategorie LC_NUMERIC. Program v PostScriptu by mel u realnych cisel
vzdy obsahovat je podobu s teckou, tj. "xyz.xyz", protoze je to tak
definovano. Jenze programatori jsou pohodlni a na zacatku programu
zavolaji setlocale(LC_ALL, "") treba jen kvuli kategorii LC_MESSAGES
nebo LC_CTYPE, coz ovsem zpusobi lokalizovani vsech kategorii a okolo
printf() uz zadne dalsi volani setlocale() pro zruseni kategorie
LC_NUMERIC nedaji, takze printf() cisla vypisuje s carkou a PostScriptovy
vystup je pak spatne. A ja jsem pak musel rucne editovat dosle
prispevky na konferenci, aby sly vubec vytisknout na tiskarne. Tak.

Nebo jiny priklad: Skriptem treba zpracovavate vystup awk, kde je opet
tisk realnych cisel. A jelikoz ho spoustite ze sveho prostredi, mate
zapnutou i lokalizaci cisel a awk spravne vraci realna cisla s carkou
a misto 1.2, 3.4, 5.6 se vytiskne 1,2, 3,4, 5,6 - a to je pak spravny
gulas ;-) a dlouhe premysleni, proc skript jednou funguje a podruhe ne,
kdyz ty vysledky chcete rozdelit na jednotliva cisla. Taky tak.

Ani v jednom pripade si ty aliasy nedokazu predstavit. Spis je
problem v programatorech, ze na moznou zmenu tecky na neco jineho
zapominaji a kategorii LC_NUMERIC berou na lehkou vahu. Ja taky.

(Veci jako printf() nebo strfmon() jeste hotove nejsou, ale zda se,
ze ten clovek dokonceni podpory lokalizaci mysli vazne.)

-- 
Rudolf Cejka   (cejkar at dcse.fee.vutbr.cz;  http://www.fee.vutbr.cz/~cejkar)
Brno University of Technology, Faculty of El. Engineering and Comp. Science
Bozetechova 2, 612 66  Brno, Czech Republic



More information about the Users-l mailing list