ConFoo 2025

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
public static canonicalize(string $locale): string
public static composeLocale(array $subtags): string
public static filterMatches(string $langtag, string $locale, bool $canonicalize = false): bool
public static getAllVariants(string $locale): array
public static getDefault(): string
public static getDisplayLanguage(string $locale, string $in_locale = ?): string
public static getDisplayName(string $locale, string $in_locale = ?): string
public static getDisplayRegion(string $locale, string $in_locale = ?): string
public static getDisplayScript(string $locale, string $in_locale = ?): string
public static getDisplayVariant(string $locale, string $in_locale = ?): string
public static getKeywords(string $locale): array
public static getPrimaryLanguage(string $locale): string
public static getRegion(string $locale): string
public static getScript(string $locale): string
public static lookup(
    array $langtag,
    string $locale,
    bool $canonicalize = false,
    string $default = ?
): string
public static parseLocale(string $locale): array
public static setDefault(string $locale): bool
}

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

  • Locale::acceptFromHttp — Intentar encontrar la mejor configuración regional basada en la cabecera "Accept-Language" de HTTP
  • Locale::canonicalize — Canonizar el string de configuración regional
  • Locale::composeLocale — Devolver un ID regional correctamente ordenado y delimitado
  • Locale::filterMatches — Comprobar si unfiltro de etiquetas de lenguaje coincide con una configuración regional
  • Locale::getAllVariants — Obtener las variantes de la configuración regional de entrada
  • Locale::getDefault — Obtener el valor de la configuración regional predeterminada del identificador global 'default_locale' de INTL
  • Locale::getDisplayLanguage — Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
  • Locale::getDisplayName — Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
  • Locale::getDisplayRegion — Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada
  • Locale::getDisplayScript — Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
  • Locale::getDisplayVariant — Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada
  • Locale::getKeywords — Obtener las palabras clave de la configuración regional de entrada
  • Locale::getPrimaryLanguage — Obtener el lenguaje principal de la configuración regional de entrada
  • Locale::getRegion — Obtener la región de la configuración local de entrada
  • Locale::getScript — Obtener la escritura de la configuración regional de entrada
  • Locale::lookup — Busca en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje
  • Locale::parseLocale — Devolver un array de claves-valores de los elementos de las subetiquetas del ID regional
  • Locale::setDefault — Establecer la configuración regional predeterminada en tiempo de ejecución
add a note

User Contributed Notes

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