From: Deniz Akkus Kanca (deniz@arayan.com)
Date: Sat 29 May 2004 - 00:04:11 EEST
Cum 28 May 2004 23:59 tarihinde şunları yazmıştınız:
> Evet, verdiginiz ornekler gercekten guzel, ben Turkce sorununu kendi
> capimd= a=20
> zaten cozdum, ama projemizi cok dilli yapida tasarladigimiz icin tum
> diller= i=20
> kullanirken sorun cikacak, bu sorunu $imdilik butun diller icin=20
> setlocale(LC_ALL, "yerel dil")
> setlocale(LC_NUMERIC, tr_TR)
> $eklinde gecici bir cozume kavusturduk :) Program once tum yerel
> degiskenl= eri=20
> makinanin yereline gore ayarliyor(gettex icin), sonra da sadece numerik=20
> i$lemleri turkceye gore ayarliyor. Tabi gtk'ya strfmon()dan gelen
> sonuclari= =20
> basarken de en sondaki " TL" ibaresini kaldiriyoruz. Asil demek istedigim
> $= ey=20
> glibc-dev grubunun strfmon() yapmi$lar ne guzel, ama bununla birlikte
> birde= =20
> unstrfmon() gibi bir $ey geri koymalari gerekmez miydi?
Hayır. Çünkü:
1. strfmon'u tasarlandığı şekilde kullanmıyorsunuz.
2. istediğiniz şekilde 123.456,78 formatında bir dizgeyi sscanf ile rahatlıkla
geri okuyabilirsiniz. (sscanf ( dizge, "%'.2lf", &num) ile. Yani sizin
istediğiniz şey zaten mevcut, unstrfmon'a gerek yok, hele hele bunun
sonundaki TL işaretini de elle kaldırdığınıza göre.
3. Türk yerelinin LC_NUMERIC ayarlarının yetersiz olduğunu görmek mümkün.
"%'.2f" istenen formatlamayı yapamıyor. Dolayısıyla bütün dilleri buna mahkum
ederek ne kazanıyorsunuz, anlamadım.
Sanırım verdiğim örnekleri pek gözden geçirmediniz.
Esen kalın,
Deniz