Traduire un thème WordPress

Vous avez acheté un thème WordPress tout beau et tout frais ? et comme la plupart des thèmes WordPress, celui-ci est en anglais, du coup vous vous retrouvez avec des textes en anglais un peu partout sur votre site.

Il va falloir traduire tout cela, sauf que ce n’est pas aussi simple… Si vous n’êtes pas à l’aise avec la notion de FTP / fichiers, vous pouvez utiliser directement un plugin adapté.

Le meilleur est à mon sens Loco Translate. La meilleure interface, le plus complet.

Plus d’informations ici : https://fr.wordpress.org/plugins/loco-translate/

 

Quelques fonctionnalités proposées :

  • Éditeur de traduction intégré à votre interface d’administration WordPress
  • Créez et mettez à jour vos fichiers de langue directement dans votre thème ou extension
  • Extraction des chaînes traductibles depuis le code source
  • Compilation des fichiers MO natifs sans installation de Gettext sur votre système
  • Support pour les fonctionnalités PO incluant les commentaires, les références et les formes plurielles.

Une solution plus efficace : Poedit

Pour plus d’efficacité, et éviter d’alourdir un peu plus votre back-office, et votre site, vous pouvez externaliser la traduction via un logiciel bien pratique : Poedit.

Ce petit logiciel gratuit dans sa version la plus simple vous permet de traduire via une interface plus agréable. Dans sa version Pro, il pré-traduit même les mots ! si vous avez 200 expressions à traduire, c’est un gain de temps non négligeable.

Ce logiciel utilise un .pot ou un .po. Le .pot est un template de traduction, là le .po est un fichier partiellement traduit pour une langue. L’objectif via ce logiciel est de générer un .mo, un fichier compilé qui sera utilisé par WordPress. Une fois ce fichier généré, le but est de le mettre dans le répertoire /languages/ de votre thème.

Avec un thème child

La plupart des thèmes sont livrés avec un thème « enfant » (child). Ce thème permet d’écraser le thème principal sans changer les fichiers, pratique en cas de mise à jour du thème principal, vous ne perdez aucune modification.

Pour les traductions, il y a une petite subtilité, il faut indiquer au thème enfant qu’on va écraser la traduction du thème parent, là aussi pour éviter que les fichiers soient écrasés en cas de mise à jour. Et car très honnêtement, il est plus logique de garder le thème parent totalement vierge de tout ajout ou changement.

Pour se faire, dans le fichier functions.php de votre thème enfant, ajouter ces quelques lignes :

function child_theme_slug_setup() {
    load_child_theme_textdomain( 'slug-theme-parent', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'child_theme_slug_setup' );

En remplaçant `slug-theme-parent` par le nom de votre thème. Ensuite, il n’y a plus qu’à charger les fichiers .po et .mo dans le dossier /languages/ du thème enfant. Et hop, vous gérez toutes les traductions dans le thème enfant, pas besoin de recréer un domaine de traductions.

Laissez un commentaire