Traductions dans un Child Theme WordPress

Vous avez installé un thème WordPress et pour le modifier « proprement », sans risque de voir vos modifications écrasées lors d’une mise à jour du thème principal, vous avez créé un thème enfant, un child Theme, très bien.

Vous souhaitez garder la même philosophie et créer un fichier de traduction dans votre langue préférée, la langue de Molière par exemple, dans votre thème enfant.

Le thème principal utilise les fonctions de traduction WordPress ( fonctions e_(), __() ) pour afficher les textes, très bien, jusque là tout va bien !

Petit exemple: _e( ‘Some text to translate and display.’, ‘textdomain’ )

Dans cet article, nous allons utiliser le logiciel Poedit pour créer un fichier .po permettant dans notre thème enfant de traduire en français le thème parent (et éventuellement compléter les traductions du thème parent avec les traductions de votre propre thème enfant). Rassurez-vous la version gratuite de Poedit fera très bien l’affaire !

Vous avez installé Poedit…alors on continue.

Vous copiez-collez le dossier de votre thème sur votre bureau, puis vous supprimez tous les fichiers qui ne sont pas des fichiers php. (vous ne conservez que les fichiers ***.php). Vous gardez donc tous les fichiers susceptibles de contenir les textes à traduire dans les fonctions de traduction.

Vous lancez Poedit.

Dans le Menu Fichier vous sélectionnez Nouveau.

fichier_nouveau

Dans la boite de dialogue vous choisissez la langue de traduction, ici la langue française.

choix langue poedit

Vous enregistrez votre fichier sur votre bureau, en langue française, le fichier se nommera : fr_FR.po

Vous allez dans le menu Catalogue puis Préférence.

Vous allez ajouter dans l’onglet mots-clés sources les fonctions de traduction à identifier dans les fichiers php, en l’occurrence les fonctions _e() et __(). Cliquez une fois dans la barre latérale d’ajout puis une deuxième fois au même endroit pour pouvoir ajouter un mot clé supplémentaire.

poedit-preference-catalogue-chaines-traduction

Ensuite vous allez indiquer le chemin de votre dossier sur votre bureau dans lequel se trouvent les fichiers php de votre thème parent dans l’onglet Chemins des sources.

poedit-ajout-dossier

Pour compléter le dossier du thème parent, vous pourriez-mêmes ajouter un autre fichier php (Ajouter des fichiers) dans lequel se trouvent d’autres chaines de traduction, par exemple le fichier functions.php de votre thème enfant !

Vous cliquez sur le bouton Mettre à jour.

poedit-traduction

Les chaînes à traduire apparaissent dans la fenêtre en haut à gauche.

Renseigner les différentes traductions dans la fenêtre en bas Traduction puis enregistrer le fichier .po

Puis Fichier/compiler le fichier .mo

Vous avez donc maintenant un fichier fr_FR.po et fr_FR.mo dans lesquels se trouvent les traductions.

Dans votre Thème enfant, créer un sous dossier languages dans lequel vous copiez les deux fichiers de traduction .po et .mo.

Dans le fichier functions.php de votre thème enfant, il n’y a plus qu’à ajouter les lignes suivantes :

function wpdocs_child_theme_setup() {
load_child_theme_textdomain( 'zerif', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'wpdocs_child_theme_setup' );
load_child_theme_textdomain

Remplacez ‘Zerif’ dans notre exemple par le nom du domaine de texte de votre thème parent. Vous le retrouverez facilement dans une des fonctions de traductions d’un des fichiers php de votre thème parent.

Et voilà !

 

 

 

Laisser un commentaire

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