(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Une "Locale" est un identifiant utilisé pour représenter les comportements régionaux d'une API. 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 :
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ées par ICU sont valides, et utilisées à chaque fois qu'elles peuvent l'être dans ICU.
Les locales ne peuvent pas être instanciées. Ce sont toutes des fonctions statiques. Utiliser Locale::getDefault() et Locale::setDefault() pour lire et écrire la locale par défaut utilisée par ICU.
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és de langage (et donc, les
identifiants) sont insensibles à la casse. Il existe une fonction de canonicalisation
qui permet d'obtenir la spécification exacte.
$languageTag, string $locale, bool $canonicalize = false): ?bool$locale, ?string $displayLocale = null): string|false$locale, ?string $displayLocale = null): string|false$locale, ?string $displayLocale = null): string|false$locale, ?string $displayLocale = null): string|falseCes constantes définissent le comportement de Locale
Locale::DEFAULT_LOCALE
null
Utilisée comme paramètre de locale avec les méthodes des différentes 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
int
La locale utilisée par les données entrantes.
Locale::VALID_LOCALE
int
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
string
Sous-libellé de langue
Locale::EXTLANG_TAG
string
Sous-libellé de langue étendu
Locale::SCRIPT_TAG
string
Sous-libellé de script
Locale::REGION_TAG
string
Sous-libellé de région
Locale::VARIANT_TAG
string
Sous-libellé de variante
Locale::GRANDFATHERED_LANG_TAG
string
Sous-libellé d'ascendant de langage
Locale::PRIVATE_TAG
string
Sous-libellé privé
| Version | Description |
|---|---|
| 8.5.0 | Les méthodes de Locale lancent désormais une ValueError lorsqu'un argument de locale contient des octets nuls. |
| 8.4.0 | Les constantes de classe sont maintenant typées. |