Administration des dictionnaires (traduction)
Administration de dictionnaire
Glossaire
Dictionnaire source : Dictionnaire de traduction des messages provenant du code source et des écrans Outils ainsi que du code source issu des objets métiers.
Dictionnaire interface : Dictionnaire de traduction des messages provenant des écrans et des états.
Dictionnaire menu : Dictionnaire de traduction des messages provenant des menus des applications.
Dictionnaire objet : Dictionnaire des messages en provenance d'un objet de type système (librairie bpl ou exe), métiers (exemple GenEnvironement) ou menu. Ce type de dictionnaire est obtenu dans la phase d'extraction des messages.
Dictionnaire application : Dictionnaire des messages pour une application L1000 (exemple Application Trésorerie). Ce dictionnaire est construit à partir des dictionnaires objet des objets utilisés dans l'application.
Dictionnaire Sage : Dictionnaire fournit par la société Sage. Ce type de dictionnaire est non modifiable car une mis à jour de l'application peut le remplacer.
Dictionnaire utilisateur ou partenaire : Dictionnaire crée par les utilisateurs de la L1000.
Dictionnaire delta : Dictionnaire contenant les différences par rapport à un dictionnaire de traduction. Les dictionnaires delta sont créés en essayant de modifier un dictionnaire Sage.
Langue initiale (du conteneur): La langue initiale de l’application (conteneur)avant connexion à la base master. Les dictionnaires L1000 sont stockés dans la base de données. Avant connexion à la base, la langue des dictionnaires utilisés pour la traduction de l'écran de l'application est déterminée par cette constante enregistrée dans la base des registres Windows: HKEY_CURRENT_USER\Software\Sage\Ligne 1000\Preferences\Translate\Language="ESN"
Rappel sur le principe de la traduction
Une application est constituée de modules. Pour chaque module on peut associer des dictionnaires qui contiennent les messages du module et leur traduction. Dans une langue, le dictionnaire de l'application est la fusion des dictionnaires des modules de l'application. Quand l'utilisateur choisit une langue, le dictionnaire associé est chargé en mémoire. Les écrans et les messages sont traduits au moment de leur affichage.
Pour des raisons de performances et de modularité, pour une langue donnée, les dictionnaires sont divisés en trois parties : le dictionnaire interface construit avec les messages contenus dans les écrans et états, le dictionnaire source construit avec les messages écrits dans les objets métiers et les outils développés en Delphi, et le dictionnaire menu avec les entrées dans le menu principal de l'application.
Les dictionnaires sont modifiables par les utilisateurs finaux qui pourront ainsi améliorer le message traduit. Normalement, les dictionnaires seront fournis ensemble avec les modules. Le développement d'un module pourra impliquer des changements dans les dictionnaires associés. Chaque déploiement d'une nouvelle version pourrait donc écraser la version antérieure d'un dictionnaire. En conséquence, pour éviter l'écrasement des modifications faites par les utilisateurs, un dictionnaire delta est créé contenant ces modifications, le dictionnaire fourni restant ainsi inchangé. Le dictionnaire delta s'applique comme un patch sur le dictionnaire fourni. Si un même message est contenu dans le dictionnaire original et le dictionnaire delta, c'est la traduction delta qui est prioritaire.
En résumé, chaque module pourra avoir, pour chaque langue de traduction trois dictionnaires fournis, menu, source et interface. Chaque dictionnaire fourni pourra être modifié. Ces modifications seront enregistrées dans les trois dictionnaires delta d'un module. Les trois dictionnaires d'une application (source, menu et interface) seront construits en fusionnant les dictionnaires des objets et menus associés à cette application.
Gestion de la traduction
Menu associé aux Langues
La gestion des dictionnaires est accessible via la console d'administration.
Une rubrique "Langues" dans la racine permet de définir les langues utilisées. Le menu contextuel de l'élément "Langues" permet d'ajouter, supprimer des langues et de définir la langue initiale du conteneur.
La langue initiale du conteneur définit la langue de l'application avant la connexion à la base et peut être différente d'un ordinateur à un autre.
Une fois les langues définies, la construction d'une langue génère les dictionnaires des objets.
La génération peut se faire :
soit par extraction des messages.
soit par copie des messages d’un dictionnaire équivalent dans une autre langue.
La méthode par copie doit être utilisée pour les objets systèmes pour lesquels il n’est pas possible de réaliser une extraction.
La méthode par copie est plus rapide que la méthode par extraction.
Menu associé aux nœuds « Traduction ».
Le menu contextuel de l'élément "Traduction" permet la construction de ces dictionnaires.
Figure 5 Le menu contextuel de l'élément "Traduction" des objets
Construire une langue :
Cette fonction crée tous les dictionnaires associés à l’objet en utilisant soit la méthode par extraction soit la méthode par copie .
Supprimer une langue :
Cette fonction supprime tous les dictionnaires associés à l’objet.
Importer un nouveau dictionnaire :
Cette fonction importe un dictionnaire à partir d’un fichier dictionnaire . Les fichiers dictionnaires peuvent être sauvegarder par la fonction « sauvegarder sous » du menu associé aux dictionnaires.
Les nœuds « Traduction » associés aux « Applications » possède une fonction supplémentaire :
Figure 6 Le menu contextuel de l'élément "Traduction" des applications
Mise à jour :
Cette fonction permet de mettre à jour les dictionnaires de référence de l’application après une mise à jour du produit. Cette fonction réalise l’ensemble des opérations nécessaires.
Menu associé à chaque dictionnaire.
Le menu contextuel de chaque dictionnaire permet de modifier le dictionnaire (traduire les messages) via une interface graphique, d'exporter les messages dans un fichier texte, d'importer les traductions à partir d'un fichier texte ou un fichier dictionnaire ('*.dut, *.dud') ou d'importer tous les messages et leur traduction à partir d'un fichier dictionnaire. Le dictionnaire peut être complètement remplacé à partir d’un fichier et il peut être sauvegardé dans un fichier.
Figure 7 Le menu contextuel d'un dictionnaire.
Traduire :
Cette fonction appelle l’interface de traduction des messages.
Supprimer :
Cette fonction supprime le dictionnaire.
Actualiser les dictionnaires des objets :
Cette fonction met à jour les traductions dans tous les autres dictionnaires. La traduction d’un message sera reporté dans tous les dictionnaires qui comporte le même message.
Exporter les messages (Texte):
Cette fonction exporte tous les messages, sans leur traduction, dans un fichier texte. Ce fichier peut être utilisé pour réaliser une traduction à l’extérieur du produit puis réimporté à l’aide de la fonction « Importer les traductions »
Exporter les traductions (Texte):
Cette fonction exporte tous les traductions dans un fichier texte. Ce fichier peut être utilisé pour réaliser une traduction ou correction à l’extérieur du produit puis réimporté à l’aide de la fonction « Importer les traductions »
Importer les traductions (Texte)
Cette fonction importe les traduction d’un fichier texte.
Importer les messages (dictionnaire) :
Cette fonction importe les traductions contenues dans un fichier dictionnaire. Les traductions qui se trouvent dans le dictionnaire importé remplacent et écrasent les traductions du dictionnaire.
Remplacer par …
Cette fonction remplace la totalité du dictionnaire.
Sauvegardez sous :
Cette fonction sauvegarde le dictionnaire dans un fichier au format « dictionnaire ».
Visualiser/modifier les messages d’un écran
Les messages présents dans un écran pourront être visualisé avec CTRL-F9 dans l’écran.
Figure 10 Visualisation des messages présents dans un écran
Avec le menu contextuel, la traduction des messages peut être faite dans l’interface de traduction. L’enregistrement des messages actualise les traductions dans les dictionnaire de l’application.
Attention. Cette fonction ne devrait pas être utilisée dans la version du 25/02/03. La traduction ajoute le caractère « ~ » devant la traduction d’un message pour montrer que le message a été extrait et traduit. Le mise à jour du dictionnaire de l’application via cette méthode ajoute dans le dictionnaire le caractère « ~ ».
Mise à jour des dictionnaires étrangers
Après une mise à jour de la Ligne 1000, des nouveaux dictionnaires de référence (fournis par SAGE France) sont déployés. Les dictionnaires, dans une langue étrangère, des objets et des applications peuvent alors être obsolètes.
La technique pour actualiser ces dictionnaires consiste en trois étapes :
Actualiser d’abord les dictionnaires des objets dans la langue concernée à partir du dictionnaire de l’application. Cette opération actualise la traduction dans chaque dictionnaire d’objet associé à l’application les messages. ( Fonction' « Actualiser les dictionnaires des objets » du menu ass'ocié aux nœuds « Traduction » des « Applications » )
Reconstruction des dictionnaires des objets par extraction ou copie à partir des dictionnaires de la langue de référence(français). Cette étape ajoute dans les dictionnaires étrangers des objets les nouveaux messages et marque comme supprimés les messages qui n’existent plus. ( Fonction' « Construire une langue » du menu associé aux nœuds « Langues » )
Fusion des dictionnaires étrangers des objets dans un nouveau dictionnaire d’application. Après cette dernière étape, le dictionnaire de l’application doit être en phase avec l’application mais les nouveaux messages ne sont pas encore traduits. ( Fonction' « Construire une langue » du menu associé aux nœuds « Traduction » des « Applications » )
'Ces trois étap'es sont réunies par la fonction « Mise à jour (reconstruction) » disponible dans le menu associé aux nœuds « Traduction » des « Applications »
Utilisation Optimale
Attention. L'outil de traduction est encore en phase de développement. Toutes les opérations de manipulation des dictionnaires pourraient corrompre ou détruire des dictionnaires. Avant toute manipulation une sauvegarde des dictionnaires est obligatoire.
Présentation du modèle
Construction des dictionnaires objet
L'installateur de cette version doit installer les dictionnaires français des objets. Les dictionnaires français ne doivent pas être modifiés car la prochaine mis à jour pourrait écraser ces modifications. Des dictionnaires espagnols sont fournis pour l'application Trésorerie 1000, dictionnaires qui sont le résultat d'intégration des fichiers de traductions envoyés par Optima. Les versions suivantes n’intégreront pas la mise à jour de ces dictionnaires espagnols.
Dans la console d'administration, rubrique "Langues" il faut donc ajouter les langues Français (France) et Espagnol (alphabet international)
Lorsqu’une langue est ajoutée, tous les dictionnaires Objet sont créés dans les objets métiers utilisés par la langue de référence sélectionnée par l’utilisateur (voir Figure 4 Dialogue des options de construction des dictionnaires).
Construction des dictionnaires application
Il est important de voir les dictionnaires application comme des dictionnaires temporaires de travail qui ont l'avantage de regrouper les messages et d'éliminer les messages dupliqués de l’ensemble des dictionnaires objet.
En conséquence, chaque fois qu’un dictionnaire objet est créé ou modifié (exemples : mise à jour d’une nouvelle version, création d’une nouvelle interface, modification de menus,…) la construction (ou plutôt la re-construction) des dictionnaires application s’avère nécessaire pour intégrer ces modifications.
Attention : La construction des dictionnaires application est une opération uniqueme'nt manuelle.
Pour une application donnée (exemple : Applications/Application trésorerie/Traductions), le menu contextuel Construire le dictionnaire - dans notre exemple Espagnol (alphabet international) – permet de générer ou mettre à jour tous les dictionnaires application.
Au cours de cette construction, les messages qui ne sont plus utiles sont marqués avec le flag « Supprimé ». L’écran Traduction des messages – voir - permet de supprimer ces messages définitivement via le menu contextuel Supprimer les messages situé dans la grille d’affichage.
Traduction des dictionnaires applications
Il existe deux modes d’utilisation permettant la traduction des messages :
Interface de traduction
Sur un dictionnaire donné (exemple : Applications/Application trésorerie/Traductions/interface-Espagnol (alphabet international), le menu contextuel Modifier… permet d’afficher l’écran Traduction des messages. La traduction peut se faire directement dans cette interface (voir Figure 8 Interface de traduction).
Export de fichier messages
Sur un dictionnaire donné (exemple : Applications/Application trésorerie/Traductions/interface-Espagnol (alphabet international), le menu contextuel Exporter les messages à traduire… permet de générer un fichier texte contenant tous les messages de l’application.
Sur ce même dictionnaire, le menu contextuel Modifier…' permet d’afficher l’écran Traduction des messages. A partir de cet écran Tradu'ction des messages, il est possible de filtrer la liste des messages de la grille (verrouillés, traduits, marqués, importés, supprimés, erronés) et d'extraire cette sélection en utilisant le menu contextuel Exporter les messages non filtrés. A titre d’exemple, cette fonction permet, en décochant préalablement le filtre "traduits", d’exporter uniquement les messages non encore traduits.
Les messages sont générés uniquement en fichier texte.
Import de fichier messages
Sur un dictionnaire donné (exemple : Applications/Application trésorerie/Traductions/interface-Espagnol (alphabet international), le menu contextuel Importer les messages à traduire… permet d’importer un fichier texte contenant tous les messages traduits.
Le fichier à importer doit toujours être en format texte. Attention donc, si vous utilisez Word pour traduire les messages, il ne suffit pas de renommer l’extension du fichier .doc en .txt pour que cela fonctionne correctement. Il faut impérativement enregistrer au format texte en utilisant la fonction Fichier/Enregistrer sous/ et en sélectionnant Type de fichier : Texte seulement.
Attention ! Il n’est plus possible de réintégrer un fichier texte lorsque :
'une modification, suppression ou ajout a modifié le dictionnaire d’origine entre l’export e't la réintégration
l’une des 2 premières 'ligne' d’entête du fichier texte a été supprimée ou modifiée.
Les dictionnaires à utiliser dans la phase de traduction de la Trésorerie sont les dictionnaires des applications trésorerie (Applications/Application trésorerie/Traductions) et administration (Applications/
Application Administration/Traductions).
Avertissement : le répertoire Applications/Application Administration/Traductions n’existe pas dans la version master du 13/12/2002 mais sera ajoutée dans la ve'rsion suivante.
Traduction des dictionnaires objet
La traduction des message peut également s’effectuer au niveau des objets.
La procédure est identique à celle des dictionnaires application sauf que ces dictionnaires sont accessibles sous le chemin Objet/Métiers/xxx/Traductions.
Actualisation des dictionnaires objet
Après avoir traduit les messages (par interface ou import) il est nécessaire de mettre à jour les autres dictionnaires objet.
Sur un dictionnaire donné (exemple : Applications/Application trésorerie/Traductions/interface-Espagnol (alphabet international), le menu contextuel Actualiser les dictionnaires des objets… permet de mettre à jour l’ensemble des dictionnaires objet de l’application.
Figure 11. Actualiser les dictionnaires des objets
5. Utilisation SAGE
Réintégration des traductions d'Optima et régénération des dictionnaires
(ADMIN_LEVEL=99)
Les fichiers reçus d’Optima sont des dictionnaires d’applications. Le nom du chaque fichier (Ex : application administration_src.esn.dut) indique l’application(ex : administration), le type du dictionnaire(src=source, gui=interface, mnu=menu, doc=documentation), la langue (espagnol, alphabet international). La procédure d’intégration consiste à remplacer les dictionnaires des applications pour chaque fichier (etape1) et la mise à jour des dictionnaires des objets (étape 2).
Etape 1
Figure 12. Remplacer un dictionnaire d'application
L’étape consiste à remplacer l’ancien dictionnaire par la nouvelle version d’OPTIMA. Pour chaque dictionnaire reçu, le menu contextuel permet le remplacement. Dans la boîte de dialogue de sélection d’un fichier il faut choisir le fichier reçu d’OPTIMA.
Etape 2
L’étape consiste a actualiser les dictionnaires d’objets a partir des dictionnaires d’application. Pour chaque dictionnaire la procédure a suivre est détaille dans la section