Aujourd'hui, nous avons publié la première version bêta publique d'une toute nouvelle Traduction de chaînes, qui évite tous les appels à la base de données pour traduire les chaînes sur l'interface publique et dans l'interface d'administration de WordPress.
Le fonctionnement de la Traduction de chaînes dans WPML a changé au fil des ans. Notre objectif a toujours été de vous permettre de traduire chaque élément de texte de votre site et de solliciter le serveur le moins possible.
Ces dernières années, les extensions et les thèmes ont pris de l'ampleur, utilisant beaucoup plus de chaînes traduisibles. Une page d'administration typique qui ouvre un constructeur de pages, WooCommerce et plusieurs autres grandes extensions pourrait charger plus de 30 000 chaînes depuis la base de données. Cette augmentation du nombre de chaînes traduisibles a ralenti les sites utilisant la Traduction de chaînes. WPML vous permet de tout traduire sur la page, et lorsqu'il filtre un tel nombre de chaînes, le processeur et la base de données sont fortement sollicités.
Aujourd'hui, nous sommes prêts avec une nouvelle version qui modifie complètement le fonctionnement de la Traduction de chaînes. Cette nouvelle version publiée apporte deux changements majeurs :
- Ne toucher qu'aux chaînes que vous souhaitez traduire
- S'appuyer sur les fichiers .mo pour appliquer les traductions
Le premier changement signifie que la table de la Traduction de chaînes n'inclura pas par défaut tous les textes de toutes les extensions et du thème. Pour la grande majorité des sites, les thèmes et les extensions sont fournis avec leurs propres fichiers .mo contenant des traductions de qualité et complètes. Il n'est pas nécessaire que WPML filtre (et rende traduisibles) toutes ces chaînes. Si vous souhaitez remplacer la traduction des textes d'une extension, vous pouvez toujours le faire. Vous pourrez choisir les extensions que vous souhaitez et WPML enregistrera les chaînes qui en proviennent.
Le deuxième grand changement signifie que WPML ne fait pas appel à la base de données pour la traduction d'une chaîne. WPML compile des fichiers .mo pour vos traductions et laisse WordPress les charger. La taille de ces fichiers .mo dépend du nombre de chaînes que vous traduisez. Sur la plupart des serveurs, le chargement d'un fichier est nettement plus rapide que le chargement de plusieurs entrées depuis la base de données (la base de données étant le goulot d'étranglement des performances pour de nombreux sites).
Génération des fichiers .mo
WPML Traduction de chaînes gère automatiquement la génération et la maintenance des fichiers .mo. Cela se produit chaque fois que vous traduisez une chaîne sur la page WPML -> Traduction de chaînes .
Cependant, après la mise à jour vers cette version bêta, vous devrez générer les fichiers pour la première fois.
Si votre site comportait des chaînes traduites avant la mise à jour, vous verrez la boîte de dialogue suivante sur n'importe quelle page d'administration après la mise à jour de la Traduction de chaînes :
Vous pouvez régénérer les fichiers .mo si un problème survient lors du test de la version bêta.
Pour ce faire :
- Allez dans WPML -> Support.
- Cliquez sur le lien Dépannage.
- Faites défiler vers le bas de la page et cliquez sur Show custom MO Files Pre-generation dialog box.
- Rechargez la page (cette étape ne sera pas nécessaire dans la version finale).
- La boîte de dialogue qui vous permet de régénérer les fichiers .mo apparaîtra.
Les résultats
Cette version fonctionne déjà sur tous nos sites de production (WPML.org, Toolset.com et ICanLocalize.com). Elle fonctionne parfaitement et les serveurs s'en portent bien. La Traduction de chaînes n'a jamais été un facteur significatif dans les performances de nos sites, nous utilisons donc d'autres sites pour l'analyse des performances.
Nous avons reçu des dizaines de sites de clients, où la Traduction de chaînes avait un impact beaucoup plus important. Sur tous ces sites, nous confirmons que la charge du serveur due à la Traduction de chaînes a pratiquement chuté à zéro. Ces sites se chargent désormais en environ deux fois moins de temps qu'auparavant (hourra !).
État actuel du développement
Cette version bêta est prête pour vos tests. La seule mise en garde est qu'elle ne fonctionne pas encore sur les installations multisite. Si vous avez une installation WordPress (ordinaire) sur un seul site et que vous soupçonnez des problèmes de performances dus à la Traduction de chaînes, essayez cette version bêta. Nous allons laisser cette version bêta fonctionner pendant plusieurs semaines et recueillir les commentaires des clients entre-temps. Nous terminerons la prise en charge du multisite tout en profilant davantage de sites de clients.
Si vous êtes passé à cette version bêta et que vous rencontrez toujours des problèmes de performances importants liés à WPML, nous souhaitons voir votre site. Nous pourrions trouver d'autres zones de problèmes de performances que nous devons traiter. Nous voulons nous assurer qu'au moment de la mise en production, personne ne rencontrera de problèmes de performances liés à WPML. Notre objectif est de publier WPML 4.3 pour la production dans la première quinzaine de septembre.
Télécharger et essayer
N'oubliez pas que cette version ne fonctionne pas encore sur les installations multisite !Il est OK de l'utiliser sur des sites de développement et sur des sites de production, mais avec une certaine prudence.
Mise à jour automatique
Pour obtenir cette version bêta, allez dans Extensions -> Ajouter et cliquez sur l'onglet Commercial :

Depuis cette page, activez le canal Bêta et mettez à jour les extensions automatiquement.
Visitez notre page sur l'installation des versions bêta de WPML pour plus de détails.
Pour obtenir les mises à jour automatiques ou passer au canal bêta, vous devez enregistrer votre site.
Mise à jour manuelle
Vous pouvez également effectuer la mise à jour manuellement.
Pour ce faire, suivez les instructions de la section Mettre à jour WPML manuellement (même si elle fait référence à une ancienne version de WPML, le processus est exactement le même).
Des commentaires ?
Après avoir essayé cette version bêta de WPML, nous serions ravis de recevoir vos commentaires. Veuillez partager avec nous toutes les informations que vous pouvez. Nous voulons savoir quand cette version bêta résout les problèmes de performances et s'il reste des problèmes de performances que nous devons traiter.
Laissez vos commentaires et nous vous répondrons.
Mise à jour – 2019-08-16
Nous avons publié une nouvelle version bêta qui corrige les anomalies suivantes :
- Incompatibilité avec WPML Multilingual & Multicurrency for WooCommerce : vous pouvez installer soit la version publiée actuelle, soit la version bêta de WPML Multilingual & Multicurrency for WooCommerce incluse avec cette version publiée.
- Mauvaises performances lors de l'enregistrement de l'article avec un grand nombre de champs personnalisés.
Anomalies connues à ce jour
Nous travaillons encore à peaufiner certaines parties. À ce jour, voici la liste des anomalies connues :
- Le multisite n'est pas encore pris en charge.
- La suppression de chaînes de la Traduction de chaînes ne met pas à jour le fichier .mo généré.
- La suppression de toutes les chaînes d'un domaine ne supprimera pas le fichier .mo généré.
- Après la suppression de toutes les chaînes d'un domaine, la régénération des fichiers .mo (voir « Génération des fichiers .mo » ci-dessus pour savoir comment régénérer les fichiers) ne supprimera pas le fichier .mo correspondant.
- Les textes d'administration traduits renvoyaient l'original dans la fonction icl_translate (affectant WPML Multilingual & Multicurrency for WooCommerce : « Custom subject of new order emails isn’t translated »).

