Ce document représente une exploitation de la documentation de référence citée. Cette documentation “générale” doit être privilégiée.
Paramétrage
L'ordre des dictionnaires, ainsi que les formatages de date, de caractère séparateur de milliers et décimal, sont réglés dans le fichier translateParams.txt.
<LanguageCode>CA<Description>Francais Canadien<DATEType>BE<HELPCODE>FR<DateSeparator>- <LanguageCode>EN<Description>Anglais<DATEType>BE<HELPCODE>EN<DateSeparator>-<ThousandSeparator>Comma<DecimalSeparator>Point <Dictionnary>Divalto<Language>EN <file>client_en.dhot <file>dan_en.dhot <file>infinitylangue_en.dhot <file>infinitylangue_imp_en.dhot <LanguageBaseData>CA <LanguageCodeData>CA,EN
Génération d'un dictionnaire
Généralités
La mise en œuvre d'un dictionnaire de traduction nécessite plusieurs outils : Xwin et Xtranslate, et possiblement Excel pour définir les traductions en masse.
Xwin permet d'extraire les libellés pour générer le dictionnaire de référence (exemple : dictio.dhfi/dhfd)
Xtranslate permet de créer et gérer les dictionnaires de traduction par langue (exemple : dictio_EN.dhfi/dhfd) à partir du dictionnaire de référence
Xtranslate permet de compiler les dictionnaires objet (dictio_EN.dhot) qui sont les seuls requis à l'exécution
Extraction
Préparation dossier
Créer un dossier accessible par les implicites de l'environnement
Placer dans ce dossier les sources spécifiques dhsf, dhsi, dhsp. Ne pas copier les dhsd ni les masques "_base".
Les sources dhsq peuvent être incluses (utiles si développement par des non francophones)
Ajouter les fichiers menus surchargés spécifiques (ccfu, g3fu, gafu, r3fu, etc). A5fu n'est pas requis.
Ajouter les fichiers d'erreur spécifiques.
Il n'est pas nécessaire d'ajouter les dictionnaires multichoix, les éléments utilisés sont inclus dans les sources de masques.
Préparation fichier complémentaire
Pour extraire le contenu des menus et des fichiers d'erreur, il est nécessaire de fournir à Xwin un fichier complémentaire .txt. Exemple et recommandation de contenu :
<Fichier_dico>c3fu.dhfi<enreg>m2<Champ>lib <Fichier_dico>g3fu.dhfi<enreg>m2<Champ>lib <Fichier_dico>gafu.dhfi<enreg>m2<Champ>lib <Fichier_dico>r3fu.dhfi<enreg>m2<Champ>lib <Fichier_dico>miferr.dhfi<enreg>Xerr<Champ>errtxt <FiltreIgnorer><like>#*
Enregistrer ce fichier dans le dossier d'extraction.
Extraction des libellés
Lancer Xwin
Lancer le menu Outils/Traduction/Extraire les libellés en vue de la traduction
Répertoire source est le chemin vers le dossier préparé au chapitre précédent.
Code langue de référence est 'FR', Code page est '0'
Dictionnaire de référence est le nom du dictionnaire de référence qui sera créé / mis à jour. Ne pas oublier l'extension .dhfi !
Note : l'option "Effacer complètement le fichier" cassera le lien avec les dictionnaires de traduction qui ne pourront plus être mis à jour à partir de ce dictionnaire de référence. Il faudra générer un nouveau dictionnaire de traduction, puis importer les traductions de l'ancien dictionnaire de traduction.
Fichier de paramètres complémentaire est le fichier préparé au chapitre précédent pour forcer l'import des données de menus
Cocher la case "Extraire uniquement les nouveaux libellés" : Permet d'ignorer les libellés déjà présents dans un autre dictionnaire
Renseigner le nom du dictionnaire de référence DAN
Lancer l'extraction
Travail du dictionnaire de traduction
Création / Mise à jour
Lancer Harmony puis Xtranslate (Menu Éditeurs/Traduction)
Lancer le menu Générer / mettre à jour le dictionnaire de traduction à partir du dico de référence
Renseigner le nom du dictionnaire de référence, le nom du dictionnaire de traduction et le code langue associé
Lancer le traitement
Insertion des traductions
Depuis Xtranslate, lancer le menu 'Exporter vers fichier tableur'
Choisir l'option 'Texte original – étranger' pour obtenir un fichier listant les traductions nouvelles / existantes. L'option 'pour réintégration' n'exporte que les termes déjà traduits, avec une numérotation "dans l'ordre des traductions insérées" qui ne précise pas le contexte.
L'option préfixe (gt, rc, cc, sans ‘*', séparés par ‘;') permet d'obtenir des fichiers excel par "contexte" de module, permettant une traduction plus fine. Il conviendra de faire autant d’extractions que de préfixes existants dans le dossier des sources spécifiques, en plus d’une extraction sans préfixe (complète).
Attention : un fichier Excel existant sera écrasé par l'extraction, il n'est pas possible d'obtenir directement des onglets par module.
Chaque fichier excel peut être agrémenté ainsi :
Les cellules A1 et A2 doivent contenir les infos préfixe.
La ligne 2 peut contenir les entêtes pour filtrage
Les cellules de la colonne A peuvent pointer sur le préfixe
Construire un fichier tableur regroupant l'ensemble des termes à traduire avec leur contexte, en complétant si nécessaire avec les termes sans contexte.
Ajouter les traductions dans le fichier tableur global. Si la traduction est identique au terme FR (cas fréquent avec FR -> CA), laisser vide (permet de bénéficier des évolutions des termes FR)
Les termes du dictionnaire de traduction sont sensibles à la casse, contrairement aux fonctions de recherche standard d’Excel. Veillez à ne pas supprimer des ‘faux doublons’.
Reporter les traductions dans chaque fichier d'export individuel pour permettre l'import par contexte
Importer les traductions avec le menu dédié, et selon les caractéristiques du tableau (ligne d'entête, etc)
Le bouton ‘Charger les préfixes depuis le fichier du Tableau’ s’active quand on se place sur le champ préfixe. En cliquant sur ce bouton, la cellule B1 du fichier tableur sera lue et les préfixes définis.
Importer un fichier sans préciser les préfixes placera les traductions contenues partout où c’est possible, introduisant des possibles incohérences.
Exemple, ‘Dépôt’ devrait être traduit par ‘Warehouse’ dans les modules ‘gt;g3', et par ‘Deposit’ dans les modules 'cc;rc;c3;r3’
Le choix de modifier les lignes du dictionnaire de traduction au statut ‘Terminé’ peut avoir des conséquences inattendues, il est recommandé de modifier le statut des lignes dont on est pas certain de la traduction par ‘À réviser’ avant l’import.
Il est recommandé d’importer les traductions par contexte connu, ce qui modifiera le statut des lignes à ‘Terminé’, avant d’importer un fichier contenant des traductions sans contexte. Ce qui, avec des options standard, n’entrainera pas l'écrasement des traductions introduites par contexte.
À l’issue des imports, ouvrir le dictionnaire de traduction
Cliquer sur 'Charger toutes les lignes', puis sur 'traduction' pour voir les traductions dans leurs contextes
Le bouton 'Synchroniser' permet d'afficher le contexte du masque dans Xwin pour chaque ligne
Vérifier, compléter, modifier les traductions.
Exploitation de traductions existantes
Un terme peut avoir été traduit dans un dictionnaire plus "général", dans un contexte différent. Exemple : un libellé copié d'un masque vers un autre qui change d’ID.
Il est possible d'utiliser ces traductions dans son propre dictionnaire. Il faut disposer pour cela :
- Du dictionnaire de référence général (exemple infinitylangue.dhfi)
- Du dictionnaire de traduction compilé (exemple infinitylangue_EN.dhot)
Depuis Xtranslate, lancer le menu Outils/Utiliser les traductions d'autres dictionnaires objets
Saisir les chemins des dictionnaires dans lesquels prendre les traductions.
Lancer le traitement. Un terme peut avoir été traduit de plusieurs façons en fonction du contexte. Dans ce cas le programme propose de choisir le terme approprié pour résoudre les ambiguïtés
Si un terme n’est pas arbitré, aucun lien n’est établi avec le dictionnaire objet. Le terme reste à traduire.
Les termes ayant un lien avec un dictionnaire objet sont identifiables dans Xtranslate
Il n'est pas possible de revenir au traitement des ambigüités une fois sorti de la fenêtre. Il faut relancer le programme de "captation" des dictionnaires objets.
Si une traduction est modifiée dans un dictionnaire objet, et si l'arbitrage éventuel a été fait, la nouvelle traduction est automatiquement disponible dans les programmes, sans avoir besoin de mettre à jour le dictionnaire "final". Cependant, en éditant ce dictionnaire "final", la traduction associée au lien vers le dictionnaire objet n'aura pas été mise à jour. Pour éviter les quiproquos, il est recommandé de refaire une nouvelle "captation" des traductions générales.
Remplacement de traductions existantes
Un terme traduit dans un dictionnaire général peut ne pas convenir et on peut vouloir remplacer cette traduction.
Depuis Xtranslate lancer le menu options/Importer les textes d'un autre dictionnaire dans un dictionnaire de référence
Saisir le texte original à importer
Propager les ajouts du dictionnaire de référence au dictionnaire de traduction (chapitre précédent)