setlocale

(PHP 4, PHP 5, PHP 7, PHP 8)

setlocaleYereli ayarlar

Açıklama

setlocale(int$sınıf, string$yereller, string...$kalan): string|false

İsimli bağımsız değişkenleri desteklemeyen sözdizimi:

setlocale(int$sınıf, array$yerel_dizisi): string|false

Yerel bilgisini ayarlar.

Uyarı

Evre başına değil süreç başına yerel bilgisi ayarlanır. Çok evreli bir sunucu çalıştırıyorsanız, betiğinizde setlocale() işlevini hiç çağırmadığınız halde yerel ayarlarında ani değişiklikler olduğunu gözlemlemişsinizdir. Bunun sebebi aynı anda aynı süreç altında başka evrelerde başka betiklerin çalışması ve bunların süreç genelinde geçerli olan setlocale() kullanımlarıdır. Windows üzerinde PHP 7.0.5 itibariyle yerel bilgisi evre başına sağlanmaktadır.

Bağımsız Değişkenler

sınıf

sınıf olarak yerel ayarıyla ilgili belli bir işlevsellik belirten şu sabitlerden biri belirtilebilir:

yereller

Eğer"" şeklinde boş bir dizge belirtilmişse, yerel isimleri yukarıdaki sınıflarla aynı isimdeki ortam değişkenlerinden veya "LANG" ortam değişkeninden alınır.

Eğer yereller"0" ise, yerel ayarı değiştirilmeden mevcut ayar döndürülür.

Eğer yereller için birden fazla bağımsız değişken belirtilmişse, yeni yerel başarıyla ayarlanana kadar belirtilen her bağımsız değişken tek tek denenir. Yerel isimlerinin farklı sistemlerde farklı isimlerde bulunması durumunda veya kullanılabilir yerelin bulunamaması olasılığına karşı son çareleri belirtmek için kullanılır.

kalan

Yerel ayarları başarılı olana kadar denenecek seçimlik dizge bağımsız değişkenler.

yerel_dizisi

Yeni yerel başarıyla ayarlanana kadar belirtilen her dizi elemanı tek tek denenir. Yerel isimlerinin farklı sistemlerde farklı isimlerde bulunması durumunda veya kullanılabilir yerelin bulunamaması olasılığına karşı son çareleri belirtmek için kullanılır.

Bilginize:

Windows'ta, setlocale(LC_ALL, '') kullanımında, sistemin bölgesel ayarlar/dil ayarlarında (Denetim Masasından erişilebilir) belirtilmiş yerelin ismi kullanılır.

Dönen Değerler

Ayarlama yapılabilmişse yeni yerel ismi, platformunuzda yereller işlevsel değilse, belirtilen yerel yoksa veya sınıf ismi geçersizse false döner.

Geçersiz bir sınıf ismi ayrıca bir uyarı üretilmesine sebep olur. Sınıf ve yerel isimleri » RFC 1766 ve » ISO 639'da bulunabilir. Farklı sistemler yereller için farklı isimleme şemaları kullanırlar.

Bilginize:

setlocale() işlevinin dönüş değeri PHP'nin üzerinde çalıştığı sisteme bağlıdır. Sistemin setlocale işlevinin döndürdüğü değeri döndürür.

Örnekler

Örnek 1 - setlocale() örnekleri

<?php
// Yereli Türkçe yapalım
setlocale(LC_ALL, 'tr_TR.UTF-8');

// Çıktısı: 22 Aralık 1978 Cuma
echo strftime("%e %B %Y %A\n", mktime(0, 0, 0, 12, 22, 1978));

// Türkçe için farklı yerel isimleri deneyelim
$loc_tr = setlocale(LC_ALL, 'tr_TR.UTF-8', 'tr_TR', 'tr', 'turkish');
echo
"Türkçe için tercih edilen yerel ismi: '$loc_tr\n'";
?>

Örnek 2 - Windows için setlocale() örnekleri

<?php
// Yereli Felemenkçe yapalım
setlocale(LC_ALL, 'nld_nld');

// Çıktısı: vrijdag 22 december 1978
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

// Almanca için farklı yerel isimleri deneyelim
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo
"Almanca için tercih edilen yerel ismi: '$loc_de'";
?>

Notlar

İpucu

Windows kullanıcıları Microsoft'un MSDN sitesinde yereller dizgeleri hakkında bilgi bulabilirler. Desteklenen dil dizgeleri »  http://msdn.microsoft.com/en-us/library/39cwe7zf.aspx adresinde desteklenen ülke/bölge dizgeleri ise »  http://msdn.microsoft.com/en-us/library/cdax410z.aspx adresinde bulunabilir.

To Top