Applications multilingues en pratique1 PrésentationUne application multilingue pourra être diffuséedans plusieurs langues. Les différentes langues <strong>de</strong>l'application seront prises en <strong>com</strong>pte lors <strong>de</strong>s différentesétapes du développement.Pour développer une application multilingue, lesétapes sont les suivantes :1. Choix <strong>de</strong>s langues gérées par le projet et l'analyse.2. Saisie <strong>de</strong>s différents éléments du projet (fenêtre,co<strong>de</strong>, ...) dans les différentes langues du projet.3. Détermination <strong>de</strong> la langue du projet par programmation.4. Gestion <strong>de</strong>s alphabets spécifiques dans lesfichiers <strong>de</strong> données.5. Création <strong>de</strong> l'exécutable et du programme d'installation.Remarques :•Si le système d’exploitation du poste en coursgère plusieurs langues (Hébreux, Arabe, Grec, ...),lors <strong>de</strong> la saisie <strong>de</strong>s traductions dans ces langues,l’alphabet correspondant sera automatiquementutilisé.• Si votre application est multilingue, il est nécessaire<strong>de</strong> gérer cette fonctionnalité dans les fenêtresdu groupware utilisateur, et les fenêtres <strong>de</strong>gestion automatiques <strong>de</strong>s erreurs HyperFileSQL.Pour plus <strong>de</strong> détails, consultez l’ai<strong>de</strong> en ligne.• La gestion <strong>de</strong> l’Unico<strong>de</strong> est disponible dans lesfichiers HyperFileSQL, les champs <strong>de</strong>s fenêtres.2 Choix <strong>de</strong>s langues gérées par le projet et l’analyse2.1 Langues gérées par le projetLes différentes langues gérées par le projet sontdéfinies dans la <strong>de</strong>scription du projet (option"Projet .. Description du projet .. Langues").Les différentes langues sélectionnées seront proposéespour toutes les informations <strong>de</strong>s différentséléments ou objets pouvant être traduites (libellés<strong>de</strong>s champs, options <strong>de</strong> menus, messages d'ai<strong>de</strong>associés à un champ, ...).Lors <strong>de</strong> la modification <strong>de</strong>s différentes langues duprojet, les modifications seront automatiquementprises en <strong>com</strong>pte :• pour tout nouvel élément ou objet créé sous l'éditeur<strong>de</strong> WinDev,• pour tout élément ou objet ouvert sous l'éditeur<strong>de</strong> WinDev.La langue principale correspond à la langue utiliséepar défaut en exécution.Options linguistiquesIl est possible <strong>de</strong> paramétrer l'affichage <strong>de</strong>s différentesdonnées numériques du projet (nombre,monétaire, date, ...) dans chaque langue gérée parle projet.Par défaut, les paramètres utilisés sont ceux définisdans les options linguistiques <strong>de</strong> Windows(accessible <strong>de</strong>puis le panneau <strong>de</strong> configuration <strong>de</strong>Windows).Ce paramétrage s'effectue dans l'onglet "Langues"<strong>de</strong> la <strong>de</strong>scription du projet (option "Projet .. Descriptiondu projet").Lors <strong>de</strong> la création d'un champ <strong>de</strong> saisie ou d'unecolonne <strong>de</strong> table affichant <strong>de</strong>s données <strong>de</strong> typenumérique (nombre, monétaire, date, heure, durée,...) le masque <strong>de</strong> saisie utilisé sera automatiquementle masque défini dans les options <strong>de</strong> languedu projet. Cette option est disponible dans les fenêtres.En exécution, lorsqu’un champ <strong>de</strong> saisie ou unecolonne <strong>de</strong> table a pour masque "Défini par le projet",le masque <strong>de</strong> saisie / d'affichage s'adapteraautomatiquement selon les options choisies dansle projet pour la langue affichée en exécution.Remarque : Les options linguistiques permettentégalement <strong>de</strong> définir le sens d'écriture et l'alphabetutilisé (option "divers").Programme exécutableLors <strong>de</strong> la création du programme exécutable, il estpossible <strong>de</strong> spécifier la ou les langues prises en<strong>com</strong>pte dans l'exécutable. Il est ainsi possible <strong>de</strong>créer par exemple, un programme exécutable diffé-140Partie 4 : Développement d’applications : concepts avancés
ent pour chaque langue gérée par le projet.Cette fonctionnalité permet <strong>de</strong> diminuer la taille <strong>de</strong>l'exécutable.2.2 Langues gérées par l'analyseSi votre projet utilise une analyse, le choix <strong>de</strong>s différenteslangues gérées par l'analyse se fait directementsous l'éditeur d'analyses. En effet, une mêmeanalyse peut être partagée entre différents projetsne proposant pas tous les mêmes langues. Ainsi, lenombre <strong>de</strong> langues défini pour l'analyse peut êtresupérieur à celui défini pour le projet.La configuration <strong>de</strong>s différentes langues gérées parl'analyse est effectuée par l'option "Analyse .. Description<strong>de</strong> l'analyse .. International".Les différentes langues configurées dans l'analyseseront proposées :• lors <strong>de</strong> la configuration <strong>de</strong>s informations partagées<strong>de</strong>s rubriques. Vous pouvez saisir la <strong>de</strong>scription<strong>de</strong>s champs liés aux rubriques (options,libellés, ...) dans les différentes langues géréespar l'analyse. Lors <strong>de</strong> la génération d'un "RADapplication <strong>com</strong>plète" ou d'un RAD fenêtre, cesinformations seront automatiquement prises en<strong>com</strong>pte pour toutes les langues <strong>com</strong>munes àl'analyse et au projet.• pour les informations imprimées dans le dossier<strong>de</strong> l'analyse (notes du fichier ou <strong>de</strong> la rubrique).• pour les informations gérées par "Etats et Requêtes".En effet, si le logiciel "Etats et Requêtes" estlivré avec votre application WinDev, il est possible<strong>de</strong> traduire le nom du fichier et le nom <strong>de</strong> chaquerubrique. Ainsi, l'utilisateur pourra utiliser lesnoms correspondant à sa langue lors <strong>de</strong> la création<strong>de</strong> ses états et requêtes. Ces informationspeuvent être saisies dans l'onglet "Etats etRequêtes" <strong>de</strong> la <strong>de</strong>scription <strong>de</strong> fichier et <strong>de</strong> la<strong>de</strong>scription <strong>de</strong> rubriques.2.3 Langues gérées par les différents élémentsdu projetPar défaut, les différents éléments du projet (fenêtres,états, co<strong>de</strong>, classes, collections <strong>de</strong> procédures,...) gèrent les mêmes langues que le projetdans lequel ils ont été créés.Il est possible qu'un élément gère plus <strong>de</strong> languesque le projet (cas par exemple ou l'élément est partagéentre plusieurs projets gérant <strong>de</strong>s langues différentes).3 Saisie <strong>de</strong> l’interface dans les différentes languesLorsque les différentes langues gérées par l'applicationont été sélectionnées, il est nécessaire <strong>de</strong>saisir toutes les informations affichées par l'applicationdans ces différentes langues.Pour saisir l'interface dans différentes langues, plusieurséléments doivent être pris en <strong>com</strong>pte :• Le mo<strong>de</strong> <strong>de</strong> traduction choisi.• Les langues gérées (langues utilisant un alphabetspécifique ou non)• L'utilisation <strong>de</strong> fenêtres spécifiques (groupwareutilisateur, Gestion automatique <strong>de</strong>s erreursHyperFileSQL, Aperçu avant impression)• Les messages affichés par programmation.3.1 Mo<strong>de</strong> <strong>de</strong> traduction choisiWinDev propose plusieurs mo<strong>de</strong>s <strong>de</strong> traduction :• Traduction automatique <strong>de</strong>s interfaces à l'ai<strong>de</strong>d'un outil <strong>de</strong> traduction spécifique, présent sur leposte <strong>de</strong> développement. Cette traduction estréalisée directement sous l'éditeur <strong>de</strong> WinDev.• Export <strong>de</strong> tous les messages à traduire à l'ai<strong>de</strong><strong>de</strong> WDMSG et réintégration après traduction.Traduction automatique <strong>de</strong>s interfacesPour chaque objet, différentes zones multilinguessont affichées dans les fenêtres <strong>de</strong> <strong>de</strong>scription <strong>de</strong>l'objet. Ces zones multilingues permettent <strong>de</strong> saisirles informations dans les différentes languesgérées par le projet.Pour traduire ces informations <strong>de</strong>puis WinDev :1. Configurez les options <strong>de</strong> traduction du logicielutilisé (option "Outils .. Options <strong>de</strong> WinDev .. Traduction").Ces options permettent <strong>de</strong> définir :•l'outil <strong>de</strong> traduction par défaut (et les modalités<strong>de</strong> transmission du texte à traduire et du textetraduit)• les langues source et <strong>de</strong>stination.2. Si un outil <strong>de</strong> traduction est précisé, dans chaqueélément contenant <strong>de</strong>s informations à traduire,un bouton "Traduire" sera affiché. Ce boutonpermettra <strong>de</strong> traduire le texte sélectionné en utilisantl'outil <strong>de</strong> traduction spécifié.3. Pour effectuer la traduction, il suffit <strong>de</strong> sélectionnerle texte à traduire et cliquer sur le bouton "Traduire".Partie 4 : Développement d’applications : concepts avancés 141