Il y a un mois, nous avons annoncé les premières versions bêtas de WPML 3.4 et de WPML Multilingual & Multicurrency for WooCommerce 3.8. Aujourd’hui, après 4 semaines de tests intensifs (et de nombreuses corrections et améliorations), nous sommes heureux de les publier en tant que versions de production.
Comme nous l’avons écrit dans l’article d’annonce de la version bêta, ces versions de WPML et de WPML Multilingual & Multicurrency for WooCommerce mettent l’accent sur une ergonomie et un flux de traduction grandement améliorés. Cette mise à jour facilite le travail avec les sites WooCommerce multilingues, en particulier lors de l’utilisation de nombreuses extensions WooCommerce. L’interface de traduction simplifiée rassemble côte à côte les différents champs ajoutés par les extensions dans un éditeur de traduction pratique.
Téléchargement
Cette mise à jour de WPML est disponible directement dans votre interface d’administration WordPress. Si votre site est enregistré, vous devriez recevoir la notification de mise à jour dans l’écran d’administration des extensions dans les 12 prochaines heures (le temps que WordPress mette en cache le statut des mises à jour). Vous pouvez également télécharger WPML manuellement depuis votre compte.
À venir (prochainement)
Réduction de 50 % de la charge
Au cours des dernières semaines, nous nous sommes également occupés d’analyser la charge que WPML ajoute, en particulier dans l’interface d’administration. Nous remercions tous les clients qui nous ont aidés avec des sites de test. La plupart des sites présentaient les problèmes que nous connaissions, mais presque chaque site nous a également montré autre chose, qui était nouveau pour nous. Les problèmes que nous avons découverts sont liés au contenu, à la configuration du serveur et aux environnements d’hébergement.
Nous avons déjà trouvé plusieurs améliorations qui réduiront le temps d’exécution pour la plupart des sites fonctionnant avec WPML (y compris le nôtre). L’impact le plus élevé de WPML se situait sur les écrans d’administration de listes, tels que la page des produits WooCommerce. Là, nous pouvons réduire l’exécution et les requêtes SQL de moitié environ. Sur les autres écrans d’administration, la contribution de WPML à la charge est beaucoup plus faible, l’amélioration relative est donc moindre (mais elle reste significative par rapport à la part de WPML).
Nous allons déployer les améliorations de performances en deux étapes.
WPML 3.4.1 et WPML Multilingual & Multicurrency for WooCommerce 3.8.1 (dans environ 2 à 3 semaines) incluront une réduction d’environ 25 % du temps d’exécution et de 50 % des requêtes vers ces pages de listes.
WPML 3.5 proposera une toute nouvelle façon de charger les chaînes en mémoire. Les tests préliminaires montrent que ce nouvel algorithme est très prometteur. Il peut rendre le chargement des sites avec WPML encore plus rapide que celui des sites qui utilisent des fichiers .mo compilés. L’idée est de précharger de manière sélective uniquement les chaînes nécessaires pour chaque page (interface publique et interface d’administration). De cette façon, nous évitons à la fois les requêtes énormes (pour tout charger) et les nombreuses petites requêtes (pour charger de nombreuses chaînes individuelles). Nos tests montrent que cela fonctionne encore plus rapidement que les appels intégrés « load_theme_textdomain() » et « load_plugin_textdomain() ». Nous visons une amélioration très significative du temps processeur, du nombre de requêtes et de la mémoire.
Le calendrier pour WPML 3.5 est encore flexible. Nous verrons à quelle vitesse nous pourrons obtenir une première version bêta et l’annoncer.
Sélecteur de langue repensé
Le sélecteur de langue dans WPML 3.5 a été entièrement repensé. Il est rétrocompatible à 100 %, de sorte que tous les sites existants fonctionneront sans modification. Cependant, il offrira de nouvelles possibilités pour les sélecteurs de langue, qui, nous l’espérons, faciliteront votre travail.
Pour n’en nommer que quelques-unes :
- Possibilité d’afficher différents sélecteurs de langue dans différents menus et widgets sans se limiter à un seul
- Modes de compatibilité avec différents frameworks CSS, y compris Bootstrap et les thèmes par défaut actuels de WordPress
- Personnalisation des couleurs et du design pour chaque sélecteur de langue
J’écrirai à ce sujet et l’inclurai dans une version bêta dès qu’il sera disponible.
Traduction des liens dans les chaînes
Nous utilisons les chaînes à de nombreuses fins différentes. De nombreux thèmes incluent des textes complexes dans des chaînes traduisibles et souvent aussi des liens. Dans WPML 3.5, tous les liens présents dans les chaînes s’ajusteront automatiquement aux URL dans la bonne langue. Lorsque vous envoyez des chaînes à la traduction, si ces chaînes contiennent des URL, WPML ajustera les URL dans les chaînes traduites.
Par exemple, supposons que vous utilisez Gravity Forms et que vous avez un commentaire contenant un lien vers une page (une situation assez courante). Vous souhaitez traduire ce commentaire et vous voudriez que le commentaire renvoie vers la page correcte dans la langue traduite.
Lorsque vous traduisez le formulaire GF, WPML convertit les textes en chaînes et les envoie à la traduction sous forme de « Paquet ». Le traducteur n’aura besoin de traduire que les textes. Lorsque la traduction est terminée, WPML analysera toutes les chaînes terminées et vérifiera si elles contiennent des liens. S’il y a un lien, WPML vérifiera s’il mène à une page qui a été traduite dans la même langue. Si c’est le cas, il mettra à jour le lien pour qu’il pointe vers la traduction.
Cela semble facile, mais c’est un processus assez complexe. Nous devons gérer la traduction dans n’importe quel ordre (peu importe si vous avez traduit les chaînes avant ou après les pages) et tenir un registre précis.
Des commentaires ?
N’hésitez pas à nous dire comment se passe votre utilisation de WPML 3.4 et de WPML Multilingual & Multicurrency for WooCommerce 3.8. Nous serions ravis d’avoir vos commentaires sur les modifications apportées dans cette version, ainsi que sur les projets pour les prochaines étapes.

