Comment rendre un plugin Wordpress apte à être traduit ?

04 février 2017

Voici les points-clés à se remémorer pour la mise en place d'une traduction d'un plugin Wordpress maison, ou d'un plugin tiers qu'on souhaite modifier.

  • Dans le fichier principal du plugin, utiliser l'instruction suivante (l'ajouter au constructeur si on est en POO), qui permet de déclarer le domaine de traduction et d'indiquer où se trouvent les fichiers de traduction. Veiller à choisir un domaine textuel unique. On utilise la fonction native Wordpress load_plugin_textdomain.
// Assignation d'une action lors du chargement des plugins.
add_action('plugins_loaded', function () {
    load_plugin_textdomain( 'DOMAINE_DE_TRADUCTION', false, dirname( plugin_basename(__FILE__) ) . '/languages/' );
});
  • Systématiquement utiliser le second argument (le domaine de traduction) des fonctions __() et _e() en leur fournissant le domaine de traduction défini ci-dessus. Ce qui donne : _e('Valeur à traduire', 'DOMAINE_DE_TRADUCTION')

  • Faire précéder les noms des fichiers traduction par DOMAINE_DE_TRADUCTION-. Ainsi, pour une traduction en anglais US, on aurait DOMAINE_DE_TRADUCTION-en_US.po et DOMAINE_DE_TRADUCTION-en_US.mo. Ceci n'est pas nécessaire pour la traduction d'un thème, on peut donc avoir tendance à l'oublier...

Si vous omettez un seul de ces trois points, la traduction ne fonctionnera pas !

Pour le reste, procédez comme d'habitude avec PoEdit, etc. Il y a suffisamment de tutos à ce sujet ;-)

Source : Everything You Need to Know About Translating WordPress Plugins