[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: