La traduction d’un thème ou d’un plugin peut parfois être compliquée, surtout si le code source ne l’a pas prévue.

Il peut donc arriver que vous ne réussissiez pas à traduire un bouton ou un mot sur une page, même avec l’utilisation de Poedit ou de l’extension Loco Translate.

Il vous reste donc deux solutions :

  • Mettre les mains dans le code et chercher dans les fichiers du thème ou du plugin où se situe l’expression à traduire ou modifier. Il vous faudra alors ensuite copier ces fichiers dans votre thème enfant pour ne pas perdre les modifications aux prochaines mises à jour.
  • Utiliser le snippet suivant qui va faire toutes les modifications automatiquement à votre place.
// Traduction de chaines de caracteres

function wpm_traduction($texte) { 
	$texte = str_ireplace('texte à traduire', 'la traduction que vous souhaitez afficher à vos visiteurs', $texte); 
	return $texte; 
} 

add_filter('gettext', 'wpm_traduction'); 
add_filter('ngettext', 'wpm_traduction');

Intégrez le code suivant dans le fichier functions.php de votre thème enfant.

Il vous reste maintenant à modifier les chaines de caractères 'texte à traduire' et 'la traduction que vous souhaitez afficher à vos visiteurs' par ce que vous voulez.

Voici un exemple sur un site ou il fallait remplacer l’expression « produits apparentés » par « blog similaire : »

Modification de texte | wpmarmite

Un exemple de modification de texte avant/aprés

Et le snippet utilisé :

add_filter('gettext', 'wpm_traduction'); 
add_filter('ngettext', 'wpm_traduction');

function wpm_traduction($texte) { 
$texte = str_ireplace('Produits apparentés', 'Blogs similaires :', $texte); 
return $texte; 
}

Vérifiez bien avant d’utiliser cette fonction que l’expression à traduire ou à modifier est unique, car elle sera modifiée partout sur votre site.