Les plugins WordPress vous permettent de modifier et d’améliorer facilement votre blog en apportant de nouvelles fonctionnalités non disponibles dans le code de base.

L'utilisation de plug-ins fonctionne plus efficacement que d'essayer de modifier la programmation principale de WordPress. Défini comme un programme ou un ensemble de fonctions écrites en PHP, les plugins ajoutent des fonctionnalités spécifiques qui peuvent facilement être intégrées au blog via l'API WordPress.

Si vous avez écrit un plugin WordPress, vous pouvez le rendre beaucoup plus accessible en le traduisant dans une autre langue. C'est ce qu'on appelle l'internationalisation.

Internationalisation vs. localisation

Avant de pouvoir internationaliser votre plug-in, vous devez savoir ce que cela signifie. Également connu sous le nom de i18n, cela signifie que vous devez modifier le plug-in pour que d'autres cultures parlant d'autres langues puissent facilement utiliser votre plug-in.

En revanche, la localisation est le processus même de modification.

L'internationalisation ne se limite pas à la simple traduction de l'interface. Par exemple, les hypothèses que vous avez formulées sur les unités impériales et les unités métriques, la ponctuation telle que l'utilisation d'une virgule pour séparer des milliers au lieu d'une période, ainsi que d'autres sujets culturels doivent être abordés avant de pouvoir localiser correctement votre travail.

Bien qu'il s'agisse d'un guide traitant de la préparation à la localisation d'un plug-in, il est toujours important de garder ces ajustements à l'esprit.

Domaines et initialisation

Localiser votre plugin signifie que vous devez créer un domaine de texte, en gardant chacun séparé de ceux que WordPress utilise ou que d'autres plugins ont définis. Tout ce que vous voulez utiliser pour un domaine de texte est à vous, mais vous voudrez choisir quelque chose à la fois unique et sensible, lié à ce que votre plugin est à propos.

Avant de pouvoir localiser complètement votre plug-in, vous devez lui faire dire comment il peut trouver vos chaînes. Si le code n'existe pas déjà, vous devrez insérer quelque chose comme la ligne suivante dans votre code:

add_action( 'init', 'myFunction' );

Ce code communique avec WordPress pour lui indiquer d'utiliser la fonction appelée myFunction une fois chargée. Cette fonction nomme ensuite votre domaine de texte sur WordPress et lui apprend comment charger les chaînes localisées, ce qui devrait ressembler à ceci:

function myFunction() {load_plugin_textdomain( 'mytextdomain', 'wp-content/plugins' );}

La fonction WordPress load_plugin_textdomain informe WordPress qu'il existe un domaine de texte appelé mytextdomain et que les fichiers dont les chaînes sont localisées sont conservés dans le dossier du serveur wp-content / plugin. (Naturellement, si vous placez vos fichiers de plug-in dans un dossier et un chemin différents, vous devrez les remplacer par le chemin approprié.)

Flags

Image internationale via Shutterstock.

Préparer les chaînes

Après l'initialisation, vous devrez remplacer les chaînes statiques par une fonction permettant à WordPress d'utiliser la version localisée appropriée de cette chaîne. Après tout, il ne fonctionne pas bien d'avoir WordPress tirer la mauvaise langue.

Cette fonction offre un nom abrégé qui facilite l’internationalisation: la fonction double barre inférieure _ (chaîne, domaine). La fonction a deux paramètres, le premier étant la chaîne par défaut utilisée par le plug-in si aucune version localisée n'est disponible. Le deuxième paramètre est le même domaine de texte que vous avez sélectionné précédemment dans le code.

Avant cette étape, votre code peut apparaître comme suit:

function addMyAdminPage() {add_options_page('A Page Title','A Menu Title',7, __FILE__, 'myAdminFunction' );}

Après avoir ajouté le code, cela peut ressembler à ceci:

function addMyAdminPage() {add_options_page(__( 'A Page Title', 'textdomain' ),__( 'A Menu Title', 'textdomain' ),7, __FILE__, 'myAdminFunction' );}
Flags

Image internationale via Shutterstock.

Localisation

Avec toute la préparation à l'écart, vous êtes enfin prêt pour le processus de transformation de votre plugin WordPress en plusieurs langues.

Créer une localisation pour votre plugin nécessite de créer un fichier .po avec un nom similaire à votre nom de fichier de plug-in, ainsi que les codes à deux lettres ISO 639 pour chaque pays et langue. Par exemple, si votre plugin était appelé examplename et que vous vouliez le localiser en espagnol (européen), il apparaîtrait comme "examplename-es_ES.po".

Alors que le codex WordPress propose des outils d'aide à la localisation, il est souvent préférable de partir du fichier .po depuis un seul plug-in. Les fichiers .po sont constitués d'un seul en-tête puis de paires de traduction:

msgid "Options"msgstr "Opciones"

