Blog ENI : Toute la veille numérique !
🎃 Jusqu'à -30% sur les livres en ligne, vidéos et e-formations.
Code : GHOST30.
Cliquez ici !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. WordPress
  3. Traduire le thème et les extensions
Extrait - WordPress Développez des thèmes avancés avec PHP (théorie, TP, ressources) (5e édition)
Extraits du livre
WordPress Développez des thèmes avancés avec PHP (théorie, TP, ressources) (5e édition)
2 avis
Revenir à la page d'achat du livre

Traduire le thème et les extensions

Introduction

La traduction est importante, si vous voulez rendre votre site, vos thèmes ou vos extensions multilingues, afin de toucher un plus large public.

Si vous avez trouvé un thème ou une extension répondant exactement à votre recherche, mais entièrement en anglais, traduire peut s’avérer très utile et vous permet un gain de temps non négligeable. Cela est souvent le cas pour certains thèmes gratuits ou payants, notamment ceux du fameux site : thème forest, permettant d’acheter des thèmes très performants, mais la plupart du temps en anglais... Ils sont pour la plupart compatibles avec les extensions de traduction comme WPML et surtout prêts à être traduit.

Pour pouvoir traduire un thème ou une extension, il faut que celui-ci le permette. Pour cela, il doit absolument utiliser les fonctions WordPress pour les textes. Si elles ne sont pas présentes, il faudra les ajouter.

Si vous modifiez les fichiers sources, il faudra répercuter cette modification lors de la mise à jour (parfois, lors de mises à jour, le développeur peut ajouter la traduction). Mais il est préférable de partir directement sur un thème qui peut se traduire.

Vous pouvez aussi, dans certains cas, utiliser des hooks pour modifier une fonction, ou le faire via un thème enfant.

Des extensions peuvent...

WordPress et les langues

La traduction sur WordPress s’effectue grâce à deux fichiers : un fichier .po ou .pot contenant le catalogue des termes à traduire, lu par le logiciel Poedit, et un fichier .mo qui est un fichier compilé, généré à partir du fichier .po ou .pot, lu par WordPress.

1. Le dossier wp-content/languages

La traduction des fichiers de base de WordPress se trouve dans le dossier wp-content/languages.

À l’intérieur de ce dossier se trouvent plusieurs fichiers : admin-fr_FR.mo, admin-fr_FR.po, fr_FR.mo, fr_FR.po, admin-network-fr_FR.mo, admin-network-fr_FR.po, continents-cities-fr_FR.mo, continents-cities-fr_FR.po, et plusieurs fichiers .json servant à traduire les chaînes contenues à l’intérieur des fichiers JavaScript.

À l’intérieur de ce dossier se trouvent plusieurs dossiers. Le dossier plugins contient les traductions pour les extensions quand celles-ci existent, et le dossier themes contient les traductions pour les thèmes quand celles-ci existent. Donc, à chaque fois que vous téléchargez un thème ou une extension et selon votre langue par défaut (et à condition que la traduction existe), WordPress va ajouter le fichier de langue correspondant. Sinon, il vous suffit de le rajouter dans le dossier plugins pour les extensions et themes pour les thèmes.

Parfois, les fichiers fournis ou trouvés sur Internet ne sont pas de cette forme. Il faudra renommer les fichiers de la façon suivante : nomdudossierdemonplugin-fr_FR.po et nomdudossierdemonplugin-fr_FR.mo pour un plugin en prenant soin de remplacer nomdudossierdemonplugin par le nom du plugin correspondant.

Il en va de même pour les thèmes.

WordPress va alors détecter automatiquement la traduction.

2. Les fichiers de langue du dossier wp-content/languages

Dans le cas d’une installation de WordPress en français, tous les fichiers de langue ont une base commune, par exemple fr_FR si vous avez installé la version française.

La base fr_FR signifie que le fichier est en français. Pour les fichiers espagnols, c’est es_ES, pour l’Italie it_IT… Chaque langue a son propre code et est reconnue automatiquement par WordPress.

