Jusqu'en version 26, l'éditeur de code gérait les messages multilangues avec un mécanisme basé sur un "identifiant MessTraduit" de message :

 

Dans les versions les plus anciennes, cet identifiant pouvait être utilisé avec la fonction MessTraduit devenue inutile depuis. Cette technologie présentait des limitations dans différentes opérations comme la fusion de branches par le GDS, la gestion des messages des modèles, ou la gestion des messages liés.

 

Une nouvelle technologie apparaît en version 27 pour supprimer toutes les contraintes. Il s'agit de la nouveauté 092.

 

Cette nouvelle technologie supprime la notion d'identifiant pour les messages. Elle est activée par défaut pour les nouveaux projets créés en version 27. Afin d'en bénéficier dans un projet existant, un assistant est disponible :

  • dans la description du projet accessible par le volet "Projet" du ruban,
  • cocher "Signaler les messages multilangues partagés" dans le volet "Compilation",
  • puis dans le volet "Code" du ruban de l'éditeur,
  • dans le regroupement "Langues",
  • dérouler "Traduire les chaînes",
  • sélectionner "Migration des messages multilangues au nouveau format",
  • valider les différentes étapes, si besoin un choix "Supprimer les liens" permet de transformer les messages liés en messages uniques au nouveau format :

 

Une fois l'assistant exécuté, tous les messages ont un "GUID" garantissant leur unicité dans toutes les circonstances :

 

 

Précision pour la gestion des messages "liés" :
Avec l'ancien format, il était possible de faire "un lien" 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. Cette possibilité n'est pas permise dans le nouveau format, afin d'éviter :

  • que la modification d'un message à un endroit opportun, provoque un changement inadapté dans un autre code,
  • qu'une suppression d'un message d'origine, ne laisse un texte vide par ailleurs...

La réutilisation d'un même message dans différents traitements reste possible avec la nouvelle technologie. Il suffit d'utiliser une constante du projet :

  • la constante contient la chaîne multilangue à partager,
  • et la constante est utilisée partout ou la chaîne doit être partagée.

Cependant il n'est pas forcément utile de systématiquement prendre le temps de passer en constante toute chaîne pouvant être réutilisée. En effet la fonctionnalité de traduction automatique de l'outil WDTRAD qui accompagne WDMSG permet de reporter la traduction lorsque des chaînes sont identiques. La traduction reste donc à faire une seule fois.

 

-----------------------

Le sujet est développé dans la LST 128 :

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée