Avoir un site en plusieurs langues peut s’avérer compliqué, même avec WordPress, aussi bien pour le développeur que pour l’utilisateur final. Comme je l’ai fait à plusieurs reprises, je vous donne ici la liste des plugins qui va bien, et les petites choses à ne pas oublier avant de se lancer.

Les plugins

Il existe de nombreux plugins permettant la gestion multiligue. Certains font la traduction « à la volée » à partir de traducteurs externes, un peu comme le ferait Google Translate. Mais on ne va pas se mentir, les traductions automatiques sont de qualité moindres quand elles ne fournissent pas des contre sens obscurs. Par ailleurs, point de vue référencement (SEO), ce n’est jamais fantastique.
D’autres plugins permettent la saisie des différentes langues. C’est pour moi la meilleure solution pour des sites de qualité.

Pour WordPress, j’utilise le plugin « <strong>qTranslate</strong> », qui présente l’avantage d’avoir de nombreux autres plugins compatibles, et d’être simple à utiliser par les rédacteurs et autres utilisateurs du site. Il a par contre le gros incovénient de modifier la base de données de faço drastique, rendant le « retour arrière » complexe si vous changez d’avis en cours de route. Si vous n’êtes pas sûr de la pérenité du multilingue, passez donc votre chemin…

Les plugins sont donc les suivants :

  • qTranslate
    Noyau dur incontournable, il permet de configurer un nombre illimité de langues. Grâce à ce plugin, la saisie des articles et pages dans l’administration propose tous les champs nécessaires, pour chaque langue. Il propose aussi différents systèmes de réécriture d’url pour passer d’une langue à l’autre (sous-domaines, répertoires fictifs, ou paramètre d’url GET). Par contre si vous optez pour du multi domaine, il vous faudra passer par la réécrite d’url avec Apache/Nginx.
  • qTranslate META
    Ce plugin permet de saisir les meta HTML (mots clés et description) pour chaque langue. Indispensable pour le référencement et très bon compélemnt à qTranslate
  • qTranslate slug with Widget
    Ce plugin permet la traduction des « slugs » (les mots courts utilisés dans l’url). Il permet aussi d’afficher un widget plus agréable pour la selection des langues. Là encore, indispensable pour le référencement.
  • Google XML Sitemaps v3 for qTranslate
    Plugin indispensable pour la gestion du multilingue dans votre sitemap, minima syndical du bon référencement
  • Dynamic widget
    Un plugin permettant l’affichage conditionnel des widgets, notamment en fonction de la langue. Indispensable pour que les widgets concordent avec la langue, surtout si ils ne gèrent pas eux même le multilingue…
  • Loco Translate
    Un plugin permettant de traduire vos thèmes et plugins directement depuis l’administration de WordPress (nécessite que thèmes et plugins soient traduisible).

Avec cette embardée de plugins, vous serez en mesure de gérer votre site en plusieurs langues avec WordPress sans trop de souci. Sous réserve bien sûr que la petite checkliste suivante soit validée…

La checklist

C’est une liste sommaire mais indispensable. Elle découle de l’évidence même, mais on ne peut pas y couper… et il y a souvent des oublis.

  • Le multilingue dans le WordPress de base :
    Vous devez avoir un WordPress de base acceptant le multi langue et comportant les fichiers de traductions correspondants aux langues que vous aller utiliser.
  • Des plugins, widgets et thèmes multilingues :
    Petite évidence : si votre site est en plusieurs langues, tous ses composants affichant du contenu doivent l’être aussi. Donc vous serez limités aux plugins traduits, où bien vous devrez vous attaquer vous même aux fichiers .po et .mo… si c’est prévu par le plugin récalcitrant.
  • Vos propres traductions :
    Si vous faîtes vous même le thème ou des widgets/plugins spécifiques, prenez garde à vous familiariser avant avec les fichiers de localisation/traduction (.po et .mo). Leur utilisation n’est pas particulièrement complexe, mais si c’est votre première expérience, prenez le temps d’apprentissage en compte…

Limites

Le multilingue sous WordPress a quelques limites et contraintes qu’il est bon de connaitre :

  • Une grande majorité des plugins et thèmes existants ne sont pas traduits, voir ne gèrent pas le multilingue nativement. Soyez donc prêts à contribuer, faire du spécifique, ou bien passer des heures sur le repo WordPress pour trouver votre bonheur…
  • Quelques rares éléments ne sont pas traduisibles. Je vous invite à lire cette page bien expliquée du Codex pour en savoir plus. Là dessus, à part casser complètement WordPress, pas d’issue.
  • La traduction impacte le serveur, que ce soit la traduction de base (dans le code de WordPress ou les plugins) que sur votre base de données (poids de la base et temps des requêtes). Je vous invite à lire le benchmark du site HereWithMe.fr. Pensez y, vous devrez potentiellement opter pour un serveur un peu plus gros, aujourd’hui ou à l’avenir…
  • Le multilingue, ça se « géolocalise » : faire un site en 10 langues, c’est bien. Mais n’oubliez pas que vos lecteurs (anglais, japonais, sud américains) habitent potentiellement sur des zones géographiquement très éloignées de votre serveur. Le temps d’affichage de votre page, du fait de la transmission des données, peut donc varier et mettre plusieurs dizaines de secondes à s’afficher pour un lecteur à l’autre bout du monde. Il vous faudra donc penser à répliquer votre site sur des serveurs autour du monde… mais tout dépend de votre cible.

Pour aller plus loin…

Sur le même sujet, je vous recommande la lectures de lesdoigtsdanslenet.com pour en savoir plus sur la traduction ou de herewithme sur les performances.