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.
Podcast: Télécharger (84.1MB)
WordPress 3.5 – Un CMS pour créer et gérer blogs et sites Web
RT-Theme 17, traduction française
Maven Hosting, 12 mois d’hébergement
Themetick, traduction française
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
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.
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.
Merci de ce retour sur Poedit !
Faute corrigée et meilleurs voeux également !
Encore un très bon tutoriel. Merci beaucoup.
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
Merci du commentaire !
En effet, Poedit ne permet que de traduire un thème et non pas un site complet dans une autre langue.
Pour répondre à la question, il existe effectivement le plugin WPML ou ce tutoriel podcast pour rediriger vos visiteurs en fonction de la langue du navigateur.
Merci beaucoup
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é !
Tu peux passer ton WordPress en français facilement en suivant le tutoriel Changer la langue d’installation de WordPress sans danger.
Très bon outil de traduction.
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?
Pas forcément besoin de créer un tel répertoire. Bien souvent, le fichier fr_FR.po doit être situé à la racine du répertoire du thème.
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?
Tout dépend si le thème dispose des chaînes de traduction directement insérée dans le thème. Elle sont identifiable assez facilement.
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 ?
C’est difficile à dire… il faudrait que je puisse accéder au site.
Bonjour,
il existe d’autres logiciels de TAO qui savent gérer des fichier .po comme QT-Linguist par exemple.
Vous trouverez à cette adresse : http://blog.atenao.com/7um une liste des logiciels de TAO.
Seb
Merci de l’info ! Sont-ils plus complets que le traditionnel Poedit ?
Merci pour ce tutoriel très utile pour traduire des thèmes !
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
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
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.
Si tu as le po – fr_FR.po par exemple, tu l’ouvres avec Poedit et il doit te créer la version mo.
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
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.
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.
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é !
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
Réponse dans le commentaire juste au-dessus.
Un grand merci… je suis étourdi, je n’avais pas vu cette dernière réponse. Merci pour la réactivité en tout cas !
ST
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
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 ?
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.
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 ?
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 ?
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.,
Merci Aurélien et Noaneo pour votre aide et vos réponses très claires.
bon bref je l’ai désactivé.
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
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 ne sais pas si les traductions de là sont à jour
http://www.wptrads.fr/theme/simplepress/
sinon dans le thème, d’origine vous aviez le dossier languages ? Avec les fichiers en_EN.po et en_EN.mo ou default.po et default.mo dedans ?
Vous avez bien fr_FR.mo et fr_FR.po dans ce dossier?
Merci Aurélien et Noaneo pour votre aide et vos réponses très claires.
bon bref je l’ai désactivé.
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
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ù …
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
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
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 !
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
Ah, j’oubliais
La phrase en question ne figure non plus dans le .po wordpress
A +
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.
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
Plus d’infos dans le tutoriel relatif à la création des fichiers de traduction avec Poedit.
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
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
Il faut envoyer le .mo sinon cela ne fonctionnera pas.
Merci, j’avais oublié de précisé que le .mo a été envoyé aussi…
Je me demande juste si ce n’est pas une question de nom de fichiers.
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?
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.
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.
Très prometteur d’après ce que je peux en juger !
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
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).
Ça marche parfaitement, merci beaucoup pour le tuto, très bon travail !