Dans les précédentes...

Utiliser le logiciel Poedit

Poedit est un logiciel permettant de traduire des thèmes et des extensions manuellement. Il peut rechercher les différentes fonctions de traduction __(), _e()... d’un thème ou d’une extension, ce qui est très pratique.

Si vous effectuez des mises à jour avec de nouvelles traductions, il suffit d’un clic pour que Poedit recherche les nouveaux textes. Vous pouvez également traduire les fichiers .po ou .mo directement dans l’administration de WordPress, grâce aux extensions WPML et WPML String Translation (voir le chapitre Les extensions et les widgets).

1. Télécharger et installer le logiciel

Poedit est un logiciel libre open source et gratuit, la version actuelle est 3.2.2.

Téléchargez le logiciel Poedit sur le site officiel à cette adresse : https://poedit.net/download

images/17EI01N.png

Page d’accueil du site Poedit

Puis, installez le logiciel en suivant les instructions.

2. Créer le fichier de langue

Cliquez sur Fichier - Nouveau.

Une fenêtre s’ouvre où vous devez choisir la langue.

images/17EI02N.png

Fenêtre du logiciel Poedit pour choisir la langue

Puis allez dans le menu Traduction - Propriétés....

Dans l’onglet Propriétés de traduction, remplissez les champs Nom et version du projet, Équipe de langue.

Quelques conseils pour remplir les champs :

  • Pour la Langue, choisissez fr_FR ou français (si la traduction est française ; normalement, vous avez déjà choisi la langue lors de l’ouverture de la fenêtre permettant le choix de la langue de traduction).

  • Pour le Jeu de caractères : UTF-8.

  • Pour le Jeu de caractères du code source, l’encodage...

Utiliser les fichiers dans un thème ou une extension

Plusieurs solutions se présentent à vous.

Première méthode

Avec le commentaire Text Domain: dans le commentaire de configuration d’un thème (style.css) ou d’une extension (monextension.php).

Le commentaire Domain Path: devra être spécifié si le fichier est placé ailleurs que dans le dossier languages.

Exemple pour le fichier CSS du thème The mobility

/* 
Theme Name: The mobility 
Author: Laurent Dumoulin 
Description: Thème mobility 
Version: 1.0 
Text Domain: themobility 
Domain Path: /languages 
*/ 

Cela signifie que la chaîne des fonctions textes est themobility.

<?php _e( 'Nothing Found', 'themobility' ); ?> 

et que le fichier de traduction se situe dans le dossier languages du thème.

Pour l’extension My breadcrump du chapitre Créer une extension simple en PHP, il faut ajouter au fichier mybreadcrumb.php dans l’en-tête :

/* 
Plugin Name: My breadcrumb 
Description: Fil d'Ariane pour les articles et les pages 
Version: 1.0 
Text Domain: mybreadcrumb 
Domain Path: /languages 
[...] 
*/ 

La chaîne à rechercher sera donc de la forme :

<?php _e( 'Nothing Found', 'mybreadcrumb' ); ?> 

Deuxième méthode

Vous devez télécharger...

Traduire les nouvelles chaînes

Pour traduire les nouvelles chaînes dans les thèmes ou les extensions, mettez à jour les fichiers que vous avez téléchargés sur le bureau ou dans un dossier spécifique.

Puis, éditez le fichier .po ou .pot et cliquez dans le menu de Poedit sur Mise à jour depuis le code Poedit recherche alors automatiquement les nouvelles chaînes à traduire.

Il vous suffit d’enregistrer et de transférer les nouveaux fichiers.

Si certaines traductions ne vous conviennent pas dans certains thèmes ou extensions, vous pouvez éditer les fichiers .po ou .pot de la même façon.

Traduire les pages et les articles

WordPress ne permet pas de traduire le contenu des articles et des pages, il faut obligatoirement passer par une extension. De nombreuses extensions de traduction de qualité existent pour WordPress. Consultez le chapitre Les extensions et les widgets - section Les grosses extensions.