Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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
Top_of_Resume_des_etapes_htm
Top_of_Resume_des_etapes_htm

Résumé des étapes

  1. Indiquer au niveau du projet quel dictionnaire est utilisé pour la traduction des masques

  2. Repérer dans les programmes Diva les chaînes de caractères constantes qui doivent être traduites et appeler la fonction Translate pour chacune d'elles

  3. Création du dictionnaire de référence

    1. Création d'un fichier paramètres donnant la liste des fichiers à traiter (autres que les sources)

    2. Lancement de l'extraction

  4. Création d'un dictionnaire étranger à partir du dictionnaire de référence

  5. Traduction des libellés du dictionnaire étranger

  6. Vérification que les libellés traduits ne sont pas tronqués dans les masques

  7. Compilation

  8. Paramétrage du fichier TranslateParams.txt

  9. Tests

Ancre
Top_of_Parametres_du_projet_htm
Top_of_Parametres_du_projet_htm

...

  • 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
Top_of_Creation_d_un_dictionnair_1
Top_of_Creation_d_un_dictionnair_1

...

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
Top_of_Ajout_de_la_fonction_Tran
Top_of_Ajout_de_la_fonction_Tran

...


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
Top_of_Compilation_du_dictionnai
Top_of_Compilation_du_dictionnai

...

  • 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
Top_of_Verification_des_boites_h
Top_of_Verification_des_boites_h

...


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
Top_of_Pilotage_de_Xwin_pour_la
Top_of_Pilotage_de_Xwin_pour_la

...


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
Top_of_L_ecran_de_xtranslate_htm
Top_of_L_ecran_de_xtranslate_htm

...


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
Top_of_Import___Export_Excel_htm
Top_of_Import___Export_Excel_htm

...

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
Top_of_Importer_les_traductions
Top_of_Importer_les_traductions

...

    1. la traduction du libellé est la même --> pas de problème, il n'y a rien à faire

    2. 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
Top_of_Importer_les_traductions_1
Top_of_Importer_les_traductions_1

...

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
Top_of_Exporter_des_traductions
Top_of_Exporter_des_traductions

...


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
Top_of_Recreer_un_dictionnaire_f
Top_of_Recreer_un_dictionnaire_f

...

Texte étranger à remplacer

Texte à modifier.

Nouvelle traduction

Nouvelle traduction du texte.


Voir également Propagation des traductions

Ancre
Top_of_Utiliser_des_traductions
Top_of_Utiliser_des_traductions

...


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
Top_of_Parametrage_htm
Top_of_Parametrage_htm

Paramétrage


Voir
Mise en place des dictionnaires compilés
Fichier TranslateParams.txt

Ancre
Top_of_Fichier_TranslateParams_t
Top_of_Fichier_TranslateParams_t

...

<Comment>

Ligne de commentaire

<LanguageCode>

Déclaration et description d'un code langue.
<LanguageCode>xxx<Description>xxx<DateType>xxx<HelpCode>xxx

<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 :
Comma : virgule (valeur par défaut).
Point : point.

<ThousandSeparator>

Le cas échéant, caractère utilisé pour séparer les milliers dans une donnée numérique :
Comma : virgule.
Point : point.
Space : espace (valeur par défaut).

<DateSeparator>

Caractère utilisé pour séparer les éléments d'une date ("/" par défaut).
Par exemple, le séparateur "-" correspond à la norme Iso 8601 qui est appliquée au Canada. Avec ce séparateur, la date éditée 01/01/2013 par défaut sera remplacée par 01-01-2013.

<CodePage>

Code page.

<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
Top_of_Choix_du_code_langue_htm
Top_of_Choix_du_code_langue_htm

...

  • 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
Top_of_Fichiers_d_aides_htm
Top_of_Fichiers_d_aides_htm

...