PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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'interface 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
7. Applications multilingues en pratique
Chapitre précédentSommaireChapitre suivant
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, ...) 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, ...), 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, ...).
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, ...
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 de table affichant des données de type numérique (nombre, monétaire, date, heure, ...), 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 de 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 "Elé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, ...) 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, ...) 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'interface 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'interface 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 HF-SQL, aperçu avant impression)
  • Les messages affichés par programmation.

Mode de traduction choisi

WINDEV propose plusieurs modes de traduction :
  • Traduction automatique des interfaces à 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 interfaces
Pour chaque élément, différentes zones multilingues sont affichées dans les fenêtres 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 (et les modalités de transmission du texte à traduire/traduit).
    • 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é des champs, ...), 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, ...), 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 répertoire \Programmes\Données\Fenêtres prédéfinies\HFSQL - Fenêtres assistance automatique.
  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 répertoire \Programmes\Donnees\Fenêtres prédéfinies\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 "Exécution", 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.
Aperçu avant impression
Par défaut, la fenêtre d'aperçu avant impression est disponible en anglais et français.
Pour traduire la fenêtre d'aperçu avant impression, il est nécessaire d'intégrer les fenêtres correspondant à l'aperçu avant impression dans votre application. Ces fenêtres sont fournies (avec leur code WLangage), dans le répertoire \Programmes\Donnees\Fenêtres prédéfinies\Apercu. 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 de type 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 WDINT.

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. La ligne de code apparaît sous l'éditeur de code :
Le drapeau indique que des traductions existent pour cette chaîne de caractères. Pour afficher la fenêtre de traduction, il suffit de cliquer sur ce drapeau.
Le chiffre (2 dans notre exemple) indique le nombre de traductions saisies pour cette chaîne de caractères.
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, ... 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 : Dans ce mode, si votre application gère des langues utilisant des alphabets spécifiques (grec, coréen, ...), 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 : 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, ...
Si vous choisissez de passer vos projets en mode UNICODE, un assistant mesurant l'impact du passage à Unicode est déclenché sur le projet lors du passage à la norme Unicode.
Chapitre précédentSommaireChapitre suivant
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire