La classe Locale

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

Introduction

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 :

  • en-US (Anglais, USA)
  • zh-Hant-TW (Chinois, traditionnel, Taiwan)
  • fr-CA, fr-FR (Français 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Ă©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.

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.

Synopsis de la classe

class Locale {
/* Constantes */
public const int ACTUAL_LOCALE;
public const int VALID_LOCALE;
public const null DEFAULT_LOCALE = null;
public const string LANG_TAG;
public const string EXTLANG_TAG;
public const string SCRIPT_TAG;
public const string REGION_TAG;
public const string VARIANT_TAG;
public const string PRIVATE_TAG;
/* Méthodes */
public static function acceptFromHttp(string $header): string|false
public static function canonicalize(string $locale): ?string
public static function composeLocale(array $subtags): string|false
public static function filterMatches(string $languageTag, string $locale, bool $canonicalize = false): ?bool
public static function getAllVariants(string $locale): ?array
public static function getDefault(): string
public static function getDisplayLanguage(string $locale, ?string $displayLocale = null): string|false
public static function getDisplayName(string $locale, ?string $displayLocale = null): string|false
public static function getDisplayRegion(string $locale, ?string $displayLocale = null): string|false
public static function getDisplayScript(string $locale, ?string $displayLocale = null): string|false
public static function getDisplayVariant(string $locale, ?string $displayLocale = null): string|false
public static function getKeywords(string $locale): array|false|null
public static function getPrimaryLanguage(string $locale): ?string
public static function getRegion(string $locale): ?string
public static function getScript(string $locale): ?string
public static function isRightToLeft( string $locale = "" ): bool
public static function lookup(
    array $languageTag,
    string $locale,
    bool $canonicalize = false,
    ?string $defaultLocale = null
): ?string
public static function parseLocale(string $locale): ?array
public static function setDefault(string $locale): true
}

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é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.

Sous-libellé de langue

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é

Historique

Version Description
8.4.0 Les constantes de classe sont maintenant typées.

Sommaire

add a note

User Contributed Notes

There are no user contributed notes for this page.