Aller au contenu | Aller au menu | Aller à la recherche

Site membre du réseau Izardev et LCNET

Internationalisation d'un Plugin Wordpress

Depuis le début de cette suite d'articles, nous utilisons systématiquement les fonctions e() et __() pour afficher du texte. Nous l'avions déjà évoqué au cours d'articles précédents : c'est dans le but d'internationaliser notre plugin. Tous les textes pourrons ainsi être traduits par les utilisateurs de votre plugin dans des fichiers de langue.

Fichiers de langue - plugins

On désigne par localisation le processus de traduction du texte affiché à l'écran par Wordpress, en l'occurrence dans plusieurs langues. Wordpress est largement utilisé partout dans le monde, et comporte un système de localisation qui lui est propre; de plus, Wordpress permet également aux plugins de fournir leurs propres fichiers de langue.

Choix du domaine de langue

On désigne par domaine de langue la chaîne de caractère passée dans le second paramètre des fonctions _e() et __(). Par exemple :

__('Chaine de caractere','wpjschat'); // pour renvoyer la chaîne
_e('Chaine de caractere','wpjschat'); // pour afficher la chaîne

Le domaine de langue qui concerne notre plugin est donc wpjschat. Si vous ne passez pas de paramètre, vous utilisez le domaine par défaut qui est default, ce qui est déconseillé.

Il faut en effet choisir un domaine unique, propre à chaque plugin, sinon vous vous exposez à pas mal de problèmes lors de mises à jour. De plus, il ne faut surtout pas surcharger le domaine default de vos traductions.

Spécification et conseil : choisissez un nom unique pour votre domaine qui ne contient que des lettres, car ce domaine sera également utilisé dans le nom de fichier de vos fichiers de langue, d'où le wpjschat.

Création des fichiers de langue .mo et .po

Sans m'attarder sur la syntaxe de ces fichiers de langue, je vais vous expliquer comment les générer en utilisant POEdit. Tout d'abord, téléchargez et installez POEdit.

Un fois POEdit installé et lancé, faîtes fichier > nouveau catalogue et complétez les paramètres :

Dans l'onglet chemins, le chemin vers votre plugin :

Dans les mots clés, entrez l'intitulé des fonctions __ et _e :

Si vous avez correctement paramétré POEdit, les phrases à traduire doivent s'afficher :

Traduisez toutes les phrases dans le champ de formulaire du bas, puis enregistrez votre fichier avec un nom formaté pour wordpress :

  • le début du nom de fichier doit être le nom du domaine que vous avez choisi (au début de ce cours, nous concernant : wpjschat)
  • un tiret
  • et la langue : fr_FR, en_EN ...
  • l'extension... .po.

Nous concernant, le fichier sera intitulé wpjschat-fr_FR.po :

Nous enregistrons bien entendu notre fichier dans le répertoire lang de notre plugin wordpress, que nous avons mis en place au début de ce cours dans l'article structure du plugin wordpress. Il ne nous reste plus qu'à signaler à wordpress la présence de ces fichiers de traduction .po.

Chargement des fichiers de langue

Important : les fichiers de langue des plugins ne sont pas chargés automatiquement, pour les ajouter, il faut ajouter ce bout de code :

load_plugin_textdomain('wp_jschat','/wp-content/plugins/wp_jschat/lang/');

Et c'est tout, vos fichiers de langue sont à présent chargés; s'affiche maintenant la langue d'installation de votre blog.

Conclusion

Il est très simple de générer des fichiers de langue pour les plugins Wordpress, ça ne vaut pas le coup de s'en priver.

