DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV 28 !
  • Ce que vous allez apprendre dans cette leçon
  • Qu'est-ce qu'une application multilingue ?
  • Choix des langues du projet
  • Internationalisation de l'analyse
  • Internationalisation des éléments du projet
  • Internationalisation d'une image
  • Internationalisation des champs
  • Internationalisation d'un message de programmation
  • Internationalisation des menus
  • Les outils de traduction
  • Saisie directe des traductions
  • Traduction avec WDMSG et WDTRAD
  • Autres éléments à traduire : les messages du framework
  • Programmation du changement de langue
  • Ajout d'une option de menu
  • Programmation
  • Test du projet
Leçon 4.15. Gérer le multilingue
Ce que vous allez apprendre dans cette leçon
  • Qu'est-ce qu'une application multilingue ?
  • Etape par étape, création d'une application multilingue.
Durée de la leçon

Durée estimée : 20 mn
Leçon précédenteSommaireLeçon suivante
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 cette leçon.
Nous allons manipuler un projet qui pourra s'exécuter en français ou en anglais, selon le choix de l'utilisateur.
Les principales étapes d'une application multilingue sont :
  • Le choix des langues du projet.
  • L'internationalisation de l'analyse.
  • L'internationalisation des éléments du projet (fenêtres, états, champs, aide, etc.).
  • L'internationalisation des messages présents dans le code.
  • La programmation du changement de langue dans l'application.
Nous allons appliquer ces différentes étapes au projet "WD Application Complète". Ce projet, disponible en Français, va être traduit en Anglais.

  • Ré-ouvrez si nécessaire le projet que vous avez manipulé dans la leçon précédente.
    1. Affichez la page d'accueil de WINDEV (Ctrl + <).
    2. Dans la page d'accueil, cliquez sur "Tutoriel" puis dans la zone "Partie 4 - Application complète avec données", double-cliquez sur "Application complète (Exercice)".
    3. WINDEV vous propose d'ouvrir le projet que vous avez manipulé dans la leçon précédente. Vous pouvez ouvrir le projet présent sur votre poste ou ouvrir le projet original. Choisissez "Ouvrir la copie locale".

Corrigé

Un projet corrigé est disponible. Ce projet permet d'effectuer les différentes manipulations de cette leçon (si vous n'avez pas suivi les leçons précédentes). Pour ouvrir le projet corrigé, dans la page d'accueil, cliquez sur "Tutoriel" puis dans la zone "Partie 4 - Application complète avec données", double-cliquez sur "Application complète (Corrigé)".
Choix des langues du projet
  • La première opération consiste à choisir les langues du projet.
    1. Affichez la description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
    2. Cliquez sur l'onglet "Langues". Notre application va gérer le Français et l'Anglais.
    3. Cliquez sur le bouton "Ajouter". La fenêtre de sélection des langues apparaît.
      Sélection des langues du projet
    4. Cliquez sur "Anglais". Une coche apparaît à droite de la langue.
    5. Validez. La langue "Anglais" apparaît dans la liste des langues du projet.
  • L'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 :
    1. Cliquez sur la langue "Anglais".
    2. Sélectionnez l'onglet "Date".
    3. 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.
    4. Conservez l'option "Utiliser les paramètres définis dans les options linguistiques du système d'exploitation".

Note

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 interfaces avec une langue s'écrivant de droite à gauche.
  • Validez. 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.
Internationalisation de 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" (cet onglet est présent aussi bien dans la fenêtre de description des fichiers de données que dans la fenêtre de description des rubriques).
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.
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.
  • Pour gérer plusieurs langues dans une analyse :
    1. Affichez l'éditeur d'analyses : cliquez sur Charger l'analyse du projet parmi les boutons d'accès rapide du menu de WINDEV.
    2. Dans la description de l'analyse (option "Description de l'analyse" du menu contextuel), sélectionnez l'onglet "International".
    3. La liste des différentes langues gérées par l'analyse s'affiche. L'anglais n'étant pas géré :
      • Cliquez sur le bouton "Ajouter".
      • Sélectionnez "Anglais".
      • Validez la fenêtre d'ajout des langues.
    4. Validez la fenêtre de description de l'analyse.

      Note

      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".
  • 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" :
    1. Sélectionnez le fichier de données Client.
    2. Affichez la description des rubriques d'un fichier de données (option "Description des rubriques" du menu contextuel du fichier de données).
    3. 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.
    4. Dans l'onglet "Général", dans la zone "Libellé', saisissez le libellé pour la langue anglaise "Address".
    5. Validez la fenêtre de saisie des informations partagées.
    6. Validez la fenêtre de description des rubriques.

      Note

      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.
  • 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).
Internationalisation des éléments du projet
Tous les éléments du projet peuvent devenir multilingues : fenêtres, états, aide, etc.
Nous allons modifier quelques éléments de la fenêtre FEN_Menu pour voir les différentes méthodes à utiliser.
Nous allons ainsi modifier :
  • 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.
  • Ouvrez la fenêtre "FEN_Menu" sous l'éditeur (double-cliquez sur son nom dans le volet "Explorateur de projet", par exemple).
  • Vérifions tout d'abord que la fenêtre FEN_Menu est bien associée aux différentes langues définies dans le projet :
    1. Affichez la description de la fenêtre (option "Description" du menu contextuel de la fenêtre).
    2. Sélectionnez l'onglet "Langue" : les deux langues sélectionnées dans le projet apparaissent.
    3. Validez la fenêtre.

