Quand vous choisissez un nouveau thème WordPress, il peut arriver que celui-ci ne soit pas disponible en français. Mais comment traduire un thème WordPress facilement ?
Dans cet article, je vais vous présenter le plugin Loco Translate, qui permet de créer facilement un fichier de traduction pour un thème existant.
A savoir avant de traduire un thème WordPress
Peut-on traduire n’importe quel thème WordPress ? Que faire si l’on a créé un thème enfant pour personnaliser son blog ? Comment fonctionne la traduction d’un thème WordPress ?
La traduction sur WordPress
Commençons par quelques explications sur le fonctionnement de la traduction d’un thème WordPress… car ça explique souvent les difficultés que vous pouvez rencontrer pour traduire un thème.
Quand un développeur web crée un thème WordPress, il doit prévoir la possibilité de le traduire… et ça implique qu’il écrive son code d’une manière particulière. On appelle ça « i18n » sur WordPress ou « internationalisation ».
Par exemple, au lieu d’écrire « Lire la suite » comme ça :
Lire la suite
Il écrira ça comme ça :
__( 'Lire la suite', 'nomdutheme' );
C’est un exemple imaginaire… mais l’idée, c’est que grâce à cette écriture particulière, WordPress pourra détecter que la partie « Lire la suite » est susceptible d’être traduite dans d’autres langues.
On passe à une seconde étape du processus, la localisation (« l10n » dans le langage WordPress). Elle consiste à extraire toutes ces chaînes traduisibles et à les rassembler dans un fichier « POT » (Portable Object Template).
Ensuite, on peut traduire ce fichier POT dans n’importe quelle langue : il donne alors naissance à un fichier PO (Portable Object), qui inclut la langue d’origine et son équivalent traduit. Ce fichier PO s’accompagne toujours d’un fichier MO (Machine Object), une version du fichier conçue pour les machines et non pour les humains, qui leur permet d’accéder ultra-rapidement à toutes les traductions.
Pour chaque langue, vous aurez donc un fichier .PO et un fichier .MO.

Tous les thèmes WordPress ne sont pas traduisibles
Si votre thème ne prévoit pas dès le départ une possibilité de traduction, à travers l’écriture spécifique du code dont je viens de vous parler, vous n’arriverez pas à le traduire. Le plugin Loco Translate ne fonctionnera pas car il ne sera pas capable d’extraire les termes « à traduire ».
La seule manière de traduire le thème sera de traduire « à la main » chacun de ses fichiers.
Faut-il traduire le thème enfant ou le thème parent ?
Si vous avez téléchargé un thème WordPress et que vous l’avez personnalisé en créant un thème enfant, vous vous demandez peut-être s’il faut traduire le thème parent (le thème d’origine) ou votre propre version personnalisée (le thème enfant).
De manière générale, il faut traduire le thème parent car souvent, votre thème enfant ne reprend pas l’intégralité des « chaînes traduisibles » du thème… et il y a des éléments qui risquent de rester dans la langue d’origine.
Tutoriel : le plugin Loco Translate pour traduire son thème WordPress
Loco Translate est un plugin gratuit et très efficace pour traduire son thème WordPress facilement sans avoir besoin de mettre les mains dans le code !
Allez dans le menu Extensions > Ajouter de WordPress et recherchez « Loco Translate » puis installez le plugin et activez-le. Il crée un élément de menu intitulé « Loco Translate » dans le menu de gauche de WordPress.

