Класс Locale

(PHP 5 >= 5.3.0, PHP 7, 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. Языковые метки (и идентификаторы локали) регистронезависимы. В данном классе присутствует метод, преобразующий их к каноничному виду.

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

Locale {
/* Методы */
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 ( void ) : 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
}

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

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

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

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

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

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

Содержание

  • 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 — Установить локаль по умолчанию во время исполнения