Internationalisation
1. Introduction
L’internationalisation consiste à localiser et rendre disponible une application dans plusieurs langues. L’un des prérequis est d’avoir correctement encapsulé l’ensemble des libellés et des chaînes de caractères de l’application afin de les rendre traduisibles.
Lorsque l’on parle d’internationalisation, il est souvent évoqué le terme i18n. Le nombre 18 correspond au nombre de lettres entre le i et le n du mot « internationalisation ».
2. Rendre les chaînes traduisibles
a. Chaîne de caractères simple
La fonction de base permettant d’encapsuler les chaînes de caractères est __().
Syntaxe :
__(string $string_id[, $formatArgs])
Cette fonction récupère le message traduit, s’il existe, ou affiche la même chaîne dans le cas contraire.
Exemple :
echo __('Ajouter un article');
b. Regrouper les messages par domaine
La fonction __d() permet de définir le domaine de la chaîne à traduire. C’est par exemple pratique dans le cas des plugins.
Syntaxe :
__d(string $domain, string $msg, mixed $args = null)
Exemple :
echo __d('monPlugin', 'Ajouter une voiture');
c. Définir un contexte
Parfois, une même chaîne de caractères peut avoir des significations différentes en fonction du contexte dans lequel elle se trouve.
Dans ce cas la fonction __x() permet d’ajouter...