La plupart du temps, vous n’aurez pas besoin de toucher aux paramètres du plugin, qui portent sur des situations très particulières : si vous voulez par exemple créer des permissions spécifiques pour certains types d’utilisateurs ; si vous avez des fichiers php très gros (plus de 100 Ko) qui ne sont pas correctement détectés par Loco Translate…
Le plugin permet de traduire des thèmes, des extensions et WordPress lui-même. Nous allons nous intéresser à la rubrique Loco Translate > Themes… qui permet de traduire son thème WordPress.
Loco Translate vous permet de traduire n’importe quel thème WordPress présent sur votre blog, qu’il soit activé ou non. Par conséquent, vous pouvez tout à fait travailler tranquillement sur une traduction et mettre le thème en ligne seulement une fois celle-ci terminée.
Premières étapes avant la traduction du thème
La page d’accueil vous affiche tous les thèmes détectés sur votre blog dans le dossier wp-content > themes. Elle peut donc afficher des thèmes WordPress que vous n’utilisez pas forcément. Cliquez sur le thème WordPress que vous souhaitez traduire (ou sur le thème parent dans le cas où vous avez créé un thème enfant).
Si votre thème propose déjà un fichier de traduction pour sa langue d’origine (l’anglais, très souvent), il apparaîtra ici. Si le thème ne propose aucun fichier de traduction, vous verrez une page vide, comme ceci :

Il y a ici deux cas de figure :
- Si votre thème propose un fichier de traduction dans sa langue d’origine, vous pouvez directement créer une nouvelle langue. Cliquez sur « New language ».
- Si le thème ne propose aucun fichier de traduction, il va d’abord falloir générer un template : Loco Translate va analyser tous les fichiers du thème pour extraire les chaînes traduisibles. Cliquez sur « Create template ».
Voici ce qui se passe dans le cas de la création d’un template :

Loco Translate analyse votre thème et génère, si le thème est traduisible, un fichier POT rassemblant toutes les chaînes de texte traduisibles (cf mes explications au début de l’article).
Vous pouvez à présent cliquer sur « New language ».
Loco Translate vous propose de choisir une nouvelle langue de traduction, le français dans mon exemple. Il vous demande aussi où il doit stocker le fichier de traduction française généré (fichier .PO).

Je vous conseille de laisser l’option par défaut : elle permet de stocker le fichier de traduction dans un dossier wp-content/languages/loco/ qui ne risque pas d’être effacé par une mise à jour du thème ou de WordPress. L’option « author » convient aussi si vous avez créé vous-même votre thème WordPress, le fichier de langue est alors stocké dans un sous-dossier du thème WordPress concerné.
Une fois ces paramètres réglés, cliquez sur « Start translating » pour commencer à traduire.
Traduire le thème WordPress
Vous allez vous retrouver face à ce type de présentation :

Le fonctionnement est très simple. Vous sélectionnez une phrase en haut en cliquant dessus puis vous écrivez la traduction française (par exemple) dans le champ « French (France) translation ».
Certaines chaînes de caractères peuvent comporter des signes spéciaux, par exemple une flèche. Veillez à bien les recopier dans votre traduction pour garder le même affichage qu’en anglais.

De même, vous pouvez avoir de mystérieux pourcentages, comme « %s » ici :

Ce pourcentage correspond en fait à une variable : sur le blog, il sera automatiquement remplacé par une information. Dans mon exemple, il sera remplacé par le mot recherché par le visiteur sur le site. Il faut donc le conserver dans votre traduction.
Vous pouvez tout à fait décider de ne pas traduire tout votre thème mais seulement les phrases sur lesquelles vous « tombez » en visitant votre blog. Ici par exemple, je constate que la phrase « Next Article » est toujours en anglais sur le blog…

Je peux tout simplement faire une recherche de cette phrase avec Loco Translate pour traduire uniquement cette partie.

Et hop !

En temps réel, vous pouvez voir le pourcentage de thème traduit en haut de page.

