Tivoli Service Desk 6.0 Developer's Toolkit - Guide de programmation TSD Script
Retour à la table des matières
A mesure que de nombreux éditeurs de logiciels étendent leur marché, il devient inévitable que des logiciels développés dans un pays soient commercialisés ou utilisés dans d'autres. Les développeurs doivent donc connaître les contraintes spécifiques associées à la conception de produits destinés à être commercialisés à l'étranger.
Outre les différences culturelles dont vous devrez peut-être tenir compte lors de l'écriture du code, vous devez être conscient des effets que la localisation peut avoir sur les applications. On appelle "localisation" la modification d'une application logicielle afin de l'adapter à un groupe culturel spécifique.
Comment faire si vous ne connaissez pas les spécificités culturelles d'un pays étranger ? Comment créer des logiciels aisément localisables ?
La solution la plus simple pour faciliter la localisation consiste à placer les ressources concernées dans des fichiers .df. Ainsi, les images bitmap, les menus, les chaînes de caractères, les icônes et les boîtes de dialogue sont compilés et stockés séparément du reste du code. Lorsque l'application correspondante est commercialisée hors du pays d'origine, les outils et les instructions nécessaires à la modification de ces ressources sont fournis aux distributeurs étrangers.
Une fois les ressources localisées, les fichiers sont reconstruits et copiés sur le support d'installation.
Ainsi, aucune intervention sur le code n'est nécessaire et le support d'installation ne nécessite aucune autre modification. Suite à cette opération, le programme d'installation est également localisé.
Chaque fois que possible, les applications Tivoli évitent d'utiliser leur propre code pour gérer l'internationalisation. Ainsi, tout processus de copie à caractères larges intégré de façon native à un système d'exploitation peut convertir du code à deux octets en code à un octet.
Les données d'internationalisation et les appels d'API fournis par le système d'exploitation hôte sont toujours utilisés à la place des fonctions livrées avec les applications Tivoli. Cela permet de réduire la taille de ces applications et facilite la prise en charge de nouveaux environnements locaux.
Les chaînes utilisées par les applications Tivoli sont stockées sous forme de chaînes Unicode. Unicode (ou ISO 10646) est un système qui utilise des caractères uniformes codés sur 16 bits, qui prennent simultanément en charge les alphabets de tous les environnements locaux internationaux.
De nombreuses autres applications internationales utilisent la norme ISO 8859/x pour le codage des chaînes de caractères internationales (codées sur plusieurs octets). Cette norme prévoit l'utilisation de caractères codés sur 8 bits pour les alphabets qui comportent peu de lettres, et sur 16 bits pour ceux qui en comportent beaucoup. Les applications utilisant des pages de codes à plusieurs octets peuvent nécessiter un peu moins de mémoire, mais leurs performances sont moindres et inacceptables.
Une chaîne ISO peut contenir une combinaison de caractères codés sur 8 bits et de caractères codés sur 16 bits. Des opérations simples, telles que la sauvegarde d'un caractère ou le comptage des caractères d'une chaîne, s'en trouvent compliquées car il n'existe aucune manière de déterminer de façon fiable si un octet représente un caractère entier ou une partie d'un caractère, sans examiner un certain nombre des octets qui le précèdent.
Le support d'internationalisation des scripts TSD facilite l'écriture de code satisfaisant aux exigences des environnements locaux. Toutefois, il est important de garder à l'esprit qu'il existe des particularités culturelles et qu'elles peuvent affecter la perception d'une application écrite dans un pays et traduite pour un autre environnement local.
Vous devez être conscient, par exemple, que la couleur violet peut être associée à différentes choses selon les cultures :
Vous devez faire particulièrement attention aux éléments suivants lors de l'écriture d'applications destinées au marché international :
Les systèmes d'exploitation s'adaptent à l'alphabet d'une langue en utilisant une page de codes différente. Une page de codes est essentiellement un tableau d'associations entre des numéros et des caractères, qui permet l'affichage correct des chaînes de caractères.
Pour afficher une chaîne de caractères, l'ordinateur recherche les numéros qu'elle contient dans la page de codes appropriée et affiche les caractères correspondants. Les applications doivent donc être écrites de telle sorte que les chaînes appropriées soient transmises au système d'exploitation via la page de codes.
Un système d'exploitation peut prendre en charge plusieurs pages de codes contenant des caractères communs. Notez qu'un caractère commun à plusieurs pages ne doit pas nécessairement être associé au même numéro dans chacune de ces pages.
Par exemple, la lettre e porte le numéro 233 dans la page de codes de l'alphabet Latin utilisée par Windows 95, alors qu'elle est associée au numéro 130 dans la page de codes de l'alphabet Latin utilisée par MS-DOS.
Le concepteur d'interfaces de la boîte à outils du développeur (Developer's Toolkit Interface Designer) permet de charger les chaînes écrites pour une page de codes et de les traduire pour une autre page de codes. Le système d'exploitation natif détermine quelle page de codes est disponible aux applications.
Des pages de codes différentes impliquent des dispositions de clavier différentes. Une application internationale doit donc permettre l'adaptation de ses raccourcis-clavier par défaut à tous les types de claviers.
Des environnements locaux différents peuvent impliquer des ordres de tri différents. Une application internationale doit donc être écrite de telle sorte que l'ordre alphabétique de la page de codes locale permette d'obtenir des listes triées dans l'ordre désiré.
La comparaison de chaînes sans tenir compte de la distinction majuscules/minuscules n'a pas la même signification dans tous les environnements locaux. Ainsi, dans les langues idéographiques telles que le japonais et le chinois, le terme "distinction majuscules/minuscules" est dépourvu de sens, alors que dans d'autres alphabets, les lettres peuvent avoir davantage de formes que la majuscule et la minuscule.
En cas d'utilisation d'un fichier .df, la boîte à outils du développeur (Developer's Toolkit) effectue des appels natifs au système d'exploitation pour le tri et la comparaison des chaînes.
Combiner des sous-chaînes pour créer des phrases complètes est une erreur que commettent couramment les développeurs dans les versions internationales initiales d'une application. Les phrases étant souvent structurées différemment dans les différents environnements locaux, l'ordre des verbes, des noms, des adjectifs et des adverbes peut varier. De nombreuses langues associent un genre aux différents éléments du langage, ce qui entraîne l'utilisation de mots différents selon, par exemple, que le nom qualifié est masculin, féminin ou neutre.
Remarque : Evitez autant que possible de combiner des sous-chaînes.
Les langues idéographiques (telles que le japonais et le chinois) comportent trop de caractères pour que ceux-ci puissent tous être représentés sur un clavier. Aussi la plupart des systèmes d'exploitation permettent-ils aux utilisateurs d'entrer la prononciation phonétique des caractères à l'aide d'un alphabet spécifique. Ils leur proposent ensuite l'ensemble des idéogrammes susceptibles de correspondre, parmi lesquels les utilisateurs peuvent alors faire leur choix. Le caractère sélectionné est ensuite placé dans le document ou dans la zone d'entrée. Plusieurs alphabets phonétiques peuvent être disponibles pour chaque environnement local.
La boîte à outils du développeur (Developer's Toolkit) supporte l'éditeur de saisie (IME, Input Method Editor) fourni avec le système d'exploitation.
Les différents environnements locaux utilisent différents formats pour afficher les informations numériques, les dates, les heures et les montants monétaires. Par exemple :
Le format de papier 8,5" x 11", par exemple, n'étant pas utilisé dans tous les
environnements locaux, une application internationale doit permettre l'utilisation de différentes tailles
pour l'impression de pages et d'enveloppes.
La boîte à outils du développeur (Developer's Toolkit) n'offre pas de mécanisme permettant de convertir les
tailles de papiers.
Hormis les Etats-Unis, la plupart des environnements locaux imposent aux applications d'utiliser le
système métrique et non les unités de mesure anglo-saxonnes.
La boîte à outils du développeur (Developer's Toolkit) n'offre pas de mécanisme permettant de convertir les
unités de mesure anglo-saxonnes en unités du système métrique.
Une fois le texte traduit dans une langue étrangère, sa nouvelle taille peut être nettement supérieure ou inférieure à sa taille originale. (Ce phénomène se mesure à l'aide d'un coefficient de foisonnement.)
Par exemple, la traduction en espagnol ou en allemand d'un paragraphe en anglais augmente la taille globale du texte original d'environ 30 %.
Le tableau suivant illustre ce concept :
Nombre de caractères | Coefficient de foisonnement |
1 à 10 | 100 à 200 % |
11 à 20 | 80 à 100 % |
21 à 30 | 60 à 80 % |
31 à 50 | 40 à 60 % |
51 à 70 | 31 à 40 % |
Plus de 70 | 30 % |
Le symboles graphiques figurant dans les icônes ou autres images bitmap doivent avoir une signification universelle ou pouvoir être modifiés facilement. Autant que possible, il faut éviter d'incorporer du texte dans les images bitmap des applications internationales. Sinon, ces images devront être traduites pour chaque environnement local.
Il est également possible que des symboles qui peuvent sembler innocents et universels puissent être perçus comme tendancieux ou insultants dans certains environnements locaux.
Les mêmes précautions doivent être prises en ce qui concerne l'utilisation de la couleur dans les boîtes de dialogue et les fenêtres. Dans certains environnements locaux, les couleurs ont des significations ou des connotations très différentes de celles qu'elles ont en Occident.
A titre d'exemple, le tableau suivant illustre les différences d'interprétation des couleurs entre la France et la Chine :
Couleur | Nation et interprétation |
Rouge | Chine : prospérité, renaissance France : puissance, arrêt, danger |
Blanc | Chine : mort, deuil France : pureté, innocence |
Jaune | China : joie, richesse, rang, honneur France : prudence, risque de danger physique |
Les applications logicielles utilisent le concept d'environnement local pour identifier un groupe culturel pour lequel une application peut être localisée.
La langue, le pays et la nationalité (culture) sont des entités indépendantes : à chaque combinaison de ces entités doit être associé un environnement local différent. Par exemple, les suisses sont susceptibles de parler les quatre langues suivantes :
Chacune des combinaisons possibles nécessite un environnement local distinct.
Les environnements locaux suivants sont entièrement pris en charge dans TSD Script pour Windows, UNIX et OS/2 :
Les jeux de caractères utilisés, de même que d'autres caractéristiques des imprimantes, peuvent désormais être contrôlés par l'intermédiaire d'une entrée dans le fichier softart.ini. L'entrée "ControlString" de la section Printer du fichier softart.ini contient une séquence de caractères qui est envoyée à l'imprimante chaque fois que le fichier PRN ou LPT1 est ouvert en écriture.
Il est ainsi possible d'imprimer des chaînes qui contiennent des caractères "étendus", c'est-à-dire des caractères dont la valeur ASCII est supérieure à 128. Ces derniers sont utilisés par les versions internationales des systèmes d'exploitation pour afficher des caractères qui ne sont pas disponibles sur un clavier français standard (tels que le caractère allemand correspondant au son "ss").
Par exemple, si vous utilisez une imprimante laser Hewlett-Packard, les chaînes de contrôle "\x1B(9U", pour Microsoft Windows, et "\x1B(12U", pour IBM OS/2, permettent de sélectionner le jeu de caractères approprié pour l'impression des caractères étendus. Si vous utilisez une imprimante d'une autre marque, reportez-vous à sa documentation pour connaître les séquences de contrôle appropriées.
Evitez d'inclure des caractères "étendus" dans les fichiers de configuration utilisés par la boîte à outils du développeur (Developer's Toolkit) (sai_sql.cfg, softart.ini, etc.). c'est-à-dire des caractères dont la valeur ASCII est supérieure à 128.
Les valeurs ci-après sont utilisées pour permettre la prise en charge de l'"an 2000" dans les environnements locaux dont les formats de dates natifs sont codés sur deux chiffres. Si l'année est comprise entre :
Pour éviter toute erreur concernant le siècle, utilisez l'icône Paramètres régionaux du Panneau de configuration de Windows pour sélectionner un format de date codé sur quatre chiffres.
Remarque : Sous UNIX, utilisez la valeur par défaut de l'environnement local.
Tivoli Service Desk 6.0 Developer's Toolkit - Guide de programmation TSD Script