PHP 8.1.0 RC 4 available for testing

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

class Locale {
/* Méthodes */
public static acceptFromHttp(string $header): string|false
public static canonicalize(string $locale): ?string
public static composeLocale(array $subtags): string|false
public static filterMatches(string $languageTag, string $locale, bool $canonicalize = false): ?bool
public static getAllVariants(string $locale): ?array
public static getDefault(): string
public static getDisplayLanguage(string $locale, ?string $displayLocale = null): string|false
public static getDisplayName(string $locale, ?string $displayLocale = null): string|false
public static getDisplayRegion(string $locale, ?string $displayLocale = null): string|false
public static getDisplayScript(string $locale, ?string $displayLocale = null): string|false
public static getDisplayVariant(string $locale, ?string $displayLocale = null): string|false
public static getKeywords(string $locale): array|false|null
public static getPrimaryLanguage(string $locale): ?string
public static getRegion(string $locale): ?string
public static getScript(string $locale): ?string
public static lookup(
    array $languageTag,
    string $locale,
    bool $canonicalize = false,
    ?string $defaultLocale = null
): ?string
public static parseLocale(string $locale): ?array
public static setDefault(string $locale): bool
}

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 (string)
La locale utilisée par les données entrante.
Locale::VALID_LOCALE (string)
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-libelleé 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é

Sommaire

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top