Poedit, outil de traduction de thèmes et plugins WordPress

Contribuez au développement d’un thème ou d’un plugin WordPress passe nécessairement par de la traduction. Si vous êtes doués avec la langue anglaise alors traduisez vous-même la source dans la langue française ou dans cette de votre choix – si vous êtes polyglotte.

Pour ce faire, nous utiliserons le logiciel Poedit. Son principe est fort simple :

  • D’un côté les fichiers PO qui contiennent les catalogues permettant la traduction ;
  • De l’autre les fichiers MO qui afficheront les données finales dans le navigateur Internet ;

La plupart des thèmes et plugins WordPress proposent en natif des fichiers de traduction dans la langue de Shakespeare et de plus en plus dans d’autres langues – notamment grâce aux contributions d’utilisateurs fans. Bien souvent, ces fichiers sont présents dans le dossier racine ou dans un sous-dossier languages.

Une fois localisés, ouvrez le fichier PO anglais – généralement intitulé en_US.po, et ne tenez pas compte du fichier MO.

Il ne vous reste plus qu’à traduire chaque élément dans votre langue puis d’enregistrer le fichier en respectant la dénomination de langue – par exemple, fr_FR.po. En réalité, il suffit de respecter l’intitulé de la version originale.

Remarquez la création automatique d’un fichier fr_FR.mo en complément du catalogue qui porte l’extension PO. Si le fichier compilé n’est pas créé automatiquement, vérifiez les réglages de Poedit, notamment sous Windows.

Téléversez ensuite les fichiers au même endroit que les versions de base puis constatez le résultat en vous connectant à votre administration WordPress ou directement sur votre blog – dans le cas où le contenu traduit est directement visible par vos visiteurs.

Au final, c’est un réel confort de navigation offert à vos visiteurs y compris à ceux qui se débrouillent bien avec l’anglais ou toutes autres langues.

