Internationalisation à l'heure de PHP 5.3

le 14/08/2008 à 22:13
Internationalisation à l'heure de PHP 5.3
Note de l'auteur :

Au même moment, deux informations se sont téléscopées devant moi : en travaillant sur un article PHP 5.3 pour programmez (pour septembre), j'ai approfondi mes connaissances sur intl, une extension spécifique de PHP 5.3, qui se charge de l'internationalisation. Elle se base sur libICU, et est écrite en C : elle prend en charge la mise au format local de centaines de pays des valeurs telles que les nombres, les montants financiers ou les dates.

Au lieu de calculer les formats en PHP pour les injecter dans le texte, on peut désormais programmer la chaîne pour adapter le format, comme ceci :

$fmt = msgfmt_create("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");

Et cette information se téléscope avec le tutoriel de Divx, qui parle justement d'internationalisation via les paquets PEAR, et une approche plus traditionnelle. Avec intl sur le point d'arriver, et libICU qui se déploie entièrement en PHP 6, cette approche semble être une réponse temporaire.

Enfin, si vous cherchez des outils pour assurer la traduction de votre logiciel, je vous recommande de jeter un oeil sur l'interface de launchpad : translations se charge de scanner le code C, d'extraire les chaînes à traduire, et de proposer une interface pour traduire ou relire chaque message, et même signaler un message pour qu'il soit relu. Avec un tel outil, Drizzle, le fork de MySQL, va bientôt être disponible en provençal.

- Base Concepts of Internationalization in PHP
- ext/intl
- PEAR/I18N
- Software translations

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours