Dans deux précédents articles, nous avons tenté de rendre WordPress multilingue, tout d’abord, sans plugin, puis en utilisant des plugins existants. Les conclusions étaient plutôt décevantes. Dans cette troisième partie, j’aimerais apporter quelques informations complémentaires sur ce sujet.
Multilinguisme
Rappelons rapidement les deux cas identifiés de multilinguisme:
Cas 1: Le blog publie l’intégralité du contenu en plusieurs langues. A un instant t, le blog ne s’affiche qu’en une seule langue, et propose des liens vers les différentes traductions. Si un article n’est pas disponible dans la langue demandée, alors il s’affiche dans la langue “principale”,
Cas 2: Le blog affiche des articles dans différentes langues, sans qu’il y ai forcement des liens de traduction entre eux. Sur une même page, nous pouvons trouver des articles en français, en anglais, en italien … Une variante de ce cas, est l’affichage, au sein d’un même article, de paragraphes dans différentes langues.
Le plugin ZdMultilang
Dans mes recherches sur les plugins, je suis passé à côté de ZdMultilang. Développé par Anthony, ce plugin encore peu connu, dispose pourtant de qualités comparables à ces concurrents.
Du point de vue du comportement, ZdMultilang se trouve à mi-chemin entre des plugins de type Gengo, et des plugins comme XLanguage ou Polyglot.
Son installation est classique, et fait apparaître un menu supplémentaire intitulé “Langues”. Ce menu permet
- De configurer le plugin (ajouter des langues, configurer l’affichage des éléments),
- De traduire les catégories, les tags, et les catégories des liens,
- D’écrire les traductions des articles ou des pages existantes.
L’interface est simple et efficace. L’extension permet de modifier les permaliens, en ajoutant un élément entre l’hôte, et le reste de l’url. Les permaliens prennent donc la forme suivante: <hôte>/<élément ajouté par ZdMultilang>/<fin de l'URL>.
Exemple: http://www.emmanuelgeorjon.com/en/wordress-blog-multilangue-part2/
Du côté du visiteur maintenant, le plugin affiche tous les articles et signale les éventuelles traductions. Si un article, ou un élément n’est pas traduit, le plugin l’affiche dans la langue d’origine (selon option). Un widget permet d’avoir un lien vers les différentes traductions du site.
Au chapitre des défauts: la documentation est malheureusement minimale (en cours de correction), et certains éléments ne sont pas traduits (les champs description des catégories et des liens par exemple).
Pour résumer: ZdMultilang est un plugin stable, complet et efficace. Il permet de couvrir les cas 1, comme Gengo, mais de façon beaucoup plus simple.
Commentaires généraux
Dans le second volet de cette série d’articles, ma préférence allait plutôt vers les plugins de type XLanguage ou Polyglot, parce qu’ils étaient peu intrusifs et simples d’emploi. Gengo est plus complet, couvre quasiment tous les cas, mais est également plus sensible à son environnement (version de WordPress, autres plugins …). ZdMultilang se situe un peu entre les deux.
Après quelques tests, je reviens sur mon opinion: comme signaler dans l’article précédent, PolyGlot et Xlanguage stockent la version originale et les traductions dans le même article. En cas de désinstallation de ces plugins vos lecteurs verront apparaître les articles comme vous les voyez dans l’interface d’administration: un empilement des paragraphes originaux et de leurs traductions.

Conséquence d'une désinstallation de Polyglot
Donc, si vous décidez un jour de vous passer de ce plugin, ou de ne plus faire de multilinguisme, il faudra, au préalable, se lancer dans des opérations lourdes pour séparer les différentes traductions les unes des autres.
Dans le cas de Gengo ou de ZdMultilang, le problème est différent: en cas de désinstallation, le blog continue de fonctionner normalement, seules les traductions disparaissent. De plus, avec ZdMultilang, les traductions peuvent être aisement récupérées, puis elles sont stockées dans une unique table et portent le même ID que l’article d’origine …
Conclusions
Cet article est le dernier de la série WordPress multilingue. Après le test de ZdMultilang, et des tests complémentaires sur les autres extensions, mon opinion a un peu évolué:
- La mise en place d’une installation de WordPress par langue, reste à mon sens, la méthode la plus simple, et la plus sécurisée. Elle implique cependant une charge de travail plus importante,
- L’utilisation d’un plugin nous expose à des problèmatiques de mise à jour, et de pérénité (si le développement du plugin est abandonné). En fonction de mes derniers essais, je déconseille Polyglot et Xlanguage. Gengo et ZdMultilang couvrent le cas 1 du multilinguisme, et peuvent être désactivés sans compromettre le fonctionnement du blog.
Pour un site massivement multilingue, Gengo me semble plus adapté. Dans les autres cas, la simplicité et l’efficacité de ZdMultilang suffiront largement. Ces qualités renforcent d’ailleurs l’indécision entre les méthodes avec ou sans plugin.
Other posts of the serie
- WordPress: Blog multilingue - 3ième partie (This post) - 5 August 2008
- WordPress: blog multilingue - 2nde partie - 20 June 2008
- WordPress: blog multilingue - 1ière Partie - 18 June 2008
Comments & trackbacks
Comments
8 responses
Trackback / Pingback
1 trackback/pingback.
-
Multilangue pour Wordpress…
Comment rendre Wordpress multilangue (ou multilingue, comme vous voulez) ? C’est-à-dire comment faire en sorte que les billets, les tags, les catégories, les pages et les liens, soient accessibles en différentes langues ?…

