Si vous cherchez à rendre votre site WordPress multilingue pour atteindre un maximum de lecteurs, alors il vous sera nécessaire de traduire dans les langues désirées toutes vos pages et vos articles. En plus de cela, votre design doit s’adapter selon la langue d’affichage choisie. En effet, ce serait moins sensé d’avoir un template (menu, widgets, boutons, …) qui ne soit pas dans la même langue que le contenu des pages et des articles !
Nous allons voir dans ce tutoriel comment mettre en place un site WordPress multilingue sans avoir à créer plusieurs installations pour chaque langue.
qTranslate : un plugin WordPress multilingue
Il existe plusieurs plugins WordPress qui permettent d’avoir un site multilingue, le plugin WPML étant le plus connu. Ce dernier est assez puissant, malheureusement il est payant. Ainsi, le choix s’est porté sur autre plugin assez populaire et gratuit : qTranslate. qTranslate permet de créer du contenu multilingue sans avoir à créer plusieurs articles ou pages pour chaque langue. Tout se fait à l’intérieur du même article/page. De plus, selon la langue choisie, le plugin utilisera les fichiers .mo (contenant la traduction du thème) correspondants. Ainsi, lorsque vous switchez vers la version anglaise du site, le plugin utilisera le fichier .mo anglais pour la traduction du thème en anglais. Par ailleurs, il existe 3 types d’URL pour les différentes versions du sites : ?lang=en
, /en/foo
, en.votresite.com
. Enfin, un bon nombre de langues sont intégrées dans qTranslate. Aller je vous laisse découvrir en détails ces fonctionnalités-là avec quelques unes que je n’ai pas mentionnées. Mais avant ça il est important de prendre en compte les pré-requis mentionnées ci-dessous.
Quelques pré-requis
Tout d’abord, il est nécessaire que votre thème contienne les fichiers de traduction (.mo et .po) et qu’il soit traduit dans la ou les langue(s) dans lesquelles vous allez traduire votre site avec qTranslate, puisque ce dernier utilisera ces fichiers-là lors d’un passage d’une langue à une autre sur votre site. Ce serait dommage d’avoir un site multilingue mais dont le thème est uniquement traduit dans une seule langue ou qu’il n’ait pas de fichiers de langue tout court. Si vous êtes dans ces deux cas, je vous conseille de suivre ce tutoriel pour la traduction de votre thème, avant de passer à la suite. La même remarque peut se faire avec vos plugins installés, mais seulement s’ils affichent du texte sur le site qui ne soit pas modifiable via le tableau de bord. Auquel cas je vous renvoie vers le même tuto cité plus haut. Sinon, tout ce qui peut être modifiable dans la partie admin, on verra comment on pourra le traduire avec qTranslate. Enfin, en parlant de plugins, il peut arriver qu’il y ait parmi vos plugins installés certains qui entreront en conflit avec le plugin qTranslate. En général, les plugins les plus réputés ne poseront pas de problème.
Comment rendre son site WordPress multilingue avec qTranslate
Entrons maintenant dans le vif du sujet. Commençons par installer et activer le plugin. Une fois que c’est fait, on peut y accéder via le menu Réglages > Langues. Voici toutes les langues disponibles :
Vous pouvez activer les langues que vous souhaitez, puis choisir la langue qui sera affichée par défaut, plus haut dans la page dans les paramètres généraux :
La langue par défaut sera celle qui sera affichée sur votre site à l’URL de base http://www.votre-site.com.
Le troisième paramètre permet d’afficher automatiquement votre site dans la langue utilisée par le navigateur de l’utilisateur. C’est pas forcément pratique dans le sens où un utilisateur francophone qui souhaiterait consulter votre site dans la langue française et que son navigateur est paramétré sur la langue anglaise, il n’aura pas ce qu’il aura voulu.
Enfin, dans les paramètres avancés, vous pouvez choisir le mode de modification de l’URL :
Il existe d’autres paramètres mais que l’on peut laisser par défaut et dont certains je vous conseille de manipuler avec prudence si jamais vous décidez d’y toucher puisqu’ils sont susceptibles de modifier votre base de données.
Bon aller passons à la traduction. J’espère que vous êtes un bon traducteur !
Traduire ses articles WordPress
On va essayer de traduire le max de choses pour avoir un site multilingue homogène. Commençons par le plus important : la traduction du contenu, de vos articles.
qTranslate gère très bien l’aspect multilingue dans les articles WordPress puisque tout se fait à l’intérieur du même article. Voilà comment ça se passe :
L’image parle d’elle-même. Juste, vous aurez autant de champs de titre et d’onglet de langue que de langues de traduction choisies. Voilà, c’est très pratique et ça évite de se prendre la tête avec la création d’autant de nouveaux articles que de langues choisies.
Traduire ses catégories et ses tags/mots-clés
De même que les articles, il est très facile de traduire les catégories et les tags.
Traduire les éléments de design et de plugin
Les éléments de design sont ce que l’on peut considérer comme des données statiques de votre template telles que le titre, les blocs de texte affichés en pied de page ou dans le sidebar par exemple. De même pour les plugins dans le menu Widgets, il arrive souvent qu’on donne un nom au titre du widget que l’on veut afficher dans le sidebar, ou qu’il y ait des paramètres à remplir sous forme de texte. Dans ces cas-là il va falloir faire en sorte que le texte appartenant au plugin ou au template s’adapte à la langue choisie.
Prenons ici l’exemple d’un widget pour un plugin qui permet de créer une job board (WP Job Manager). Ce widget permet d’afficher dans le sidebar les dernières annonces d’offres d’emploi publiées dans la job board. Voici la syntaxe à utiliser pour donner un titre à ce widget dans les deux langues choisies (en et fr) :
Rien de compliqué, la syntaxe est de la forme :
[:langue_1]Texte en langue 1[:langue_2]Texte en langue 2[:langue_3]........[:langue_n]Texte en langue n
Traduire les fichiers du thème ou plugin
Il peut arriver que vous souhaitiez afficher certaines choses de votre thème ou plugin de différentes manières selon la langue sélectionnée, et que ceci n’ait pas été conçu pour être administrable depuis le tableau de bord. Dans ce cas, une syntaxe qTranslate est prévue pour traduire ses textes dans les fichiers du thème :
<?php _e("<!--:fr-->Mon texte en français<!--:--><!--:en-->Mon texte en anglais<!--:-->"); ?>
Il existe aussi une fonction qTranslate qui permet de récupérer la langue utilisée et traduire ses textes ou éventuellement changer la manière d’afficher les choses selon cette langue. Prenons l’exemple, d’un site WordPress multilingue traduit en français et en arabe. La mise en page entre les versions ne sera pas exactement pareille. Il serait donc plus pratique de créer un fichier CSS pour chaque langue. Il va donc falloir charger pour chaque version le fichier correspondant :
<?php if (qtrans_getLanguage() == 'ar') { ?> <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/ar.css"> <?php } ?>
Afficher un commutateur entre les langues sur son site
Il s’agit ici des fameux drapeaux ou texte ou les deux ou alors parfois une liste déroulante que l’on retrouve souvent en haut de la page pour permettre de commuter entre les versions proposées par le site. Pour ça il existe deux possibilités, la première est d’utiliser le widget intitulé « qTranslate Language Chooser » proposé par le plugin :
Un peu bizarre la traduction dans le widget. Image signifie ici drapeau, et sélection une liste déroulante des langues choisies. Voici à droite ce que ça donne avec le texte et drapeau.
La deuxième possibilité est d’utiliser une fonction qTranslate pour afficher le commutateur n’importe où sur votre thème. Voici la ligne de code à insérer :
<?php echo qtrans_generateLanguageSelectCode('text'); ?>
Voici les différents paramètres d’affichage: text, image, both, dropdown.
Conclusion
Nous avons fait le tour ici de ce que l’on pouvait faire avec qTranslate. On a vu que ce n’était pas très compliqué de rendre son site multilingue et que l’on a surtout évité de créer plusieurs installations WordPress pour chaque langue.
L’un des plus gros avantages aussi de ce plugin est le fait de rédiger ses articles en plusieurs langues sans avoir à créer autant d’articles que de langues.
Voilà, je vous laisse télécharger ce plugin et le tester sur votre site. N’oubliez pas de m’en donner des nouvelles !
Cet article vous a plu?
Abonnez-vous alors à notre newsletter pour recevoir des trucs utiles pour votre site WordPress.
Notice: Undefined index: mts_social_button_layout in /home/movo2472/wpscouts.com/wp-content/themes/schema/functions/theme-actions.php on line 461
Bravo pour cet article et ces précieux conseils !
Bonjour,
Merci beaucoup pour cet article très intéressant et claire !
Donc si je comprend bien, cette solution ne permet pas d’avoir un permalien différent selon l’affichage EN ou FR, donc un référencement moins bon… Concrètement cela veut dire qu’on part du principe d’avoir une langue principale, et une ou des langues secondaires… ?
Si je souhaite avoir des liens vers mes articles dans la langue de l’article, je vais être obligé de créer 2 articles différents (un EN et un FR par exemple ? )
Dans ce cas, est-ce que le reste de la procédure est la même ?
En terme de référencemen et de simplicité de gestion du blog, est-ce mieux de procéder ainsi au vaut il mieux créer 2 noms de domaine avec 2 bases de données ?
Merci
Bonjour Adrien,
Si, vous aurez deux permaliens différents pour un même article en deux langues.
Si vous avez un site bilingue (ex: FR et EN), vous créerez deux articles différents mais à partir de la même page de création d’article (voir image de l’article). Une fois les deux articles créés (depuis la même page), vous aurez 2 liens différents (un en FR et l’autre en EN). Idem pour les pages.
Votre dernière question : il vaut mieux demander l’avis d’un spécialiste SEO. Mon avis est que d’un point de vue « branding », il vaut mieux garder le même nom de domaine pour les deux langues. Cela créerait peut-être une confusion chez le visiteur qui verrait que le blog a un nom différent dans une langue différente. Sauf si vous avez vos propres raisons 🙂
Pour terminer, j’ai publié un autre tutoriel sur un autre plugin qui permet de gérer un site multilingue. Celui-ci a l’avantage d’avoir des mises à jour plus régulières!
Merci beaucoup Anouar !
Ca m’enlève une épine du pied ! Je pense que j’ai mal interprété votre image à la première lecture, j’ai pensé que seuls le texte et les tags étaient traductibles, et pas le permalien, (je pensais qu’il y aurait juste la mention EN, sans traduire le texte Français) me voilà rassuré je vais pouvoir avancer !
J’ai déjà lu votre article sur polylang, il a l’air top, je pense que je vais partir là dessus, WPML à l’air très intéressant aussi mais je ne vois pas trop ce que ça pourrait m’apporter en plus vu mon besoin. (blog d’artiste avec présentation de prestations, prise de contact, téléchargement, et tuto)
Merci beaucoup pour votre aide.
PS : dans cette configuration, est-ce que la gestion des abonnés est bien répartie entre FR et EN . Pour qu’un EN ait bien la newsletter dans la langue d’inscription. J’imagine que ce n’est pas polylang qui gère ça mais certainement le plugin d’abonnement ?