Voici une méthode toute simple pour gérer intelligemment les traductions de phrases composées d'une ou plusieurs parties variables (ou dynamiques).
Exemple
Vous devez afficher le texte suivant :
«Bonjour, NOM DE L'UTILISATEUR, vous avez reçu NOMBRE DE MAILS courriels aujourd'hui.»
Méthode courante
Cette méthode consiste à diviser cette phrase en 3 parties, parties que l'on traduira séparément.
<?php echo gettext("Bonjour, ") . $nom . gettext(", vous avez reçu ") . $nbmail . gettext("courriels aujourd'hui."); ?>
Autre Méthode
Cette méthode consiste juste à utiliser les propriétés de la fonction printf.
<?php printf(_("Bonjour, %s, vous avez reçu %d courriels aujourd'hui."), $nom, $nbmail); ?>
Ici j'ai remplacé l'appel à la fonction gettext par son raccourci : _()
Conclusion
Pour le développeur, il me semble que le code source est plus lisible. Pour le traducteur, ça permet de traduire une phrase et non pas des mots. A mon avis, la traduction ne peut être que meilleur.
Références
Pour savoir comme utiliser gettext voici quelques liens :
Aucun commentaire:
Enregistrer un commentaire