[Résolu] Problème de traduction suite à une migration de site web avecc DUPLICATOR
Ce sujet est résolu. Voici une description du problème et de la solution.
Problème : Après la migration d'un site web vers un nouvel hébergeur en utilisant le plugin DUPLICATOR, des champs en doublons apparaissent dans l'éditeur WPML lors de la modification et traduction d'articles existants. Ces doublons remplacent les traductions précédentes lors de l'enregistrement.
Solution : Si vous rencontrez ce problème après une migration, nous recommandons les étapes suivantes : 1. Tentez une nouvelle migration en excluant les tables de WPML (préfixées par icl_) de toute opération de search/replace. 2. Si le problème persiste, effectuez une sauvegarde complète de votre base de données et exécutez les requêtes SQL suivantes pour corriger les chaînes corrompues :
UPDATE wp_icl_strings SET name = MD5( value ) WHERE `string_package_id` IS NOT NULL;
UPDATE IGNORE wp_icl_strings SET domain_name_context_md5 = MD5( CONCAT( context, name, gettext_context ) ) WHERE `string_package_id` IS NOT NULL
DELETE FROM `wp_icl_strings` WHERE domain_name_context_md5 != MD5( CONCAT( context, name, gettext_context ) ) AND `string_package_id` IS NOT NULL
Notez que wp_ est le préfixe par défaut et peut différer dans votre base de données. 3. Si le problème de collation des colonnes se présente, utilisez les options de dépannage de WPML pour rectifier le classement des colonnes et corriger le recoupement des tableaux.
Cette solution pourrait ne pas être pertinente si elle est obsolète ou ne correspond pas à votre cas. Nous vous recommandons de vérifier les problèmes connus, de confirmer que vous avez installé les dernières versions des thèmes et plugins, et de vérifier la version du correctif permanent. Si le problème persiste, n'hésitez pas à ouvrir un nouveau ticket de support.
Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.
Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.
Bonjour.
Dans le cadre de la migration de notre site web vers un nouvel hébergeur, j'ai utilisé le plugin DUPLICATOR pour exporter la BDD et les fichiers WP.
La migration s'est effectuée sans problème. Le nouveau site fonctionne mais lorsque je modifie un article existant et que je lance la traduction de cet article depuis l'éditeur WPML (du Français vers l'anglais par exemple), l'éditeur WPML affiche de nombreux champs en doublons avec du texte en Français (voir pièce jointe).
Si je valide ces champs et que j'enregistre, les champs en doublons remplacent les champs correctement traduits en anglais et je perds les traductions réalisées précédemment.
Je précise que je ne rencontre aucun problème lors de la création et la traduction d'un nouvel article ou d'une nouvelle page web.
Il semblerait que l'importation de la BDD via DUPLICATOR perturbe le fonctionnement de WPML.
Lors de l'importation de la BDD, Duplicator modifie les ULRS de la BDD pour permettre au site de fonctionner dans son nouvel environnement (nouveau nom de domaine = changement d'URLS).
Avez-vous déjà rencontré ce type de problème ?
Si nécessaire, je peux vous transmettre des accès à notre nouveau site Web pour tester la procédure de traduction.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Bienvenue sur le support de WPML. Oui je veux bien un accès au site car je n'ai jamais vu ce problème auparavant. De plus, Duplicator et le plugin que nous recommandons lorsque nous demandons une copie du site aux clients, donc nous aurions eu le problème avant.
Je pense qu'il peut y avoir un problème de configuration de langue mais j'aimerai voir cela de plus près. J'ai activé un champ privé pour votre prochaine réponse où vous pourrez partager les identifiants de connexion de manière confidentielle avec notre support. Ne partagez pas votre propre compte admin, créez un nouveau compte que vous pourrez éliminer une fois l'assistance terminée.
IMPORTANT: Avant de continuer, faites un backup complet de votre site et base de données.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Il y avait un problème avec la configuration des langues. Regardez cette capture: lien caché
Cette opération n'apparait que lorsque WPML détecte un problème. Comme nous sommes sur un site DEV, je l'ai exécuté.
Ensuite je suis allé sur un des articles et j'ai fait une modification. Le module n'est pas dupliqué.
Avant: lien caché
Après: lien caché
Il y a-t-il autre chose à faire pour reproduire le problème?
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Pardon,
Je viens de réaliser que ce sont d'autres modules, plus bas sur la page qui sont en effet dupliqués et en Français. Je continue mes recherches, je reviens vers vous dans un moment.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Je viens de faire les mêmes tests dans un environnement minimal (avec seulement nos plugins et WP Bakery) et j'ai les mêmes résultats, certains modules sont dupliqués.
M'autorisez vous à prendre une copie duplicator pour l'installer sur nos serveurs afin que l'équipe de deuxième niveau puisse regarder cela?
Pouvez-vous m'indiquer ou se trouve la fonctionnalité de "nettoyage" indiquée précédemment ?lien caché
Je voudrais vérifier la BDD en Prod et éventuellement pouvoir appliquer ce correctif lors de l'importation finale de nos données (réimportation de la BDD de Prod)
merci
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Re,
Avez-vous activé un plugin de sécurité ou changé l'URL de connexion? Lorsque je vais sur l'URL par défaut de WP /wp-admin je suis redirigé vers /not_found. Je n'arrive donc pas à me connecter.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Merci mais je n'arrive pas à exporter un package. Chaque fois que je créé un nouveau package cela prend énormément de temps et au final, je ne peux pas télécharger le .zip. J'ai l'erreur:
File wasn't available on site
Pourriez vous essayer?
J'ai activé un champ privé pour votre prochaine réponse pour partager les fichiers (package + installer).
- Vous pouvez exclure /wp-content/uploads/ et /wp-content/cache/ pour réduire le poids de la copie
- Une fois le package est prêt, si les fichiers sont trop lourds, vous pouvez partager un lien Google Drive, Dropbox, WeTransfer ou autre.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Re,
J'ai trouvé un ticket interne avec le même problème. Cela se produit en raison de chaînes corrompues après un search/replace ou des modifications de liens en chaînes de texte.
La première solution serait de refaire une migration depuis zéro. Si vous utilisez un search/replace, veuillez exclure les tables de WPML de cette requête (nos tables commencent par icl_.
Si le problème est toujours présent, nous pouvons essayer de corriger la base de données:
1. Faites un backup complet de votre base de données
2. Correction des noms de chaînes
UPDATE wp_icl_strings SET name = MD5( value ) WHERE `string_package_id` IS NOT NULL;
3. Corriger le contexte du nom de domaine MD5 et ignorer s'il existe déjà
UPDATE IGNORE wp_icl_strings SET domain_name_context_md5 = MD5( CONCAT( context, name, gettext_context ) ) WHERE `string_package_id` IS NOT NULL
4. Supprimez maintenant les doublons où le contexte du nom de domaine md5 n'est pas valide
DELETE FROM `wp_icl_strings` WHERE domain_name_context_md5 != MD5( CONCAT( context, name, gettext_context ) ) AND `string_package_id` IS NOT NULL
Il est possible que des chaînes invalides aient été traduites et que des chaînes valides soient manquantes. Donc après avoir exécuté la requête, si vous renvoyez le travail de traduction, il se peut que certaines traductions soient manquantes pour quelques chaînes. Mais c’est le mieux que nous puissions faire pour sauvegarder la traduction.
PS: notez que wp_ est le préfixe par défaut de WordPress, il se peut qu'il soit différent sur votre base de données. Pensez à le modifier dans vos queries.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Cependant, le Bug sur WPML n'apparait pas sur le site de Prod, mais uniquement sur le nouvel hébergement après l'export depuis la PROD et l'importation via DUPLICATOR.
Cela a du sens puisque le problème vient d'un search and replace qui a corrompu certaines chaînes de textes.
J'ai téléchargé la copie que vous avez envoyé avant que le lien n'expire mais pour le moment je ne pense pas que ce soit nécessaire de l'installer (j'avais demandé cette copie avant de trouver le ticket interne). Car vous pouvez soit refaire la migration depuis le site de prod et exclure nos tableaux du search and replace, ou soit utiliser les requêtes fournies pour essayer de corriger la base de données.
Dites moi si l'une de ces solutions résout votre problème. Sinon j'installerai la copie et ferai remonter les infos.
Bonjour.
Comme expliqué plus haut, le search and replace a été effectué sur le site de PROD qui ne rencontre aucun de problème lors de la traduction.
J'ai cependant relancé une migration sur le nouvel hébergement pour vérifier.
Bien évidemment le problème reste le même, et je ne dispose pas d'une autre BDD qui n'a pas subi le search and replace.
Pour la seconde solution avec la correction de la base de donnée, le processus fonctionne et corrige le problème.
Cependant, lors de l'exécution de la 3eme requête :
DELETE FROM `wp_icl_strings` WHERE domain_name_context_md5 != MD5( CONCAT( context, name, gettext_context ) ) AND `string_package_id` IS NOT NULL
PhpMyadmin affiche une erreur (voir image en pj)
Cette erreur est-elle gênante ?
Je dois encore vérifier si des traductions ont été supprimées suite à cette intervention.
Le contrôle va être difficile à effectuer sur l'ensemble du site, cette solution est donc difficilement acceptable.
Une autre piste serait la bienvenue 🙂