Bien comprendre le problème
Tout d’abord, quand on parle de site multilingue, il faut distinguer les différents types de contenu :
- le contenu qui appartient au thème
- le contenu entré par le back-office (article, page, menus)
Ces deux types de contenus ont chacun une façon différente d’être traduit.
Commençons par le plus facile: traduire le thème!
Traduire un thème WordPress
WordPress intègre une fonction de traduction, le problème est qu’elle n’est pas toujours utilisée dans les thèmes. Si vous avez un thème premium, il y a tout de même de grandes chances qu’elle soit présente.
Pour le vérifier tout de suite, regardez dans votre thème: si un dossier « lang » ou « language » s’y trouve, cliquez dessus. Vous voyez les fichiers « en_US.po » et « en_US.mo » ? Ce sont les fichiers contenant tout le texte original!
Bravo, votre thème intègre bien cette fonctionnalité !
Pourquoi deux fichiers par langue ?
Le fichier « .po » est celui que vous pouvez éditer pour changer la traduction. Par contre, WordPress n’est capable que de lire le fichier « .mo », généré à partir du premier.
On a bien compris la théorie, on passe à la pratique!
Pour traduire votre thème, il vous suffit de dupliquer le fichier « en_US.po » ou « en_GB.po » et le renommer d’après votre langue: « fr_FR » pour le français, « it_IT » pour l’italien, « fr_CA » pour le canadien… Ouvrez-le et inscrivez-y toutes vos traductions. C’est aussi simple que ça !
En pratique, pour ouvrir et modifier votre fichier, il faudra passer par le logiciel POedit, qui est le seul habilité à générer le fameux fichier « .mo » utilisé au final par WordPress. On se rassure : POedit est gratuit et très simple d’utilisation!
Ouvrez le fichier, et les traductions apparaîtront sous forme d’un tableau (à gauche l’original en anglais, à droite la traduction en français). Quand vous sauvegarderez le fichier, il génèrera automatiquement le fichier pour WordPress.
Uploadez alors les deux fichiers sur votre serveur et constatez la magie s’opérer!
Autre cas de figure: vous avez un fichier « .pot »
Pas de panique! Il va simplement falloir créer un fichier « .po » à partir du « .pot ». Pour cela, lancez POedit et utilisez la fonction « Fichier > Nouveau catalogue depuis un fichier POT ».
nplural=2; plural=(n>1);
Suivez les instructions et vous aurez votre fichier « .po » prêt à l’emploi ! Ouvrez-le avec POedit et modifiez-le à votre convenance.
Et si vous n’aviez aucun fichier de langue dans votre thème ?
Pas de chance pour vous, il va falloir mettre les mains dans le code ! Ce n’est pas si compliqué, mais autant vous dire que vous allez avoir besoin d’être à l’aise dans la lecture du code PHP.
Pour résumer la manipulation dans les grandes lignes, il va vous falloir :
- ouvrir chaque fichier de votre thème
- rechercher les textes en anglais qui s’affichent à l’écran (d’où le besoin de savoir lire le code, tout le texte écrit dans les fichiers ne s’affiche pas)
- remplacez ces textes par la fonction de traduction de WordPress « __() » et lui passer en paramètre le texte original.
Par exemple, la ligne suivante (qui affiche les mots-clefs de l’article, précédés du titre « Mots-clefs: ») :
<!--?php the_tags('Mots-clefs: ', ', '); ?-->
Doit être remplacée par:
<!--?php the_tags(__('Mots-clefs:', 'vertulab'), ', '); ?-->
- Puis créer dans le dossier de votre thème, le fichier « fr_FR.po »
- L’ouvrir avec un logiciel de texte (ex: notepad) et y noter les lignes de traduction suivante :
msgid "Edit" msgstr "Editer"
- Sauvegardez ce fichier
- Le ré-ouvrir avec POedit et le sauvegarder à nouveau pour effectuer la génération du fichier « .mo »
Comme vous le voyez, cette procédure est plus longue et demande plus de connaissances que la première !
Mes conseils
Si vous n’avez pas encore choisi votre thème, mon meilleur conseil est de choisir un thème traduisible (cherchez « localization » dans la liste des « features » exposées sur le site qui présente le thème). Vous gagnerez un temps précieux!
Par contre, si vous êtes dans la situation où votre site est déjà en place et votre thème non traduisible, il va falloir mettre les mains dans le code, ou trouver un prestataire pour le faire pour vous (j’ai peur que cette solution ne soit plus coûteuse que d’acheter un nouveau thème, étant donné les prix ras-le-plancher des thèmes premium).
Dernier espoir, vous pouvez chercher une traduction française de votre thème sur le web.
Salut Youcef.
Merci pour tes tests et commentaires. Et malgré tout, j’aurais besoin de ton aide. Je suis localiser au Panama où je termine la construction d’un B&B. Je prospecte pour savoir quel herbergeur prendre, Wix, Jimdo,… j’aimerais avoir une page en 3 où 4 langues. Bien sûr, je vais traduire les commentaires, anecdotes,… ensuite faut-il toujours tout traduire, ou avoir 1 ou 2 pages traduites pour le day to day??