Fonctions d'internationalisation

Introduction

L'extension d'Internationalization (qui est aussi appelée Intl) est une interface pour la bibliothèque » ICU, qui permet aux développeurs PHP d'effectuer des opérations compatibles avec les paramètres régionaux incluant, mais non limitées à cette liste, le formatage, la translitération, la conversion d'encodage, les opérations de calendrier, la collation » UCA-conforme, la localisation des limites du texte et l'utilisation des identificateurs de paramètres régionaux, des fuseaux horaires et des graphèmes.

Cette extension tend à suivre de près l'API ICU, ce qui fait que ceux qui ont l'expérience de cette bibliothèque en C, C++ ou Java pourront facilement s'y retrouver dans l'API PHP. De plus, la documentation ICU peut être très utile pour comprendre les fonctions ICU.

Intl est constitué de plusieurs modules, chacun exposant des API d'ICU :

  • Collator : fournit des outils de comparaison de chaînes, qui supportent les tris en fonction des conventions locales.
  • Number Formatter : permet d'afficher des nombres en fonction des conventions locales, ou de modèles particuliers, ou encore de règles d'affichage. et d'analyser des chaînes pour en extraire des nombres.
  • Message Formatter : permet de créer des messages en incorporant des données (comme des dates ou des nombres) formatées en fonction des conventions locales ou particulières; permet aussi d'analyser des textes pour extraire ces informations. Il peut gérer les pluriels, les nombres, les devises, les conditions et bien plus encore.
  • Normalizer : fournit une fonction pour normaliser un texte dans l'une des normalisations Unicode, et des méthodes pour tester si une chaîne est déjà normalisée.
  • Locale : fournit des outils d'interaction avec les identifiants de locale : analyse, compose, recherche et filtre des identifiants de locale.
  • Calendar: fournit une classe qui peut être utilisée pour les opérations de régionalisation du calendrier, et obtenir des informations variées telles que le fuseau horaire pour la locale choisie, le premier jour de la semaine, ou si le changement d'heure (été/hiver) est actif.
  • Timezone: fournit une surcouche autour de » la base de données "Olson" qui contient des informations sur tous les fuseaux horaires du monde.
  • Date formatter: permet d'afficher la date et l'heure en rapport avec le format localisé, ou le schéma donné ou les règles définies, et de transformer une chaîne de caractères en date et heure.
  • Transliterator: permet d'obtenir une représentation latine d'une chaîne de caractères dans différents langages.
add a note

User Contributed Notes 1 note

up
0
Anonymous
9 days ago
The intl extension is very useful, but it is quite low-level. In practice, using it directly can become verbose, especially for common localisation tasks that require combining multiple ICU classes and options.

For many applications, it can be helpful to use a higher-level interface on top of ext-intl. An example of such a package is Cosmo:

https://cosmo.miloun.com/?lang=php

It provides a more practical API for common tasks such as formatting numbers, money, percentages, dates, units, plurals, lists, and locale names, while still being based on ICU / intl.
To Top