Sauter la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problème :
Le client ne parvient pas à outrepasser la fonctionnalité de détection de langue par défaut de WPML pour mettre en place une fonctionnalité de navigation régionale basée sur des cookies. Même après avoir désactivé la redirection automatique basée sur la langue du navigateur, le site charge la langue par défaut ou celle du navigateur lorsqu'un nouvel onglet est ouvert.

Solution :
Nous avons conseillé au client de ne pas utiliser la redirection automatique pour éviter les problèmes d'indexation et de référencement.
Nous avons suggéré d'inspecter les cookies "selected_region" et "wp-wpml_current_language". Mais en fait c'est le cookie personnalisé "selected_region" qui ne se met pas à jour en fonction de l'URL visitée.
Nous avons suggéré au client d'utiliser les hooks WPML pour récupérer la langue actuelle de la page visitée et passer cette valeur au cookie personnalisé si nécessaire.
Les hooks pertinents sont :

Si la solution proposée ne s'applique pas à votre cas ou semble obsolète, nous vous recommandons de vérifier les problèmes connus sur https://wpml.org/known-issues/, de vérifier la version de la correction permanente et de confirmer que vous avez installé les dernières versions des thèmes et plugins. Si le problème persiste, n'hésitez pas à ouvrir un nouveau ticket de support sur notre forum.

Forum de support WPML

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.

Aucun de nos assistants n'est disponible aujourd'hui sur le forum French. Veuillez créer un ticket, et nous nous le traiterons dès notre prochaine connexion. Merci de votre compréhension.

Marqué : 

Ce sujet contient 4 réponses, a 2 voix.

Dernière mise à jour par Nicolas Viallet Il y a 1 mois et 2 semaines.

Assisté par: Nicolas Viallet.

Auteur Articles
mars 7, 2024 à 10:48 am #15383551

WGO

Current issue: Impossible to override WPML default language detection functionality.

We use WPML plugin for language management.
At the same time time we need to add a region navigation feature, where user will select his region, which may be different from its location or browser language.

The problem we have, is that our functionality can not override WPML default browser locality detection and we can not set the language we need.

In our case, selected region is stored in browser cookies. All works well after region selection within one browser tab.

https://wpml.org/wp-content/uploads/tmp/Picture_1.png
https://wpml.org/wp-content/uploads/tmp/Picture21.png
But if user opens website in another tab, we have previously selected region/language in the switcher, but the website is loaded in a language that user has in its browser settings or default one

https://wpml.org/wp-content/uploads/tmp/Picture_12.png
At the same time, we have disabled browser language redirect, but the issue is still there

https://wpml.org/wp-content/uploads/tmp/pict3.png

WPML selects the language of the website earlier than it comes to any of our functionality.

What would be great to have is a feature or add-on that either:
- provides a setting to WPML that picks a language from cookie
or
- allows to override default WPML behavior and allows us to set website version before it’s done by WPML.

Many thanks,
Moezz and Team

pict3.png
Picture 12.png
Picture21.png
Picture 1.png
mars 7, 2024 à 10:12 pm #15386940

Nicolas Viallet
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Merci d'avoir contacté le support de WPML. Je vais répondre en Français car nous sommes sur le forum FR mais si vous préférez l'Anglais dites le moi.

De manière générale, je ne recommande pas l'utilisation de la redirection automatique. Lorsque vous activer cette option, nous avons une pop-up d'avertissement sur les effets de cette option sur l'indexation et le référencement.

Ceci étant dit, vous dites avoir désactivé l'option donc elle ne redirigera plus les visiteurs suivant la langue du navigateur.

J'ai essayé de visité le site mais il est cassé. J'ai réussi à aller sur le site staging.sda à la place. Je ne sais pas si c'est la même configuration mais mon navigateur est EN et j'arrive bien à voir la version DE même après plusieurs rafraichissement de la page ou en ouvrant d'autres pages dans d'autres onglets.
En inspectant le code source même chose, les deux cookies "selected_region" et "wp-wpml_current_language" ont la même valeur "de"

- Pourriez-vous m'expliquer en détails comment reproduire l'erreur?
- Pourriez-vous m'en dire plus sur la solution utilisée pour les régions?
- Je vois un autre plugin "User IP and Location" peut être que c'est ce plugin qui redirige les visiteurs?

Je vous laisse aussi notre documentation sur les hooks WPML: https://wpml.org/documentation/support/wpml-coding-api/wpml-hooks-reference/

Regardez notamment
- "wpml_current_language" qui vous donne la langue actuelle
- "wpml_switch_language" qui vous permet de changer la langue

Avec cela vous devriez pourvoir vérifier si la langue actuelle est la même que celle de votre solution et si elle est différente vous pouvez changer de langue.

mars 11, 2024 à 6:44 am #15393287

WGO

Bonjour,

Pour reproduire la situation
1- ll faut aller ici: lien caché
2 - cliquer le drop down menue à gauche de Select your country and language
3- valider

mars 11, 2024 à 8:25 am #15393436

WGO

It works well in one tab, meaning that we don’t have random language switching while surfing the website.
Remaining issue - mismatch between region and laguage if user opens a new tab (e

mars 11, 2024 à 1:26 pm #15395592

Nicolas Viallet
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Oui, j'avais compris le problème à l'envers, je pensais vous aviez du texte Anglais sur la version Allemande. Mais en fait c'est le cookie "selected_region" qui ne se met pas à jour en fonction de l'URL. J'ai fait une vidéo explicative: lien caché

Il ne s'agit pas d'un problème WPML ici. Vous pouvez utiliser "wpml_current_language" pour mettre à jour votre propre cookie.

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.