La classe MessageFormatter
(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
Introduction
MessageFormatter est une classe concrète qui permet de produire des messages concaténés, et indépendants de la langue. La méthode fournit dans cette classe sont utilisées pour construire des messages qui sont destinés aux utilisateurs finaux.
La classe MessageFormatter assemble les messages à partir de différents fragments (textes, nombres et dates), fournis par le programme. Grace à la classe MessageFormatter, le programme n'a pas besoin de connaître l'ordre des fragments. La classe utilise des spécifications de formatage pour assembler les fragments en un seul message. Par exemple, MessageFormatter vous permet d'afficher la phrase "Fini d'imprimer x fichier sur y..." d'une manière qui reste souple pour la traduction.
Avant, un message était créé sous forme de phrase, et géré comme une chaîne. Cette procédure créait des problèmes pour les traductions, car la structure de la phrase, l'ordre des mots, le format des nombres, etc. était très différents d'une langue à l'autre. L'approche de création des messages, indépendante de la langue, permet de séparer le message et les variables. Avec ces variables, MessageFormatter peut concaténer les différentes parties du message, les formater aux conventions correctes, et fournir un message bien formé.
MessageFormatter prend une série d'objet, formate les textes, et les insert dans les chaînes formatées dans les emplacements corrects. Un grand choix de formats peut être utilisé en conjonction avec MessageFormatter pour gérer le pluriel, les nombres, etc. Typiquement, le message est fourni par une ressource, et les arguments sont préparés dynamiquement.
Synopsis de la classe
Sommaire
- MessageFormatter::create — Construit un nouveau formateur de messages
- MessageFormatter::formatMessage — Formate rapidement un message
- MessageFormatter::format — Formate un message
- MessageFormatter::getErrorCode — Lit le dernier code d'erreur de la dernière opération
- MessageFormatter::getErrorMessage — Lit le message d'erreur de la dernière opération
- MessageFormatter::getLocale — Lit la locale avec la quelle le formateur a été créé
- MessageFormatter::getPattern — Lit le modèle utilisé par le formateur de messages
- MessageFormatter::parseMessage — Analyse rapidement une chaîne
- MessageFormatter::parse — Analyse une chaîne en fonction du modèle
- MessageFormatter::setPattern — Configure le modèle utilisé par le formateur