Модуль интернационализации (далее — Intl) — обёртка над библиотекой » ICU. Компоненты модуля Intl открывают PHP-программистам доступ к форматированию, транслитерации, преобразованию кодировок, операциям с календарём, совместимому » с алгоритмом UCA сопоставлению, определению границ текста, работе с идентификаторами локалей, часовыми поясами, графемами и к другим операциям, которые модуль выполняет с учётом языковых и региональных стандартов.
Сходство API модуля Intl и библиотеки ICU помогает применять навык работы с функциями библиотеки в языках C/C++ или Java и при работе с API библиотеки ICU в PHP и делает документацию к библиотеке ICU полезной для понимания закулисной работы функций PHP-модуля.
Каждый компонент PHP-модуля Intl раскрывает API к конкретному модулю библиотеки API:
Модуль сопоставления: инструмент сравнения строк с учётом языковых и региональных правил сортировки.
Модуль форматирования чисел: форматирует числа с учётом локали, по шаблону или набору правил; разбирает строки с числами.
Модуль форматирования сообщений: создаёт сообщение по шаблону и форматирует числа, даты или другие данные в шаблоне по правилам языкового и регионального стандарта; разбирает сообщения для извлечения данных. При формировании сообщения поддерживаются: множественное число, числа с учётом локали, валюты, условные конструкции и другие подстановки.
Модуль нормализации: приводит текст к нормализованным формам, которые определяет стандарт Юникод. Проверяет, соответствует ли строка конкретной форме нормализации.
Модуль локали: разбирает на подтеги, собирает, находит по приоритету и фильтрует идентификаторы локалей.
Модуль календаря: класс, который выполняет операции с календарём с учётом локали: получает сведения о часовом поясе, первом дне недели или текущем режиме летнего времени.
Модуль часового пояса: обёртка » над базой данных IANA, которая содержит сведения о часовых поясах мира.
Модуль форматирования даты: форматирует дату и время по правилам языкового и регионального стандарта, по шаблону или набору правил; разбирает строки с датой и временем.
Модуль транслитерации: преобразовывает строки на национальных, региональных и других языках в латинское представление.