E-commerce

Traduire un thème WordPress sous linux en ligne de commande

Le 11 mars 2016 , 1 commentaire — Linux, Wordpress - 2 minutes de lecture

Une astuce très simple pour toutes celles et ceux qui voudraient traduire leur thème WordPress sans utiliser Poedit où, plus généralement, compiler tout fichier .po en .mo, directement sur leur serveur linux. Pour ce tutoriel je me baserais sur une distribution Debian. Ça marchera de la même manière sous Ubuntu; si vous êtes sur d’autres distrib linux, il faudra adapter.

Avant de commencer, assurez-vous de disposer de l’outil msgfmt il est livré avec le package gettext. Si vous ne l’avez pas, il faudra l’installer avec la commande ci-dessous:

root@serveur:~# apt-get install gettext

Localisez ensuite le fichier source « .po » de la traduction, il se trouve, en générale, dans le répertoire languages de votre thème WordPress et il est nommé fr_FR.po; si ce fichier n’est pas disponible, il faudra le créer en copiant le fichier de la langue d’origine du thème.

root@serveur:~/web/wp-content/themes/sum/languages#

cp en_GB.po fr_FR.po

Une fois ce fichier disponible, vous n’aurez qu’à l’éditer avec votre éditeur de texte favoris (vi, nano, xemacs….) , un fichier de traduction ressemble à ça :

#: 404.php:6 content-none.php:3
msgid « 404 Not Found »
msgstr « 404 Non Trouvé »

#: 404.php:11 content-none.php:8
msgid « It looks like nothing was found at this location. »
msgstr « Aucun résultat trouvé »

#: 404.php:17 template-archive.php:21
msgid « Pages Archive »
msgstr « Archives »

Convertir (compiler) votre fichier .po en fichier .mo ?

L’étape la plus importante, pour que votre fichier soit lisible dans Worpress, est la compilation du fichier .po en .mo. Celle-ci s’effectue en tapant la commande suivante après avoir pris soin de s’être positionné dans le répertoire contenant les fichiers de traduction.

root@serveur:~/languages# msgfmt -o fr_FR.mo -v fr_FR.po
51 translated messages, 109 untranslated messages.

Et c’est tout ! Vous n’avez plus qu’a vider les caches et recharger votre site pour que votre traduction soit visible. Cette astuce n’est bien sur pas limitée à WordPress et fonctionnera avec tout logiciel utilisant ce système de traduction.