PHP 8.4.2 Released!

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

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

Locale::DEFAULT_LOCALE null
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 int
Esta é a localidade de onde os dados realmente vieram.
Locale::VALID_LOCALE int
Esta é a localidade mais específica suportada pela ICU.

Sub-etiquetas de localidade

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

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

Registro de Alterações

Versão Descrição
8.4.0 As constantes de classe agora são tipadas.

Índice

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top