PHP 8.5.0 Alpha 2 available for testing

La clase Locale

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

Introducción

Una "Locale" es un identificador utilizado para representar los comportamientos regionales de una API. Las locales de PHP están organizadas e identificadas de la misma manera que los CLDR de ICU (y que muchos otros editores de sistemas Unix, tales como Mac, Java, etc.). Las locales se identifican por los etiquetados de lenguaje de la RFC 4646 (que utiliza guiones y no subrayados) además de la notación tradicional con subrayados. Salvo indicación contraria, las funciones de esta clase son capaces de utilizar las dos notaciones.

Ejemplos de identificadores:

  • en-US (Inglés, EE.UU.)
  • zh-Hant-TW (Chino, tradicional, Taiwán)
  • fr-CA, fr-FR (Francés para Canadá y Francia, respectivamente)

La clase Locale y los métodos asociados, son utilizados para interactuar con los identificadores locales: para verificar que un identificador está bien formado, válido, etc. Las extensiones utilizadas por CDR en UAX #35 y heredadas por ICU son válidas, y utilizadas siempre que sea posible en ICU.

Las locales no pueden ser instanciadas. Todas son funciones estáticas.

La cadena null o vacía permite obtener la locale raíz. La raíz es el equivalente de "en_US_POSIX" en CLDR. Los etiquetados de lenguaje (y por lo tanto, los identificadores) no son sensibles a mayúsculas/minúsculas. Existe una función de canonalización que permite obtener la especificación exacta.

Sinopsis de la Clase

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étodos */
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): true
}

Constantes predefinidas

Estas constantes definen el comportamiento de Locale

Locale::DEFAULT_LOCALE null
Utilizada como argumento de configuración local con los métodos de las diferentes clases afectadas, tales como NumberFormatter. Esta constante hace que se utilicen los valores por omisión.

Estas constantes describen la elección de la configuración local para el método getLocale de diferentes clases.

Locale::ACTUAL_LOCALE int
La configuración local utilizada por los datos entrantes.
Locale::VALID_LOCALE int
Esta es la configuración local más específica soportada por ICU.

Subetiqueta de idioma

Estas constantes definen cómo se analizan o componen las configuraciones locales. Deben ser utilizadas como claves en un array de argumentos pasado a locale_compose() y son devueltas por locale_parse() como claves de un array asociativo.

Locale::LANG_TAG string
Subetiqueta de idioma
Locale::EXTLANG_TAG string
Subetiqueta de idioma extendido
Locale::SCRIPT_TAG string
Subetiqueta de script
Locale::REGION_TAG string
Subetiqueta de región
Locale::VARIANT_TAG string
Subetiqueta de variante
Locale::GRANDFATHERED_LANG_TAG string
Subetiqueta de idioma heredado
Locale::PRIVATE_TAG string
Subetiqueta privada

Historial de cambios

Versión Descripción
8.4.0 Las constantes de clase ahora están tipadas.

Tabla de contenidos

add a note

User Contributed Notes

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