DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Concepts WINDEV / Partie 4 - Concepts avancés
  • Présentation
  • Choix des langues gérées par le projet et l'analyse
  • Langues gérées par le projet
  • Langues gérées par l'analyse
  • Langues gérées par les différents éléments du projet
  • Saisie de l'UI dans les différentes langues
  • Mode de traduction choisi
  • Langues utilisant un alphabet spécifique
  • Traductions des fenêtres spécifiques
  • Traduction des messages présents dans le code WLangage
  • Choix de la langue par programmation
  • Gérer des alphabets spécifiques dans des fichiers de données HFSQL
  • Gestion de l'Unicode et des alphabets spécifiques
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
7. Applications multilingues en pratique
Page précédenteSommairePage suivante
Présentation
Une application multilingue pourra être diffusée dans plusieurs langues. Les différentes langues de l'application seront prises en compte lors des différentes étapes du développement.
Pour développer une application multilingue, les étapes sont les suivantes :
  1. Choix des langues gérées par le projet et l'analyse.
  2. Saisie des différents éléments du projet (fenêtre, code, etc.) dans les différentes langues du projet.
  3. Détermination de la langue du projet par programmation.
  4. Gestion des alphabets spécifiques dans les fichiers de données.
  5. Création de l'exécutable et du programme d'installation.
Remarques :
  • Si le système d'exploitation du poste en cours gère plusieurs langues (Hébreux, Arabe, Grec, etc.), lors de la saisie des traductions dans ces langues, l'alphabet correspondant sera automatiquement utilisé.
  • Si votre application est multilingue, il est nécessaire de gérer cette fonctionnalité dans les fenêtres du groupware utilisateur et les fenêtres de gestion automatique des erreurs HFSQL. Pour plus de détails, consultez l'aide en ligne.
  • La gestion de l'Unicode est disponible dans les fichiers de données HFSQL, les champs des fenêtres et le code WLangage.
Choix des langues gérées par le projet et l'analyse

Langues gérées par le projet

Les différentes langues gérées par le projet sont définies dans la description du projet :
  1. Sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description". La fenêtre de description du projet s'affiche.
  2. Dans l'onglet "Langues", il est possible d'ajouter ou de supprimer les langues gérées par le projet.
