- Transformer une application en application multilingue
- Qu'est-ce qu'une application multilingue ?
- Exemple pratique : intégrer le multilingue dans une application
- Etape 1 : Choix des langues gérées par le projet
- Etape 2 : Choix des langues dans l'analyse
- Ajout de langues dans l'analyse
- Informations partagées multilingues
- Prise en compte des modifications
- Etape 3 : Gestion du multilingue pour les différents éléments du projet
- Utiliser une image multilingue
- Traduire les champs de l'application
- Traduction des messages de programmation
- Traduction des menus et de leurs options
- Etape 4 : Programmation du changement de langue
- Ajout d'une option de menu
- Programmation
- Test du projet multilingue
- Pour aller plus loin : Les outils de traduction
- Saisie directe des traductions
- Traduction avec WDMSG et WDTRAD
- Autres éléments à traduire : les messages du framework
Tuto - Gérer le multilingue
Transformer une application en application multilingue Ce que vous allez apprendre : - Qu'est-ce qu'une application multilingue ?
- Etape par étape, création d'une application multilingue.
20 mn Qu'est-ce qu'une application multilingue ? Une application multilingue est une application qui peut s'exécuter en anglais, en français, en allemand, en espagnol ou dans une autre langue. Une seule et même application peut donc être utilisée dans plusieurs langues. Mais comment est-ce possible ? C'est ce que nous allons voir dans ce tuto. Nous allons manipuler un projet qui pourra s'exécuter en français ou en anglais, selon le choix de l'utilisateur. Exemple pratique : intégrer le multilingue dans une application Imaginons que vous avez développé une application proposant une UI dans une langue (le français par exemple) et que vous devez la rendre multilingue pour gérer une autre langue (l'anglais par exemple). Ce changement doit suivre différents étapes, dans un ordre bien précis. En effet, la première étape est d'indiquer que le projet gère plusieurs langues. Si cette étape n'est pas réalisée, votre application ne pourra pas être multilingue. Voyons les principales étapes pour transformer une application WINDEV en application multilingue. Ces étapes sont les suivantes : - Le choix des langues gérées par le projet.
- Le choix des langues gérées par l'analyse.
- La mise en place du multilingue pour les différents éléments du projet (fenêtres, états, champs, aide, etc.).
- La mise en place du multilingue pour les messages présents dans le code.
- La programmation du changement de langue dans l'application.
Pour effectuer ces manipulations sur un exemple simple, nous allons utiliser le projet "WD Application Complète". Ce projet, disponible en Français, va être traduit en Anglais. Ouverture du projet exemple - Affichez la page d'accueil de WINDEV (Ctrl + <).
- Dans la page d'accueil, cliquez sur "Tutoriel" puis dans la zone "Tuto - Application WINDEV : gérer des données", double-cliquez sur "Application complète - Corrigé".
Etape 1 : Choix des langues gérées par le projet La première opération consiste à définir les différentes langues gérées par le projet. Dans ce exemple, l'application sera proposée en français et en anglais. - Affichez la description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
- Cliquez sur l'onglet "Langues".
- Cliquez sur le bouton "Ajouter". La fenêtre de sélection des langues apparaît.
- Cliquez sur "Anglais". Une coche apparaît à droite de la langue.
- Validez. La langue "Anglais" apparaît dans la liste des langues du projet.
Le même onglet "Langues" permet également de paramétrer les options linguistiques concernant par exemple les nombres, les monétaires, les dates pour la langue sélectionnée. Voyons un exemple : - Cliquez sur la langue "Anglais".
- Sélectionnez l'onglet "Date".
- Par défaut, les options linguistiques de Windows sont utilisées. Si vous sélectionnez l'option "Utiliser les paramètres suivants", il est possible de définir le format de date utilisé ainsi que la traduction des jours et des mois.
- Conservez l'option "Utiliser les paramètres définis dans les options linguistiques du système d'exploitation".
Dans les options linguistiques, il est possible de choisir le sens d'écriture de la langue (onglet "Divers", option "Sens d'écriture"). Il est ainsi possible de créer des UI avec une langue s'écrivant de droite à gauche. Il ne reste plus qu'à appliquer nos modifications : - Validez la fenêtre de description du projet.
- Un message propose de synchroniser les différents éléments du projet. Répondez "Oui".
Tous les éléments du projet ouverts sous l'éditeur (fenêtres, états, etc.) sont fermés et la ou les langues supplémentaires sont ajoutées à ces éléments. Remarque : Les libellés existant dans la langue de base du projet sont automatiquement recopiés dans la ou les langues ajoutées. Etape 2 : Choix des langues dans l'analyse Par défaut, une analyse est créée dans une langue et ne peut pas être traduite. Cependant, certaines informations peuvent être saisies dans plusieurs langues (notes du dossier, informations partagées, etc.). Si votre application utilise le module Etats et Requêtes, il est également possible de traduire les noms de fichiers de données et les noms de rubriques. Cette traduction peut être réalisée dans l'onglet "Etats et Requêtes". Pourquoi traduire les informations présentes dans l'analyse ? Les champs créés à partir des rubriques de l'analyse ont par défaut le libellé de la rubrique spécifié dans l'analyse. Si un libellé a été spécifié dans les informations partagées de la rubrique, ce libellé sera utilisé lors de la création du champ. Dans un projet multilingue, il est donc nécessaire de traduire cette information, afin de créer directement les champs avec des informations multilingues. Le changement de la langue du projet lié à l'analyse n'est pas automatiquement reporté dans l'analyse car une analyse peut être partagée entre plusieurs projets.
Maintenant, passons à la pratique ! Nous allons tout d'abord ajouter les langues dans l'analyse puis saisir les informations partagées dans plusieurs langues. Ajout de langues dans l'analyse Pour gérer plusieurs langues dans l'analyse de l'application WD Application Complète : - Affichez l'éditeur d'analyses : cliquez sur parmi les boutons d'accès rapide du menu de WINDEV.
- Dans la description de l'analyse (option "Description de l'analyse" du menu contextuel), sélectionnez l'onglet "International".
- La liste des différentes langues gérées par l'analyse s'affiche. L'anglais n'étant pas géré, il nous faut l'ajouter :
- Cliquez sur le bouton "Ajouter".
- Sélectionnez "Anglais".
- Validez la fenêtre d'ajout des langues.
- Validez la fenêtre de description de l'analyse.
Pour prendre en compte toutes les langues du projet lié à l'analyse en cours, il est également possible de cliquer sur le bouton "Synchroniser avec le projet".
Informations partagées multilingues Pour saisir les informations partagées dans plusieurs langues, examinons un cas simple : la saisie de libellé du champ lié à la rubrique "Adresse" du fichier de données "Client" : - Sélectionnez le fichier de données Client.
- Affichez la description des rubriques d'un fichier de données (option "Description des rubriques" du menu contextuel du fichier de données).
- Sélectionnez la rubrique "Adresse" et affichez les paramètres du champ relié à la rubrique sélectionnée (informations partagées). Pour cela, cliquez sur le lien en bas de l'écran. Les informations partagées sont affichées dans une nouvelle fenêtre.
- Dans l'onglet "Général", dans la zone "Libellé', saisissez le libellé pour la langue anglaise "Address".
- Validez la fenêtre de saisie des informations partagées.
- Validez la fenêtre de description des rubriques.
La traduction des informations partagées de l'analyse peut être faite : - en même temps que la création de l'analyse.
- à tout moment via l'éditeur.
- à tout moment grâce aux outils WDMSG et WDTRAD, deux outils permettant d'extraire, de traduire et de réintégrer les éléments à traduire. Ces deux outils seront présentés dans la suite de ce tuto.
Prise en compte des modifications Pour prendre en compte les modifications réalisées dans l'analyse, il est nécessaire de générer l'analyse : sous le volet "Analyse" du ruban, dans le groupe "Analyse", cliquez sur "Génération". Fermez l'éditeur d'analyses (cliquez sur la croix de l'onglet correspondant à l'analyse dans la barre des documents ouverts). Etape 3 : Gestion du multilingue pour les différents éléments du projet Tous les éléments du projet peuvent devenir multilingues : fenêtres, états, aide, etc. Chacun de ces éléments peut contenir différents objets à traduire : champs, images, menus, messages de code, etc. Selon l'objet à traduire, la méthode utilisée peut être spécifique. Pour mettre en place le multilingue dans notre application, nous allons modifier quelques éléments de la fenêtre FEN_Menu : - l'image du bandeau utilisée dans la fenêtre FEN_Menu.
- les libellés des champs de la fenêtre FEN_Menu.
- les options du menu.
- le message affiché par le code WLangage lors de la fermeture de l'application.
Vérifions tout d'abord que la fenêtre FEN_Menu est bien associée aux différentes langues définies dans le projet : - Ouvrez la fenêtre "FEN_Menu" sous l'éditeur (double-cliquez sur son nom dans le volet "Explorateur de projet", par exemple).
- Affichez la description de la fenêtre (option "Description" du menu contextuel de la fenêtre).
- Sélectionnez l'onglet "Langue" : les deux langues sélectionnées dans le projet apparaissent.
- Validez la fenêtre de description.
Utiliser une image multilingue Dans une application, certaines images peuvent être différentes en fonction de la langue utilisée. Dans notre exemple, l'image du bandeau de la fenêtre FEN_Menu contient le nom de l'application. Ce nom changeant en fonction de la langue, il est donc nécessaire de modifier l'image en fonction de la langue. Cette image étant présente dans le modèle de fenêtres, il est donc nécessaire de modifier le modèle de fenêtres associé à la fenêtre. Cette modification pourra ainsi être reportée sur toutes les fenêtres utilisant le modèle. Pour plus de détails, consultez Les modèles de fenêtres. Pour changer l'image du bandeau utilisé dans la fenêtre FEN_Menu selon la langue d'exécution : - Ouvrez la fenêtre "FEN_Menu".
- L'image du bandeau est contenue dans le modèle associé à la fenêtre. Il est donc nécessaire d'ouvrir le modèle de fenêtres associé :
- Cliquez sur le champ "WD ApplicationComplète" et affichez le menu contextuel.
- Sélectionnez l'option "Ouvrir le modèle".
- Le modèle de fenêtres apparaît, entouré d'un cadre orange.
- Affichez la fenêtre de description du bandeau :
- Sélectionnez le champ "WD ApplicationComplète" et affichez le menu contextuel.
- Sélectionnez l'option "Description".
- Dans la zone "Image", cliquez sur le bouton .
- Dans le menu contextuel qui s'affiche, sélectionnez "Multilingue".
- La fenêtre de gestion des images multilingues s'affiche. Il est possible d'utiliser une image différente pour chaque langue. Cette fonctionnalité est très utile si vous utilisez des images contenant du texte.
- Pour notre exemple, dans la zone "Anglais", sélectionnez le fichier "header-us.png" :
- Cliquez sur l'icône .
- Sélectionnez l'option "Parcourir".
- Sélectionnez le fichier voulu.
- Validez. Le libellé "<Valeur Multilingue>" apparaît désormais dans la zone "Image" de la fenêtre de description.
- Validez la fenêtre de description du champ.
- Enregistrez le modèle de fenêtres ( ou Ctrl + S).
- Mettez à jour les fenêtres utilisant le modèle de fenêtres en cliquant sur l'icône dans le bandeau orange. Validez la fenêtre de mise à jour.
- Fermez le modèle de fenêtres affiché sous l'éditeur.
Traduire les champs de l'application Un champ peut afficher de nombreuses informations à l'utilisateur : - un libellé,
- un message d'aide,
- une image, etc.
Toutes ces informations doivent être traduites. Ces informations sont accessibles dans les différents onglets de la fenêtre de description du champ. Pour notre exemple, nous allons traduire le premier volet du champ Onglet dans la fenêtre FEN_Menu. - Double-cliquez sur le champ Onglet pour afficher sa fenêtre de description.
- Dans l'onglet "Général" de la fenêtre de description, sélectionnez le premier onglet "Liste des produits".
- Dans la partie "Description d'un volet statique", effectuez les opérations suivantes :
- saisissez la traduction du libellé du volet : "List of products".
- définissez une image spécifique pour le volet d'onglet par langue (comme nous l'avons fait précédemment).
- définissez une bulle d'aide par langue.
- Fermez la fenêtre de description du champ.
Traduction des messages de programmation Tous les messages affichés par le code WLangage de votre application peuvent également être saisis dans plusieurs langues. Dans notre exemple, la sélection du menu "Quitter" affiche le message "Quitter l'application". Nous allons traduire ce message. Pour traduire le message affiché par l'option de menu : - Affichez le code de l'option de menu :
- Sous l'éditeur déroulez le menu.
- Sélectionnez l'option "Quitter".
- Affichez le menu contextuel (clic droit) et sélectionnez l'option "Code". Dans ce code, la chaîne à traduire correspond à "Quitter l'application ?".
- Positionnez le curseur dans la chaîne "Quitter l'application ?".
- Utilisez la combinaison de touches Ctrl + T. La fenêtre suivante apparaît : Cette fenêtre permet de saisir tous les messages de votre programme dans toutes les langues du projet.
- Dans la zone "Anglais", saisissez "Exit application?" et validez.
Sous l'éditeur de code, l'icône apparaît à la suite de la chaîne de caractères. Cette icône indique que le message est un message multilingue. Un survol de l'icône permet de visualiser rapidement les différentes traductions. Nous avons terminé la manipulation du code. Vous pouvez fermer l'éditeur de code. Traduction des menus et de leurs options La traduction des options d'un menu peut être réalisée comme pour les autres champs via la fenêtre de description de l'option, ou directement à partir de l'éditeur de fenêtres. C'est cette dernière méthode que nous allons utiliser pour notre exemple. Pour traduire le menu de la fenêtre "FEN_Menu" : - Sous le volet "Affichage", dans le groupe "Options", déroulez "Langue affichée" et sélectionnez la langue à visualiser sous l'éditeur (anglais dans notre cas).
Les options de menu s'affichent dans la langue sélectionnée. Si aucune traduction ne correspond à la langue sélectionnée, les options de menu s'affichent en français. - Déroulez l'option "Menu".
- Sélectionnez l'option "Envoyer un email".
- Tapez sur la touche Espace du clavier : le libellé passe en édition.
- Saisissez le libellé en anglais : "Send an email" et validez.
- Repassez la langue affichée en français : sous le volet "Affichage", dans le groupe "Options", déroulez "Langue affichée" et sélectionnez "Français".
Etape 4 : Programmation du changement de langue Nous avons traduits différents éléments de notre fenêtre FEN_Menu. Maintenant, nous allons voir comment changer la langue de l'application. Par défaut, le projet s'exécute dans la langue d'exécution définie pour le projet. Cette langue est définie dans l'onglet "Langues" de la description du projet (option "Description" sous le volet "Projet"). Dans une application, plusieurs méthodes peuvent être utilisées pour sélectionner la langue à utiliser. La plus courante est la présence d'une option de menu (ou d'un bouton "Langue"). La fonction Nation permet de changer la langue de l'application en cours d'exécution. Pour notre exemple, nous allons ajouter une option de menu afin de sélectionner la langue voulue. Ajout d'une option de menu Pour ajouter une option de menu : - Ouvrez si nécessaire la fenêtre "FEN_Menu" sous l'éditeur (double-cliquez sur son nom dans le volet "Explorateur de projet").
- Cliquez sur l'option "Menu" de la fenêtre. Le menu se déroule.
- Sélectionnez l'option "Envoyer un email".
- Affichez le menu contextuel (clic droit). Sélectionnez l'option "Ajouter une option après". Saisissez le libellé "Langues" et validez.
- Sélectionnez l'option "Langues" que vous venez de créer.
- Affichez le menu contextuel (clic droit) et sélectionnez l'option "Transformer pour dérouler un sous-menu".
- Saisissez le libellé de la première sous-option "Français".
- Appuyez sur la touche Entrée deux fois et saisissez le libellé de la seconde option "Anglais".
Nous allons maintenant saisir le code WLangage nécessaire au changement de langue. Programmation Pour saisir le code de gestion des langues : - Sélectionnez l'option "Menu .. Langues .. Francais" sous l'éditeur.
- Affichez le menu contextuel (clic droit). Sélectionnez l'option "Code".
- Saisissez le code suivant :
- Enregistrez vos modifications et fermez l'éditeur de code.
- Sélectionnez l'option "Menu .. Langues .. Anglais" sous l'éditeur.
- Affichez le menu contextuel (clic droit). Sélectionnez l'option "Code".
- Saisissez le code suivant :
La fonction Nation permet de changer la langue d'exécution de l'application. Les constantes passées en paramètre permettent de spécifier la langue à utiliser. Le changement de langue effectué par la fonction Nation est immédiatement effectif. - Enregistrez vos modifications et fermez l'éditeur de code.
Test du projet multilingue Nous avons traduit quelques éléments de l'application, nous allons maintenant tester le changement de langue. Pour tester l'application : - Lancez le test du projet ( parmi les boutons d'accès rapide). La fenêtre apparaît en mode test en français.
- Sélectionnez l'option "Menu .. Langues .. Anglais".
- Les différents éléments que nous avons modifiés dans notre application apparaissent en anglais :
- l'image du modèle de la fenêtre.
- le premier volet d'onglet.
- Terminez le test en sélectionnant l'option "Menu .. Quitter". Le message s'affiche en anglais.
- Validez et revenez sous l'éditeur.
Pour aller plus loin : Les outils de traduction Nous venons de traduire manuellement quelques éléments de notre application. Pour traduire ces informations, WINDEV met plusieurs moyens à votre disposition : - une traduction directe des messages dans les différents éditeurs. Cette traduction peut être réalisée via un outil de traduction, Google Trad (sous réserve de posséder une licence), etc.
- une traduction réalisée grâce à un outil externe (WDMSG et WDTRAD).
Saisie directe des traductions Les traductions sont directement saisies dans l'interface du produit. Par exemple, le libellé du bouton "Nouveau" devient "New" en anglais. Il suffit d'ouvrir la fenêtre de description du champ et de saisir dans la langue voulue la traduction correspondante. Si vous disposez d'un logiciel de traduction ou d'un site de traduction, vous pouvez configurer WINDEV pour utiliser ce logiciel : - Sous le volet "Accueil", dans le groupe "Environnement", déroulez "Options" et sélectionnez "Options générales de WINDEV".
- Affichez l'onglet "Traduction".
- Spécifiez :
- Si les paramètres régionaux doivent être automatiquement activés selon la langue en cours de saisie. Dans ce cas, si la langue nécessite un alphabet spécifique, cet alphabet sera automatiquement sélectionné.
- Le logiciel ou le site à utiliser pour la traduction. Il est possible d'utiliser WDDIXIO, dictionnaire de traduction livré avec WDMSG (voir paragraphe suivant), un logiciel ou un site de traduction spécifique, ou Google Traduction.
Pour plus de détails, consultez Traduction par Google Traduction. - Les langues gérées (par exemple "Français" en langue d'origine et "Anglais" en langue destination).
- Validez.
- Lorsque les paramètres de traductions sont définis, il est possible d'utiliser le bouton présent dans les différentes fenêtres de description des éléments du projet : ce bouton permettra d'utiliser le logiciel défini pour la traduction.
Traduction avec WDMSG et WDTRAD Il existe également un outil nommé WDMSG (non fourni en standard avec WINDEV) qui permet : - d'extraire tous les messages d'un projet (libellé des champs, message de code, titre des fenêtres, etc.) pour les traduire,
- de réintégrer les messages traduits.
Les messages à traduire sont extraits : - dans un format texte pouvant être configuré pour être utilisé avec la majorité des logiciels de traduction.
- au format HFSQL.
WDMSG est également fourni avec WDTRAD, outil d'aide à la traduction. WDTRAD permet de saisir simplement toutes les traductions des informations multilingues d'un projet. Pour obtenir plus d'informations sur WDMSG et WDTRAD, contactez le Service Commercial de PC SOFT. Autres éléments à traduire : les messages du framework De nombreuses informations et messages sont présents dans le framework WINDEV. Par exemple, les noms des jours et des mois utilisés par les fonctions de gestion des dates proviennent du framework WINDEV. Pour traduire une ou plusieurs librairies de ce framework, il est nécessaire d'utiliser WDINT (non fourni en standard avec WINDEV). Ce logiciel permet d'obtenir un fichier d'extension WDM. Pour utiliser ce fichier dans votre application : - vous pouvez utiliser la fonction ChargeErreur.
- vous pouvez intégrer le fichier à la description du projet dans l'onglet "Langues". Il suffit de sélectionner la langue voulue et de sélectionner l'onglet "Divers".
Pour obtenir plus d'informations sur WDINT, contactez le Service Commercial de PC SOFT.
|
|
|