Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/10558210447/Traduction+des+applications) de cette page.

afficher les différences afficher l'historique de la page

Vous regardez la version actuelle de cette page. (v. 1) afficher la version suivante »

créer 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 :

  • tous les libellés contenus dans les masques (y compris les ressources)

  • tous les textes des choix associés aux données à choix multiples (multi-choix)

  • tous les libellés des menus

  • des libellés contenus par des sources de programme Diva

  • des libellés contenus dans les dictionnaires de RecordSql (les libellés susceptibles d'être affichés par le Zoom)

  • des libellés contenus par certains fichiers (libellés d'erreur par exemple).


La création des dictionnaires se fait depuis l'atelier de développement Xwin.
La saisie des traductions se fait :

  • Soit par le programme xTtranslate.dhop. Cet utilitaire permet d'afficher les masques en cours de traduction, parallèlement à la saisie. Le traducteur peut ainsi voir le contexte dans lequel se trouvent les libellés à traduire. Cette méthode nécessite l'installation de Divalto et des sources.

  • Soit en utilisant l'import/export Tableur. Un dictionnaire peut être exporté vers un fichier Tableur ; ce fichier est complété par le traducteur, puis réimporté dans le dictionnaire. Cette méthode ne permet pas de voir le contexte mais ne nécessite pas l'installation de Divalto sur l'ordinateur du traducteur.


A l'exécution :

  • Le code langue de Windows est utilisé par défaut. Par exemple, si l'utilisateur a la code langue DE (Allemand) et que le dictionnaire correspondant est en ligne, les applications s'affichent en Allemand. L'utilisateur peut également changer manuellement de langue (écran ou imprimante), pour les applications Divalto et indépendamment du code langue de Windows, grâce au menu contextuel ouvert par un clic droit sur l'icône Divalto dans la zone de notification (Traybar).

  • Divalto traite, le cas échéant, la saisie et l'affichage des dates au format US (mm/jj/aaaa).

  • Si les fichiers d'aides sont traduits, Divalto affiche l'aide en fonction du code langue courant.

Terminologie


Langues
Dans la suite de cette documentation, le terme "langue de base" indique la langue utilisée pour le développement de l'application. Le terme "libellé étranger" indique un libellé traduit.
Le terme "dictionnaire de référence" indique le dictionnaire créé à partir des masques.
Voir Liste des codes langues
Dictionnaire
Un dictionnaire représente l'ensemble des libellés traduits pour une application et pour un code langue.
Les traductions peuvent se trouver dans plusieurs fichiers dictionnaires distincts. La liste des fichiers correspondant à un dictionnaire est donnée dans un fichier paramètres.
Un fichier dictionnaire source est un fichier séquentiel-indexé. Pour être utilisé à l'exécution, il doit être compilé en un fichier dictionnaire objet (extension .dhot).
Exemple :
Le dictionnaire Divalto pour le code langue DE contient les deux fichiers suivants :

  • MaSurcharge_de.dhot

  • Divalto_de.dhot

Pour effectuer la traduction d'un libellé, celui-ci est recherché dans le dictionnaire MaSurcharge_de.dhot. Si elle n'est pas trouvée dans ce fichier dictionnaire, elle est recherchée dans le fichier Divalto_de.dhot.
Remarques

  • L'utilitaire de traduction xTranslate.dhop utilise le terme dictionnaire au sens de Fichier-dictionnaire. Il traite un seul fichier dictionnaire à la fois.

  • Divalto livre deux dictionnaires. Un dictionnaire système (nommé Harmony) et un dictionnaire applications (nommé Divalto).

Codes Page


En standard, Harmony utilise le jeu de caractère ANSI latin occidental. Les caractères ANSI sont codés sur 8 bits (256 caractères différents). Le nombre de combinaisons est insuffisant pour coder l'ensemble de tous les caractères des alphabets utilisant le jeu ANSI. C'est pourquoi, il a été ajouté une notion complémentaire qui est le « code page » des caractères.
Un même code dans deux codes page différents ne sera pas représenté par le même symbole.
Exemple : le code 0xe6 correspond au symbole :
ć dans le code page Europe centrale
æ dans le code page Europe occidentale
Il existe une dizaine de codes page différents (Occidental, Hébreu, Arabe, Grec, Turc, Baltique, Europe centrale, Cyrillique, Vietnamien).
La plupart des pays d'Europe utilise le code page « Occidental ». C'est le code standard de Divalto.
Le polonais utilise le « code page » Europe centrale pour les caractères « spéciaux » de l'alphabet polonais. Si l'on souhaite afficher ces caractères, il faut utiliser une police de caractères avec le code page « Europe centrale ».
Remarque : les 128 premiers caractères du jeu ANSI sont communs à l'ensemble des codes page. Ainsi, l'anglais, qui n'utilise pas de caractères accentués, est indépendant des codes page.
Périmètre de la prise en compte du code page
La prise en compte du code page concerne principalement :

  • L'affichage et l'impression des constantes des masques.

  • L'affichage et l'impression des données (lorsque les bases de données contiennent des informations dans une langue étrangère).

  • L'affichage, la saisie et l'impression des champs multilingues.

  • La saisie de la traduction des masques par xtranslate.dhop.

  • L'import et l'export des textes à traduire dans cet outil.

  • La saisie des traductions des champs multilingues par xtranslateDataTools.dhop.

  • L'import et l'export des textes à traduire dans cet outil.

  • Les fonctions Diva liées à la traduction.

  • Les fonctions Diva de conversion de codage.

  • Les fonctions d'import et d'export tableur du module yoffice.dhop.

  • La saisie des textes dans Xwin pour un masque conçu directement dans une langue étrangère (masque pour lequel la propriété "Code langue du masque" a été renseignée). Attention, dans l'atelier de développement Xwin, la possibilité de saisir des textes, dans une langue à code page non standard, est limitée aux libellés des objets posés dans le masque et affichés ou imprimés à l'exécution (par exemple, la propriété "Texte" d'un objet Texte). Elle ne concerne pas les libellés "propres" à l'atelier (par exemple, la propriété "Libellé" des boîtes de dialogue des paramètres du masque ou de la page). Pour ces derniers, il est préconisé de les saisir en langue anglaise.

Dans les masques
Pour les textes des masques, la prise en compte du code page est automatique. On indique, dans les propriétés du masque, le Code Langue d'origine du masque (il s'agit de la langue de référence du masque).
Ce code détermine le code page du masque, s'il est affiché dans la langue d'origine du masque.
A l'exécution, l'utilisateur choisit sa langue d'affichage ou d'impression.
Si le Code Langue de référence du masque est différent du code d'affichage ou d'impression choisi par l'utilisateur, Harmony cherche, pour chaque texte à afficher ou à imprimer, sa traduction dans le dictionnaire de traduction.
La recherche dans le dictionnaire renvoie soit :

  • La traduction du texte dans la langue étrangère. La traduction est accompagnée du code page du texte traduit. Le texte est affiché ou imprimé dans ce code page.

  • Le texte dans la langue d'origine si la recherche n'a pas trouvé de traduction pour le texte concerné (soit parce que le texte n'a pas été traduit, soit parce que ce texte ne se trouve pas dans ce dictionnaire car il s'agit d'une version plus ancienne). Le dictionnaire renvoie le code page du texte d'origine. Le texte est affiché ou imprimé dans ce code page.

Remarques :

  • Pour les multi-choix, le code page s'applique à l'ensemble des choix. Si un texte d'un multi-choix n'est pas traduit, la valeur s'affichera dans la langue d'origine, mais le code page appliqué sera celui de la langue étrangère.

  • Le code page du masque s'applique aussi aux ressources du masque (Menu, Popup et Toolbar).


Les données
Pour les données, la balise <LanguageBaseData> du fichier paramètre permet de définir la langue des données stockées dans les tables. Le code page associé à cette langue est automatiquement pris en compte pour l'affichage et l'impression de toutes les données des masques.
Attention :
Les multi-choix et les menus (surtout les popup) peuvent contenir soit des constantes, soit des données qui proviennent des tables, soit des mélanges. Il faut impérativement que toutes les informations de ces objets soient dans le même code page.
Les champs multilingues
Pour les champs multilingues, la prise en compte du code page est automatique.
L'affichage des champs multilingues, ainsi que leur saisie dans le zoom, tient compte du code page.
Gestion dynamique des codes page
Dans certains cas, la gestion des langues doit être dynamique, c'est-à-dire qu'elle ne dépend pas seulement du choix de la langue fait par l'utilisateur, mais également du contexte. Par exemple, si une table client contient des informations stockées directement dans la langue du client (l'adresse de livraison) et qu'elle n'est pas homogène pour toutes les lignes la table.
Dans ce cas, qui n'est pas pris en charge par l'ERP Divalto en standard, il sera éventuellement nécessaire de changer les codes page dynamiquement à l'exécution pour l'affichage des champs concernés.
Les fonctions XmeSetAttribut et XmeListSetAttribut permettent d'indiquer quel est le code à utiliser pour l'affichage ou la saisie de ces informations.
Les valeurs des codes page

Zone

Ansi Code Page

Europe centrale

1250

Cyrillique

1251

Occidental

1252

Grec

1253

Turc

1254

Hébreu

1255

Arabe

1256

Baltique

1257

Vietnamien

1258

Thai

874

Chine symboles simplifiés

936

Chine symboles traditionnels

950

Corée

949

Japon

932


  • Aucune étiquette