Locale::composeLocale

locale_compose

Returns a correctly ordered and delimited locale ID

Description

Object oriented style

public static string Locale::composeLocale ( array $subtags )

Procedural style

string locale_compose ( array $subtags )

Returns a correctly ordered and delimited locale ID the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Parameters

subtags

an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Note:

The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed with the suffix ranging from 0-14. Hence the keys for the input array can be variant0, variant1, ...,variant14. In the returned locale id, the subtag is ordered by suffix resulting in variant0 followed by variant1 followed by variant2 and so on.

The 'variant', 'private' and 'extlang' multiple values can be specified both as array under specific key (e.g. 'variant') and as multiple numbered keys (e.g. 'variant0', 'variant1', etc.).

Return Values

The corresponding locale identifier.

Examples

Example #1 locale_compose example

<?php
$arr 
= array(
    
'language'=>'en' ,
    
'script'  =>'Hans' ,
    
'region'  =>'CN',
    
'variant2'=>'rozaj' ,
    
'variant1'=>'nedis' ,
    
'private1'=>'prv1' ,
    
'private2'=>'prv2'
);
echo 
locale_compose$arr );
?>

Example #2 OO example

<?php
$arr 
= array(
    
'language'=>'en' ,
    
'script'  =>'Hans' ,
    
'region'  =>'CN',
    
'variant2'=>'rozaj' ,
    
'variant1'=>'nedis' ,
    
'private1'=>'prv1' ,
    
'private2'=>'prv2'
);
echo 
Locale::composeLocale$arr );
?>

The above example will output:

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

See Also

  • locale_parse