(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Locale::composeLocale -- locale_compose â Retourne un identifiant de locale correct
Style orienté objet
Style procédural
Retourne un identifiant de locale correct, ordonné et délimité, avec les clés pour identifier les particularités régionales, et les valeurs associées à ces sous-locales.
subtagsUn tableau contenant la liste des paires clĂ©-valeurs, oĂč les clĂ©s reprĂ©sentent les identifiants de sous-locales, et leur valeur associĂ©es sont la valeur des sous-tags.
Note:
Les sous-tags
'variant'et'private'peuvent prendre jusqu'Ă 15 valeurs alors que'extlang'ne peut prendre qu'un maximum de 3 valeurs. Par exemple les variantes sont autorisĂ©es avec un suffixe allant de 0 Ă 14. Par consĂ©quent, les clĂ©s du tableau sontvariant0,variant1, âŠ,variant14. Dans l'identifiant de locale retournĂ©, les sous-tags sont ordonnĂ©s par suffixe, avecvariant0suivi devariant1suivi devariant2et ainsi de suite.Alternativement, les valeurs de
'variant','private'et'extlang'peuvent ĂȘtre spĂ©cifiĂ©es en tant qu'un tableau sous une clĂ© spĂ©cifique (e.g.'variant'). Dans ce cas aucune limite sur le nombre de sous-tags reconnus n'est appliquĂ©e.
L'identifiant de locale correspondant, ou false quand subtags est vide.
Exemple #1 Exemple avec locale_compose(), procédural
<?php
$arr = array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo locale_compose($arr);
?>Exemple #2 Exemple avec locale_compose(), POO
<?php
$arr = array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo Locale::composeLocale($arr);
?>L'exemple ci-dessus va afficher :
Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2
Exemple #3 Limites des Sous-tags
Si subtags sont fournis en tant que clés différentes
avec un suffixe numérique, les clés non supportées sont ignorées
silencieusement (dans ce cas 'extlang3'),
et ordonnées dans le résultat par le suffixe numérique.
Il n'y a pas de limites, si les sous-tags sont fournis en tant que
tableau; leur ordre est comme donné.
<?php
$arr = array(
'language' => 'en',
'script' => 'Hans',
'region' => 'CN',
'extlang3' => 'd',
'extlang2' => 'c',
'extlang1' => 'b',
'extlang0' => 'a',
);
echo locale_compose($arr), PHP_EOL;
$arr = array(
'language' => 'en',
'script' => 'Hans',
'region' => 'CN',
'extlang' => ['a', 'b', 'c', 'd'],
);
echo locale_compose($arr), PHP_EOL;
?>L'exemple ci-dessus va afficher :
en_a_b_c_Hans_CN en_a_b_c_d_Hans_CN