Le msgid est la chaîne standard qui apparaît dans la fonction double sous barre que vous dictez. Avec le fichier .po créé, vous pouvez utiliser l'un des outils proposés par WordPress pour créer un fichier .mo, qui est l'autre fichier requis par WordPress.

Laisser les autres traducteurs vous aider

Personne ne connaît chaque langue, vous souhaiterez donc étendre vos ressources et permettre à d'autres personnes de vous aider à traduire dans d'autres langues. Cependant, vous devrez suivre une procédure spéciale pour générer les fichiers nécessaires à donner à vos traducteurs, car vous ne souhaitez pas que votre code source soit accidentellement brisé.

Le fichier que vous voulez donner aux traducteurs est un fichier POT qui ressemble à ceci:

#: wp-admin/admin-header.php:49msgid "Options"msgstr ""

Il existe deux manières de générer ce fichier. Si vous avez placé votre plug-in dans le référentiel, rendez-vous simplement sur la page admin et sélectionnez "Générer un fichier POT". Ce fichier est ce que vous enverrez aux traducteurs pour les localiser, bien que vous souhaitiez probablement envoyer votre plug-in avec lui afin que les traducteurs n'aient pas besoin de vous poser de questions sur le plug-in.

Si vous n'avez pas encore votre plugin dans le référentiel, vous pouvez visiter le Répertoire des outils WordPress I18n et utilisez le script makepot.php de la manière suivante:

php makepot.php wp-plugin the-plugin-directory

N'oubliez pas que vous devrez installer votre package d'utilitaires d'internationalisation GNU sur votre serveur avant d'exécuter cette commande.

Flags

Image internationale via Shutterstock.

Essai

Avec tous vos fichiers localisés en place, il est temps de les tester et de voir si vous avez oublié quelque chose. Tester votre localisation signifie changer une ligne simple sur votre configuration WordPress afin de la faire croire qu’elle doit utiliser un fichier différent. Modifiez le fichier wp-config et recherchez la ligne suivante:

define ('WPLANG', 'en_US');

Si cette ligne n'existait pas auparavant, vous devrez vérifier et vérifier que votre installation fonctionne toujours correctement. Si c'est le cas, revenez au fichier et modifiez le code de pays et de langue. Avec l'exemple précédent, ce serait comme suit:

define ('WPLANG', 'es_ES');

Enfin, activez votre plug-in pour tester son apparence. N'oubliez pas de revenir à votre langue par défaut une fois que vous avez fini de tester.

Mise à jour de votre plugin

Avec toutes les modifications que WordPress apporte au fil du temps, votre plug-in peut ne pas être entièrement fonctionnel avec les mises à jour ultérieures. Assurez-vous de toujours prendre le temps de mettre à jour votre plug-in dans la mesure du possible. En supposant que vous l'avez déjà hébergé dans le référentiel WordPress Plugin, vous pouvez prendre des mesures pour ajouter de nouvelles fonctionnalités ou mettre à jour les correctifs dans votre plugin au fil du temps. Vous pouvez le faire aussi souvent que nécessaire.

Lorsque vous avez fini de mettre à jour votre plug-in et que vous souhaitez publier la dernière version, vous devez garder une liste de contrôle à l'esprit:

  • Testez votre plugin et garantissez que la version la plus récente fonctionne correctement. Assurez-vous de garder à l'esprit toutes les différentes versions de WordPress disponibles et testez-les avec chaque version possible. Ne testez pas simplement les nouvelles fonctionnalités car vous risquez également de casser des fonctionnalités plus anciennes.
  • Allez dans le dossier du coffre et modifiez le commentaire de l'en-tête dans le fichier PHP principal afin de pouvoir mettre à jour le numéro de version. Assurez-vous que vous modifiez également le numéro de version dans le fichier readme.txt dans le dossier du tronc dans le champ du tag stable.
  • Il est toujours sage de créer une autre sous-section de la zone changelog du fichier readme.txt pour pouvoir décrire brièvement les nouveautés de la dernière version par rapport à la précédente. Tout ce que vous avez mis ici sera ajouté à l'onglet du journal des modifications sur la page de votre plugin.
  • Assurez-vous de créer une nouvelle balise SVN dans le tronc.
  • Attendez quelques minutes pour que le système enregistre les nouvelles modifications, puis dirigez-vous vers votre page de plug-in et vers un blog sur lequel votre nouveau plug-in est installé pour vérifier que tout est correctement mis à jour. Gardez à l'esprit que ces vérifications de mise à jour peuvent être mises en cache. Il peut donc être nécessaire d'attendre un peu plus longtemps pour que la mise à jour soit complète.

Globalement, il n’ya pas grand chose d’autre à internationaliser votre plugin dans différentes langues. Tant que vous suivez ces étapes attentivement, vous pouvez localiser votre plug-in dans autant de langues différentes que nécessaire.

Avez-vous localisé un plugin WordPress? Quelles sont les langues souhaitées plus fréquemment? Faites le nous savoir dans les commentaires.