Mise à jour du 5 octobre 2022.

Méthode décrite deprecated depuis la sortie de Mendix 9.18 qui propose un widget natif supporté qui permet la même chose que ce qui est décrit ci-dessous.


Vous souhaitez donner la possibilité à vos utilisateurs de consulter votre application dans plusieurs langues ? Il est bien entendu possible de définir une application dans plusieurs langues et il existe d’ailleurs plusieurs possibilités pour vous aider dans le processus de traduction (je vous invite à consulter le billet dédié à ce sujet).

Mais une fois la traduction effectuée, comment vos utilisateurs choisissent la langue de navigation ? Le fonctionnement natif de Mendix est de proposer une navigation dans la langue définie dans le profil de l’utilisateur, et si aucune n’est définie c’est la langue sélectionnée par défaut au niveau de l’application qui est utilisée. Le chargement de la langue appropriée en utilisant ces paramètres se fait à la connexion de l’utilisateur.

Un utilisateur peut changer la langue définie dans son profil et à la prochaine connexion (ou par un rechargement automatisé) l’application sera affichée dans la langue sélectionnée. Si l’utilisateur souhaite temporairement (quel que soit le besoin) visualiser l’application dans une langue différente de celle définie dans son profil, il peut être pratique de pouvoir changer la langue de navigation sans impacter la définition du profil.

Dans ce cas, l’ajout d’un sélecteur de langue est la solution !

Il se trouve qu’un module est disponible sur notre marketplace, Language Selector, et qui fournit tout ce qui est nécessaire :

  • Un snippet (LanguageSelector) qui affiche le sélecteur.
  • Un snippet (LanguagesOverview) qui affiche la liste des langues configurées et fournit des options d’administration pour supprimer et rafraîchir les langues disponibles dans le sélecteur.
  • Un microflow (ACT_LoadLanguageItems) pour créer et stocker les valeurs possibles de langue selon les langues que vous avez configurées ; il est utilisé depuis le snippet d’administration mais vous pouvez également l’inclure dans le script de démarrage.
  • Un microflow (DS_LanguageSelector) pour alimenter le sélecteur.

Vous n’avez plus qu’à inclure le snippet LanguageSelector où vous le souhaitez et ajuster le style selon vos préférences. Il est recommandé de l’ajouter directement dans vos layouts afin de le visualiser dans toutes les pages et sur tous les supports (web, téléphone, tablette).

Image

Pas encore de commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.