Le texte d’une extension écrite en anglais ou en français ne devient pas magiquement compréhensible pour un utilisateur italien : il faut un fichier séparé, propre à chaque langue, qui fait correspondre chaque chaîne source à sa traduction.
Deux formats complémentaires
Le format .po (Portable Object) est un fichier texte modifiable par un traducteur, par exemple avec l’outil Poedit ou l’éditeur de traduction intégré à WordPress. Il est ensuite compilé en un fichier .mo (Machine Object) binaire, plus rapide à lire pour PHP à chaque affichage de page :
msgid "Réglages enregistrés."
msgstr "Impostazioni salvate."
Depuis WordPress 6.5, un format supplémentaire au format JSON est aussi généré pour les traductions utilisées côté JavaScript, afin d’éviter de charger inutilement des chaînes destinées uniquement au PHP.
Nommage et emplacement
Le nom du fichier associe le domaine de traduction au code de langue, par exemple mon-extension-it_IT.mo, placé dans le dossier languages de l’extension ou dans wp-content/languages/plugins/ pour les traductions officielles distribuées séparément.
Bon à savoir
- WP-CLI propose la commande
wp i18n make-mopour compiler automatiquement des fichiers.poen.mosans outil graphique. - Une traduction incomplète n’empêche jamais l’affichage : les chaînes manquantes retombent simplement sur le texte d’origine du code.
- Depuis la mise en place des traductions communautaires sur translate.wordpress.org, une extension du répertoire officiel peut recevoir des fichiers de langue à jour sans que son auteur n’ait lui-même traduit une seule chaîne.