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 de WPML répond aux messages du forum 6 jours sur 7, 22 heures sur 24.

This topic contains 9 réponses, has 2 participants.

Last updated by Jamal il y a 1 semaine et 1 jour.

Assigned support staff: Jamal.

Auteur Messages
novembre 19, 2019 à 9:07 #4969731

jean-marieA

Tell us what you are trying to do?

Nous utilisons :

- Elementor PRO
- WPML Media
- WPML Multilingual CMS
- WPML String Translation
- WPML Translation Management
- ACF PRO (non problématique ici)

Je souhaite pouvoir traduire les médias & galeries de WordPress qui sont présents dans le widget pro "Gallery" d'Elementor PRO ainsi que des champs images (type: \Elementor\Controls_Manager::MEDIA && \Elementor\Controls_Manager::GALLERY) que nous avons dans un widget personnalisé.

J'ai suivi la documentation pour ajouter WPML à des widgets personnalisés. Cela fonctionne pour des textes mais, pour des médias, rien n'est expliqué. Nous n'avons pas de type applicable (URL, AREA, LINE). De ce fait, comment faire pour dire à WPML que des médias sont à traduire dans notre widget personnalisé ? Je me suis demandé si l'on ne pouvait pas reproduire votre classe "WPML_Elementor_Media_Node_Provider" cependant, je ne vois pas de possibilité pour le faire ou de venir s'y insérer. La seule solution trouvée pour contourner le problème de mettre autant des balises "img" que l'on a de médias dans le template et, par je ne sais quelle magie, WPML les récupères et nous permet de les traduire. Cependant, là encore, problème: lorsqu'on édite une page et que l'on retire un widget ayant un média à l'intérieur, WPML ne détecte pas ce changement et laisse traduisible le média alors que celui-ci devrait disparaitre.

Pour information, nous utilisons pour la traduction des pages Français vers Anglais le module
"WPML Translation Management" (/wp-admin/admin.php?page=wpml-translation-management%2Fmenu%2Ftranslations-queue.php). Celui-ci nous affiches à gauche les champs français et, à droite, la traduction à renseigner en anglais.

Is there any documentation that you are following?

https://wpml.org/documentation/plugins-compatibility/elementor/#List-of-the-translatable-Elementor-Elements

https://wpml.org/documentation/plugins-compatibility/elementor/how-to-add-wpml-support-to-custom-elementor-widgets/

Is there a similar example that we can see?

- Installez un WordPress vierge
- Configurez 2 langues (Français et Anglais)
- Installez WPML, "WPML > Paramètres > Nouveau contenu > Utiliser l'Éditeur de traduction classique de WPML".
- Installez Elementor PRO
- Ajouter dans une page le widget Gallery (pas la Basic Gallery)
- Sauvegardez
- Cliquez sur le "+" pour ajouter la traduction Anglaise. Aucun média n'est détecté et, nous ne pouvons donc pas faire la page anglaise.

What is the link to your site?

Aucun pour le moment le site étant en développement.

Merci pour votre aide.

Billy.

novembre 19, 2019 à 10:19 #4970697

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour Billy,

Merci d'avoir contacter l'assistance WPML. Je serais heureux de pouvoir vous aider.

Je viens de créer un serveur de test pour reproduire ce problème, le site est configuré pour traduire du français à l'anlgais. Vous pouvez vous connectez dessus avec ce lien hidden link

Je vous prie d'installer Elementor Pro et reproduire ce problème.

Media Translation est aussi installé pour que ça soit similaire à votre site.

Cordialement,
Jamal
Assistance WPML

novembre 19, 2019 à 11:45 #4971533

jean-marieA

Bonjour Jamal,

je viens de créer une page nommée "Page Elementor". Celle-ci contient le widget pro "Gallery". Comme vous le constatez, lorsque vous cliquez sur le "+" pour traduire la version anglaise, la page n'affiche pas les médias insérés.

Cela étant dû au fait que WPML ne prenne pas en charge ce widget PRO. L'idée ici, serait de pouvoir justement le prendre en charge cependant, j'ai l'impression qu'il n'est pas possible de le faire par nous-mêmes. Je ne trouve rien dans la documentation de WPML nous permettant de dire que ce widget contient une propriété de type "gallery" ou "media".

Merci pour votre aide.

Billy

novembre 19, 2019 à 12:17 #4971863

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour Billy,

Merci pour votre retour.

La traduction de la page n'était pas complète, dés que je l'ai complété(en introduisant juste le titre) la gallery s'est bien affichée en englais. Voir hidden link

Ensuite, j'ai enlevé une image(5eme) et sauvegardé la page française, puis j'ai mis à jour la traduction pour forcer WPML à synchroniser et j'ai bien eu une gallery synchronisée sur l'anglais.

