Mid-Atlantic Developer Conference - Call for Speakers

Locale::lookup

locale_lookup

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookupEn iyi eşleşen dili bulmak için dil yaftası listesini araştırır

Açıklama

Nesne yönelimli kullanım

static string Locale::lookup ( array $dil_yaftası , string $yerel [, bool $meşru = false [, string $öntanımlı ]] )

Yordamsal kullanım

string locale_lookup ( array $dil_yaftası , string $yerel [, bool $meşru = false [, string $öntanımlı ]] )

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.

Değiştirgeler

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 değiştirgeler eşleştirilmeden önce meşru biçeme dönüştürülür.

öntanımlı

Bir eşleşme bulunamadığı takdirde kullanılacak yerel.

Dönen Değerler

Bulunduğu takdirde en iyi eşleşen dil yaftası, aksi takdirde öntanımlı değer döner.

Örnekler

Ö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''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''en_US');
?>

Yukarıdaki örneğin çıktısı:

de_de_1996

Ayrıca Bakınız

add a note add a note

User Contributed Notes 2 notes

up
3
vladimir at bashkirtsev dot com
3 years ago
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.
up
0
Anonymous
2 years ago
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.
To Top