Locale::lookup

locale_lookup

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

Locale::lookup -- locale_lookupSearches the language tag list for the best match to the language

Описание

Объектно-ориентированный стиль

public static string Locale::lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Процедурный стиль

string locale_lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Searches the items in langtag for the best match to the language range specified in locale according to RFC 4647's lookup algorithm.

Список параметров

langtag

An array containing a list of language tags to compare to locale. Maximum 100 items allowed.

locale

The locale to use as the language range when matching.

canonicalize

If true, the arguments will be converted to canonical form before matching.

default

The locale to use if no match is found.

Возвращаемые значения

The closest matching language tag or default value.

Примеры

Пример #1 locale_lookup() example

<?php
$arr 
= array(
    
'de-DEVA',
    
'de-DE-1996',
    
'de',
    
'de-De'
);
echo 
locale_lookup($arr'de-DE-1996-x-prv1-prv2'true'en_US');
?>

Пример #2 OO example

<?php
$arr 
= array(
    
'de-DEVA',
    
'de-DE-1996',
    
'de',
    
'de-De'
);
echo 
Locale::lookup($arr'de-DE-1996-x-prv1-prv2'true'en_US');
?>

Результат выполнения данного примера:

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.
2014-07-28 06:22:16
http://php5.kiev.ua/manual/ru/locale.lookup.html
Автор:
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.
2015-05-09 01:59:08
http://php5.kiev.ua/manual/ru/locale.lookup.html

    Поддержать сайт на родительском проекте КГБ