NumberFormatter::setTextAttribute
Locale::acceptFromHttp
intl
PHP Manual

# La classe Locale

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

## Introduction

Une "Locale" est un identifiant utilisé pour représenter les comportements régionaux d'uneAPI. Les locales PHP sont organisées et identifiées de la même manière que les CLDR de ICU (et que de nombreux autres éditeurs de système Unix, tels que Mac, Java, etc.). Les locales sont identifiées par les libellés de langage de la RFC 4646 (qui utilise des tirets et pas des soulignés) en plus de la notation traditionnelle avec des soulignés. Sauf contre-indication, les fonctions de cette classe sont capables d'utiliser les deux notations.

Exemple d'identifiants :

- en-US (Anglais, USA)
- zh-Hant-TW (Chinois, traditionnel, Taiwan)
- fr-CA, fr-FR (French pour le Canada et la France, respectivement)

La classe Locale et les méthodes associées, sont utilisées pour interagir avec les identifiants locaux : pour vérifier qu'un identifiant est bien formé, valide, etc. Les extensions utilisées par CDR dans UAX #35 et hérité par ICU sont valides, et utilisés à chaque fois qu'elles peuvent l'être dans ICU.

Les locales ne peuvent pas être instanciées. Ce sont toutes des fonctions statiques.

La chaîne `NULL` ou vide permet d'obtenir la locale racine. La racine est l'équivalent de "en_US_POSIX" en CLDR. Les libellé de langage (et donc, les identifiants) sont insensibles à la casse. Il existe une fonction de canonalisation qui permet d'obtenir la spécification exacte.

## Synopsis de la classe

Locale {
/* Méthodes */
public static string acceptFromHttp ( string `$header` )
public static string canonicalize ( string `$locale` )
public static string composeLocale ( array `$subtags` )
public static bool filterMatches ( string `$langtag` , string `$locale` [, bool `$canonicalize` = false ] )
public static array getAllVariants ( string `$locale` )
public static string getDefault ( void )
public static string getDisplayLanguage ( string `$locale` [, string `$in_locale` ] )
public static string getDisplayName ( string `$locale` [, string `$in_locale` ] )
public static string getDisplayRegion ( string `$locale` [, string `$in_locale` ] )
public static string getDisplayScript ( string `$locale` [, string `$in_locale` ] )
public static string getDisplayVariant ( string `$locale` [, string `$in_locale` ] )
public static array getKeywords ( string `$locale` )
public static string getPrimaryLanguage ( string `$locale` )
public static string getRegion ( string `$locale` )
public static string getScript ( string `$locale` )
public static string lookup ( array `$langtag` , string `$locale` [, bool `$canonicalize` = false [, string `$default` ]] )
public static array parseLocale ( string `$locale` )
public static bool setDefault ( string `$locale` )
}

## Constantes pré-définies

Ces constantes définissent le comportement de Locale

`Locale::DEFAULT_LOCALE` (`NULL`)
  Utilisée comme paramètre de locale avec les méthodes des différences classes affectées, telles que NumberFormatter. Cette constante fait qu'on utilise les valeurs par défaut.

Ces constantes décrivent le choix de la locale pour la méthode getLocale de différentes classes.

`Locale::ACTUAL_LOCALE` (chaîne de caractères)
  La locale utilisée par les données entrante.
`Locale::VALID_LOCALE` (chaîne de caractères)
  C'est la locale la plus spécifique supportée par ICU.

Ces constantes définissent comment les Locales sont analysées ou composées. Elles doivent être utilisées comme clés dans un tableau d'arguments passé à locale_compose() et sont retournées par locale_parse() comme clés d'un array associatif.

`Locale::LANG_TAG` (chaîne de caractères)
  Sous-libellé de langue
`Locale::EXTLANG_TAG` (chaîne de caractères)
  Sous-libellé de langue étendu
`Locale::SCRIPT_TAG` (chaîne de caractères)
  Sous-libellé de script
`Locale::REGION_TAG` (chaîne de caractères)
  Sous-libelleé de région
`Locale::VARIANT_TAG` (chaîne de caractères)
  Sous-libellé de variante
`Locale::GRANDFATHERED_LANG_TAG` (chaîne de caractères)
  Sous-libellé d'ascendant de langage
`Locale::PRIVATE_TAG` (chaîne de caractères)
  Sous-libellé privé

## Voir aussi

- » RFC 4646 : libellés pour identifier les langues
- » RFC 4647 : Matching of Language Tags
- » Unicode CLDR Project:Common Locale Data Repository
- » IANA Language Subtags Registry
- » ICU User Guide : Locale
- » ICU Locale api

## Sommaire

- Locale::acceptFromHttp — Devine la meilleure locale à partir de l'en-tête HTTP "Accept-Language"
- Locale::canonicalize — Canonise la chaîne représentant la locale
- Locale::composeLocale — Retourne un identifiant de locale correct
- Locale::filterMatches — Vérifie si le tag de langue correspond à une locale
- Locale::getAllVariants — Liste toutes les variantes d'une locale
- Locale::getDefault — Lit la valeur par défaut d'une locale pour la variable globale 'default_locale'
- Locale::getDisplayLanguage — Retourne un nom approprié pour l'affichage d'un nom de langue
- Locale::getDisplayName — Retourne un nom d'affichage correct pour une locale
- Locale::getDisplayRegion — Retourne un nom pour la région de la locale
- Locale::getDisplayScript — Retourne le nom du script de la locale
- Locale::getDisplayVariant — Retourne un nom pour la variante de la locale
- Locale::getKeywords — Lit les mots-clé de la locale
- Locale::getPrimaryLanguage — Lit la langue principale de la locale
- Locale::getRegion — Retourne un code pour la région de la locale
- Locale::getScript — Retourne un code pour le script de la locale
- Locale::lookup — Recherche dans la liste la meilleure langue
- Locale::parseLocale — Retourne les sous-éléments de la locale
- Locale::setDefault — Configure la locale par défaut

NumberFormatter::setTextAttribute
Locale::acceptFromHttp
intl
PHP Manual