WPML

Nous sommes prêts avec une version bêta pour WPML 3.5. Cette version comprend des améliorations majeures pour la Traduction de chaînes, tant au niveau des fonctionnalités que des performances.

Presque tous les sites qui utilisent WPML utilisent la Traduction de chaînes. Vous pouvez donc imaginer que l’amélioration de la Traduction de chaînes de WPML est l’une de nos grandes priorités. Cette version de WPML est presque exclusivement consacrée à l’amélioration de la Traduction de chaînes.

Une Traduction de chaînes plus rapide et plus légère


Pour traduire des chaînes de texte, WPML doit charger la traduction depuis la base de données. Nous avons expérimenté différentes techniques de chargement et il semble que l’approche de WPML 3.5 soit la meilleure.

Dans les versions précédentes, nous avons essayé de :

  • Charger uniquement les traductions, exactement quand elles sont nécessaires
  • Précharger toutes les chaînes par contexte
  • Précharger toutes les chaînes depuis la base de données

Chacune de ces approches avait ses avantages et ses inconvénients. Le problème était que pour chaque site bénéficiant de l’une de ces approches, un autre site en pâtissait.

WPML 3.5 utilise une nouvelle approche pour précharger les traductions de chaînes. Il conserve une table supplémentaire, indiquant à WPML quelles chaînes sont nécessaires pour chaque page. Ensuite, il précharge exactement les chaînes nécessaires pour cette page, quel que soit le contexte auquel elles appartiennent. L’avantage évident est qu’il y a moins de chaînes préchargées et qu’aucune chaîne n’a besoin d’être chargée pendant le rendu de la page. Par conséquent, la consommation de mémoire et l’utilisation du processeur sont nettement en baisse. L’inconvénient de cette nouvelle approche est un nouveau petit code PHP qui garde une trace de quelle chaîne est utilisée à quel endroit. Ce code supplémentaire s’exécute très rapidement, grâce à un accès dédié à la base de données et à une mise en cache que nous avons développés à cet effet.

Le gain de performances auquel vous devez vous attendre dépend de différents facteurs :

  • Le nombre de chaînes sur votre site – plus vous avez de chaînes, plus l’avantage est grand (relativement, moins de chaînes sont préchargées désormais).
  • La version PHP du serveur – PHP 7 est bien plus efficace que PHP 5.6. Si vous êtes encore sur PHP 5.x, vous obtiendrez une amélioration des performances beaucoup plus significative, mais vous la ressentirez également sur PHP 7.
  • Le nombre d’autres extensions que vous exécutez, la quantité de contenu, le thème, etc. – évidemment, si votre site contient d’autres codes lents, l’amélioration de la Traduction de chaînes ne sera pas aussi significative.

Pour notre propre site WPML.org, nous obtenons les améliorations de performances suivantes :

Version PHPPageÉconomie de consommation de mémoireÉconomie d’utilisation du processeur
PHP 5.6 Accueil60 %41 %
Tableau de bord d’administration41 %33 %
PHP 7 Accueil50 %16 %
Tableau de bord d’administration33 %15 %

L’autre amélioration majeure de WPML 3.5 est la possibilité de traduire les liens dans les chaînes (automatiquement). Qu’est-ce que cela signifie et pourquoi en avez-vous besoin ?

Nous utilisons les « chaînes » pour beaucoup de choses différentes. Par exemple, si votre thème stocke le texte d’« accroche » de votre page d’accueil dans une « option », WPML utilisera la Traduction de chaînes pour cela. Jusqu’à présent, vous deviez garder une trace des chaînes qui contenaient des URL et les ajuster manuellement au contenu traduit. Si de nombreuses chaînes contiennent des liens, cela pouvait être une tâche très fastidieuse.

Désormais, WPML gère les liens dans la Traduction de chaînes de la même manière qu’il gère les liens dans les « articles » (articles, pages et types personnalisés). Lorsque vous traduisez une chaîne contenant un lien, ce lien s’ajuste automatiquement pour pointer vers le contenu traduit. J’écrirai un article de blog séparé qui montrera comment cela fonctionne avec notre extension Toolset Layouts.

Mise à jour du 2 août

Hé, nous avons trouvé une autre source de perte de temps très importante sur l’interface d’administration. Celle-ci est triviale et aurait dû être traitée il y a quelque temps. Il y a un « widget WPML » sur l’interface d’administration de WordPress, dont probablement plus personne n’a besoin. Ce widget tire du contenu de nombreux endroits de la base de données, ainsi que des articles de blog récents du site wpml.org. Sa suppression éliminera un certain nombre d’appels à la base de données, ainsi que des appels externes potentiellement lents.

Nous nous occupons de ce widget (en le supprimant) et examinons tous les appels externes, pour nous assurer qu’ils ne ralentissent pas votre site.

Télécharger et essayer


WPML 3.5 passe maintenant en assurance qualité (QA). Nous avons déjà entièrement testé la modification apportée à la Traduction de chaînes, mais il reste encore beaucoup à tester avant de pouvoir la publier en tant que version de production.

Nous serions ravis d’avoir vos retours sur cette nouvelle version à venir. Si votre site rencontre des problèmes de performances liés à la Traduction de chaînes, cette version est faite pour vous.

N’oubliez pas qu’il s’agit d’une version bêta, ne l’essayez donc que sur des sites de développement (pas sur des sites de production).

Cette version bêta n’est disponible que pour les titulaires d’un compte « Multilingual CMS », car elle s’articule principalement autour des améliorations de la Traduction de chaînes.

Connectez-vous à votre compte WPML et cliquez sur Téléchargements. Faites défiler vers le bas et téléchargez le CMS Beta Package. Décompressez et téléversez tous les composants WPML que vous utilisez sur WordPress.

Des retours ?


Faites-nous savoir comment cette version fonctionne pour vous en laissant des commentaires ici. Si vous rencontrez un problème, lancez un nouveau fil de discussion sur le forum d’assistance de WPML ET laissez un commentaire ici avec une brève description et un lien vers ce fil de discussion.

Nous attendons avec impatience vos retours, questions, idées et suggestions !

Vous avez trouvé cela utile ? Partagez cet article :