N’oubliez pas de cliquer sur « Save » pour sauvegarder votre traduction.
Concrètement, le thème va automatiquement essayer de récupérer la même langue que votre version de WordPress (la langue est définie dans le menu Réglages > Général > Langue du site). Dans la majorité des cas, vous n’avez donc rien de spécifique à faire pour « activer » la traduction. Si votre interface d’administration WordPress est en français, le plugin ira chercher la langue française du thème si elle existe.
A vérifier après la traduction de votre thème WordPress
Dans la plupart des cas, vous n’aurez rien de plus à faire pour que votre traduction fonctionne ! Cependant, traduire un thème WordPress se joue à plusieurs niveaux : la traduction dépend de la façon dont le thème a été codé au départ, exige certaines permissions de dossiers (le plugin Loco Translate doit pouvoir « écrire sa traduction » dans le dossier où vous lui demandez de l’écrire).
De ce fait, vous pouvez être confronté à une situation où Loco Translate ne fonctionne pas comme prévu. Avant de rechercher du support technique, vérifiez qu’il ne s’agit pas d’un banal problème de cache : parfois, une ancienne version de votre page est « mise en mémoire » et n’affiche donc pas immédiatement la traduction.
Si vous utilisez un plugin de cache (WP Rocket, W3 Total Cache, WP Super Cache, WP Fastest Cache ou similaire), videz le cache ! Vous pouvez également vider le cache de votre navigateur ou faire Ctrl + F5 sur la page.

