(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
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:
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.
Locale::DEFAULT_LOCALE
Estas constantes descrevem a escolha da localidade para o método getLocale de diferentes classes.
Locale::ACTUAL_LOCALE
Locale::VALID_LOCALE
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
Locale::EXTLANG_TAG
Locale::SCRIPT_TAG
Locale::REGION_TAG
Locale::VARIANT_TAG
Locale::GRANDFATHERED_LANG_TAG
Locale::PRIVATE_TAG