It worth to note that if $langtag array is empty this function returns empty string and not $default . Use array(false) if your $langtag array is empty in order to get default locale.
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Locale::lookup -- locale_lookup — En iyi eşleşen dili bulmak için dil yaftası listesini araştırır
Nesne yönelimli kullanım
$dil_yaftası
,$yerel
,$meşru
= false
,$öntanımlı_yerel
= null
Yordamsal kullanım
$dil_yaftası
,$yerel
,$meşru
= false
,$öntanımlı_yerel
= null
RFC 4647'nin arama algoritmasına uygun olarak, yerel
ile belirtilen dil aralığı ile en iyi eşleşen dil yaftasını
dil_yaftası
içindeki öğeler arasında arar.
dil_yaftası
yerel
ile karşılaştırılacak dil yaftalarının
listesini içeren bir dizi. En fazya 100 öğeye izin verilir.
yerel
Dil aralığını eşleştirmek için kullanılacak yerel.
meşru
true
ise bağımsız değişkenler eşleştirilmeden önce meşru biçeme dönüştürülür.
öntanımlı_yerel
Bir eşleşme bulunamadığı takdirde kullanılacak yerel.
Bulunduğu takdirde en iyi eşleşen dil yaftası, aksi takdirde öntanımlı değer döner.
yerel
INTL_MAX_LOCALE_LEN
'den
uzunsa null
döner.
Sürüm: | Açıklama |
---|---|
7.4.0 |
öntanımlı_yerel artık null olabiliyor.
|
Örnek 1 - locale_lookup() örneği
<?php
$arr = array(
'de-DEVA',
'de-DE-1996',
'de',
'de-De'
);
echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>
Örnek 2 - Nesne yönelimli kullanım örneği
<?php
$arr = array(
'de-DEVA',
'de-DE-1996',
'de',
'de-De'
);
echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>
Yukarıdaki örneğin çıktısı:
de_de_1996
It worth to note that if $langtag array is empty this function returns empty string and not $default . Use array(false) if your $langtag array is empty in order to get default locale.
Note that this method does not understand "similar" languages, so the following:
Locale::lookup(["en-US"], "en-GB", false);
Or:
Locale::lookup(["es-ES"], "es-CO", false);
Does not work as you would expect (empty result). To get a match in those cases you will have to use two letter language codes instead:
Locale::lookup(["en"], "en-GB", false);
Or:
Locale::lookup(["es"], "es-CO", false);
These do return 'en' and 'es' respectively.