Les différentes langues sélectionnées seront proposées pour toutes les informations des différents éléments ou objets pouvant être traduites (libellés des champs, options de menus, messages d'aide associés à un champ, etc.).
Lors de la modification des différentes langues du projet, les modifications seront automatiquement prises en compte :
  • pour tout nouvel élément ou objet créé sous l'éditeur de WINDEV,
  • pour tout élément ou objet ouvert sous l'éditeur de WINDEV.
La langue principale correspond à la langue utilisée par défaut en exécution.
Options linguistiques
L'onglet "Langues" de la description du projet permet également de définir toutes les options spécifiques à une langue : nombre, monétaire, date, etc.
Par défaut, les paramètres utilisés sont ceux définis dans les options linguistiques de Windows (accessibles depuis le panneau de configuration de Windows).
Lors de la création d'un champ de saisie ou d'une colonne d'un champ Table affichant des données de type numérique (nombre, monétaire, date, heure, etc.), le masque de saisie utilisé sera automatiquement le masque défini dans les options de langue du projet. Cette option est disponible dans les fenêtres.
En exécution, lorsqu'un champ de saisie ou une colonne d'un champ Table a pour masque "Défini par le projet", le masque de saisie / d'affichage s'adaptera automatiquement selon les options choisies dans le projet pour la langue affichée en exécution.
Remarque : Les options linguistiques permettent également de définir le sens d'écriture et l'alphabet utilisé (option "Divers").
Programme exécutable
Lors de la création du programme exécutable, il est possible de spécifier la ou les langues prises en compte dans l'exécutable. Il est ainsi possible de créer par exemple, un programme exécutable différent pour chaque langue gérée par le projet.
Cette fonctionnalité permet de diminuer la taille de l'exécutable.

Langues gérées par l'analyse

Si votre projet utilise une analyse, le choix des différentes langues gérées par l'analyse se fait directement sous l'éditeur d'analyses. En effet, une même analyse peut être partagée entre différents projets ne proposant pas tous les mêmes langues. Ainsi, le nombre de langues défini pour l'analyse peut être supérieur à celui défini pour le projet.
Pour configurer les différentes langues gérées par l'analyse :
  1. Affichez l'analyse de votre projet sous l'éditeur.
  2. Affichez la fenêtre de description de l'analyse : sous le volet "Analyse", dans le groupe "Élément courant", cliquez sur "Description".
  3. Sélectionnez l'onglet "International" de la fenêtre de description de l'analyse.
Les différentes langues configurées dans l'analyse seront proposées :
  • lors de la configuration des informations partagées des rubriques. Vous pouvez saisir la description des champs liés aux rubriques (options, libellés, etc.) dans les différentes langues gérées par l'analyse. Lors de la génération d'un "RAD application complète" ou d'un RAD fenêtre, ces informations seront automatiquement prises en compte pour toutes les langues communes à l'analyse et au projet.
  • pour les informations imprimées dans le dossier de l'analyse (notes du fichier de données ou de la rubrique).
  • pour les informations gérées par "Etats et Requêtes". En effet, si le logiciel "Etats et Requêtes" est livré avec votre application WINDEV, il est possible de traduire le nom du fichier de données et le nom de chaque rubrique. Ainsi, l'utilisateur pourra utiliser les noms correspondant à sa langue lors de la création de ses états et requêtes. Ces informations peuvent être saisies dans l'onglet "Etats et Requêtes" de la description de fichier de données et de la description de rubriques.

Langues gérées par les différents éléments du projet

Par défaut, les différents éléments du projet (fenêtres, états, code, classes, collections de procédures, etc.) gèrent les mêmes langues que le projet dans lequel ils ont été créés.
Il est possible qu'un élément gère plus de langues que le projet (par exemple si l'élément est partagé entre plusieurs projets gérant des langues différentes).
Saisie de l'UI dans les différentes langues
Lorsque les différentes langues gérées par l'application ont été sélectionnées, il est nécessaire de saisir toutes les informations affichées par l'application dans ces différentes langues.
Pour saisir l'UI (interface utilisateur) dans différentes langues, plusieurs éléments doivent être pris en compte :
  • Le mode de traduction choisi.
  • Les langues gérées (langues utilisant un alphabet spécifique ou non).
  • L'utilisation de fenêtres spécifiques (groupware utilisateur, gestion automatique des erreurs HFSQL, visualisateur de rapports).
  • Les messages affichés par programmation.

Mode de traduction choisi

WINDEV propose plusieurs modes de traduction :
  • Traduction automatique des UI à l'aide d'un outil de traduction spécifique, présent sur le poste de développement. Cette traduction est réalisée directement sous l'éditeur de WINDEV.
  • Export de tous les messages à traduire à l'aide de WDMSG et réintégration après traduction.
Traduction des UI
Pour chaque élément, différentes zones multilingues sont affichées dans les différents onglets de la fenêtre de description de l'élément. Ces zones multilingues permettent de saisir les informations dans les différentes langues gérées par le projet.
Pour traduire ces informations depuis WINDEV :
  1. Affichez les options de WINDEV pour configurer les options de traduction du logiciel utilisé : sous le volet "Accueil", dans le groupe "Environnement", déroulez "Options" et sélectionnez "Options générales de WINDEV".
  2. Dans l'onglet "Traduction", il est possible de définir :
    • l'outil de traduction par défaut.
    • les langues source et destination.
  3. Si un outil de traduction est précisé, dans chaque élément contenant des informations à traduire, un bouton "Traduire" sera affiché. Ce bouton permettra de traduire le texte sélectionné en utilisant l'outil de traduction spécifié.
  4. Pour effectuer la traduction, il suffit de sélectionner le texte à traduire et cliquer sur le bouton "Traduire".