88 commentaires

  1. stéphane

    Superbe tuto comme toujours et très utiles pour traduire les thèmes que l’on trouve généralement sur le net.
    Je pensais utiliser l’astuce mais je me rend compte que mon thème n’a pas de fichier de langue.
    Comment peut ton faire si un thème n’a pas de fichier de langue ????
    J’imagine déjà la réponse avec comme réponse de mettre les mains dans le cambouis et tous traduire manuellement.
    Bonne continuation @ vous

    1. Aurélien Denis

      Merci des compliments !

      Quand un tel fichier n’est pas présent, on peut créer le catalogue de base via Poedit. Il faut donc créer chaque entrée.

      Toutefois, attention car il faut que le thème ou le plugin soit compatible. Autrement dit, que les endroits nécessitant une traduction soient indiqués comme tels.

      En effet, dans ces cas-là, il vaut mieux le faire en manuel ou regarder sur Google si personne ne l’a déjà fait à ta place.

  2. Thierry Benquey

    J’utilise souvent poedit mais je fais aussi souvent de la trad en dur pour mes besoins personnels, étant fainéant, je laisse souvent les instructions admin en langue originale et ne traduis que pour les utilisateurs. Ceci dit, utiliser poedit fait partie de la notion de partage qui est fondatrice de wordpress et de tout l’open source, cela est donc recommandé non ?
    Une petite coquille tou au début de l’article :
    « ou dans cette de votre choix – si vous êtes polyglotte »

    Ou dans celle de votre choix – blabla.

    Mes voeux de réussite 2010, aussi bien pour ce blog que pour ceux qui l’animent.

  3. Lamine

    Bonjour,

    Trés bon tuto.

    Concernant un site WP multilingue comment afficher automatiquement ou manuellement la langue adéquate en fonction de la langue de l’utilisateur ?

    Ou cette méthode ne permet que de traduire et d’afficher dans une langue voulue.

    Je connais WPML plugin

    Cordialement

      1. Yohan

        Bonjour,
        j’utilise qtranslate pour un projet wordpress en 2 langues (FR+EN), il me convient très bien le seul problème les windgets ne sont pas traduits ! Avez-vous une solution ?

        Merci d’avance.

  4. antoine

    Super tutoriel J’ai un petit problème, mon wordpress est en anglais, comment faire pour qu’il comprenne qu’il y a des fichier en français pour le thème ? car jusqu’à ce que je t’écris, j’ai bien uploader les fichier de traduction mais rien ne s’est passé !

  5. Soscrat

    Le thème que j’utilise est en anglais et ne comporte pas de répertoire « language ». J’imagine que je n’ai pas d’autre solution que d’éditer et traduire chaque fichier?

      1. soscrat

        Ma question c’est : Est ce qu’il suffit de créer un fichier fr_FR.po et de le mettre à la racine du thème, dans le cas d’un thème qui en est totalement dépourvu? Il doit bien y avoir une fonction quelque part pour appeler ce fichier, non?

  6. laurent

    Bonjour,

    J’ai pu traduire mon thème avec poedit sans problème, cependant, la partie « articles » reste désespérément en anglais.

    Lorsque je reprends le fichier traduit, tout est pourtant en ordre. Savez vous ou peut être le problème ?

  7. Comment traduire gratuitement un thème WordPress en français | Business Efficace

    […] y a des outils comme Poedit qui vous permettent de le faire. Il vous suffit de vous familiariser avec ceux-ci. Mais cela peut […]

  8. Anthony

    Bonjour,

    Voila j’utilise le thème wordpress The Travel qui n’a pas été complètement traduit.

    Lorsque j’enregistre mon fichier po pour créer le fichier mo et bien… rien ne se passe ! J’ai bien mon fichier po mais aucun fichier mo…

    Avez-vous une idée ?

    Merci

  9. Sandra

    Bonjour,
    J’ai suivi exactement ce que vous expliquez mais je n’obtiens pas de fichier .mo, seulement un fichier .po .
    Avez vous déjà rencontré ce problème?
    Merci d’avance
    Sandra

  10. Alama

    Bonjour, même problème, j’ai installé poedit, je charge le fichier po, je le modifie, j’enregistre et pas de mo à l’horizon… Peut être est-on obligé de partir d’un POT pour avoir un po + mo?? tout ce que je veux moi, c’est changer quelques traductions dans mon po (donc aussi en mo) ..

    Merci à tous.

      1. Alama

        Bonsoir Aurélien, c’est en effet ce que j’ai, et non, le mo n’est jamais apparu. Mais j’ai résolu mon souci autrement, simplement à l’aide du plugin CodeStyling Localization. Il fait la même chose que poedit, mais en mieux avec la recompilation du .mo . Tout est ok à présent! Merci

    1. NicoLiba

      Si le fichier .mo ne se crée pas cela peux venir d’une option à cocher dans Poedit.
      Aller dans Fichier/Préférences/Editeur/ et cocher l’option « Compiler automatiquement les fichiers .mo lors de l’enregistrement ».

      Après cela les changement deviendront effectifs.

  11. Jean

    Bonjour,

    Déjà j’adore votre site c’est très intéressant comme idée et le contenu aussi et ça doit pas être très facile la mise à jour avec le traitement de vidéos et tout, enfin… J’ai un gros problème avec Poedit, j’ai suivi vos instruction mais le logiciel ne permet pas l’export du fichier .mo! Après la phase traduction, lorsque je Click sur enregistrer sous et que j’enregistre mon fichier, je ne trouve pas le fichier .mo, j’ai relancer le logiciel en mode administrateur mais toujours la même chose! j’ai ensuite réinstallé le logiciel ça bloque toujours, avez vous une idée d’ou ça pourrait provenir ou un logiciel autre que Poedit que je peux utiliser? avait vous déjà rencontré la même problématique ? En vous remerciant par avance pour votre expertise.

    1. Aurélien Denis auteur de l’article

      Il y a une différence sous Windows par rapport à Mac OS X. Il faut aller dans les options de l’application et automatiser la compilation du fichier .mo à chaque sauvegarde et le tour est joué !

  12. ST

    Bonjour.

    Merci pour votre site : il est très bien fait. J’ai bien suivi le mode d’emploi de POEDIT… mais lorsque j’enregistre sous le fichier en .po, le fichier .mo ne se génère pas… à quoi cela peut-il être dû ?

    Par avance, merci.

    ST

  13. noaneo

    Bonsoir,
    j’essaye de traduire le plugin wp-twitter, je clique sur « Validate » cela me dit que la traduction est prête à être utiliser alors j’enregistre et là message d’erreur « msgfmt: found 1 fatal error » dans Détails, je lis il y a eu une problème lors du formatage propre du fichier (mais il a été enregistré correctement )
    Malgré que j’ai coché « automatiser la compilation du fichier .mo à chaque sauvegarde  » pas de fichier .mo
    Que faire?
    Merci

  14. Cécile

    Bonjour Aurélien,
    Merci pour ce super post, une fois de plus. Ton blog m’est très utile.
    Selon la méthode que tu donnes, je viens de traduire un théme elegantthemes. Au début j’avais le souci du fichier .mo qui n’était pas généré automatiquement mais j’ai trouvé la réponse dans les commentaires.
    le wp-cong est OK aussi avec la ligne define (‘WPLANG’, ‘fr_FR’)

    ma question est donc : la traduction apparaît-elle quasi instantanément sur le site ou pas ? car j’ai noté parfois que certains changements étaient un peu lents à venir (même en ayant supprimé le cache).
    sur mon site villas-expression.fr toujours pas de traduction en vue

    une idée du problème ?

    1. Aurélien Denis auteur de l’article

      Merci d’apprécier le projet WordPress Channel !

      A moins que tu ais configuré un plugin de cache, oui la traduction doit être instantanée. Pour les thèmes Elegant, il suffit de créer un fichier fr_FR.mo et de l’envoyer soit à la racine du thème, soit dans un dossier de langues d’ordinaire.

  15. Cécile

    Merci de ta réactivité Aurélien.
    Oui j’ai bien le fichier fr_FR.mo que j’ai envoyé dans un dossier langues.
    Euh.. par contre c’est quoi un pluggin de CACHE ?

    1. Aurélien Denis auteur de l’article

      Si tu ne le sais pas, tu ne dois pas en avoir alors !

      C’est un peu compliqué à expliquer mais en gros on génère les pages en HTML pour les transmettre plus vite au visiteur.

      Donc je pense qu’il y a un souci avec le fichier de langues. Il n’y a vraiment aucun mot de traduit ?

    2. noaneo

      vous avez bien 2 fichiers ?
      fr_FR.mo et fr_FR.po

      un plugin cache est un plugin qui garde mémoire vos pages, vos articles, votre site pour qu’il apparaisse plus vite, cela sert quand on a beaucoup de visite.,

  16. Cécile

    Merci Aurélien et Noaneo pour votre aide et vos réponses très claires.
    En vérifiant j’avais bien « Cache Reloaded Fix DB » que je viens de désactiver : je ne me souviens pas être allée chercher ce pluggin bon bref je l’ai désactivé.
    Là pareil le résultat est-il censé être immédiat (même en supprimant le cache avant de recharger la page) ?
    car rien ne bouge… que ce soit via chrome ou IE

  17. Cécile

    Merci Aurélien et Noaneo pour votre aide et vos réponses très claires.
    En vérifiant j’avais bien « Cache Reloaded Fix DB » que je viens de désactiver : je ne me souviens pas être allée chercher ce pluggin bon bref je l’ai désactivé.
    Là pareil le résultat est-il censé être immédiat (même en supprimant le cache avant de recharger la page) ?
    car rien ne bouge… que ce soit via chrome ou IE
    je connais ce site http://www.wptrads.fr/theme/simplepress/ : la traduction en elle-même ne me pose pas de pb (je suis quasi bilingue).
    Je voudrais juste la voir apparaître sur mon site. pour faire la traduction je suis partie du fichier en_US po via poedit.
    Une fois la traduc terminée j’ai enregistré en fr_FR et le fichier mo généré aussi. J’ai ensuite rebasculé ces 2fichiers via filezilla vers mon serveur dans le dossier lang.
    mais aucune résultat à l’horizon. Je ne vois si j’ai commis une erreur et où …

    1. noaneo

      oui cela doit être immédiat, il y a un souci, si vous avez bien les 2 fichiers fr_Fr.po et fr_Fr.mo, on dirait que votre thème n’est pas fait pour changer de langue, il faudrait voir avec l’auteur.
      Peut être il était plus simple d’utiliser le plugin Codestyling Localization

      1. Cécile

        Merci Noaneo pour cet échange intéractif !
        Je vais voir avec l’auteur, le theme c’est Simplepress de chez Elegantthemes, quand-même je ne m’attendais pas des pbs de traductions chez eux
        Je vais suivre tes conseils et voir avec l’auteur ds un premier temps et sinon m’orienter vers le plugin Codestyling Localization.
        Merci encore

        1. Aurélien Denis auteur de l’article

          Je reste persuadé pour ma part que ce n’est pas grand chose. Il y a peut-être eu un souci lors de la création du fichier sous Poedit (erreurs de configuration, erreur à la sauvegarde, etc.).

          Sinon, oui la documentation du thème devrait aider !

  18. Leonfort

    Bonjour aurélien,
    merci pour votre tuto.
    Mon souci est le suivant : le thème possède un .mo et .po dans ma langue
    Malgré cela, à l’usage une phrase du thème n’est pas traduite.
    J’ouvre le .po et effectivement cette phrase n’y figure pas dans la partie gauche de POEDIT.
    Y a-t-il un moyen pour l’ajouter et ainsi pouvoir la traduire ?
    J’ai l’option bien sûr de la traduire directement dans le fichier source .php, mais en cas de mise à jour du thème il faut tout recommencer.
    Ceci est vrai aussi pour les .po, mais bon
    Merci d’avance
    Leon fort

    1. Aurélien Denis auteur de l’article

      Il faut télécharger le thème sur votre bureau puis ouvrir le po avec Poedit. Dans les Préférences, il faut indiquer le chemin correspondant au dossier du thème – un clic Propriétés sous Windows ou Lire les informations sous MacOS X suffit. A partir de là, cliquez sur le bouton Mettre à jour permettra de vérifier qu’aucune chaine n’a été oubliée. Si celle qui vous fait défaut ne s’y trouve pas, alors il faudra la traduire en manuel – à vérifier dans le code si on ne peut pas l’internationaliser.

  19. Leonfort

    Merci pour votre rapide réponse
    vous dites
    « alors il faudra la traduire en manuel – à vérifier dans le code si on ne peut pas l’internationaliser. »

    – traduire en manuel..internationaliser –> traduire le texte dans le fichier source .php ?

    Merci encore
    Leon Fort

  20. mohamed

    merci aurélien pour ce beau tutoriel et j’ai une question .Dans le theme arjuna X il ya de nombreuse langue inscrite dans le theme et compris le français alors comment on choisi la langue française dedans et merci d’avance

  21. Clément

    Bonjour,
    Merci beaucoup pour ce super article.

    J’ai un petit souci avec la traduction de mon thème. Le fichier po se nomme : percivale.po

    Quel nouveau nom dois-je lui donner pour que la traduction soit effective? J’ai essayé fr_FR.po, percivale-fr_FR.po, de renomer le fichier… rien de tout cela ne marche.

    Merci d’avance pour l’aide et bonne journée!
    Clément

  22. iGen

    Bonjour Aurélien,

    Tout d’abord merci pour ces infos.
    J’ai testé PoEdit avec mon thème mais rien ne se passe. Le thème ne prend pas en compte les traductions. Aurais-tu une idée, stp?

    1. Aurélien Denis auteur de l’article

      Il te faut envoyer le fichier MO dans le dossier du thème. Soit à la racine de celui-ci, soit dans un dossier de langues déjà présent ou à créer. Le plus simple est de contacter l’auteur en général.

  23. summ3r

    Bonjour,

    Si vous êtes intéressés de traduire logiciels pour Internet, pour PC, pour mobiles ou tout autre type de logiciels, je vous recommandons chaleureusement le nouvel instrument numérique ”l10n” que mon équipe a récemment créé – et qui a toutes les chances de rendre vos activités de bureau bien plus faciles et rapides.

    Poeditor.com

    POEditor est intuitif, basé sur travail en collaboration. Il comprend de nombreuses fonctions qui puissent vous soutenir lors du processus de gestion de traductions, que vous pourriez découvrir sur notre page Internet.
    Vous pouvez importer depuis multiples types de fichiers de localisation (traduction) (pot, po, xls, xlsx, strings, xml, resx, properties) ou se servir directement de notre REST API.
    N’hésitez pas de l’essayer et/ou le proposer aux développeurs ou, en général, a ceux qui en seraient intéressés.

  24. Arya

    Bonjour,

    Je vous remercie pour ce tuto très bien expliqué ! Par contre, mon fichier mo se créé bien lors de la sauvegarde du fichier po mais les traductions qui existaient à l’origine restent inchangées et mes modifications ne sont pas prises en compte. Est-ce qu’il y a une étape supplémentaire ?

    Merci

    1. Aurélien Denis auteur de l’article

      Vérifiez que vous avez bien envoyé les fichiers dans le répertoire de langues du thème ou du plugins avec comme nom fr_FR.po et fr_FR.mo (pour le fichier compilé qui sera utilisé réellement pour traduire).

  25. SimondeCambon

    Merci beaucoup pour le tutoriel.
    Néanmoins je rencontre un problème pour traduire mon thème.
    C’est le suivant : http://wordpress.org/themes/oxygen
    Je modifie bien le fichier .po je le renomme de la même manière que d’origine avec fr_FR mais aucun changement en vue lorsque je place le fichier dans le répertoire grâce à Filezilla…

    Merci de votre aide

        1. ever

          J’ai le même soucis que vous. J’ai bien tout changé po et mo. Mon thème a été installé en français. Mais rien n’a faire. Est ce que quelqu’un a un solution ?

  26. Marie B.

    Merci pour l’info !
    Par contre, idem que ci-dessus. J’édite bien mon fichier .po (nommé default.po), je l’enregistre en fr_FR.po (+ fr_FR.mo bien créé également), je mets ces fichiers dans le « languages » du thème et rien ne se passe. J’ai essayé en renommant avec divers titres (fr.po/fr.mo, FR_fr.po/FR_fr.mo, default.po/default.mo avec le default original devenant en_EN.po/en_EN.mo etc…) mais je n’ai pas obtenu de meilleurs résultats.

    Le plus bizarre c’est que dans les fichiers .php du thème j’ai bien certaines expressions qui apparaissent en français, mais pas toutes, et quand bien même elles sont censées être traduites, cela reste apparaître en anglais sur le site…

  27. Eve

    Bonjour, merci pour toutes ces infos très utiles!
    J’ai malgré tout une question, j’ai bien les fichiers PO et Mo en français (theme u-design), mais lorsque j’ouvre mon site via wordpress j’ai toujours écrit en haut à droite:
    « language: English (en_US), comment changer cela?
    merci!

  28. ever

    Bonjour, merci pour ce tuto. Pouvez nous dire comment on fait pour automatiser les traductions. J’utilise microsoft traduction. J’ai coché sur microsoft et ensuite comment faire pour traduire toute une extension ? Merci

  29. Jean

    J’ai remarqué que pour certains thèmes il faut également modifier le fichier « functions.php » dans lequel il faut aussi changer la langue par défaut. Maintenant peut-être que ce n’est plus la peine avec la dernière version WP, je ne sais pas…

  30. joffre

    Bonjour après avoir généré le fichier traduit comment faire pour changer la langue via le site… par exemple dans mon cas j’ai deux fichiers .po : fr_FR et en_US je voudrai que ma page soit traduit quand je choisi dans un input de type select

  31. Merwan

    Bonjour,

    En cas de mise à jour du plugin pour lequel on a pu créer les fichiers de traduction .mo et .po, est-ce que ceux-ci sont conservés ou faut-il les re-créer ?

    Merci d’avance et bonne continuation pour ce site !

  32. Horen Olivier

    Bonjour à tous !!

    J’ai un p’tit soucis, mais s’en p’têtre pas un J’utilise POedit pour la traduction d’un thème, il me genère bien tous les fichier, mais pas sous la forme « fr_FR » mais juste « fr.mo » et « fr.po »… C’est grave vous croyez ?? J’ai pas pu encore installer le thème changé soucis serveur..) donc j’n’ai pas pu verifier si ça marche ou pas….

Laisser un commentaire