Développement d'un plugin wordpress :

  • Plugin chat Javascript pour Wordpress  

    Ce plugin de chat Javascript pour wordpress est distribué sous licence GPLv2, il est surtout développé à titre d'exemple dans le cadre d'un cours sur la création d'un plugin Wordpress.

  • Créer un plugin Wordpress 3.X  

    Créer un plugin Wordpress 3.X

  • Structure des plugins Wordpress  

    Tous les plugins wordpress seront installés dans le répertoire wp-content/plugins. Certains plugins peuvent se limiter à l'inclusion d'un seul fichier PHP, mais il est recommandé de toujours créer un dossier pour stocker les plugins....

  • Actions  

    Après avoir défini la structure de notre plugin wordpress, nous pouvons ajouter des actions, dans cet exemple, nous allons ajouter un bout de code qui va s'exécuter dans la balise <head> du blog Wordpress.

  • Filtres  

    Les filtres wordpress sont les fonctions que votre plugin peut accrocher dans le but de modifier le texte de sortie. Ce texte de sortie est généralement formaté et inséré dans une base de données, et montré à l'écran à l'utilisateur.

  • Créer le panneau d'administration d'un plugin wordpress  

    Tous les plugins devraient idéalement posséder un panneau d'administration. Créer ce panneau d'administration n'est pas très complexe, c'est donc un peu pénible de la part des auteurs de plugin de demander à leurs utilisateurs d'éditer eux-mêmes le code PHP (Ce qui n'est généralement pas une bonne idée).

  • Création d'une widget Wordpress  

    Nous allons maintenant créer une widget sous forme de plugin. Les widgets wordpress permettent d'insérer des parties de code facilement sous forme de bloc pour l'utilisateur final. Elles peuvent être ensuite ajoutées dans les barres d'outils prédéfinies selon les thèmes que vous utilisez.

  • Plugin - créer un panneau utilisateur  

    Il peut y avoir des situations où les utilisateurs peuvent être amenés à gérer leurs propres paramètres pour votre plugin : dans le cas de notre projet de chat Javascript, nous allons permettre d'une part aux utilisateur d'afficher ou non le chat, et d'utiliser les smileys ou non.

  • Installation/Désinstallation base de données | plugin Wordpress  

    Maintenant que nous savons créer des panneaux d'administration et des panneaux utilisateurs, nous allons attaquer l'accès au model : en interagissant avec la base de données. C'est une partie très importante du tutoriel wordpress, car lorsque l'on écrit un plugin, on a dans la majorité des cas besoin de stocker des données dans une base.

  • Traitement et affichage des requêtes dans base de données wordpress  

    C'est bien joli d'avoir nos tables dans base de données, maintenant, nous allons afficher les résultats de nos insertions.

  • Inclure les fichiers Javascript dans le header  

    Dans le cadre de notre application, nous aurons besoin d'inclure des fichiers Javascript dans le header des pages de notre blog Wordpress. Nous pourrions bien entendu le faire en ajoutant sauvagement du code HTML au fichier de template, mais on va éviter :)

  • Inclure les feuilles de style CSS  

    De la même manière que nous avons inclut les scripts Javascript dans le header de notre blog wordpress, nous allons maintenant inclure la feuille de style CSS de notre plugin wp_jschat. Nous allons également placer cette inclusion dans la méthode addHeaderCode() de notre classe principale créée lors de l'article sur les actions wordpress.

  • Ajax et les plugins Wordpress  

    Ajax est un protocole qui permet d'envoyer des requêtes http à partir de Javascript, si vous n'êtes pas familier avec ce protocole, vous pouvez en savoir plus sur cet article sur Ajax xmlHttpRequest.

  • Internationalisation du plugin  

    Depuis le début de cette suite d'articles, nous utilisons systématiquement les fonctions e() et __() pour afficher du texte. Nous l'avions déjà évoqué au cours d'articles précédents : c'est dans le but d'internationaliser notre plugin. Tous les textes pourrons ainsi être traduits par les utilisateurs de votre plugin dans des fichiers de langue.

  • Création de shortcode/bbcode Wordpress  

    Nous pouvons déjà créer des pages personnalisées grâce aux filtres wordpress, cependant, dans le cadre de notre plugin, il peut être intéressant d'ajouter des fenêtres de chat dans les pages de notre blog.

  • Distribuer un plugin Wordpress  

    Maintenant que votre plugin fonctionne, il a peut être vocation à être redistribué à la communauté ! Pour cela, rien de plus simple, cet article a vocation à vous expliquer comment vous y prendre.

Partagez cet article !

  • Delicious
  • Stumbleupon
  • Digg
  • Facebook
  • Google
  • Linkedin
  • Yahoo Buzz
  • Twitter
Vous avez apprécié cet article ?

Commentaires S'abonner au flux RSS des commentaires

  1. Bonjour,

    J'ai trouvé les solutions à mes petits problème.

    Mais voici un dernier qui surgit. Pour que les fichiers ou tout du moins le dossier lang ou languages fonctionne faut le déclarer.

    la ligne a inserer il faut le mettre dans quel fichier par exemple moi c'est un thème.

    Merci
    Bruno
  2. Bonjour,

    Ton tuto est bien mais je rencontre des problèmes pour mettre des mots clé, par exemple :

    <h2 class="pagetitle">Archive for the &#8216;<?php echo single_cat_title(); ?>&#8217; Category</h2>

    <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
    <h2 class="pagetitle">Archive for <?php the_time('F jS, Y'); ?></h2>

    Où dois je mettre le mot clè par exemple _ ou _e

    Pourquoi 2 mots clé ?
    Ont-ils une indication précise et différente l'un de l'autre ?

    Merci de votre aide
  3. Hbarre | Tutoriil Développement d'un plugin wordpress |
    J'ai suivi ce Tutoriel à la lettre, et sans problème j'ai réalisé mon premier Plugin.

    Merci beaucoup !

Ajouter un commentaire

Les commentaires sont tous validés par un modérateur, votre commentaire n'apparaît pas directement sur le site.
Aucun support n'est assuré ici, vous pouvez néanmoins laisser vos remarques et critiques sur l'article, les points de vue pertinents sont toujours les bienvenus.