Introduction
Pour qu'une application traduite en langue étrangère puisse être vraiment exploitée, il faut également que les textes contenus dans des fichiers soient traduits. Par exemple, la description de la famille article doit s'afficher dans la langue de l'utilisateur et non dans la langue dans laquelle elle a été saisie lors de la création de la fiche famille-article.
Cette traduction ne peut pas être faite à l'avance par le concepteur du logiciel, puisque les enregistrements contenant ces champs sont créés par les utilisateurs.
Harmony dispose d'un outil qui permet de créer des dictionnaires en balayant les fichiers et en extrayant les libellés à traduire. Une fois ces libellés traduits par un traducteur, ils sont automatiquement affichés dans les masques.
Pour mettre en oeuvre la traduction des champs multilingues il faut :
Remarque
La traduction des masques et des programmes est décrite dans le livre Traduction des applications.
Ancre | ||||
---|---|---|---|---|
|
Terminologie
Langue de base
On appelle "Langue de base" la langue des libellés tels qu'ils sont écrits dans les fichiers.
Il ne faut pas mélanger plusieurs langues dans les fichiers d'un site. Tous les libellés des fichiers doivent être saisis dans la langue de base.
Champ multilingue
Un champ multilingue est un champ susceptible d'être affiché dans une autre langue que la langue de base.
La déclaration d'un champ multilingue se fait soit dans le dictionnaire des données (propriété multilingue), soit dans les masques écran ou imprimante.
Lors de l'éxécution d'un programme, si l'utilisateur a sélectionné un autre code langue que le code langue de base
...
La saisie des traductions peut se faire par l'outil XtranslateDataTools.dhop ou dans le zoom sur la table contenant un champ multilingue. Par exemple, dans le zoom sur la table des familles d'article, vous pouvez saisir la traduction de la description des familles. Voir dans la documentation du zoom, le livre Traduction des champs multilingues.
Restriction : si un champ multilingue fait partie d'un index, l'ordre de l'index sera toujours celui de la langue de base. Par exemple, l'affichage des articles triés par référence se fait toujours dans la langue de base.
Remarque
...
Ancre | ||||
---|---|---|---|---|
|
Paramétrage des langues
Le paramétrage des langues existantes pour les champs multilingues se fait dans le fichier paramètres des langues : TranslateParams.txt.
Les paramètres spécifiques pour les champs multilingues sont :
<LanguageBaseData> | Déclaration de la langue de base, c'est à dire de la langue des champs, tels qu'ils sont écrits dans les fichiers de données. |
<LanguageCodeData> | Déclaration de la liste des codes langues disponibles pour les champs multilingues. |
Remarques pour les développeurs
...
Ancre | ||||
---|---|---|---|---|
|
Dictionnaires
Les dictionnaires utilisés pour la traduction des champs multilingues sont des fichiers séquentiels-indexé.
A chaque code langue disponible correspond un fichier qui se nomme HarmonyDictionnary_cc.dhfi, où cc représente le code langue.
Exemple : Code langue EN --> fichier HarmonyDictionnary_EN.dhfi
Il n'y a pas de répertoire figé ou paramétré pour les dictionnaires. Simplement, à l'exécution, les dictionnaires doivent être accessibles par les chemins implicites de l'utilisateur.
Remarques
...
Ancre | ||||
---|---|---|---|---|
|
Extraction des libellés
La création des dictionnaires consiste à extraire tous les champs multilingues de la base de données. Pour que cette opération soit la plus simple possible, Harmony dispose d'un outil (XtranslateDataTools) qui permet d'automatiser ce traitement. Il suffit de préciser les dictionnaires de données associés à vos données, et XtanslateDataTools détermine quels sont les fichiers à traiter, puis effectue le traitement.
Mise en oeuvre
Lancez le programme XtranslateDataTools.dhop puis sélectionnez le choix Extraire des libellés.
...
le premier tableau contient la liste des langues pour lesquelles un dictionnaire va être créé. Vous pouvez modifier la sélection pour exclure certaines langues.
le second tableau contient la liste des tables qui vont être traitées. Ces tables contiennent un ou plusieurs champs multilingues. Vous pouvez également modifier la sélection pour exclure certaines tables de la recherche. Les colonnes de ce tableau sont :
Dictionnaire
Nom du dictionnaire de données contenant la description du fichier.
Fichier
Mnémonique du fichier dans le dictionnaire.
Nom physique du fichier
Nom du fichier sur le disque. Ce nom vous permet de vérifier que l'extraction des libellés se fera dans les bons fichiers.
Status d'ouverture
Résultat de la fonction Fopen sur ce fichier. Cela permet de voir qu'un fichier est éventuellement absent.
Table
Mnémonique de la table.
les autres paramètres à saisir sont :
Répertoire des dictionnaires | Répertoire où les dictionnaires sont créés. XtranslateDataTools créé le répertoire si nécessaire. |
Module contenant la fonction de filtrage | Facultatif. Nom d'un module diva qui contient une fonction permettant de filtrer les enregistrements. Cette fonction est appelée avant chaque ajout de libellé dans le dictionnaire de traduction. |
Après la validation de cette page le traitement commence. XtranslateDataTools parcours les fichiers de données (.dhsd) et utilise le code enregistrement des tables pour identifier les enregistrements lus.
Ancre | ||||
---|---|---|---|---|
|
Mise à jour des dictionnaires
La mise à jour des dictionnaires de traduction est en tous points similaire à la création des dictionnaires.
Voir Extraction des libellés
Remarque
Par la fonctionnalité d'import, vous pouvez également mettre à jour le dictionnaire en important soit un fichier Tableur, soit un fichier texte.
Ces fichiers à importer peuvent contenir
...
Ancre | ||||
---|---|---|---|---|
|
Saisie des traductions
La saisie des traductions se fait par un zoom sur les dictionnaires de traduction.
Dans xtranslateDataTools.dhop, sélectionnez le choix Appel du Zoom, puis sélectionnez le dictionnaire sur lequel vous désirez travailler.
Confidentialités
Pour avoir le droit de traduire les champs multilingues d'une langue, l'utilisateur doit avoir le code de confidentialité HTxx (xx = code langue).
Par exemple, pour avoir le droit de traduire les champs en anglais, l'utilisateur doit avoir le code de confidentialité HTEN.
Etat
Chaque ligne contient un drapeau indiquant l'état. L'état peut être :
...
Ancre | ||||
---|---|---|---|---|
|
Créer un dictionnaire
Le choix Créer un dictionnaire de l'utilitaire xtranslateDataTools.dhop permet de créer un nouveau dictionnaire et d'y copier les libellés en langue de base d'un autre dictionnaire.
Les paramètres à saisir sont :
Code langue | Code langue du nouveau fichier. |
Répertoire | Répertoire où créer le fichier. |
Copier les libellés de | Facultatif. Permet de copier les libellés en langue de base d'un autre dictionnaire. Les traductions ne sont pas recopiées. |