...
Introduction
Harmony intègre des outils permettant d'exécuter une application dans une autre langue que la langue utilisée lors du développement.
La traduction d'une application ne demande aucun travail supplémentaire au programmeur. Le programmeur travaille dans sa langue maternelle, et uniquement dans celle-ci.
Une fois l'application achevée, il ne reste plus qu'à créer un dictionnaire contenant tous les libellés à traduire (cela se fait automatiquement) et à faire traduire ce dictionnaire.
Ce livre traite uniquement de la traduction des masques et des programmes. Pour la traduction des libellés contenus dans les fichiers (modes de règlements, familles articles...), voir le livre Traduction des champs multilingues.
Un dictionnaire contient les éléments suivants :
...
Création des dictionnaires
Etape 1 : Extraction des libellés et création du dictionnaire de référence
Cette étape s'effectue depuis Xwin, choix <Outils>< Extraire les libellés en vue de la traduction>.
L'extraction se fait pour un répertoire complet, avec ses sous-répertoires.
Un fichier paramètre permet :
...
A la fin de cette étape, un dictionnaire de référence est créé (ou mis à jour s'il existe déjà. Dans l'exemple ci-dessous, c'est un dictionnaire Français qui est créé.
Etape 2 : Création des dictionnaires en langue étrangère
Depuis l'utilitaire xTranslate.dhop, les dictionnaires étrangers sont créés, à partir d'un dictionnaire de référence.
Ces dictionnaires sont transmis aux traducteurs.
Etape 3 : Compilation et mise en place des dictionnaires
Après garnissage des dictionnaires par les traducteurs, il ne reste qu'à les compiler (avec xTranslate.dhop) et à les installer.
...
Pour le paramétrage des applications Web, voir Installation d'un site Web multilingue dans la documentation d'installation d'Harmony.
Quand on parle de dictionnaire pour les programmes Diva (instruction Translate) ou pour les masques, il s'agit toujours de l'entrée <Dictionnary> du fichier TranslateParams.txt. Par exemple, la traduction de tous les libellés de l'ERP Divalto est cherchée dans le dictionnaire Divalto : si le code langue courant est DE, ce sont les fichiers DivaltoU_de.dhot et Divalto.dhot qui seront utilisés ; si le code langue courant est EN, c'est le fichier Divalto_en.dhot qui sera utilisé.
Divalto livre deux dictionnaires. Un dictionnaire pour le système (nommé Harmony) et un dictionnaire pour les applications (nommé Divalto).
Voir aussi : Paramétrage
Ancre | ||||
---|---|---|---|---|
|
Résumé des étapes
Indiquer au niveau du projet quel dictionnaire est utilisé pour la traduction des masques
Création du dictionnaire de référence
Création d'un fichier paramètres donnant la liste des fichiers à traiter (autres que les sources)
Lancement de l'extraction
Création d'un dictionnaire étranger à partir du dictionnaire de référence
Vérification que les libellés traduits ne sont pas tronqués dans les masques
Ancre | ||||
---|---|---|---|---|
|
...
A chaque libellé provenant d'un masque correspond une entrée dans le dictionnaire. Cela permet de traduire différemment un même texte en langue de base, présent à plusieurs endroits du masque ou dans des masques différents. Lors de la saisie des traductions, l'outil permet de propager une saisie à tous les libellés identiques.
Les textes "Aides lignes" ne sont pas intégrés au dictionnaire.
Les libellés qui ne proviennent pas des masques sont présents une seule fois dans le dictionnaire. Toutefois l'instruction Diva Translate permet éventuellement de différencier deux libellés identiques.
Voir également Recréer un dictionnaire de référence à partir d'un dictionnaire étranger, Pilotage de Xwin pour la mise à jour des dictionnaires.
Ancre | ||||
---|---|---|---|---|
|
...
Dictionnaire de référence | Nom du dictionnaire de référence. |
Dictionnaire Etranger | Nom du dictionnaire à mettre à jour. Par convention, on prendra le nom du fichier de référence suffixé par le code langue (mais ce n'est pas une obligation). Divalto.dhfi --> Divalto_de.dhfi |
Code langue | Code langue du fichier étranger. Voir Liste des codes langues |
Code page | Code page de la langue étrangère (0 par défaut) |
Voir également Pilotage de Xwin pour la mise à jour des dictionnaires.
Ancre | ||||
---|---|---|---|---|
|
...
La traduction peut se faire avec le programme xTranslate.dhop. Dans ce cas, il faut installer Harmony sur le poste de la personne en charge de la traduction.
Sinon, avec l'import et l'export Tableur, il est possible de créer un fichier Tableur contenant les libellés à traduire et d'importer ce fichier une fois les traductions effectuées.
Voir xTranslate.dhop.
Ancre | ||||
---|---|---|---|---|
|
...
ajouter le paramètre CheminLangues dans divalto.ini (avec l'utilitaire xDivaltoMajIni)
créer ou modifier le fichier TranslateParams.txt.
Voir Mise en place des dictionnaires compilés
Ancre | ||||
---|---|---|---|---|
|
...
Pour voir enfin le résultat final des opérations, il reste à sélectionner un code langue et à lancer l'exécution de l'application.
Pour sélectionner un code langue, cliquez avec le bouton droit sur l'icône Divalto de la zone de notification (Traybar). Vous pouvez également sélectionner le code langue Windows par <Démarrer><Paramètres><Panneau de configuration><Options régionales et linguistiques>.
Voir Mise en place des dictionnaires compilés Choix du code langue
Ancre | ||||
---|---|---|---|---|
|
...
xTtranslate permet à la personne chargée des traductions de visualiser les masques parallèlement à la saisie des traductions. De plus, les masques visualisés peuvent s'afficher avec les libellés d'origine ou avec les libellés traduits.
xTranslate.dhop est un programme Diva et, pour l'utiliser, il faut donc avoir installé Divalto sur le poste de travail. Pour que le traducteur puisse visualiser le contexte, il faut également que l'ensemble des sources soit installé et accessible avec les chemins implicites courants.
S'il n'est pas possible d'installer Divalto sur le poste du traducteur, il faudra utiliser les fonctions d'import et d'export Tableur.
Il est recommandé de lire préalablement les chapitres Architecture et Etapes pour créer un dictionnaire.
Ancre | ||||
---|---|---|---|---|
|
...
La synchronisation avec Xwin vous permet de voir le contexte dans lequel se trouvent les libellés que vous traduisez. De plus, vous pouvez immédiatement voir le résultat de votre travail en demandant à Xwin d'afficher les libellés traduits.
Le bouton ouvre l'éditeur de masques Xwin et affiche le masque sur lequel vous travaillez. L'objet concerné par le libellé courant est encadré d'un trait noir.
Le bouton vous permet de voir les libellés traduits dans l'éditeur Xwin. Si le dictionnaire ouvert dans xtranslate est un dictionnaire partiel (créé à partir de masques de surcharge), vous ne voyez par défaut que les libellés traduits dans le dictionnaire courant. Le menu <Options><Affichage des traductions dans Xwin> vous permet de spécifier un dictionnaire dans lequel les libellés non trouvés dans le dictionnaire courant seront cherchés. Il s'agit ici d'une entrée dans le fichier paramètres (divalto par exemple). Voir Mise en place des dictionnaires compilés.
Attention : Xwin aura les implicites de la tâche courante. Il faut donc que l'utilisateur qui exécute Xtranslate.dhop ait les implicites permettant d'accéder aux masques et aux dictionnaires.
Remarque :
Par défaut les masques sont ouverts en lecture-seule et ne peuvent donc être modifiés. Le droit d'effectuer des modifications nécessite le code de confidentialité HTR.
Ancre | ||||
---|---|---|---|---|
|
...
Dictionnaire référence | Nom du dictionnaire de départ (celui qui contient les libellés à copier). |
Dictionnaire à mettre à jour | Nom du dictionnaire qui reçoit les libellés. |
Texte à importer | Texte à importer. |
Traitement des caractères % et _ | Indique si les caractères % et _ doivent être considérés comme des "jockers" : % = suite quelconque de caractères _ = un caractère quelconque. |
Distinguer minuscules/majuscules | Indique s'il faut tenir compte de la casse lors de la recherche des libellés. |
Voir également Importer les traductions d'un autre dictionnaire Import / Export Tableur
Ancre | ||||
---|---|---|---|---|
|
...
la traduction du libellé est la même --> pas de problème, il n'y a rien à faire
la traduction du libellé est différente dans les deux dictionnaires --> le programme demande alors ce que vous voulez faire.
Voir également
Importer les textes d'un autre dictionnaire dans un dictionnaire de référence
Import / Export Tableur
Importer les traductions depuis un dictionnaire en version 6 d'Harmony
Utiliser des traductions d'autres dictionnaires objets
Ancre | ||||
---|---|---|---|---|
|
...
Dictionnaire de départ | Nom du dictionnaire de départ. C'est un dictionnaire traduit avec les libellés de la version 6. |
Dictionnaire à mettre à jour | Nom du dictionnaire créé à partir de la version 7 qui reçoit les traductions |
Voir également
Importer les traductions d'un autre dictionnaire
Ancre | ||||
---|---|---|---|---|
|
...
Remarque
Il est conseillé que le fichier des libellés soit de la forme num=libellé. Dans ce cas, le résultat est trié dans le même ordre, même en cas de modifications du fichier d'origine et donc de nouvelles traductions.
Exemple :
0=Langue d'origine
1=Défaut
2=Même langue que l'affichage
3=Connexion à Divalto
Voir également
Import / Export Tableur
Ancre | ||||
---|---|---|---|---|
|
...
Texte étranger à remplacer | Texte à modifier. |
Nouvelle traduction | Nouvelle traduction du texte. |
Voir également Propagation des traductions
Ancre | ||||
---|---|---|---|---|
|
...
Ne traduire qu'une partie d'un dictionnaire
Utilisez le bouton Préfixe pour filtrer les libellés en fonction de leur fichier d'origine.
Voir Fonction de recherche / Filtrage
Créer un dictionnaire qui surcharge un dictionnaire existant
Lors de la création du dictionnaire de référence, il faut cocher la case : "Extraire uniquement les libellés qui ne figurent pas dans ce dictionnaire (surcharge)".
Utilisez cette méthode pour vos masques de surcharge. Seuls les libellés ajoutés ou modifiés dans les masques seront extraits.
Voir Création d'un dictionnaire de référence
Récupérer dans mon dictionnaire des traductions se trouvant dans un autre dictionnaire
Voir Importer les traductions d'un autre dictionnaire
Modifier une traduction pour l'ensemble du dictionnaire
Voir Modifier un libellé traduit pour toutes ses occurrences
Voir Propagation des traductions
Intégrer dans mon dictionnaire des libellés d'un autre dictionnaire afin d'en modifier la traduction
Voir Importer les textes d'un autre dictionnaire dans un dictionnaire de référence
Utiliser des traductions d'un dictionnaire objet dont je n'ai pas la source
Voir Utiliser des traductions d'autres dictionnaires objets
Vérifier que les traductions ne sont pas tronquées (boîtes trop petites dans Xwin)
Voir Vérification des boîtes
J'ai le message : Le fichier xxxxx n'est pas issu du dictionnaire yyyyy
Soit vous vous êtes trompé de dictionnaire, soit le dictionnaire de référence a été recréé (donc effacé) par erreur.
Voir : Recréer un dictionnaire de référence à partir d'un dictionnaire étranger
Ancre | ||||
---|---|---|---|---|
|
Paramétrage
Voir
Mise en place des dictionnaires compilés
Fichier TranslateParams.txt
Ancre | ||||
---|---|---|---|---|
|
...
<Comment> | Ligne de commentaire |
<LanguageCode> | Déclaration et description d'un code langue. |
<LangageCode> | Code de la langue. |
<Description> | Description de la langue. Ce texte apparaît dans le menu de sélection des langues. |
<DateType> | LE (ou FR) : Les dates sont affichées / saisies au format jj/mm/aaaa (Little Endian). ME (ou US) : Les dates sont affichées / saisies au format mm/jj/aaaa (Middle Endian). BE : Les dates sont affichées / saisies au format aaaa/mm/jj (Big Endian). LE, ME et BE : à partir de la version 7.1a. |
<DecimalSeparator> | Caractère utilisé pour séparer les décimales de la partie entière d'une donnée numérique : |
<ThousandSeparator> | Le cas échéant, caractère utilisé pour séparer les milliers dans une donnée numérique : |
<DateSeparator> | Caractère utilisé pour séparer les éléments d'une date ("/" par défaut). |
<CodePage> | |
<HelpCode> | Code langue par défaut pour les aides. Ce code langue est utilisé si le fichier d'aides (.chm ou .hlp) n'existe pas avec le code langue courant. Voir Fichiers d'aides. |
Cas particulier de la langue d'origine : Voir le paragraphe correspondant en fin de rubrique. |
...
Le fichier contient également des paramètres concernant la traduction des champs multilingues. Cette fonctionnalité fait l'objet d'un livre à part.
Les fonctions Diva Fdate, FdateDh, Sdate et SdateDh tiennent compte du paramétrage de la langue. Elles comportent un nouveau paramètre leur permettant d'ignorer le paramétrage de la langue.
...
Cas particulier de la langue d'origine
Dans la liste des langues qui lui est proposée, l'utilisateur peut sélectionner le choix "Langue d'origine". Dans ce cas, le code langue vaut conventionnellement "XXXX" et Harmony ne procède à aucune traduction.
Toutefois, la langue de traduction n'est pas le seul paramètre spécifié par la balise <LanguageCode>. A partir de la version 7.1a, il est possible de faire figurer dans le fichier TranslateParam.txt une ligne <LanguageCode> avec le code langue "XXXX". Ceci permet, lorsque l'utilisateur sélectionne "Langue d'origine" et tout en n'opérant pas de traduction sur les masques, d'appliquer les autres paramètres (type de date, séparateur décimal, séparateur des milliers, code page). Remarque : Le paramètre <Description> est ici ignoré (le texte affiché dans le menu de sélection des langues est toujours "Langue d'origine"). Le paramètre <HelpCode> ne s'applique qu'aux fichiers d'aides de la version 6 (.chm ou .hlp).
Exemple :
<LanguageCode>XXXX<Description><DateType>BE<DecimalSeparator>point<ThousandSeparator>comma
Voir également Mise en place des dictionnaires compilés Liste des codes langues
Ancre | ||||
---|---|---|---|---|
|
...
cliquez avec le bouton droit de la souris sur l'icône Divalto de la zone de notification (Traybar)
les choix <Langues affichage> et <Langues impression> vous permet de sélectionner une langue (les choix de ce menu proviennent du fichier TranslateParams.txt). Pour les impressions, la valeur par défaut indique qu'il faut prendre la même langue que pour les affichages à l'écran.
le choix <Langue d'origine> permet d'annuler la traduction, tous les éléments sont affichés ou imprimés dans la langue d'origine.
Le changement de langue est effectif au moment ou vous lancez une nouvelle tâche. Les programmes en cours ne sont pas affectés par le changement de langue.
En cas de lancement d'un programme par Xwin, vous devez aussi décharger Xwin et le relancer pour que le programme appelé tienne compte du nouveau code langue.
Rappel
Toutes les fonctionnalités multilingues ne sont effectives que si divalto.ini est correctement configuré (avec l'utilitaire xDivaltoMajIni). Voir Mise en place des dictionnaires compilés.
Remarque
L'instruction Diva SetLanguageCode permet de positionner le code langue par programme.
Ancre | ||||
---|---|---|---|---|
|
...