Français
Anthony
09:23
Merci beaucoup pour l’article
Pour info, depuis la derniere version de ZdMultilang, il est aussi possible d’afficher un lien google translate pour les articles non traduits
Il permet aussi de n’afficher que les articles ayant été traduits (via une option).
Effectivement, la doc a été rédigée suite à ta remarque
Curious
17:54
Bonsoir,
merci pour toutes ces explications. Personnellement je préfère largement avoir différentes installations de wordpress. Par contre je recherche désepérément un plugin qui me permette de rajouter un champ d’url.
L’idée est que si le champ et remplis le drapeau correspondant que j’ai inséré dans mon template renvois sur cet url et si le champ n’est pas remplie que le drapeau renvois sur la / par défaut de la langue que j’aurais paramétré.
Est-ce que vous avez une idée ?
Emmanuel
21:13
Bonsoir,
Une solution serait d’utiliser les “custom fields”
Dans la page single.php du theme, il faudrait inserer un code du type
Emmanuel
21:15
Dans l’interface d’administration, sur la page d’edition des articles, il suffirait d’ajouter un champ “traduction” aux articles disposant d’une traduction.
mariano
11:19
Bonjour et bravo pour ce travail.
Vos billets sur les blogs “WP” multilingue sont très intéresants et très utiles.
Voilà, je me retrouve dans le cas ou je dois choisir la méthode à utiliser pour la mise en place d’un blog WP multilangues (française, anglais).
La seconde solution citée dans votre article est la suivante “Plusieurs instances” … puis vous avez rajouté une variante “Un seul moteur, n bases”.
Quelle solution me préconisez vous ? … Celle avec plusieurs instances ou la variante ?
Voici quelles précisions sur ce que je souhaite mettre en place :
mon-domaine.com –> (site officiel hébérgé chez OVH sur une offre plan)
Blog(s) multilangues à mettre en place :
mon-domaine.com/blog/ –> (version française)
mon-domaine.com/blog/en/ –> (version anglaise)
Merci pour vos suggestions, remarques. Si vous avez des tutoriaux pour la mise en place de ces solutions exposées je suis preneur.
Si non, que en pensez de la dernière version de WordPress Mu (v2.7).
Est-ce que aujourd’hui j’ai intérêt a me tourner vers cette solution ou rester sur la solution citée plus haut.
Emmanuel
18:48
Bonjour,
Merci pour les compliments.
Concernant le multilinguisme:
S’il s’agit d’un blog “pro” dont la presentation dans chacune des langues doit etre irreprochable, alors il vaut mieux opter pour deux instances, une pour chaque langue. Depuis ces articles, je me suis également mis à publier en deux langues, et j’ai découvert de nouvelles contraintes:
- les widgets doivent pouvoir s’adapter à la langue,
- certains plugins ne savent pas gérer le multilinguisme,
- des plugins comme Google XML Sitemap.
Avec une instance par langue, les choses sont beaucoup plus simples:
- chaque instance est un blog classique, sans customization particulière,
- les blogs peuvent évoluer indépendamment les uns des autres.
Les seuls éléments à gérer sont les liens entre les deux blogs.
Depuis la version 2.7 de WP, les mises à jour sont beaucoup plus faciles, donc les contraintes du multi-instances sont moins importantes.
Les plugins de multilinguisme génèrent bien plus de contraintes, et surtout créent une dépendance.
La variante est intéressante, mais nécessite de bien maîtriser l’outil.
Dans le cas de plusieurs instances, l’installation est simple: la première instance va dans mon-domaine.com/blog/, et l’autre dans mon-domaine.com/blog/en/
Je ne connais pas assez WP MU pour dire si cette solution est plus avantageuse.
Une autre possibilité serait d’utiliser un autre produit que WP … WP est un moteur de blog, pas un CMS (nous avons souvent tendance à l’oublier), beaucoup de CMS savent gérer le multilinguisme nativement.
Hichem.Jouini
19:04
Vraiment merci pour cette excellente série d’articles
Clairs et bien structurés. Depuis un bon moment je cherche à internationaliser mon blog, mais j’étais perdu face à une multitude d’avis contradictoires. Il ne me restait qu’à installer les différents plugins pour pouvoir juger par rapport aux besoins. Chose que vous venez de faire, du coup j’ai gagné beaucoup de temps. Merci encore et bonne continuation.
Emmanuel
20:35
Merci.
Il faut signaler que, depuis la sortie des articles, les produits ont évolué.
Les principes généraux restent. Tous les plugins suivent l’un des deux principes suivants:
- soit chaque article contient toutes les traductions,
- soit le plugin gère des articles de traduction, liés à l’article original.
Dans le premier cas, toutes les traductions apparaîtront après la désinstallation du plugin. Dans l’autre le blog continuera de fonctionner, avec simplement les traductions en moins. Le problème reste alors à savoir récupérer ces traductions.
A signaler un nouveau venu WPML Multilingual CMS, qui fait partie de la seconde catégorie, et qui offre une bonne ergonomie.