Введение

Модуль интернационализации (далее Intl) - это обёртка для библиотеки » ICU, позволяющая программистам на PHP производить различные операции, которые зависят от локали, например, форматирование, транслитерация, преобразование кодировок, операции с календарем, совместимое с » UCA сравнение, определение границ текста и работать с идентификаторами локалей, временными зонами и графемами.

Программный интерфейс модуля разрабатывается так, чтобы как можно точнее повторять API ICU, чтобы люди, работавшие с ICE в C/C++ или Java, могли легко использовать API PHP. Также благодаря этому документация ICE может быть полезной чтобы понять различие функции ICU.

Intl состоит из нескольких модулей, каждый из которых предоставляет соответствующий API ICU:

  • Модуль сравнения: предоставляет инструменты для сравнения строк с поддержкой соответствующего локали порядка сортировки.
  • Модуль форматирования чисел: позволяет отображать числа в соответствии с правилами локали, или заданным шаблоном или с набором правил. Также позволяет правильно разбирать строки в числа.
  • Модуль форматирования сообщений: позволяет создавать сообщения, включающие данные (такие как числа и даты), отформатированные в соответствии с заданными шаблоном и локальными правилами, и, также, разбирать сообщения, извлекая из них данные.
  • Модуль нормализации: предоставляет функции для преобразования текста в одну из нормализованных форм Unicode. Также предоставляет возможность проверить, является ли предоставленный текст уже нормализованным.
  • Модуль локали: предоставляет взаимодействие с идентификаторами локали как к функциями, позволяя получить вложенные теги локали; разбор, композиция, сравнение (поиск и фильтрация) идентификаторов локали.
  • Модуль календаря: предоставляет класс, полезный для проведения зависимых от локали операций с календарем, получения различной информации, такой как временные зоны для выбранной локали, первый день недели или режим текущего зимнего/летнего времени.
  • Модуль временной зоны: предоставляет обертку над » базой данных временных зон, в которой содержится исчерпывающая информация о всех мировых временных зонах.
  • Модуль форматирования даты: позволяет отображать дату в соответствии с принятым для данной локали форматом либо заданным шаблоном или набором правил. Также нужен для разбора строк, содержащих описание даты и времени.
  • Модуль транслитерации: позволяет получить представление строки на различных языках в латинице.