DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur de code
  • Présentation
  • Assistant de migration des messages multilingues vers le nouveau format
  • Pré-requis
  • Assistant de migration
  • Gestion des messages utilisés plusieurs fois
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
Messages multilingues : Conversion au nouveau format (version 27 et supérieure)
Présentation
WINDEV, WEBDEV et WINDEV Mobile permettent de gérer des projets multilingues depuis de nombreuses versions.
Jusqu'en version 26, l'éditeur de code gérait ces messages multilingues du code avec un mécanisme basé sur un "identifiant MessTraduit" de message. Dans les versions les plus anciennes, cet identifiant pouvait même être utilisé avec la fonction WLangage MessTraduit. Cette fonction est désormais conservée uniquement pour compatibilité et ne devrait plus être utilisée.
Ce mécanisme basé sur l'"identifiant MessTraduit" présentait en effet des limitations dans différentes opérations comme :
  • la fusion de branches par le GDS,
  • la gestion des messages des modèles,
  • la gestion des messages multilingues "liés" qui provoquait parfois des bugs ou des comportements non souhaités dans les applications ...
Une nouvelle technologie apparaît en version 27 pour supprimer ces contraintes. Pour utiliser cette nouvelle technologie dans vos projets développés avec une version précédente, un assistant spécifique permettant de changer de technologie doit être lancé.
Assistant de migration des messages multilingues vers le nouveau format

Pré-requis

Avant de lancer l'assistant de migration des messages multilingues, il est nécessaire de :
  • Réintégrer toutes les traductions "en cours" au préalable. En effet, après migration, les fichiers de traduction ne seront plus compatibles.
  • Réintégrer tous les éléments partagés par le GDS (conseillé).
  • Activer l'affichage des erreurs concernant les messages partagés au niveau du projet :
    1. Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description"
    2. Dans l'onglet "Compilation", cochez l'option "Signaler les messages multilingues partagés" :
      cette option permet d'identifier rapidement les messages multilingues partagés grâce à une erreur de compilation.
    3. Validez la fenêtre de description du projet. Acceptez la recompilation du projet.
Remarque : Pour les projets possédant plusieurs configurations, l'assistant devra être lancé pour chacune des configurations du projet.

Assistant de migration

Attention : L'assistant de conversion effectue directement les opérations nécessaires à chaque étape. En cas d'annulation avant la fin de l'assistant, seule une partie des messages seront convertis au nouveau format (ce qui peut provoquer des incohérences).
Pour lancer l'assistant de migration des messages multilingues :
  1. Sous le volet "Code", dans le groupe "Langues", déroulez "Traduire les chaînes", et sélectionnez l'option "Migration des messages multilingues au nouveau format". L'assistant se lance.
  2. Dans une première étape, l'assistant permet de migrer tous les appels à la fonction MessTraduit (fonction incompatible avec le nouveau format). Les appels à cette fonction doivent être convertis en l'utilisation d'un message multilingue indépendant. L'assistant liste les différents appels à cette fonction et les convertit automatiquement lors du passage à l'étape suivante.
  3. L'assistant vérifie ensuite si un même message multilingue est utilisé plusieurs fois dans le projet.
    Dans ce cas, le bouton "Supprimer les liens" permet de transformer les messages liés en plusieurs messages uniques. Le passage à l'étape suivante de l'assistant permet de convertir ces messages au nouveau format.
  4. L'assistant vérifie enfin si des messages multilingues sont partagés entre plusieurs projets. L'assistant liste les fichiers partagés qui ont au moins un message multilingue. Le passage à l'étape suivante de l'assistant permet de convertir ces messages au nouveau format, dans le projet local ainsi que dans le projet présent dans la base du GDS.
    Attention : seuls les messages des éléments partagés sont convertis au nouveau format. Il est également conseillé de convertir les messages des projets partageant les ressources pour éviter des problèmes d'incohérence.
  5. La dernière étape de l'assistant permet de convertir au nouveau format tous les messages multilingues restants (ceux qui ne posent pas de problèmes).
  6. A la fin de la conversion, l'assistant propose de lancer l'assistant de suppression des messages inutilisés pour obtenir un projet contenant uniquement les messages nécessaires au nouveau format.
Après l'exécution de l'assistant, tous les messages multilingues ont un "GUID" garantissant désormais leur unicité dans toutes les circonstances.
Gestion des messages utilisés plusieurs fois
Avec l'ancien format, il était possible de "partager" un message multilingue (par exemple en dupliquant du code) : un unique message de la fenêtre d'édition de messages pouvait alors être utilisé par deux chaînes différentes de deux codes distincts.
Le nouveau format ne permet pas cette possibilité. Plusieurs problèmes sont ainsi évités :
  • Modification d'un message à un endroit opportun pouvant provoquer un changement inadapté dans un autre code,
  • Suppression d'un message d'origine en laissant un texte vide par ailleurs,
  • Utilisation d'une traduction non adaptée à tous les "partages" (une même phrase française peut avoir différentes traductions selon le contexte dans une autre langue).
La réutilisation d'un même message dans différents traitements reste possible : il suffit pour cela de déclarer une Constante dans le projet.
  1. Déclarez et définissez la valeur de la constante.
    Par exemple :
    CONSTANTE
    PhraseFermeture = "Vous allez quitter cette application."
    FIN
    Dans ce code, la constante contient la chaîne multilingue à partager.
  2. Utilisez la constante dans les différents codes où le message doit être utilisé.
  3. Utilisez la fonction Nation pour changer dynamiquement la langue de l'application. La valeur de la constante s'adaptera automatiquement à la langue spécifiée avec la fonction Nation.
Rappel : La fonction Nation permet de changer la langue de la totalité de l'application (UI, code, valeurs des constantes, ...).
Attention : L'utilisation des constantes pour gérer la réutilisation des messages multilingues ne doit pas être systématique. Par exemple, si vous utilisez l'outil WDTRAD pour gérer la traduction de vos applications, il est possible d'utiliser la fonctionnalité de traduction automatique permettant de reporter la traduction lorsque des chaînes sont identiques. La traduction ne reste donc à faire qu'une seule et unique fois.
Version minimum requise
  • Version 27
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/04/2023

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