A classe Locale

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

Introdução

Uma "Locale" (localidade) é um identificador usado para se obter língua, cultura ou comportamento regional específico a partir de uma API. Localidades PHP são organizadas e identificadas da mesma forma que as localidades CLDR usadas pela ICU (e por muitos fornecedores de sistemas operacionais do tipo Unix, Mac, Java e assim por diante). Localidades são identificadas usando-se etiquetas de linguagem RFC 4646 (que usa hífen, e não sublinhado) em adição aos identificadores mais tradicionais que usam sublinhado. As funções desta classe são tolerantes a ambos os formatos, a não ser que seja especificado o contrário.

Exemplos de identificadores incluem:

  • en-US (Ingês, Estados Unidos)
  • zh-Hant-TW (Chinês, Tradicional, Taiwan)
  • fr-CA, fr-FR (Francês para Canadá e França respectivamente)

A classe Locale (e funções procedurais relacionadas) são usadas para interagir com identificadores de localidade--para verificar que um ID está bem formado, válido, etc. As extensões usadas pela CLDR na UAX #35 (e herdadas pela ICU) são válidas e utilizadas em qualquer lugar que seriam normalmente usadas na ICU.

A classe Locale não pode ser instanciada como objeto. Todas as funções e métodos fornecidos são estáticos.

A string nula ou vazia obtém a localidade "raiz". A localidade "raiz" é equivalente a "en_US_POSIX" na CLDR. Etiquetas de língua (e portanto identificadores de localidade) são sensíveis a maiúsculas/minúsculas. Existe uma função de canonização para fazer com que as maiúsculas/minúsculas correspondam à especificação.

Resumo da classe

classLocale {
publicconstintACTUAL_LOCALE;
publicconstintVALID_LOCALE;
publicconstnullDEFAULT_LOCALE = null;
publicconststringLANG_TAG;
publicconststringEXTLANG_TAG;
publicconststringSCRIPT_TAG;
publicconststringREGION_TAG;
publicconststringVARIANT_TAG;
publicconststringPRIVATE_TAG;
publicstaticacceptFromHttp(string$header): string|false
publicstaticcanonicalize(string$locale): ?string
publicstaticcomposeLocale(array$subtags): string|false
publicstaticfilterMatches(string$languageTag, string$locale, bool$canonicalize = false): ?bool
publicstaticgetAllVariants(string$locale): ?array
publicstaticgetDefault(): string
publicstaticgetDisplayLanguage(string$locale, ?string$displayLocale = null): string|false
publicstaticgetDisplayName(string$locale, ?string$displayLocale = null): string|false
publicstaticgetDisplayRegion(string$locale, ?string$displayLocale = null): string|false
publicstaticgetDisplayScript(string$locale, ?string$displayLocale = null): string|false
publicstaticgetDisplayVariant(string$locale, ?string$displayLocale = null): string|false
publicstaticgetKeywords(string$locale): array|false|null
publicstaticgetPrimaryLanguage(string$locale): ?string
publicstaticgetRegion(string$locale): ?string
publicstaticgetScript(string$locale): ?string
publicstaticlookup(
    array$languageTag,
    string$locale,
    bool$canonicalize = false,
    ?string$defaultLocale = null
): ?string
publicstaticparseLocale(string$locale): ?array
publicstaticsetDefault(string$locale): bool
}

Constantes pré-definidas

Locale::DEFAULT_LOCALE
Usada como parâmetro de localidade com os métodos das várias classes afetadas por localidade, como NumberFormatter por exemplo. Esta constante faz com que os métodos utilizem a localidade padrão.

Estas constantes descrevem a escolha da localidade para o método getLocale de diferentes classes.

Locale::ACTUAL_LOCALE
Esta é a localidade de onde os dados realmente vieram.
Locale::VALID_LOCALE
Esta é a localidade mais específica suportada pela ICU.

Estas constantes definem como as localidades são analisadas ou compostas. Elas devem ser usadas como chaves no array de argumento para a função locale_compose() e são retornadas de locale_parse() como chaves do array associativo retornado.

Locale::LANG_TAG
Sub-etiqueta de língua
Locale::EXTLANG_TAG
Sub-etiqueta de língua estendida
Locale::SCRIPT_TAG
Sub-etiqueta de script
Locale::REGION_TAG
Sub-etiqueta de região
Locale::VARIANT_TAG
Sub-etiqueta de variante
Locale::GRANDFATHERED_LANG_TAG
Sub-etiqueta de idioma antigo
Locale::PRIVATE_TAG
Sub-etiqueta privada

Índice

To Top