(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
"Locale" - это идентификатор используемый для распознавания языка, культуры или региональные особенности поведения API. Локали PHP организованы и обозначены так же как и локали CLDR, используемые ICU и многими производителями систем Unix, Linux и Mac, Java и т.д. Локали обозначаются согласно языковым меткам стандарта RFC 4646 (который использует тире, а не подчеркивание) в дополнение к традиционным обозначением с использованием символа подчеркивания. Функции данного класса понимают оба написания, если явно не указано иное.
Примеры идентификаторов:
Класс Locale (и соответствующие процедурные функции) используется для взаимодействия с идентификаторами локалей, для проверки правильного составления идентификатора, его корректности и т.д. Расширения используются CLDR в UAX #35 (и наследуется ICU), являются корректными и используйются везде они были бы в ICU.
Данный класс нельзя инстанциировать как объект. Все методы/функции объявлены статическими.
NULL
или пустая строка будут считаться за "базовую" локаль.
"Базовая" локаль - это "en_US_POSIX" в CLDR. Языковые метки
(и идентификаторы локали) регистронезависимы. В данном классе
присутствует метод, преобразующий их к каноничному виду.
$langtag
, string $locale
[, bool $canonicalize
= false
] )$langtag
, string $locale
[, bool $canonicalize
= false
[, string $default
]] )
Locale::DEFAULT_LOCALE
(null)
Эти константы описывают выбор локали для метода getLocalte различных классов.
Locale::ACTUAL_LOCALE
(string)
Locale::VALID_LOCALE
(string)
Эти константы описывают как разбираются или из чего состоят локали. Они используются как ключи массива аргументов дляo 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)
Locale::PRIVATE_TAG
(string)