(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
Locale::composeLocale -- locale_compose — Возвращает корректно отсортированные и разделенные идентификаторы локали
Объектно-ориентированный стиль
$subtags
) : stringПроцедурный стиль
$subtags
) : stringВозвращает строку, состоящую из корректно отсортированных и разделенных идентификаторов локали, собранную из массива, ключи которого обозначают подтеги идентификатора, а значения соответствующие значения этих подтегов.
subtags
Массив, содержащий список пар ключ-значение, где ключи являются именами подтегов идентификатора локали, а значения, соответственно, значениями этих подтегов.
Замечание:
Подтегов 'variant' и 'private' может быть не более 15, подтегов 'extlang' не более 3 и т.д. Варианты допустимы с суффиксами от 0 до 14. Ключи для этого подтега должны называться так: variant0, variant1, ...,variant14. В возвращаемом идентификаторе локали, подтеги будут отсортированы по этому суффиксу.
Множественные подтеги 'variant', 'private' и 'extlang' можно задать в виде массива под соответствующим ключем (например 'variant') или как несколько ключей с числовыми суффиксами ('variant0', 'variant1', и т.д.).
Соответствующий идентификатор локали.
Пример #1 Пример использования locale_compose()
<?php
$arr = array(
'language'=>'en' ,
'script' =>'Hans' ,
'region' =>'CN',
'variant2'=>'rozaj' ,
'variant1'=>'nedis' ,
'private1'=>'prv1' ,
'private2'=>'prv2'
);
echo locale_compose( $arr );
?>
Пример #2 Пример использования в объектно-ориентированном стиле
<?php
$arr = array(
'language'=>'en' ,
'script' =>'Hans' ,
'region' =>'CN',
'variant2'=>'rozaj' ,
'variant1'=>'nedis' ,
'private1'=>'prv1' ,
'private2'=>'prv2'
);
echo Locale::composeLocale( $arr );
?>
Результат выполнения данного примера:
Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2