Chargement du contenu avec AJAX est utilisé par de nombreux thèmes et extensions WordPress (comme WooCommerce) pour afficher du contenu et étendre les fonctionnalités sans recharger la page. Pour un site Web entièrement multilingue, nous devons traduire les chaînes AJAX dans WordPress, ainsi que les chaînes standard de vos articles et pages.
Dans WordPress, vous pouvez voir les chaînes AJAX dans :
- pages de paiement
- formulaires multi-étapes
- widgets
- défilements infinis
- formulaires de réservation
En TranslatePress, nous détectons des chaînes AJAX et vous pouvez les traduire comme un chaîne normale. Mais ce n'est pas là que la magie opère. Alors, regardons de plus près comment nous avons effectivement mis cela en œuvre.
L'astuce pour traduire les chaînes AJAX dans WordPress consiste à utiliser la même fonctionnalité pour le contenu chargé via AJAX que pour un chargement de page normal.
Cela signifie que nous ne faisons aucune supposition quant à ce que le JavaScript frontend utilise pour générer ou ce qu'il fait avec la réponse AJAX.
Nous traduisons simplement le contenu tant qu'il est en HTML.
Champs Gettext dans la requête AJAX
Champs Gettext déjà livré dans des balises de traduction par le filtre gettext. Tant que la locale est correctement configurée dans WordPress, nous détectons toutes les chaînes chargées dans cette requête ajax.
Il y a donc de fortes chances que toutes ces chaînes apparaissent déjà traduites à partir des fichiers .po pour de nombreux plugins.
Conclusions
En traduisant les requêtes AJAX du côté PHP, nous n'avons pas eu besoin de deux analyseurs (PHP et JS). Donc plus de réutilisation de code, moins de complexité, et espérons-le moins de bugs.
Nous avons toujours un écouteur de changements du DOM JS qui suit les modifications de texte qui ne sont pas des requêtes.
Cela résume assez bien la situation. TranslatePress a été conçu dès le départ pour vous permettre de tout traduire à partir d’une même interface simple. La traduction AJAX figurait en bonne place sur notre liste de priorités et nous sommes vraiment ravis du résultat. Alors n’hésitez pas à commencer dès aujourd’hui à traduire ces interfaces basées sur AJAX.
Avez-vous encore des questions sur la traduction d'une chaîne AJAX dans WordPress ? Faites-le nous savoir dans les commentaires !
Si vous avez trouvé ce message utile, consultez notre Chaîne YouTube, où nous téléchargeons constamment des tutoriels vidéo courts et faciles à suivre. Vous pouvez également nous suivre sur Facebook et Twitter pour être le premier à savoir chaque fois que nous publions.

J'ai des problèmes avec votre plugin… lorsque je traduis mes champs de paiement, j'obtiens une erreur de serveur interne lors de la soumission de la commande dans toutes les langues. Pouvez-vous m'aider à résoudre ce problème ?
Veuillez ouvrir un ticket sur notre site web et y expliquer votre problème.
Merci pour votre réponse. Je ne peux soumettre un ticket qu'avec une licence... J'utilise actuellement votre plugin gratuit donc je n'ai pas de numéro de série à entrer dans ce formulaire.
Écrivez alors sur les forums gratuits, expliquez-y votre problème.