Export et réintégration des informations à traduire
L'outil WDMSG, disponible séparément, permet d'extraire tous les messages d'un projet (libellés des champs, bulles d'aide, etc.), puis de les réintégrer après traduction.
Contactez le service commercial de PC SOFT pour plus de détails sur les conditions d'utilisation de ce produit.

Langues utilisant un alphabet spécifique

Si votre application gère des langues utilisant des alphabets spécifiques (Grec, Russe, etc.), il est nécessaire de saisir la traduction des différents messages multilingues en utilisant ces alphabets spécifiques.
WINDEV permet de gérer automatiquement l'utilisation des alphabets spécifiques sous l'éditeur.
En effet, dès que le caret (curseur de saisie de la souris) est positionné dans une zone de saisie d'une langue utilisant un alphabet spécifique, la langue d'entrée (alphabet utilisé par le clavier) correspondante est automatiquement activée.
Ainsi, si vous saisissez un libellé dans la zone Russe de la description du libellé, l'alphabet utilisé par le clavier sera automatiquement le russe.
Rappel : Pour utiliser des alphabets spécifiques, il est nécessaire d'installer les fichiers correspondants aux alphabets voulus dans les options régionales de Windows (panneau de configuration).

Traductions des fenêtres spécifiques

Gestion des erreurs HFSQL
Par défaut, les fenêtres de gestion des erreurs HFSQL sont fournies en anglais et en français. Pour les traduire dans une autre langue, il est nécessaire de :
  1. Intégrer les fenêtres d'erreur par défaut dans votre projet. Les fenêtres sont fournies (avec leur code WLangage) à titre d'exemple dans le sous-répertoire "\Programs\Data\Preset Windows\FR\HyperFileSQL - Fenêtres assistance automatique\WD".
  2. Personnaliser la gestion des erreurs pour utiliser les fenêtres HFSQL de gestion des erreurs (fonction HSurErreur).
  3. Traduire les différents messages (voir paragraphe précédent).
Gestion automatique des erreurs
Par défaut, les fenêtres de gestion automatique des erreurs sont fournies en anglais et en français. Pour les traduire dans une autre langue, il est nécessaire de :
  1. Intégrer les fenêtres d'erreur par défaut dans votre application. Ces fenêtres sont fournies (avec leur code WLangage) à titre d'exemple, dans le sous-répertoire "\Programs\Data\Preset Windows\FR\Assertion - Erreur - Exception".
  2. Traduire les différents messages (voir paragraphe précédent).
Groupware utilisateur
Par défaut, le groupware utilisateur est livré en anglais et en français.
Pour traduire une application utilisant le groupware utilisateur, il est nécessaire de choisir une intégration personnalisée lors du paramétrage du groupware utilisateur dans votre application.
Rappel : Pour paramétrer le groupware utilisateur, sous le volet "Projet", dans le groupe "Projet", cliquez sur "Groupware Utilisateur".
Lors de l'intégration personnalisée, les différents éléments du groupware utilisateur sont intégrés via un composant interne.
Il ne restera plus qu'à traduire ces éléments lors de la traduction du projet.
Remarque : Si nécessaire, lors du paramétrage du groupware utilisateur, dans l'onglet "Général", sélectionnez l'option "Lancement manuel" : vous pourrez ainsi afficher une fenêtre de sélection de la langue de l'application avant de lancer la fenêtre de login.
Visualisateur de rapports
Par défaut, la fenêtre du visualisateur de rapports est disponible en anglais et français.
Pour traduire cette fenêtre, il est nécessaire d'intégrer les fenêtres correspondant au visualisateur de rapports dans votre application. Ces fenêtres sont fournies (avec leur code WLangage), dans le sous-répertoire "\Programs\Data\Preset Windows\FR\Visualisateur de rapports". Pour plus de détails, consultez l'aide en ligne.
Il ne restera plus qu'à traduire ces fenêtres.
Menus système
Pour les champs de saisie ou les champs Table, WINDEV propose un menu contextuel par défaut. Ce menu permet à l'utilisateur de réaliser simplement diverses opérations.
Pour traduire ces menus, il est nécessaire de posséder WDMSG.

Traduction des messages présents dans le code WLangage

