Uluslararasılaştırma
1.3 Yerel Seçimi
Program içinden yerel seçmek için
-
char *setlocale (int category, const char *locale);
çağrısı kullanılır. İlk parametre değiştirilecek kategoriyi belirten
ve yerel kategorileri ile aynı adı taşıyan makrolardan biridir. İkinci
parametre ise seçilecek yerel adıdır. Fonksiyon geçerli yerel adını
geriye döndürür. Dönen değer C kitaplığına ait olduğu için üzerinde
değişiklik yapmayın, yapmanız gerekiyorsa yada ilerde kullanacaksanız
bir kopyasını alın. Verdiğiniz yerele geçiş yapılamazsa geriye NULL
değeri döner. İkinci parametre olarak NULL değerini vererek, o anki
yerel adını bir değişikliğe yol açmadan öğrenebilirsiniz.
Program başlangıcında kullanıcının ayarlarını geçerli kılmak için:
komutunu vermelisiniz. Bir işlem için standard yerele ihtiyacınız
olduğunda yada geçici olarak yerel değiştirmek istiyorsanız şöyle
bir kod kullanabilirsiniz:
-
#include <locale.h>
char *old, *saved;
old = setlocale (LC_ALL, NULL);
if (old) {
saved = strdup (old);
set_locale (LC_ALL, "C");
...
set_locale (LC_ALL, saved);
free (saved);
}