Internationalisation d'une image

  • Pour changer l'image du bandeau utilisé dans la fenêtre FEN_Menu selon la langue d'exécution :
    1. Ouvrez la fenêtre "FEN_Menu.WDW".
    2. 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.
    3. 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".
    4. Dans la zone "Image", cliquez sur le bouton .
    5. Dans le menu contextuel qui s'affiche, sélectionnez "Multilingue".
    6. 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.
    7. 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.
    8. Validez. Le libellé "<Valeur Multilingue>" apparaît désormais dans la zone "Image" de la fenêtre de description.
    9. Validez la fenêtre de description du champ.
    10. Enregistrez le modèle de fenêtres ( ou Ctrl + S).
    11. 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.
    12. Fermez le modèle de fenêtres affiché sous l'éditeur.

Internationalisation des champs

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.
    1. Double-cliquez sur le champ Onglet pour afficher sa fenêtre de description.
    2. Dans l'onglet "Général" de la fenêtre de description, sélectionnez le premier onglet "Liste des produits".
    3. 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.
    4. Fermez la fenêtre de description du champ.

Internationalisation d'un message de programmation

Tous les messages de votre programme 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 de l'option de menu :
    1. 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".
    2. Pour traduire ce type de message, positionnez le curseur dans la chaîne "Quitter l'application ?" et utilisez la combinaison de touches Ctrl + T. Il est également possible, sous le volet "Code", dans le groupe "Langues", de dérouler "Traduire les chaînes" et sélectionner "Traduction des messages".
    3. La fenêtre suivante apparaît :
    4. Cette fenêtre permet de saisir tous les messages de votre programme dans toutes les langues du projet.
    5. Dans la zone "Anglais", saisissez "Exit from the application?" et validez.
    6. L'icône apparaît sous l'éditeur de code.
      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.
    7. Fermez l'éditeur de code.

Internationalisation des menus

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.
  • Pour traduire le menu de la fenêtre "FEN_Menu" :
    1. 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).
    2. 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.
    3. Déroulez l'option "Menu".
    4. Sélectionnez l'option "Envoyer un email".
    5. Tapez sur la touche Espace du clavier : le libellé passe en édition.
    6. Saisissez le libellé en anglais : "Send an email" et validez.
    7. 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".
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 :
  1. Sous le volet "Accueil", dans le groupe "Environnement", déroulez "Options" et sélectionnez "Options générales de WINDEV".
  2. Affichez l'onglet "Traduction".
  3. 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).
  4. Validez.
  5. 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.
Programmation du changement de langue
Par défaut, le projet s'exécute dans la langue d'exécution définie pour le projet, dans l'onglet "Langues" de la description du projet (option "Description" sous le volet "Projet").
Dans une application, le choix de la langue peut s'effectuer via une option de menu. La fonction Nation utilisée dans l'événement associé à l'option de menu permet de changer la langue de l'application en cours d'exécution.

Ajout d'une option de menu

  • Pour ajouter une option de menu :
    1. Ouvrez si nécessaire la fenêtre "FEN_Menu" sous l'éditeur (double-cliquez sur son nom dans le volet "Explorateur de projet").
    2. Cliquez sur l'option "Menu" de la fenêtre. Le menu se déroule.
    3. Sélectionnez l'option "Envoyer un email".
    4. Affichez le menu contextuel (clic droit). Sélectionnez l'option "Ajouter après". Saisissez le libellé "Langues" et validez.
    5. Sélectionnez l'option "Langues" que vous venez de créer.
    6. Affichez le menu contextuel (clic droit) et sélectionnez l'option "Transformer pour dérouler un sous-menu".
    7. Saisissez le libellé de la première sous-option "Français".
    8. 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 :
  1. Sélectionnez l'option "Menu .. Langues .. Francais" sous l'éditeur.
  2. Affichez le menu contextuel (clic droit). Sélectionnez l'option "Code".
  3. Saisissez le code suivant :
    Nation(nationFrançais)
  4. Enregistrez vos modifications et fermez l'éditeur de code.
  5. Sélectionnez l'option "Menu .. Langues .. Anglais" sous l'éditeur.
  6. Affichez le menu contextuel (clic droit). Sélectionnez l'option "Code".
  7. Saisissez le code suivant :
    Nation(nationAnglais)
    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.
  8. Enregistrez vos modifications et fermez l'éditeur de code.

Test du projet

Nous avons traduit quelques éléments de l'application, nous allons maintenant tester le changement de langue.
  • Pour tester l'application :
    1. Lancez le test du projet ( parmi les boutons d'accès rapide). La fenêtre apparaît en mode test en français.
    2. Sélectionnez l'option "Menu .. Langues .. Anglais".
    3. 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.
    4. Terminez le test en sélectionnant l'option "Menu .. Quitter". Le message s'affiche en anglais.
    5. Validez et revenez sous l'éditeur.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 28
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire