Pouvoir mettre à jour ses thèmes et ses plugins en 1 clic, c'est pratique, mais parfois problématique. Problématique car à ce jour, WordPress ne se contente pas d'écraser les anciens fichiers, il supprime tout le contenu du thème ou du plugin. Résultats, vos jolis fichiers fr_FR.PO et fr_FR.MO que vous avez placés dans le dossier languages de votre thème se sont faits la malle .....
Il existe pourtant au moins 2 solutions pour les thèmes et une pour les plugins.
La première solution passe par l'utilisation des Child Themes (Thèmes Enfants):
Il vous suffit d'envoyer vos traductions dans un dossier languages de votre Child Theme. Ensuite, chargez simplement la traduction depuis votre fichier functions.php du Child theme :
/* Localization ================================================== */ add_action('after_setup_theme', 'my_childtheme_setup'); function my_childtheme_setup(){ load_theme_textdomain( 'textdomain', get_stylesheet_directory() . '/languages'); }
Et voilà, lorsque vous mettrez votre thème à jour, votre child theme restera inchangé et vous conserverez vos traductions.
La deuxième solution est encore plus simple et fonctionne aussi bien pour les thèmes que pour les plugins. Il vous suffit d'envoyer les traductions vers votre dossier wp-content/languages/themes ou wp-content/languages/plugins. Vous devez renommer vos fichiers de façon à inclure le nom du thème (ou du plugin).
Ainsi, votre fichier fr_FR.mo deviendra nomdutheme-fr_FR.mo (ou nomduplugin-fr_FR.mo).
Exemple :
Pour le theme TwentyTwelve, vos fichiers seront wp-content/languages/themes/twentytwelwe-fr_FR.mo et wp-content/languages/themes/twentytwelwe-fr_FR.po
Pour le plugin Akismet, ce sera wp-content/languages/plugins/akismet-fr_FR.mo et wp-content/languages/plugins/akismet-fr_FR.po
De cette façon, vous ne perdrez plus jamais vos traductions lors de la mise à jour d'un thème ou d'un plugin.
Bonjour,
pas besoin de mettre le nom du thème enfant dans le code à ajouter dans le fichier functions.php ?
Pas besoin de 'textdomain' par le nom du thème enfant ?
Merci