Pourquoi Vos Traductions N'apparaissent Pas Dans WordPress (Guide de Dépannage)

Il n'y a rien de plus frustrant dans le développement WordPress que la "Panne Silencieuse".
Vous avez tout fait correctement. Vous avez traduit le fichier .po. Vous l'avez compilé en un fichier .mo. Vous l'avez téléchargé sur votre serveur via FTP. Vous avez vidé votre cache.
Vous rafraîchissez la page, en espérant voir de l'espagnol, du français ou de l'allemand. Au lieu de cela, vous voyez... de l'anglais.
Pas de message d'erreur, pas d'écran blanc, juste un texte obstinément non traduit. Avant de vous arracher les cheveux, lisez ce guide. Voici les 5 raisons les plus courantes pour lesquelles les traductions ne se chargent pas dans WordPress et comment les corriger.
1. Vous Nommez Incorrectement le Fichier
WordPress est incroyablement strict concernant le nommage des fichiers. Si vous oubliez un caractère, il ne chargera pas le fichier.
Le format standard est : {text-domain}-{locale}.mo
- Le Domaine de Texte : C'est l'identifiant unique du thème ou de l'extension (par exemple,
woocommerce,twentytwentyfour,my-custom-plugin). - La Locale : Le code de locale WP (par exemple,
es_ESpour l'espagnol d'Espagne,fr_FRpour le français).
Erreurs Courantes :
- Nommer le fichier simplement
es_ES.mo(Cela ne fonctionne que pour les fichiers principaux de WordPress, pas pour les extensions). - Utiliser le mauvais tiret :
my_plugin_es_ES.mo(Tiret bas) au lieu demy-plugin-es_ES.mo(Tiret). - Deviner le domaine de texte. Vous devez vérifier le code de l'extension (en-tête
style.cssou fonctionload_plugin_textdomain) pour trouver le slug exact.
2. Vous Placez le Fichier Dans le Mauvais Dossier
L'endroit où vous téléchargez le fichier est tout aussi important que la façon dont vous le nommez. WordPress recherche dans des répertoires spécifiques dans un ordre spécifique.
- Le Dossier Système "Sûr" :
/wp-content/languages/plugins/ou/wp-content/languages/themes/.- Avantages : Il est protégé des mises à jour d'extensions.
- Inconvénients : Vous devez nommer le fichier
textdomain-locale.mo.
- Le Dossier de l'Auteur :
/wp-content/plugins/plugin-name/languages/.- Avantages : Facile à trouver.
- Inconvénients : DANGER. Lorsque vous mettez à jour l'extension, ce dossier est complètement effacé. Vos traductions disparaîtront.
Meilleure Pratique : Placez toujours vos fichiers .mo personnalisés dans le répertoire global /wp-content/languages/ pour éviter la perte de données lors des mises à jour.
3. Le "Tueur Silencieux" : Syntaxe Corrompue Dans le Fichier .po
C'est le problème le plus difficile à déboguer, et il se produit fréquemment avec les outils de traduction IA génériques.
WordPress lit les fichiers binaires .mo, qui sont compilés à partir de fichiers texte .po. Si votre fichier .po contient des erreurs de syntaxe, le fichier .mo peut être généré, mais il sera "cassé" en interne.
Comment cela se produit-il ? Si un traducteur (humain ou IA) modifie le format Gettext, la chaîne devient invalide.
- Exemple : Oublier un guillemet de fermeture
". - Exemple : Casser une variable (en changeant
%sen% s). - Exemple : Se tromper dans le nombre
msgid_plural.
Lorsque WordPress rencontre une entrée cassée dans le fichier .mo, il l'ignore souvent ou cesse complètement de lire le fichier, revenant à l'anglais d'origine.
4. Vous Avez Oublié de Compiler (.po vs .mo)
WordPress ne peut pas lire les fichiers .po directement. C'est une idée fausse courante.
.po= Lisible par les humains (Portable Object)..mo= Lisible par les machines (Machine Object).
Si vous téléchargez un fichier my-theme-es_ES.po mais que vous oubliez de générer le fichier .mo correspondant, rien ne se passera. Vous devez le compiler.
5. La Mise en Cache (Le Suspect Habituel)
Si vous utilisez des extensions de mise en cache (WP Rocket, LiteSpeed) ou la mise en cache côté serveur (Varnish, Redis), votre site peut diffuser une version HTML mise en cache d'avant que vous ayez téléchargé la traduction.
Correction : videz tous les caches, y compris le cache de votre navigateur et le cache d'objets.
La Correction Ultime : Des Fichiers Valides Dès le Départ
Le dépannage des chemins et des noms de fichiers est facile. Le dépannage de la syntaxe corrompue (Raison n° 3) est un cauchemar.
Si vous utilisez un outil qui casse vos variables de code ou corrompt la structure Gettext, vous passerez des heures à vous demander pourquoi le fichier ne fonctionne pas, sans vous rendre compte que le fichier lui-même est "empoisonné".
C'est pourquoi nous avons créé SimplePoTranslate.
- Verrouillage de la Syntaxe : Nous nous assurons que chaque chaîne est syntaxiquement valide avant que vous ne la téléchargiez. Nous verrouillons les variables comme
%safin qu'elles ne puissent pas être cassées. - Formatage Parfait : Nous générons des fichiers
.popropres et standard qui se compilent en fichiers.mofonctionnant 100 % du temps. - Aucune Extension Requise : Vous téléchargez le fichier, et vous savez qu'il fonctionne. Vous avez juste besoin de le télécharger dans le bon dossier.
- Extension WordPress : Vous préférez éviter complètement le téléchargement manuel ? Notre extension WordPress SimplePoTranslate officielle détecte automatiquement les fichiers
.potde votre thème et de vos extensions, les traduit dans le cloud et déploie le résultat dans le bon répertoire avec le bon nom de fichier. Plus de fichiers mal nommés, plus de chemins de dossiers erronés : les deux raisons les plus courantes pour lesquelles les traductions n'apparaissent pas.
Cessez de deviner pourquoi vos traductions sont invisibles. Commencez avec un fichier auquel vous pouvez faire confiance.
Prêt à traduire sans les maux de tête ? Commencez gratuitement sur SimplePoTranslate.com