Une fois votre traduction terminée et mise en ligne, il reste une dernière chose à vérifier : son exactitude. En effet, il est très difficile de réaliser une traduction « hors contexte », sans savoir exactement à quel endroit un terme sera utilisé.
Vous constaterez parfois que certains termes mériteraient une traduction un peu différente de celle que vous aviez envisagée au départ. Vous pouvez alors, à n’importe quel moment, retourner sur votre traduction via le menu Loco Translate > Themes > Votre thème > La langue concernée, pour la modifier ou la compléter.
Vous vous demandez peut-être enfin si vous pouvez désinstaller Loco Translate une fois la traduction terminée. Il faut savoir que les traductions sont par défaut installées dans un répertoire indépendant de celui du plugin (il se trouve dans wp-content > languages > loco > themes), elles ne seront donc pas affectées par la désactivation ou même la suppression totale du plugin Loco Translate !
J’espère que ce tutoriel vous aidera à traduire un thème WordPress si vous avez quelques phrases en anglais qui traînent dans le thème de vos rêves !
Hello ! Je suis en congé maternité jusqu'à l'été 2023. Pendant cette période, les commentaires du blog sont fermés.
Bonjour,
J’ai installé, désinstallé, réinstallé Loco et suivi précisément les étapes (somme toute, simple et facile) mais le bouton « enregistrer » fonctionne de manière aléatoire. La traduction n’est pas prise en compte. Cela aurait-il à voir avec la version globale de PHP ?
Bonjour Jules, es-tu sûr qu’il s’agit d’un « problème du bouton enregistrer » et pas plutôt un problème lié au fait que le thème n’est pas intégralement traductible ? Si c’est effectivement un souci de plugin, je te conseille d’en informer ses créateurs via le forum de support de Loco Translate.
Merci pour ce très bon article sur Loco Translate. Tes explications sont vraiment très claires et j’ai réussi à traduire les éléments nécessaires de mon thème. J’ai bien compris qu’il fallait faire attention au dossier dans lequel on enregistre la nouvelle traduction pour qu’elle ne soit pas écrasée lors d’une mise à jour. En revanche, je m’interroge sur un point. Que se passe-t-il quand une mise à jour a lieu et que des champs sont ajoutés ? Doit-on reprendre intégralement son fichier de traduction ? Peut-on synchroniser sans perdre les traductions déjà faites ? Merci d’avance !
Bonjour Mathieu, il n’est pas nécessaire de tout reprendre, les nouvelles « chaînes à traduire » sont détectées.
Bonjour, J’ai un thème enfant qui ne prend pas en compte la traduction (90%) installée comme demandées sur le thème parent. (wordpress-woodmart).
Ne manque t-il pas un lien pour que le thème enfant prenne la traduction sur le thème parent ?
Merci de votre aide et pour le tuto très clair pourtant.
Hello Franck, tout dépend si le thème est traduisible, s’il l’est en intégralité ou non, si le thème enfant a été bien conçu. Beaucoup de paramètres peuvent jouer donc difficile d’analyser ça « de l’extérieur », je vous conseille de contacter directement le créateur du thème pour en savoir plus.
Bonjour Marlène,
Voila j’essaie de construire un site WordPress de videos.
Mon thème choisi n’est pas en français d’origine (PsyPlay), j’essaye donc de le traduire en suivant tes instructions mais qu’une partie réussit…
De tout les mots que je traduit, seule une partie est pris en compte.
Ma page d’accueil par exemple, n’affiche aucun mots mots que j’y traduit.
Serait-tu me donner une explication ? Merci.
Hello Mickaël, je mentionne une possible cause dans l’article : le thème n’est peut-être pas forcément traduisible en totalité. Il y a peut-être des parties dont le développeur n’a pas prévu la traduction… et si on veut les modifier, cela oblige à aller directement dans le code du thème.
OK en faite j’ai réussi tout de même a traduire une bonne partie via notamment « apparence » de mon thème.
j’aimerais maintenant justement avoir accès aux lignes de code du thème pour pouvoir créer des liens a partir d’adresse internet que j’incorporerais sur un bandeau dans la page d’accueil de mon site. Mais je sais pas comment mis prendre…
Tu les trouve ou ces lignes ? lol
Hello, avant toute modification du thème, je te conseille de te tourner vers la création d’un thème enfant afin que tes personnalisations ne soit pas effacées lorsque tu mettras à jour ton thème. Ensuite, le dossier du thème est accessible en se connectant en FTP (comme lors de l’installation de WordPress) et en allant dans le dossier wp-content > themes > nomdutheme.
Bonjour Marlène,
Merci pour cet article. J’ai téléchargé Loco translate, mais je ne sais pas comment traduire la date des articles de blog qui sont actuellement de la forme : Novembre, 7th, 2019. J’aimerais mettre : 7 novembre 2019. Pouvez-vous m’aider ? Merci d’avance !
Virginie
Hello Virginie, la date est souvent gérée à part, on peut modifier son format via le menu Réglages > Général > Format de date si le thème est bien codé.
Le meilleur tuto sur Loco.
Merci beaucoup.
Merci pour le commentaire Sam !
Bonjour Marlène,
J’ai bien suivi toutes les étapes dont tu parles, mais rien à faire, je ne trouve pas dans Loco des choses comme « related post » et je ne peux donc pas les traduire.
Une idée?
Emmanuelle
Bonjour Emmanuelle, es-tu certaine que le thème a été codé pour être traductible ?
Hello Marlène,
j’ai un CTA « READ MORE » pour chaque article sur ma page d’accueil.
Grâce à toi j’ai réussi à tout traduire, mais ce contenu précis est introuvable.
Comment faire ?
Hello, le contenu est sans doute codé « en dur » dans le thème (c’est-à-dire écrit tel quel dans le code mais pas traduisible). Dans ce cas, la solution est généralement de télécharger les fichiers de son thème et de rechercher/remplacer dans ces fichiers la chaîne de caractères que l’on n’arrive pas à traduire, puis de remettre en ligne le thème. Avec un inconvénient : si le thème est mis à jour, la modification risque de disparaître et d’être « écrasée » par la version récente du thème.
L’autre solution est de signaler au créateur du thème qu’il a oublié de rendre cette chaîne de caractères traduisible, afin qu’il fasse la correction dans le code de manière plus « durable ».
Bonjour ! Très bon article, merci ! J’aimerais vous soumettre une idée d’article pour votre blog qui m’aiderait beaucoup : pourriez-vous expliquer comment mettre en relation les pages de blog avec les catégories d’articles sur WordPress s’il vous plaît ? Parce que je n’y arrive pas. Merci d’avance si vous le faites !
(Au passage, j’adore votre blog !)
Bonjour Amélie, merci pour le message ! « Mettre en relation » à quel niveau ? Sur WordPress, une page ne fait pas partie du système de catégories, seul le format « Articles » peut être rattaché à une catégorie mais pas le format « Page ».