Класс Locale

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

Введение

"Locale" - это идентификатор, используемый для распознавания языка, культуры или региональные особенности поведения API. Локали PHP организованы и обозначены так же как и локали CLDR, используемые ICU и многими производителями систем Unix, Linux и Mac, Java и т.д. Локали обозначаются согласно языковым меткам стандарта RFC 4646 (который использует тире, а не подчёркивание) в дополнение к традиционным обозначением с использованием символа подчёркивания. Функции данного класса понимают оба написания, если явно не указано иное.

Примеры идентификаторов:

  • en-US (Английский, США)
  • zh-Hant-TW (Китайский, Традиционное начертание, Тайвань)
  • fr-CA, fr-FR (Канадский Французский и Французский соответственно)

Класс Locale (и соответствующие процедурные функции) используется для взаимодействия с идентификаторами локалей, для проверки правильного составления идентификатора, его корректности и т.д. Модули используются CLDR в UAX #35 (и наследуется ICU), являются корректными и используются везде они были бы в ICU.

Данный класс нельзя инстанциировать как объект. Все методы/функции объявлены статическими.

null или пустая строка будут считаться за "базовую" локаль. "Базовая" локаль - это "en_US_POSIX" в CLDR. Языковые метки (и идентификаторы локали) регистронезависимы. В данном классе присутствует метод, преобразующий их к каноничному виду.

Обзор классов

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
}

Предопределённые константы

Locale::DEFAULT_LOCALE
Используется в качестве параметра, задающего локаль в функциях где это необходимо, таких как NumberFormatter. Эта константа вынуждает использовать локаль по умолчанию.

Эти константы описывают выбор локали для метода getLocale различных классов.

Locale::ACTUAL_LOCALE
Описывает текущую локаль.
Locale::VALID_LOCALE
Это самая специфичная локаль, поддерживаемая ICU.

Эти константы описывают как разбираются или из чего состоят локали. Они используются как ключи массива аргументов для locale_compose() и как возвращаемые значения locale_parse() в виде ключей возвращаемого ассоциативного массива.

Locale::LANG_TAG
Метка для языка
Locale::EXTLANG_TAG
Расширенная метка языка
Locale::SCRIPT_TAG
Метка начертания
Locale::REGION_TAG
Метка региона
Locale::VARIANT_TAG
Метка варианта
Locale::GRANDFATHERED_LANG_TAG
Метка языка в старом синтаксисе (grandfathered)
Locale::PRIVATE_TAG
Приватная метка

Содержание

  • Locale::acceptFromHttp — Попытаться определить наилучшую локаль основываясь на заголовке HTTP "Accept-Language"
  • Locale::canonicalize — Канонизировать строку локали
  • Locale::composeLocale — Возвращает корректно отсортированные и разделённые идентификаторы локали
  • Locale::filterMatches — Проверить, соответствует ли тег фильтра языка локали
  • Locale::getAllVariants — Получение вариантов из переданной локали
  • Locale::getDefault — Получение значения локали INTL по умолчанию из опции 'default_locale'
  • Locale::getDisplayLanguage — Возвращает соответствующим образом локализованное имя языка для заданной локали
  • Locale::getDisplayName — Возвращает соответствующим образом локализованное имя локали
  • Locale::getDisplayRegion — Возвращает соответствующим образом локализованное название региона для заданной локали
  • Locale::getDisplayScript — Возвращает соответствующим образом локализованное название алфавита для заданной локали
  • Locale::getDisplayVariant — Возвращает соответствующим образом локализованное название варианта для заданной локали
  • Locale::getKeywords — Получить ключевые слова для локали
  • Locale::getPrimaryLanguage — Получить первичный язык для локали
  • Locale::getRegion — Получить регион для локали
  • Locale::getScript — Получить алфавит для локали
  • Locale::lookup — Поиск языковых меток наиболее подходящих заданной локали
  • Locale::parseLocale — Получить ассоциативный массив всех подтегов локали
  • Locale::setDefault — Установить локаль по умолчанию во время исполнения
To Top