WPML semble bien synchroniser le widget gallery, il fallait juste compléter la traduction de la page pour forcer WPML à synchroniser la gallery sur la langue secondaire.

Je reste à votre disposition.

Cordialement,
Jamal

novembre 19, 2019 à 12:42 #4972117

jean-marieA

Jamal,

j'avais effectivement pas continué car je voulais pointer du doigt sur ma capture que les médias n'apparaissaient pas ici pour la traduction. Pour vous donner une idée de ce que à quoi je m'attend, je vous ai créer une 2e page (Page Elementor 2) pour laquelle j'ai ajouté un widget prit en compte par WPML : Le widget Basic Gallery (Elementor FREE).

Je n'ai pas complété cette traduction de manière à ce que vous puissiez voir que là, comme je m'attend à avoir sur le widget pro "Gallery", les médias sont bien listés et, on nous proposes de traduire le titre, la légende, ... en fonction de ce que l'on a déjà complété.

La différence entre le basic et le pro est que, WPML à intégrer le basic widget. De ce fait, une fois sauvegardé, WPML nous proposes de traduire ces médias. C'est cela que j'aimerais faire. WPML par défaut ne le prend pas en charge mais j'aimerais l'y ajouter et, connaitre la méthode pour le faire si c'est possible. J'ai un peu fait de retro engineering et je pense que tout se joue au niveau des classes contenues dans le dossier media (sitepress-multilingual-cms/vendor/wpml/page-builders-elementor/src/media). Je vois ici que vous prenez en compte certaines propriétés des widgets elementor pour pouvoir récupérer les médias et les proposer à la traduction. Cependant, je ne vois pas comment m'intercaler ici et, encore moins reproduire ce fonctionnement avec la documentation disponible.

Je sais que l'on peux aussi passer par WMPL > Media translation mais j'aimerais tout centraliser au même endroit. J'imagine mal expliquer qu'un coup, c'est pris en compte on va sur la page, un autre coup, il faut passer par WMPL > Media translation.

Merci pour toutes les réponses que vous pourrez m'apporter.

novembre 19, 2019 à 2:51 #4973477

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour Billy,

Merci pour explication. Je comprends mieux votre demande.

Je me rapproche de notre 2nd Tier pour demander assistance sur ce sujet et je reviendrais vers vous dés que possible.

Je reste à votre disposition.

Cordialement,
Jamal

novembre 21, 2019 à 12:06 #4987609

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour Billy,

Nous avons escaladé cette issue à notre équipe de compatibilité.
Je reviendrais vers vous le plutôt possible.

Cordialement,
Jamal

novembre 22, 2019 à 8:14 #4994735

jean-marieA

Bonjour,

merci pour votre retour.
J'attend que vous me fassiez signe alors.

Merci pour votre aide.

Cordialement,

Billy

novembre 22, 2019 à 8:46 #4995019

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

- Ticket status update -

novembre 27, 2019 à 10:08 #5027719

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour Billy,

Selon notre équipe de compatibilité, nous ne pouvons rien faire pour la widget Media Gallery d'Elementor Pro. Le problème provient de la structure de contenu d'Elementor, qui diffère d'un type de galerie à l'autre.

La fonction \WPML_Media_Img_Parse::get_from_img_tags n'est pas capable de reconnaître les images dans le contenu de la page avec Gallery (PRO) car le contenu ressemble à

<a data-elementor-lightbox-slideshow="all" href="<em><u>hidden link</u></em>"></a>
<a data-elementor-lightbox-slideshow="all" href="<em><u>hidden link</u></em>"></a>

Et WPML Media a besoin de la balise <img> pour capturer des images.

Quand on regarde le contenu de la page où la galerie de base est utilisée

<figure class='gallery-item'>
	<a data-elementor-open-lightbox="default" data-elementor-lightbox-slideshow="99abce4" href='<em><u>hidden link</u></em> width="300" height="179" src="<em><u>hidden link</u></em>" alt="" srcset="<em><u>hidden link</u></em> 300w, <em><u>hidden link</u></em> 632w" sizes="(max-width: 300px) 100vw, 300px" /></a>
</figure>
<figure class='gallery-item'>
	<a data-elementor-open-lightbox="default" data-elementor-lightbox-slideshow="99abce4" href='<em><u>hidden link</u></em> width="300" height="169" src="<em><u>hidden link</u></em>" alt="" srcset="<em><u>hidden link</u></em> 300w, <em><u>hidden link</u></em> 768w, <em><u>hidden link</u></em> 932w" sizes="(max-width: 300px) 100vw, 300px" /></a>
</figure>

Les images sont entourées de la balise <img>, raison pour laquelle WPML Media peut la reconnaître.

J'espère que cette explication répond à votre question. Je reste à votre disposition.

Cordialement,
Jamal