Dans votre code, diverses fonctions du WLangage vous permettent de communiquer avec l'utilisateur au moyen de chaînes de caractères. Ces messages doivent être eux aussi traduits dans les différentes langues de votre application.
Pour traduire une chaîne de caractères saisie dans l'éditeur de code :
  1. Sélectionnez la chaîne de caractères à traduire.
  2. Dans le menu contextuel de la sélection, choisissez l'option "Traduire". La fenêtre de traduction des messages s'affiche.
  3. Saisissez la traduction et validez.
  4. La ligne de code apparaît sous l'éditeur. Une icône apparaît à droite du message traduit. Cette icône indique que le message en cours est un message multilingue. L'icône permet d'accéder rapidement à la fenêtre de traduction.
    Le survol de l'icône affiche dans une bulle les différentes traductions existantes pour la chaîne dans toutes les langues du projet.
Remarque : Pour transformer tous les messages de votre code en messages multilingues, sous le volet "Code", dans le groupe "Langues", déroulez "Traduire les chaînes" et sélectionnez l'option "Convertir les chaînes simples en messages multilingues".
Choix de la langue par programmation
Une application multilingue est une application qui pourra être diffusée dans plusieurs langues. L'utilisateur pourra choisir la langue d'exécution de l'application. Il est possible par exemple :
  • de demander la langue d'exécution au premier lancement de l'application
  • de prévoir une option (option de menu ou bouton par exemple) permettant à l'utilisateur de changer de langue en cours d'exécution de l'application.
Gérer des alphabets spécifiques dans des fichiers de données HFSQL
Lorsqu'une application permet d'afficher ou d'enregistrer des données dans des fichiers de données HFSQL, ces données sont saisies dans la langue en cours.
Si l'application est utilisée dans un pays utilisant des alphabets latins, aucune gestion spécifique n'est nécessaire.
Si l'application est utilisée dans un pays utilisant un alphabet spécifique, il est nécessaire de gérer cet alphabet également au niveau des fichiers de données. Ainsi, les recherches, les tris (ou autre) seront effectués en fonction de l'alphabet choisi.
Gestion de l'Unicode et des alphabets spécifiques
WINDEV propose deux modes de gestion :
  • le mode mono alphabet (option "Utiliser des chaînes ANSI en exécution") : Dans ce mode, si votre application gère des langues utilisant des alphabets spécifiques (grec, coréen, etc.), il est possible de changer par programmation :
    • l'alphabet utilisé par toutes les polices écran (fonction ChangeAlphabet). Cet alphabet pourra également être utilisé pour les données enregistrées dans les fichiers HFSQL. Pour plus de détails, consultez l'aide en ligne (mot-clé : Multilingue).
    • la langue du clavier manipulé par les utilisateurs de l'application (fonction ChangeClavier).
  • le support complet de Unicode (option "Utiliser des chaînes UNICODE en exécution") : Ce mode permet de gérer les alphabets non latins. Dans ce mode, les fonctions ChangeAlphabet et ChangeClavier sont inutiles. Le changement d'alphabet est réalisé automatiquement selon les options de langue définies dans la description du projet. Il est également possible de mélanger les différents alphabets.
La configuration du mode de gestion de l'Unicode est réalisée dans les options de la configuration en cours (onglet "Unicode" de la fenêtre de description de la configuration).
Important
Si vous choisissez de passer vos projets en mode UNICODE, la cohabitation ANSI / Unicode génère toutefois des contraintes : il faut traduire les données lors du passage d'un système de codage à l'autre. L'échange de chaînes texte avec l'extérieur de l'application doit être adapté pour prendre en compte la nouvelle représentation mémoire des chaînes (en Unicode, 1 caractère est codé sur 2 octets alors qu'en ANSI il est codé sur 1 seul octet) : appel d'API, lecture ou écriture sur disque pour échange de données, lecture ou écriture de sockets contenant des chaînes, etc.
Pour vous aider, un assistant mesurant l'impact du passage à Unicode est déclenché sur le projet lors du passage à la norme Unicode.
Page précédenteSommairePage suivante
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 14/09/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale