libc ve türkçe desteği
Selam,
Biliyorsunuz GNU C kılavuzunun çevirisine başlamıştık (belgeler.org/glibc/glibc.html)
Geniş karakterlerle ilgili bölümü çevirirken bu iş nasıl oluyormuş diye denemek
istedim ve sanırım bir bug buldum. Emin değilim çünkü böyle oyuncaklar dışında
Linux üzerinde C ile yazılım geliştirmişliğim yok.
Aşağıdaki küçük yazılıma bir bakın:
-----------------
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
wchar_t strA[80] = L"Teşekkürler";
int main(void)
{
setlocale (LC_ALL, "tr_TR");
fputws(strA, stdout);
putwchar('\n');
return 0;
}
--------------
Kılavuzda yazdığına göre sistem yerel ayarlarını etkin kılmak için
setlocale (LC_ALL, "");
verilmesi gerekiyor.
( belgeler.org/glibc/glibc-Setting-the-Locale.html - henüz çevrilmedi)
Ama sistem yerel ayarları LANG="tr_TR.UTF-8" ile yapılmışsa ve setlocale
işlevi böyle kullanılırsa Türkçe karakter basılmıyor. Mutlaka setlocale
işlevinde tr_TR belirtmek gerekiyor.
Bu bir bug değil mi?
Sistem UTF-8 yerellerinde olsa bile konsol sadece ISO-8859
yerellerinden anlıyor.
Sanıyorum, GNOME ile ilgili Türkçe sorunlarının temelinde bu var.
Çünkü GNOME'un "tr_TR" yereli ile ilgili sorunları çözülmeden
UTF-8'e geçildi.
Yorumlarınızı bekliyorum. (glibc-2.3.2 kurulu)
Esen kalın,
Nilgün
Reply to: