array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.setlocale.php', 1 => 'setlocale', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'Dizge İşlevleri', ), 'prev' => array ( 0 => 'function.rtrim.php', 1 => 'rtrim', ), 'next' => array ( 0 => 'function.sha1-file.php', 1 => 'sha1_file', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/strings/functions/setlocale.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
setlocale — Yereli ayarlar
İsimli bağımsız değişkenleri desteklemeyen sözdizimi:
Yerel bilgisini ayarlar.
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.
sınıf
sınıf
olarak yerel ayarıyla ilgili belli bir
işlevsellik belirten şu sabitlerden biri belirtilebilir:
LC_ALL
- aşağıdakilerin hepsi.
LC_COLLATE
- dizge karşılaştırması için;
strcoll() işlevine bakınız.
LC_CTYPE
- karakter sınıflaması ve dönüşümü
için; bkz: ctype_alpha()
LC_MONETARY
- Para biçemlemesi için; bkz,
localeconv().
LC_NUMERIC
- ondalık ayraçlar için; bkz,
localeconv().
LC_TIME
- tarih ve saat biçemlemesi için; bkz,
strftime()
LC_MESSAGES
- sistem iletileri için (PHP
libintl
ile derlendiği takdirde kullanılabilir).
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.
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.
Ö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'";
?>
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.