Вступ
Модуль інтернаціоналізації (далі Intl) - це обгортка для бібліотеки » ICU, що дозволяє програмістам на PHP проводити різні операції, які залежать від локалі, наприклад, форматування, транслітерація, перетворення кодувань, операції з календарем, сумісне з » UCA порівняння, визначення меж тексту та працювати з ідентифікаторами локалів, часовими поясами та графемами.
Програмний інтерфейс модуля розробляється так, щоб якомога точніше повторювати API ICU, щоб люди, які працювали з ICE C/C++ або Java, могли легко використовувати API PHP. Також завдяки цьому документація ICE може бути корисною, щоб зрозуміти різницю функції ICU.
Intl складається з кількох модулів, кожен із яких надає відповідний API ICU:
- Модуль порівняння: надає інструменти для порівняння рядків із підтримкою відповідного локалі порядку сортування.
- Модуль форматування чисел: дозволяє відображати числа відповідно до правил локалі, або заданого шаблону або набору правил. Також дозволяє правильно розбирати рядки у числа.
- Модуль форматування повідомлень: дозволяє створювати повідомлення, що включають дані (такі як числа та дати), відформатовані відповідно до заданих шаблонів та локальних правил, і, також, розбирати повідомлення, витягуючи з них дані.
- Модуль нормалізації: надає функції для перетворення тексту на одну з нормалізованих форм Unicode. Також надає можливість перевірити, чи наданий текст вже нормалізований.
- Модуль локалі: надає взаємодію з ідентифікаторами локалі як до функцій, дозволяючи отримати вкладені теги локалі; розбір, композиція, порівняння (пошук та фільтрація) ідентифікаторів локалі.
- Модуль календаря: надає клас, корисний для проведення залежних від локалі операцій з календарем, отримання різної інформації, такої як часові пояси для обраної локалі, перший день тижня або режим поточного зимового/літнього часу.
- Модуль часового поясу: надає обгортку над» базою даних часових поясів, в якій міститься вичерпна інформація про всі світові часові пояси.
- Модуль форматування дати: дозволяє відображати дату відповідно до прийнятого для цієї локалі формату або заданого шаблону або набору правил. Також необхідний для розбору рядків, що містять опис дати та часу.
- Модуль транслітерації: дозволяє отримати уявлення рядка різними мовами в латиниці.