WordPress thème – Comment traduire un thème WordPress en français

Wordpress theme Comment traduire un thème Wordpress

Wordpress theme Comment traduire un thème WordPress

Vous avez trouvé un thème WordPress que vous aimez, mais il est en anglais. Voici une façon simple de faire la traduction d’un thème WordPress qui est déjà prêt pour « l’internationalisation » I18n (I18n qui est l’abréviation pour l’internationalisation)

Comme par exemple les thèmes qu’on trouve chez Woo Themes. Ces thèmes ont déjà un fichier .PO qu’on peut utiliser pour la traduction dans la langue de notre choix.

Je vais faire un exemple ici en utilisant un thème gratuit de Woo Themes qui s’appelle Bueno

J’ai d’abord téléchargé le thème WordPress et je l’ai installé sur un wordpress version 3.1 en français. Comme on peut le voir il y a certains textes en anglais :
texte du site bueno qui est en anglais

Éditer le fichier .po avec Poedit

Pour que ces textes s’affichent en français j’édite  le fichier bueno.po, du thème WordPress. Ce fichier est dans le répertoire LANG (wp-content/themes/bueno/lang) et je modifie le fichier avec le logiciel Poedit (disponible pour Windows, Mac et linux) que vous pouvez télécharger gratuitement.

fichier Bueno.po du thème wordpress woothemes

Fichier bueno.po dans poedit

Faire la traduction de chacun des éléments

Cliquez sur le premier élément de la liste, ensuite allez dans le bas de l’écran puis cliquez dans la case vide et entrez le texte en français. Exemple : % Comments devient % Commentaires (s’il y a des signes comme % ou autre ne faut pas oublier de le inscrire).

Traduction dans Poedit

Traduction avec Poedit

IMPORTANT : Lorsqu’on traduit en français il faut tenir compte des accents. Généralement les sites web WordPress utilisent l’encodage UTF-8 par défaut. Il faut donc remplacer les caractères accentués par leur équivalent UTF-8.

Les principaux accents hmtl utf-8  c’était mal formulé (merci à Jef) ==> Les accents et caractères spéciaux en ASCII sont :

  • é => é
  • è => è
  • ê => ê
  • à => à
  • ù => ù
  • un espace vide =>  

Vous trouverez une liste plus longue sur le site scriptol.fr. M.A.J. mai 2012 : 2e référence proposée par Jef  www.w3schools.com/tags/ref_charactersets.asp

Enregistrement du fichier qui a été traduit

Une fois qu’on a terminé la liste de tous les éléments à traduire, il s’agit d’enregistrer le fichier sous le nom fr_FR (pour une traduction en français). Le nom de fichier est important car c’est un standard. Si vous voulez voir les noms de fichiers pour d’autres langues que le français, vérifiez sur le site de WordPress.

Poedit va enregistrer deux fichiers : fr_FR.po et fr_FR.mo. et il faut les copier dans le répertoire wp-content/themes/bueno/lang/ (soit au même endroit que le fichier bueno.po). Si vous désirez utiliser mes fichiers de traduction ils sont à vous : fr_FR.rar

Note : J’utilise Filezilla pour transférer les fichiers via FTP.

Télécharger le fichier dans le répertoire lang

Si vous utilisez déjà WordPress en version française vous devriez maintenant voir les textes en français. Facile hein? :-)

Traduction terminée

Si vous n’utilisez pas WordPress en version française

Si vous ne voyez toujours pas le texte en français, vous pouvez télécharger les 4  fichiers fr-FR (fr_FR.mo, fr_FR.po, ms-fr_FR.mo, ms-fr_FR.po) pour convertir votre version de WordPress en français.

  1. Ensuite il faut copier les 4 fichiers dans le répertoire wp-content/languages/
  2. Éditer le fichier wp-config.php et recherchez : define (‘WPLANG’,  »);
  3. Remplacer par : define (‘WPLANG’, ‘fr_FR’);

Note : le fichier wp_config.php est directement dans le répertoire racine souvent nommé public_html.

MISE-À-JOUR 17 août 2012

Merci à Mikel Aralar pour son commentaire. J’ajoute cette information importante

Juste un truc. La modification des fichiers .po ne suffit pas à traduire un site. Ce sont des fichiers texte. La magie de Poedit consiste à compiler à l’instant le fichier .mo concerné.

