En tant qu’organisations françaises 🇫🇷, fournir une application multilingue est souvent un pré-requis important pour nos clients. Et heureusement, mettre cela en place au sein de vos applications Mendix est très simple.
Nous allons donc voir, dans ce billet, comment cela fonctionne :
- Comment ajouter une langue
- Les différentes manières de traduire les libellés
- Comment changer la langue d’un utilisateur
- On finira par quelques ressources complémentaires
Ajouter une langue
La 1ère chose à faire consiste donc à ajouter la ou les langues dans lesquelles votre application doit s’afficher. Pour faire cela RDV dans Mendix Studio Pro : menu Language > Language Settings… > onglet Languages > Add, comme sur l’image ci-dessous (cliquez dessus si l’animation ne se déclenche pas automatiquement).
Une fois les langues sélectionnées, le menu déroulant tout en bas à droite de votre Studio Pro, va vous permettre de basculer d’une langue à l’autre dans l’outil de conception. Tous les libellés qui apparaissent entre <> sont des libellés à traduire.
Vous retrouverez cette barre de sélection de language dans Studio web, mais cette fois-ci dans la barre de menu supérieure dès que vous aurez commité votre application.
Traduire les libellés
Maintenant que plusieurs langues sont paramétrées, il ne reste plus qu’à faire la traduction. Dans Studio web la traduction peut se faire libellé par libellé en naviguant sur les pages (et objets) et en modifiant le content ou la caption des différents éléments dans le contexte de la langue sélectionnée. Ce qu’il y a à traduire correspond donc à tout ce qui apparaît entre <>.
Dans Studio Pro, vous pouvez procéder de la même façon. Et cette méthode est bien pratique pour ajuster les traductions dans leur contexte d’exécution. Cependant vous disposez d’autres méthodes permettant de travailler en lot sur l’ensemble des libellés de votre application, ce qui s’avèrera plus pratique pour la traduction initiale de votre application.
Pour ce faire, RDV dans le menu Language > Batch Translate…, sélectionnez alors la langue source (en général, la langue dans laquelle l’application a été modélisée à l’origine) puis la langue cible et cliquez sur OK. Vous arrivez sur l’interface ci-dessous :
Vous voyez donc sur la gauche les libellés à traduire. Ces libellés peuvent provenir de pages, de messages de microflow et des éléments de menu. Si vous sélectionnez un libellé, vous voyez dans la partie basse les objets dans lesquels le terme est utilisé et aussi le nombre de fois où il est utilisé.
Enfin dans la partie supérieure de la fenêtre, vous pouvez choisir les modules de votre application pour lesquels vous souhaitez travailler sur une traduction. Et vous pouvez faire de l’import/export des traductions dans un fichier excel afin d’externaliser la traduction facilement.
Les fonctionnalités supplémentaires du menu Language :
- Le CTRL + L vous permettra de passer d’une langue de conception à l’autre sans passer par la liste déroulante.
- Option Batch Replace… : cette option vous permettra, pour une langue choisie, de remplacer en lot un texte précis à tous les endroits où il apparaît dans votre application. L’interface vous permet également de constater combien de fois ce terme apparaît.
- Option Language operations… : derrière ce menu vous pourrez inverser les dictionnaires (par exemple, passer tous les libellés du dictionnaire anglais dans le dictionnaire français). Quel est l’intérêt ? Tout simplement si vous avez fait votre conception dans une langue autre que l’anglais et sans tenir compte du langage de votre application (fonctionnalité qui vous était inconnue 😉), alors tous vos libellés sont par défaut dans le dictionnaire anglais. Le jour où vous ajoutez une langue, cette fonctionnalité de bascule sera bien pratique. Vous verrez aussi ici le nombre de libellés que vous avez par module et traduits.
Changer la langue d’un utilisateur
Maintenant que nos traductions sont effectives dans les sources de notre application, comment l’application s’affiche dans telle ou telle langue ?
Par défaut, le système de gestion des langues s’appuie sur le paramètre « User_Language » de l’utilisateur connecté. Donc si mon utilisateur est configuré en FR et que le dictionnaire FR existe alors l’application s’affichera automatiquement dans cette langue là. Si le dictionnaire de la langue de l’utilisateur n’existe pas, alors l’application s’affichera dans la langue que vous avez choisie par défaut.
De manière générale, ce paramètre « User_Language » est rendu configurable lorsque l’utilisateur clique sur son profil. Si ce n’est pas le cas pour vous, il vous suffit d’inclure dans votre application la page MyAccount du module d’Administration.
Pour un utilisateur anonyme, l’affichage sera déterminé par la langue du navigateur.
Nous vous proposerons dans un prochain billet un petit How-To pour inclure une liste déroulante de choix de la langue dans votre application.
Ressources
Si vous souhaitez allez plus loin, voici quelques ressources officielles (en 🇬🇧 ) sur le sujet :
- Le module de formation dédié au sein du learning path « Create an App with Advanced Page Building » de l’académie Mendix en ligne.
- La documentation pour Studio Pro.
- La documentation pour Studio.
Happy Mx-low-coding !
2 commentaires
[…] 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). […]
[…] Mendix, vous pouvez créer des applications multilingues, nous l’évoquons d’ailleurs dans un précédent billet. Cependant, jusqu’à cette version, nous n’avions pas de widget standard permettant aux […]