La clase Locale

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

Introducción

Un "Locale" (Configuración Regional) es un identificador utilizado para obtener el lenguaje, la cultura o el comportamiento de una región específica desde una API. Las configuraciones regionales de PHP están organizadas e identificadas de la misma manera que las conficuraciones regionales CLDR usadas por ICU (y que muchos vendedores de sistemas operativos similares a Unix, el Mac, Java, etc., usan). Las configuraciones regionales son identificadores que usan las etiquetas de lenguaje RFC 4646 (que usan guiones, no guiones de subrayado) además de los identificadores más tradiciones que usan guiones de subrayada. A menos que se indique lo contrario, las funciones de esta clase son tolerante con ambos formatos.

Algunos ejemplos de identificadores:

  • en-US (Inglés, Estados Unidos)
  • zh-Hant-TW (Chino, Tradicional, Taiwán)
  • fr-CA, fr-FR (Francés para Canadá y Francia respectivamente)

La clase Locale (y sus funciones procedimentales relacionadas) se usa para interactuar con los identificadores regionales (para verificar que un ID está bien formado, que es válido, etc.). Las extensiones usadas por CLDR en UAX #35 (y heredadas por ICU) son válidas y se utilizan dondequiera que estuvieran normalmente en ICU.

Las configuraciones regionales ("locale") no pueden ser instanciadas como objetos. Todas las funciones y los métodos proporcionados son estáticos.

La cadena nula o vacía obtiene la configuración regional "root". Ésta es equivalente a "en_US_POSIX" en CLDR. Las etiquetas de lenguaje (y por lo tanto los identificadores regionales) no son sensibles a mayúsculas-minúsculas. Existe una función de canonización para hacer que las mayúsculas-minúsculas coincidan con la especificación.

Sinopsis de la Clase

class Locale {
/* 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

Locale::DEFAULT_LOCALE (null)
Usada como parámetro regional con los métodos de varias clases de configuración regional afectadas, como NumberFormatter. Esta constante hace que los métodos usen la configuración regional predeterminada.

Estas constantes describen la elección de la configuración regional para el método getLocalte method de diferentes clases.

Locale::ACTUAL_LOCALE (string)
Esta es la configuración regional de donde realmente proviene la información.
Locale::VALID_LOCALE (string)
Esta es la configuración regional más específica soportada por ICU.

Subetiquetas de configuración regional

Estas constantes definen cómo se procesan o componen las Configuraciones Regionales. Deberían usarse como claves en el array de argumentos para locale_compose() y son devueltas por locale_parse() como claves del array asociativo devuelto.

Locale::LANG_TAG (string)
Subetiqueta de lenguaje
Locale::EXTLANG_TAG (string)
Subetiqueta de lenguaje extendido
Locale::SCRIPT_TAG (string)
Subetiqueta de script
Locale::REGION_TAG (string)
Subetiqueta de región
Locale::VARIANT_TAG (string)
Subetiqueta de variente
Locale::GRANDFATHERED_LANG_TAG (string)
Subetiqueta de lenguaje exento
Locale::PRIVATE_TAG (string)
Subetiqueta privada

Tabla de contenidos