Mais voilà, pour que cela se produise il faut que Poedit soit correctement configuré. Donc, si vous modifiez le fichier .po et ça ne marche pas :

Ouvrir dans Poedir « Fichier/Préférences ». Dans la nouvelle fenêtre, choisir « Éditeur ». Cocher la première option « Compiler automatiquement les fichiers .mo lors de l’enregistrement ». Et voilà !

Je me permets de faire cette remarque parce que j’ai suivi les explications de Annie Bergeron, sans obtenir de résultat. Après je me suis aperçu que Poedit, tout fraichement chargé dans mon ordinateur, n’avait pas la case « Compiler automatiquement… » cochée. Peut-être que quelqu’un d’autre trouvera le même problème.

Ressources :

  • Thèmes Bueno – thème WordPress gratuit – Les thèmes Woothemes sont des thèmes WordPress qui sont très bien fait et qui sont peu cher, je vous les recommande.
  • Mes fichiers de traduction du thème : fr_FR.rar
  • Poedit
  • FileZilla
<a title= »Wordpress theme – Woo themes » href= »http://www.woothemes.com/ » target= »_blank »>

67 Commentaires

  • Georges dit :

    Toutes ces explications sont très claires. Cependant, je préfère utiliser le plugin « CodeStyling Localization ». Il est parfaitement bien intégré à wordpress, et permet de corriger les traductions au fur et à mesure qu’on trouve des erreurs ou des oublis de traduction.

  • buy proviron dit :

    post Awesome. Vraiment apprécié la lecture de votre blog.

  • cure detox dit :

    Enfin une méthode simple et rapide !
    Merci pour cet article très clair

  • Renaud dit :

    Très bon article avec des screens en plus pour mieux situé.
    Je vais pouvoir traduire mon blog.

  • ru2f dit :

    Enfin une méthode simple et rapide !
    Merci pour cet article très clair

  • Bruno dit :

    Bonjour,

    Ceci est un bon article. Mais je rencontre un problème avec mon thème.
    Je n’ai pas de fichier po ni de dossier lang ou langage, et j’ai entendu dire qu’il y avait possibilité de créer un dossier lang avec ses fichiers de traduction. Mais je n’arrive pas à trouver sur google cette astuce.

    Cordialement,
    Bruno

    • annieb dit :

      Bonjour Bruno,

      Il est possible d’utiliser ce site : http://www.icanlocalize.com/tools/php_scanner (mais je ne l’ai pas encore testé).

      Il y a aussi cette façon de faire (tutorial en anglais) : http://betterwp.net/wordpress-tips/create-pot-file-using-poedit/. J’ai déjà utilisé cette méthode avec succès. Je vais faire un petit article là-dessus bientôt.

      Désolée pour le délai à répondre.

      • Bruno dit :

        Bonjour Annieb,

        Merci pour ta réponse. J’ai trouvé des explication sur la toile.
        Mais j’ai un coté qui me reste un peut obscure. Pour traduire dans des array comme si dessous je ne vois pas comment écrire avec les fameux mots clé sans mettre la pagaille. lol

        array( « name » => « Enable Custom fonts? »,
        « id » => $shortname. »_cufon »,
        « type » => « select »,
        « options » => array(‘Yes’, ‘No’),
        « std » => « Yes »),

        Et par exemple encore ceci :

        if ($username ==  ») {
        if ($list) echo  »;
        echo ‘RSS not configured';
        if ($list) echo  »;

        Puis-je l’écrire comme ceci :

        if ($username ==  ») {
        if ($list) echo  »;
        echo  »;
        if ($list) echo  »;

        Ou comme ceci

        if ($username ==  ») {
        if ($list) echo  »;
        echo (__’RSS not configured’);
        if ($list) echo  »;

        Merci pour tous les renseignements.

        Bruno

  • Bruno dit :

    Bonjour,

    J’ai trouvé les solutions mais il me reste encore une question
    Pour que le dossier lang ou language fonctionne il faut qu’il soit déclaré dans le thème.
    Mais quel ligne inscrire et dans quel fichier le header.php, functions.php.

    Merci
    Bruno

    • Bruno dit :

      Bonjour,

      Et encore comme un grand je me suis dépatouillé seul. LOL

      @+ Bruno

      • annieb dit :

        Bonjour Bruno,

        Je réalise que j’ai trop délaissé mon site… Je vais m’y remettre.

        Je suis heureuse de voir que vous vous débrouillez bien :-)

        Au plaisir de partager encore avec vous

        Annie

        • Bruno dit :

          J’ai fait un peut de PHP énormément HTML et CSS, ce qui m’a bien aidé dans cette quête à la traduction pour internationaliser un thème et je pense que pour les plugin ça doit être un peut plus rapide que pour un thème (plus de modif à faire dans les fichiers).

          Bruno

          P.S un blog comme le tiens ne le néglige pas il a plus de valeur que tu le crois.

          • annieb dit :

            En effet, il y a généralement moins de texte dans les plugins que dans les thèmes.

            Merci Bruno, je vais suivre ton conseil, je ne négligerai plus mon blog.

  • Cordialement pour le partage de l’information avec nous sur http://www.esiteweb.net.

  • Bruno dit :

    Bonjour,

    Je reviens à la charge !

    J’ai besoin d’un petit coup de main sur une internationalisation d’un thème wordpress et plus particulièrement dans les tableaux.

    Voici ci-dessous le code d’origine.

    array( « name » => « Advertizement »,
    « type » => « title »,
    « desc » => « Setup the ad banner on posts. »,
    ),

    Et voici le code modifié pour la traduction

    array( ‘name’ => __(‘Advertizement’),
    ‘type’ => ‘title’,
    ‘desc’ => __(‘Setup the ad banner on posts.’),
    ),

    Mais j’ai un souci ici ma traduction ne prend pas et garde la version d’origine.

    Pourtant je le retrouve bien dans mon fichier de langage. J’utilise pour tout ce qui
    est HTML une balise PHP comme : toutes
    celles-ci fonctionnent bien. J’ai essayé d’autres mots clés dans les tableaux comme celui que j’utilise dans les balises PHP _e remettre à jour mon fichier fr_FR.po et j’ai même réussi à faire disparaitre le mot du tableau.

    Et j’ai remarqué qu’il ne me traduisait pas non plus tout ceux de ce style :

    Pourtant ils ont bien été généré dans le fichier fr_FR.po

    Si une âme charitable pouvait me dire pourquoi j’ai ce souci, car là je suis en train de coincer.

    Merci
    Bruno

    • Bruno dit :

      Bonjour,

      Je me réponds à moi même (c’est ce que ça fait à force de lire du code)
      Bon trêve de plaisanterie. J’ai peut-être trouvé un bout de mon erreur je dis bien un bout car la traduction dans les tableaux ne ce change toujours pas un bout de mon erreur devrait être ceci.

      array( ‘name’ => __(‘Advertizement’, ‘mondomaine’),
      ‘type’ => ‘title’,
      ‘desc’ => __(‘Setup the ad banner on posts.’, ‘mondomaine’),
      ),

      Ce qui fait que normalement comme ‘mondomaine’ est inscrit que je l’ai déclaré dans le fichier function il devrait me le trouvé. Mais que nini nada rien.

      Il se le trouve quand je crais le fichier .po donc avec poedit. Mais une foit traduit toujours en anglais sauf dans la balise php pour traduire des les balises html exemple : _e(‘Posted by’, ‘balena’); et bien entendu ceci est entre les balises PHP, ca fonctionne très bien.

      Si quelqu’un pouvais me dépatouiller de çà.

      • annieb dit :

        Bonjour Bruno,
        Si je comprends bien la traduction fonctionne bien partout SAUF dans les tableaux? Est-ce que tu as un lien (URL) où je peux voir ton thème? Ceci m’aiderait à mieux saisir le problème.

        Annie

        • Bruno dit :

          Voici mon wp de test
          http://bonplaninternet.com/wp

          Par exemple tu verra que le premier post commentaire à 0 mais il est en anglais hors que dans mon second article de test il y a 2 commentaires et bien en fr. voici ma ligne pour la traduction.
          comments_popup_link( __(‘0 Comment’,’balena’), __(‘1 Comment’,’balena’), __(‘% Comments’,’balena’));

          Le tableau que je parle est dans mon admin mais voici toute la partie qui me cause problème :

          $options = array (

          array( « name » => __(‘Featured posts’,’balena’),
          « type » => « title »,
          « desc » => __(‘This section customizes the featured post list.’,’balena’),
          ),

          array( « type » => « open »),

          array( « name » => __(‘Featured post Category’,’balena’),
          « desc » => __(‘Select the category to be featured.’,’balena’),
          « id » => $shortname. »_gldcat »,
          « std » => __(‘Select a category:’,’balena’),
          « type » => « select »,
          « options » => $zm_categories),

          array( « type » => « close »),

          array( « name » => __(‘Twitter settings’,’balena’),
          « type » => « title »,
          « desc » => __(‘This section customizes the social network buttons.’,’balena’),
          ),

          array( « type » => « open »),

          array( « name » => __(‘Twitter ID’,’balena’),
          « desc » => __(‘Give your twitter id.’,’balena’),
          « id » => $shortname. »_twit »,
          « std » => « twitter »,
          « type » => « text »),

          array( « name » => __(‘Facebook page url’,’balena’),
          « desc » => __(‘Give your Facebook page url.’,’balena’),
          « id » => $shortname. »_face »,
          « std » => «  »,
          « type » => « text »),

          array( « type » => « close »),

          array( « name » => __(‘125 x 125 banner Settings’,’balena’),
          « type » => « title »,
          « desc » => __(‘You can setup four 125 x 125 banners on your sidebar from here’,’balena’),
          ),

          array(« type » => « open »),

          array(« name » => __(‘Banner-1 Image’,’balena’),
          « desc » => __(‘Enter your 125 x 125 banner image url here.’,’balena’),
          « id » => $shortname. »_banner1″,
          « std » => « http://web2feel.com/images/webhostinghub.png »,
          « type » => « text »),

          array(« name » => __(‘Banner-1 Image alt tag’,’balena’),
          « desc » => __(‘Enter your banner alt tag.’,’balena’),
          « id » => $shortname. »_alt1″,
          « std » => __(‘Cheap reliable web hosting from WebHostingHub.com.’,’balena’),
          « type » => « text »),

          array(« name » => __(‘Banner-1 Url’,’balena’),
          « desc » => __(‘Enter the banner-1 url here.’,’balena’),
          « id » => $shortname. »_url1″,
          « std » => « http://www.webhostinghub.com/ »,
          « type » => « text »),

          array(« name » => __(‘Banner-1 link title’,’balena’),
          « desc » => __(‘Enter the banner-1 title here.’,’balena’),
          « id » => $shortname. »_lab1″,
          « std » => __(‘Web Hosting Hub – Cheap reliable web hosting.’,’balena’),
          « type » => « text »),

          array(« type » => « break »),

          array(« name » => __(‘Banner-2 Image’,’balena’),
          « desc » => __(‘Enter your 125 x 125 banner image url here.’,’balena’),
          « id » => $shortname. »_banner2″,
          « std » => « http://web2feel.com/images/pcnames.png »,
          « type » => « text »),

          array(« name » => __(‘Banner-2 Image alt tag’,’balena’),
          « desc » => __(‘Enter your banner alt tag.’,’balena’),
          « id » => $shortname. »_alt2″,
          « std » => __(‘Domain name search and availability check by PCNames.com.’,’balena’),
          « type » => « text »),

          array(« name » => __(‘Banner-2 Url’,’balena’),
          « desc » => __(‘Enter the banner-2 url here.’,’balena’),
          « id » => $shortname. »_url2″,
          « std » => « http://www.pcnames.com/ »,
          « type » => « text »),

          array(« name » => __(‘Banner-2 link title’,’balena’),
          « desc » => __(‘Enter the banner-2 title here.’,’balena’),
          « id » => $shortname. »_lab2″,
          « std » => __(‘PC Names – Domain name search and availability check’,’balena’),
          « type » => « text »),

          array(« type » => « break »),

          array(« name » => __(‘Banner-3 Image’,’balena’),
          « desc » => __(‘Enter your 125 x 125 banner image url here.’,’balena’),
          « id » => $shortname. »_banner3″,
          « std » => « http://web2feel.com/images/designcontest.png »,
          « type » => « text »),

          array(« name » => __(‘Banner-3 Image alt tag’,’balena’),
          « desc » => __(‘Enter your banner alt tag.’,’balena’),
          « id » => $shortname. »_alt3″,
          « std » => __(‘Website and logo design contests at DesignContest.com.’,’balena’),
          « type » => « text »),

          array(« name » => __(‘Banner-3 Url’,’balena’),
          « desc » => __(‘Enter the banner-3 url here.’,’balena’),
          « id » => $shortname. »_url3″,
          « std » => « http://www.designcontest.com/ »,
          « type » => « text »),

          array(« name » => __(‘Banner-3 link title’,’balena’),
          « desc » => __(‘Enter the banner-3 title here.’,’balena’),
          « id » => $shortname. »_lab3″,
          « std » => __(‘Design Contest – Logo and website design contests’,’balena’),
          « type » => « text »),

          array(« type » => « break »),

          array( « name » => __(‘Banner-4 Image’,’balena’),
          « desc » => __(‘Enter your 125 x 125 banner image url here.’,’balena’),
          « id » => $shortname. »_banner4″,
          « std » => « http://web2feel.com/images/webhostingrating.png »,
          « type » => « text »),

          array( « name » => __(‘Banner-4 Image alt tag’,’balena’),
          « desc » => __(‘Enter your banner alt tag.’,’balena’),
          « id » => $shortname. »_alt4″,
          « std » => __(‘Reviews of the best cheap web hosting providers at WebHostingRating.com.’,’balena’),
          « type » => « text »),

          array( ‘name’ => __(‘Banner-4 Url’, ‘balena’),
          ‘desc’ => __(‘Enter the banner-4 url here.’,’balena’),
          « id » => $shortname. »_url4″,
          « std » => « http://webhostingrating.com »,
          « type » => « text »),

          array( « name » => __(‘Banner-4 link title’,’balena’),
          « desc » => __(‘Enter the banner-4 title here.’,’balena’),
          « id » => $shortname. »_lab4″,
          « std » => __(‘Web Hosting Rating – Customer reviews of the best web hosts’,’balena’),
          « type » => »text »),

          array(« type » => « close »),

          array( ‘name’ => __(‘Advertizement’,’balena’),
          ‘type’ => ‘title’,
          ‘desc’ => __(‘Setup the ad banner on posts.’,’balena’),
          ),

          array(« type » => « open »),

          array(« name » => __(‘Ads on posts ‘,’balena’),
          « desc » => __(‘adsense or other ad scripts .’,’balena’),
          « id » => $shortname. »_ad1″,
          « std » => «  »,
          « type » => « textarea »),

          array(« type » => « close »),

          );

  • Bruno dit :

    Bonjour à tous,

    Bien j’ai relu mon code du fichier qui me posait problème c’était le fichier theme-options.php. Dans cette relecture je me suis aperçu d’une chose c’est qu’il ne faisait pas appelle au fichier function.php là ou j’ai mes lignes qui font appelle au dossier /languages/. Je les ai incéré dans le fichier theme-options.php et rouler jeunesse tout fonctionne à merveille et voilà mon bon français qui est apparu et en plus mon formulaire de configuration marche impeccable.

    merci Annie

    @+
    Bruno

  • Amine dit :

    C’est intéressant merci !

  • voynich dit :

    Salut, tout d’abord merci pour ce tuto tres utile a tous, puisque on fait souvent face au problème des templates anglais, pour les traduire.

    Moi j’ai une question, si vous voudrez bien avoir l’amabilité de me répondre svp, et merci d’avance.

    Ma question est : tu dis que t as traduis un thème qui contient le fichier : .PO, mais pour les thèmes qui ne contiennent pas ce fichiers, car j’ai souvent téléchargé des thèmes anglais, mais j’ai jamais vu ce fichier dedans, est ce qu’on suit la même procédure ? ça veut dire on traduit le fichier de langue avec ce logiciel ou quoi ?

    Merci de bien m’expliquer svp si tu as une solution pour a, et merci bcp d’avance.

    Cordialement.

    • admin dit :

      Merci pour les bons mots Voynich.
      Il est possible de créer un fichier po avec POEDIT.
      Voici une courte marche à suivre (en attendant un tuto plus détaillé) :
      Codex

          Ouvrir POEDIT
          Cliquer sur FILE > New Catalog
          Entrer un nom de projet (exemple le nom du thème)
          Cliquer sur l’onglet PATHS (dans le haut de la fenêtre)
          Cliquer sur l’icône NEW ITEM (l’icône ressemble à un petit carré)
          Enter le chemin du répertoire contenant tous les fichiers de votre thème WordPress (Le point « . » donne l’instruction à POEDIT de « scanner » le répertoire où le fichier POT sera enregistré
          Appuyer sur la touche ENTER de votre clavier
          Cliquer sur l’onglet KEYWORDS
          Cliquer sur l’icône NEW ITEM
          Entrer __ (la barre de soulignement « underscore » 2 fois), appuyer sur la touche ENTER de votre clavier
          Cliquer sur l’icône NEW ITEM
          Entrer _e (soulignement e), appuyer sur la touche ENTER de votre clavier
          Cliquer sur OK
          Choisir un nom pour votre fichier .po (suggestion le nom de votre thème)

      Si le thème est bien fait et respecte les techniques de WordPress pour la traduction , cela devrait bien fonctionner.

      Annie

  • voynich dit :

    Merci bcp pour ta précieuse aide et merci encore de ton explication bien détaillé, ça m’aide bcp.

    Cordialement.

  • Frank dit :

    Merci grandement! J’utilise le thème Thesis et quand j’ai vu le travail de traduction à faire, je me suis dit que quelqu’un devait bien avoir fait le travail déjà alors merci!

  • jef dit :

    Bravo pour l’article.

    Juste une petite remarque : les « accents hmtl utf-8″ n’existent pas !
    C’est soit de l’utf-8 donc on écrit les accents comme on le ferait sous Word, soit les « entités HTML » et on écrit é à la place de é.
    La première méthode ne peut fonctionner que si les fichiers sont encodés en utf8 (paramètres de l’éditeur de texte).
    Pour la deuxième méthode, il faut encoder en ASCII. C’est cet encodage qui est interprété par défaut par les navigateurs.
    http://www.w3schools.com/tags/ref_charactersets.asp

    • admin dit :

      Merci Jef, vous avez parfaitement raison c’était très mal formulé. Merci encore d’avoir apporté cette précision importante, je viens de modifier mon article.
      Annie

  • Mathieu dit :

    Bonjour,
    merci pour cet article complet !
    J’ai bien suivi les étapes, par contre mon blog s’affiche toujours en anglais?

  • Mathieu dit :

    merci pour le lien !
    Oui le fichier config est bien OK (d’ailleurs les autres themes que jai teste marchent tous en francais)

    ce qui est bizarre c’est qu’apres avoir installe le plugin, il me dit bien que la langue est FR alors je sais pas d’ou vient le prob!

    • admin dit :

      Eh bien je suis d’accord c’est bizzare. Je manque de suggestion pour vous aider. Je vais y réfléchir. Si je trouve d’autres idées je vous tiens au courant.

      Si jamais vous trouvez la solution, j’aimerais bien la connaître cela m’intéresse.

      • boube dit :

        bonjour et merci pour l’article,
        moi j’ai tjrs le probleme de traduction avec classipress. j’ai essayer d’appliquer ts les astuces en vain. j’ai installer classipress 3.1.8 sur wordpress 3.4.1
        le probleme c’est que malgre les fichiers .po et .mo present dans le dossier du theme celui-ci reste tjrs en anglais, du coup j’ai pense a ce que vs avez dit plus haut que le theme doit supporter la traduction et j’aimerais savoir par quoi le reconnaitre, merci d’avance

  • Mikel Aralar dit :

    Bonjour.

    Excellent papier. On comprend tout d’un trait. C’est très bien expliqué.

    Juste un truc. La modification des fichiers .po ne suffit pas à traduire un site. Ce sont des fichiers texte. La magie de Poedit consiste à compiler à l’instant le fichier .mo concerné.

    Mais voilà, pour que cela se produise il faut que Poedit soit correctement configuré. Donc, si vous modifiez le fichier .po et ça ne marche pas :

    Ouvrir dans Poedir « Fichier/Préférences ». Dans la nouvelle fenêtre, choisir « Éditeur ». Cocher la première option « Compiler automatiquement les fichiers .mo lors de l’enregistrement ». Et voilà !

    Je me permets de faire cette remarque parce que j’ai suivi les explications de Annie Bergeron, sans obtenir de résultat. Après je me suis aperçu que Poedit, tout fraichement chargé dans mon ordinateur, n’avait pas la case « Compiler automatiquement… » cochée. Peut-être que quelqu’un d’autre trouvera le même problème.

    • admin dit :

      Merci beaucoup Mikel,

      Je viens tout juste d’ajouter vos précisions dans mon article. Ce qui va grandement améliorer la marche à suivre.

      Encore merci pour votre contribution.

      Annie

  • nabil dit :

    et quand le thème n’a pas de fichier Lang ?

  • Gaillard dit :

    Bonjour Annie,

    Je me tourne vers toi, car je galère vraiment.
    J’ai acheté le thème « pure vision » et essaye de le traduire en français depuis des semaines.

    Je n’ai pas « lang » dans son contenu et j’essaye d’installer poedit.

    Mon hic: je n’arrive pas à associer poedit à mon thème pour le traduire.

    J’ai l’air d’avoir un thème fabuleux et je n’arrive pas à l’utiliser.

    Franchement si tu peux m’aider, ça serait volontiers

    Merci

    • admin dit :

      Bonjour Gaillard,

      Dernièrement Mikel Aralar m’a fait remarqué qu’il y avait un oubli dans ma démarche. J’ai fait une mise à jour de mon article le 17 août 2012. Voici ce que Mikel mentionne (peut-être que c’est ce qui manque pour traduire votre thème « pure vision ») :

      Mikel Aralar _ « Juste un truc. La modification des fichiers .po ne suffit pas à traduire un site. Ce sont des fichiers texte. La magie de Poedit consiste à compiler à l’instant le fichier .mo concerné.

      Mais voilà, pour que cela se produise il faut que Poedit soit correctement configuré. Donc, si vous modifiez le fichier .po et ça ne marche pas :

      Ouvrir dans Poedir « Fichier/Préférences ». Dans la nouvelle fenêtre, choisir « Éditeur ». Cocher la première option « Compiler automatiquement les fichiers .mo lors de l’enregistrement ». Et voilà !

      Je me permets de faire cette remarque parce que j’ai suivi les explications de Annie Bergeron, sans obtenir de résultat. Après je me suis aperçu que Poedit, tout fraichement chargé dans mon ordinateur, n’avait pas la case « Compiler automatiquement… » cochée. Peut-être que quelqu’un d’autre trouvera le même problème. »

      Tenez-moi au courant.

  • annie.c dit :

    Merci pour toutes c’est explication claire est précise.
    Beaucoup de tutoriels ne fond pas mention des accents est des préférences.

    Jais l’intention de prendre un thème Woothemes ,donc cet article est commentaire vont bien me servir .

  • Kevin dit :

    Bonjour,

    Tout d’abord merci pour ce tuto très clair.

    Cependant, après avoir suivi à la lettre les différentes étapes pour la traduction de mon thème, celui reste toujours en anglais.

    Fichiers .po et .mo bien présents dans le répertoire.

    Config.php présente la mention fr_FR etc

    Mais toujours rien… les textes ne changent pas…

    Help svp :)

    • admin dit :

      Quel est le thème que vous avez choisi? Normalement cela fonctionne bien. Je manque de détail pour voir où est le problème.
      Si vous avez un URL à me fournir pour que je puisse voir de quel thème il s’agit peut-être que je pourrai trouver une solution.

      Annie

      • goro dit :

        bonjour

        le tutot est super clair et je pense (même moi) avoir bien compris.

        pourtant, comme Kevin, cela reste en anglais, pire, même l’admin wp est en anglais alors que j’ai installé la 3,5 en français.
        j’ai vérifié:
        – fichiers po et mo sont à leur place
        – fichier wp-config.php contient bien
        define(‘WPLANG’, ‘fr_FR’);

        mais rien ne se passe, (voir le site http://www.Astroetik.fr)

        help car c’est insupportable, je tourne en rond et rien n’y fait….

        • admin dit :

          Bonjour Nicolas,

          Je suis allé voir le site www. astroetik.fr. D’après ce que j’ai vu c’est les termes gérés par WordPress qui sont en anglais et non pas ceux du thème.
          Pour que WordPress soit en français il faut 2 choses :

          Téléchargez la dernière version du fichier de traduction sur la page des téléchargements puis la déposer dans le répertoire wp-content/languages de votre installation.
          ajouter define (‘WPLANG’, ‘fr_FR’); dans le fichier wp_config.php

          Si vous avez WordPress 3.5, vérifiez dans le répertoire wp-content/languages si les 4 fichiers (fr_FR.mo, admin-fr_FR.mo, admin-netword-fr_FR,mo, contineants-cities-fr_FR.mo) sont bien là

          Référence : http://www.wordpress-fr.net/telechargements/

          Fichiers compilés .mo pour WordPress 3.5 (obligatoires) :

          fr_FR.mo : traduction générale
          admin-fr_FR.mo : traduction de l’administration
          admin-network-fr_FR.mo : traduction de l’administration du réseau/multisite
          continents-cities-fr_FR.mo : traduction géographique pour le sélecteur de fuseau horaire.

          Tenez-moi au courant si cela a fonctionné!

          • goro dit :

            bonjour Annie et merci pour ces éléments de réponse.
            j’ai suivi vos indications… et rien n’y fait.
            le blog continue à contenir des éléments qui sont en langue anglais (comments, reply…..)

            cela devient désespérant…

          • admin dit :

            Re-bonjour Nicolas,

            Est-ce que vous avez fait la traduction de tous les termes du fichier PO. Pour être certain vous pouvez aussi faire une recherche avec POEDIT. Une fois le fichier PO ouvert dans POEDIT vous allez dans le menu Editer > Rechercher… Fais une recherche sur les mots qui sont toujours en anglais (exemple Reply). Reply peut être à plusieurs endroit dans le fichier PO alors faire SUIVANT jusqu’à la fin du fichier.

  • Nicolas dit :

    Est-il conçevable de traduire tout à la main pour diminuer les requêtes PHP liées à la recherche des traductions? Je cherche à remplacer les requêtes _e et __. Ca vaut le coup en terme de vitesse de chargement/économie de requêtes?

    • admin dit :

      Bonjour Nicolas,
      C’est possible de traduire tout à la main, mais cela n’est pas recommandé. De plus, si jamais vous faites une mise à jour du thème, toutes vos modifications seront écrasées par cette mise à jour.

      Mais c’est tout de même conçevable :-)

      Annie

  • Gilles dit :

    Bon, si j’avais vu ça plus tôt, je n’aurais pas traduit les fichiers de mon blog un à un…
    Mais c’est bon à savoir pour un éventuel prochain blog. Merci
    Et bonne année à tous !

    • Tony dit :

      Bonjour,

      Merci pour ces explications pour générer le fichier de traduction, elles sont claires et faciles à suivre. Cependant, j’ai un problème : je suis en train de développer un module sous wordpress, le but de ce module étant d’être distribué, je souhaite avoir un second fichier de traductions supplémentaire et non pas intégrer les traductions au fichier de traduction global. Donc comme j’ai expliqué, générer le fichier ne pose pas de problème, par contre il n’est pas pris en compte et je ne comprend pas pourquoi. Votre article est un peu trop générique a wordpress au global, y a t il des éléments auxquels il faut faire attention si on souhaite mettre en place la traduction pour un plugin ?
      Merci d’avance

  • summ3r dit :

    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.

    http://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.

  • Wow, amazing weblog format! How long have you ever been running a blog for?
    you make running a blog glance easy. The full look of your
    site is great, as neatly as the content material!

  • SimondeCambon dit :

    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

    • annieb dit :

      Bonjour,
      J’ai téléchargé le thème oxygen et j’ai vu que les fichiers, dans le répertoire languages sont nommées de cette façon : oxygen-fr_FR…

      Donc pour que ça fonctionne pour le thème Oxygene vous devez nommer vos fichiers ainsi : oxygen-fr_FR.po et oxygen-fr_FR.mo

      J’espère que cela pourra vous aider.

      • SimondeCambon dit :

        Merci annieb,

        Mais j’ai bien les fichiers renommés comme il faut.
        La traduction fonctionne mais pas sur toute les expressions…
        J’ai réussis à traduire « Home » en Accueil et « Edit » en « Modifier », mais impossible de traduire par exemple « Leave a reply » ou « Recent article » etc…

        C’est très louche…

        • annieb dit :

          Si vous activez le thème par défaut WordPress soit twenty twelve ou twenty eleven. Est-ce que le thème est en français? Car il peut y avoir une partie de l’information qui est traduite par WordPress et une autre par le thème lui-même.

          Selon ce que je vois, dans le thème Oxygen, « Leave a reply » est dans le fichier functions.php et il semble être codé correctement pour la traduction.

          Dans le cas de « Recent article » il ne semble pas être dans le fichier hybrid-core-en_EN.po

          • SimondeCambon dit :

            « Recent article » est dans le fichier oxygen-fr_FR.po, il y a 2 fichiers pour traduire.

            Quand je met le thème par défaut, il semble bien en français.

  • Marc Denoyer dit :

    C’est super! Je suis un peu maladroite en ce qui concerne l’anglais. C’est donc une grande aide pour moi, cette traduction. Mais si c’est un autre site qu’on veut traduire, c’est-à-dire pas mon site, mais celui d’une autre personne, comment on fait?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>