Applications multilingues



Documents pareils
Le langage C. Séance n 4

Créer le schéma relationnel d une base de données ACCESS

Introduction à Microsoft InfoPath 2010

< Atelier 1 /> Démarrer une application web

Introduction à Eclipse

LimeSurvey. Pour obtenir un compte sur le LimeSurvey de l Université de Genève, remplissez le formulaire de demande en ligne.

BIRT (Business Intelligence and Reporting Tools)

Installation EPLAN platform 2.4

Installation d un poste i. Partage et Portage & permissions NTFS

La base de données dans ArtemiS SUITE

Importer une bibliographie au format «texte» dans Zotero

Leçon N 5 PICASA Généralités

Le modèle de données

SQL Server Installation Center et SQL Server Management Studio

Importation de fichiers Eagle

PROJET AZURE (par Florent Picard, A2011)

Aperçu de la sauvegarde sous Windows 7

Création et utilisation de formulaire pdf

Introduction : L accès à Estra et à votre propre espace Connexion Votre espace personnel... 5

La gestion des dossiers sous Windows Vista, W7, W8.

Dans cette Unité, nous allons examiner

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

De quoi avez-vous besoin pour ce manuel?

Visual Basic.NET Interaction avec Excel

GESTION DES MENUS. Un menu est un ensemble de liens permettant la navigation dans le site.

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

SUPPORT DE COURS ACCESS 2010

Insérer à la page 231 du manuel «Visual Basic 2005 Introduction», version 3.0

Antidote et vos logiciels

Sommaire. Promo 39 B WINDOWS 2003 SERVER PART 1

Manuel d Administration

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

Access. Apprenez exactement ce dont vous avez besoin Progressez à votre rythme Téléchargez les exercices. Joyce Cox et Joan Lambert

Installation-Lancement

Antidote et vos logiciels

wxwidgets dans un environnement Microsoft Windows

FICHIERS ET DOSSIERS

Organiser le disque dur Dossiers Fichiers

Windows Internet Name Service (WINS)

Installation de Microsoft Office Version 2.1

Notice d installation et d utilisation du blog nomade avec un nouveau blog

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Mise en route. QuickBooks. en ligne. Quelques conseils pour démarrer en beauté

Procédure Platine Exchange 2010 Accompagnement à la migration de votre compte 09/08/ Version 1.0 Hébergement web professionnel

Comment accéder à d Internet Explorer

Plateforme de support en ligne. Guide d utilisation

GPI Gestion pédagogique intégrée

Module.NET 3 Les Assemblys.NET

Notes pour l utilisation d Expression Web

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Comment utiliser FileMaker Pro avec Microsoft Office

Guide rapide IDEP. Helpdesk

Comment se servir de l utilitaire de validation?

Foire aux Questions Note: Les réponses aux questions correspondent à la version Mise en route

Introduction. Exigences système. Exigences matérielles

Qu est ce qu une bibliothèque?

Margill 3.3 Guide de démarrage rapide

PROSPECTION CLIENTS. À Présentation : PROSPECT. 2 Téléchargement. 3 Installation. 6 Ecran d accueil. 7 Paramétrage. 13 Utilitaires

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Tutorial Terminal Server sous

Comment utiliser RoundCube?

Sauvegarder sa messagerie Outlook 2010

Votre site Internet avec FrontPage Express en 1 heure chrono

1.1 L EXPLORATEUR WINDOWS

Quelques éléments de compilation en C et makefiles

IP Office Installation et utilisation de MS-CRM

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Cours LG : Administration de réseaux et sécurité informatique. Dans les Paramètres Système onglet Processeur, le bouton "Activer PAE/NX"

ESPACE COLLABORATIF SHAREPOINT

COMMENT INSTALLER LE SERVEUR QIPAIE

Outils en ligne de commande

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

1. Introduction Création d'une requête...2

COURS WINDEV NUMERO 3

Sauvegarde d'une base de données SQL Server Express 2005

User Manual Version 3.6 Manuel de l Utilisateur Version

Créer et partager des fichiers

Travaux pratiques Détermination de la capacité de stockage des données

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

La double authentification dans SharePoint 2007

Manuel d utilisation du logiciel

CREG : versailles.fr/spip.php?article803

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

PREMIERE UTILISATION D IS-LOG

Netstorage et Netdrive pour accéder à ses données par Internet

SQL Data Export for PS/PSS

Les Aventuriers du Bout du Monde La revue des clubs Microcam

GESTION DE L'ORDINATEUR

Installation et configuration de base de l active Directory

LaCieSync. Synchronization Software. getting started guide. Guide de démarrage. Guida introduttiva. Erste Schritte. Guía de inicio.

Écriture de journal. (Virement de dépense)

Dix bonnes raisons d essayer Office Professionnel Plus 2010

Transcription:

Copyright 2002 Jacques Bourgeois Pour les participants à nos cours d introduction et de mise à niveau à partir de VB6, ce document remplace la section Bilinguisme du chapitre Exploration de votre manuel. Pour les participants aux cours Objet et Base de données (ADO.NET), c est un sujet qui n était pas abordé dans le manuel. 8 L espace disque dont nous disposons sur notre site Web est limité et nous empêche d y installer la version révisée de l application PhotoCat contenant le formulaire bilingue dont il est question dans ce document. Si vous voulez avoir une copie du projet, écrivez-nous à jbfi@sympatico.ca. Applications multilingues On peut aborder le développement d applications multilingues de plusieurs façons. Si vous compilez séparément les différentes versions de l application, le mécanisme le plus simple est probablement de travailler avec des modules de constantes qui peuvent être interchangés d une compilation à l autre ou contrôlés par des variables de compilation conditionnelle. C est un peu plus complexe quand vous voulez avoir un.exe ou un.dll unique qui s adaptera soit en fonction d un choix de l utilisateur, soit par rapport à certains éléments de l environnement comme la version ou la configuration de Windows au moment de l exécution. La technique la plus classique, étant donné que la majorité des applications font appels à une base de données, est d enregistrer tout le texte affiché dans l application dans une table que le programme référence. Les gros défauts de cette approche sont, dans le cas des bases de données non locales, de générer du trafic sur le réseau et de faire travailler le serveur. Il faut aussi prévoir un mécanisme alternatif, ne serait-ce que pour aviser l utilisateur, si la base de données est inaccessible pour une raison ou pour une autre. Pour pallier à ce problème, certains enregistrent les données linguistiques dans une ou dans des fichiers texte ou une base de données Access installés localement. Encore un défaut : l application ne fonctionne pas si le fichier local est détruit ou corrompu.

Par ailleurs, lorsqu on parle de localisation ou de culture 1, le texte affiché à l écran n est pas toujours la seule considération. Les icônes, fichiers sonores et certains autres éléments de l application peuvent aussi changer d un environnement culturel à l autre. Les bases de données et les fichiers se prêtent mal voire pas du tout à ces types d adaptations. L approche recommandée pour concevoir des application internationales est l utilisation de fichiers de ressources. Ce sont dans un premier temps des documents en format XML, possédant généralement l extension.resx. Ils peuvent contenir différents types d informations (texte et images peuvent y être mélangés) et être facilement convertis en fichiers texte standard (et vice versa) si vous n avez pas besoin d autre chose que du texte. Ils peuvent être incorporés dans l exécutable au moment de la compilation ou encapsulés dans des dll que l application référencera à l exécution. Cette dernière possibilité permet entre autres d ajouter des langues sans avoir à recompiler l assemblage. Il suffit de créer un nouveau dll d accompagnement. Le mécanisme offre un système hiérarchique définissant une langue par défaut dans l exécutable, et une ou plusieurs langues alternatives distribuées dans des dll. Ce système permet aussi d éviter la redondance dans le cas ou vous devez adapter l application de façon très précise. Vous pourriez par exemple avoir un fichier de ressource générique pour toutes les versions françaises de votre application, avec des petits fichiers satellites contenant les nuances entre le Québec, la France et la Belgique. Le compilateur et le CLR ayant été conçus pour travailler avec ces fichiers, leur utilisation est optimisée et généralement plus performante que celle d une base de données ou d un fichier conventionnel. Formulaires La classe Form possèdent des propriétés Localizable et Language, qui permettent de générer automatiquement les fichiers de ressources et de créer des formulaires multilingues. Malheureusement, ces propriétés ont été «oubliées» dans l aide en ligne sur les formulaires. Vous pouvez cependant avoir une idée de leur utilisation en cherchant à localization, walkthroughs. Ça semble simple à première vue, mais ça s avère particulièrement frustrant à l utilisation. Le travail dans l environnement de développement devient fastidieux, et chaque formulaire traîne avec lui sa propre ribambelle de fichiers de ressources. Le nombre de fichiers source de l application se multiplie alors de façon considérable. 1 «Localisation» est le terme employé dans le monde Windows, et il est souvent utilisé dans le contexte de.net, où Microsoft parle plus volontiers de «culture». 2 Cours Visual Basic.NET Application multilingues

Vous risquez aussi beaucoup de redondance. Si vous avez un bouton Quitter/Quit sur chacun des formulaires, vous devez répéter les entrées pertinentes dans les fichiers de ressources de chacun des formulaires. Vous risquez d avoir certains formulaires qui auront plutôt Fermer/Close, brisant l uniformité qui caractérise une application bien conçue. Si le patron ou le client décide éventuellement qu il préfère Fermer à Quitter, vous devrez aller modifier individuellement chacun des formulaires. Il est généralement plus simple de développer les applications multilingues à partir de fichiers de ressources que vous créez vous mêmes, et qui peuvent être uniques pour toute l application plutôt qu individuels pour chaque formulaires. Fichiers de ressources Vous ne pouvez les éviter, VB les utilise déjà lui-même pour enregistrer certaines informations qui ne sont pas intégrables directement dans le code, comme par exemple, les icônes et images que vous référencez dans la fenêtre de propriétés. Les données contenues dans ces fichiers de ressources sont compilées à l intérieur de votre application. Si vous voulez créer une application multilingue en utilisant des fichiers de ressources, vous allez habituellement laisser tranquilles les fichiers créés par le système et concevoir vos propres fichiers de ressources. Vous aurez en plus l avantage de pouvoir inclure toutes vos ressources dans quelques gros fichiers plutôt que dans une foule de petits fichiers disparates, facilitant une terminologie uniforme dans toute votre application. 8 Le formulaire frmbilingue a été conçu en utilisant les concepts décrits dans cette section du manuel. Pour le voir en action, activez-le à partir du menu Cours Formulaire bilingue du formulaire principal de l application d exemple. Vous pouvez très aisément étendre la technique à toute une application. Important Il y a plusieurs approches au développement d applications bilingues avec des fichiers de ressources 2, nous nous limiterons ici à la plus courante : nous allons assumer que notre application est par défaut en français, et optionnellement en anglais. Le français va être compilé dans l application elle-même, l anglais sera distribué dans des dll. Þ Vous concevez votre formulaire comme d habitude. Question d éviter une redondance et d améliorer la performance, vous éviterez généralement d entrer la propriété Text. 2 Les informations relatives à l utilisation des ressources sont éparpillées un peu partout et il est très difficile de s y retrouver avec l aide en ligne. Le manuel de Nick Symmonds cité dans les références, à la page Error! Bookmark not defined., nous a permis de mettre tout ça en perspective et de comprendre les nuances et subtilités du mécanisme. Cours Visual Basic.NET Application multilingues 3

Si vous le faites, le texte se retrouvera à la fois dans l application et dans le fichier de ressources. Une convention courante est de mettre un dièse sur le contrôle, en considérant que c est un code indiquant que le texte proviendra d un fichier de ressources. Ça permet aussi de plus facilement certains contrôles qui seraient difficiles à repérer, comme les Labels. Conception des fichiers de ressources Þ Créez un premier fichier de ressources par Project Add New Item...Assembly Resource File. Pour simplifier les choses, vous pouvez lui donner le même nom que notre application, quoique ce ne soit pas absolument nécessaire. Dans notre cas, il s appelle PhotoCat.resx. Ce sera notre fichier de ressources par défaut, notre fichier français, qu on dit de culture invariante. Þ Ce fichier est incorporé à votre projet, avec sa propriété Build Action réglée à Embedded Resource. Définissez-y individuellement toutes les chaînes de caractères utilisées dans le formulaire, tout en donnant à chacune un nom qui servira à la référencer dans le code 3. Pour vous faciliter la tâche, donnez des noms correspondant autant possible aux contrôles dans lesquels sera affichée le texte. La procédure InitControls du formulaire de démonstration fait appel à cette technique pour simplifier l utilisation des ressources. Truc Vous pouvez cliquer sur l en-tête de la colonne name pour trier les entrées par leur nom. 3 Pour ceux qui auraient déjà utilisés des fichiers de ressources Windows, vous serez très contents d apprendre que.net utilise des noms plutôt que des valeurs numériques pour accéder aux ressources. 4 Cours Visual Basic.NET Application multilingues

Þ Les colonnes type et mimetype peuvent être laissées à (null) tant que les ressources sont du texte. Elles ne sont importantes que si vous incluez des objets comme des images ou du son 4. Créez ensuite le fichier anglais en copiant le fichier français et en incorporant la copie à l application avec Project Add Existing Item. Important Le fichier anglais doit porter le même nom que le fichier invariant (français), avec une extension indiquant la langue et la région 5. Þ Truc Nous avons donc nommé notre fichier anglais PhotoCat.en-US.resx. 6 Si vous ne faites pas de différence entre l anglais des États-Unis et celui de l Angleterre (color vs colour par exemple), vous pourriez simplement appeler votre fichier PhotoCat.en.resx. Traduisez le texte de la colonne value, en vous assurant de ne pas modifier la colonne name. Si vous examinez attentivement notre exemple, vous constaterez que nous avons éliminé certaines entrées du fichier anglais (rdbfrançais et rdbanglais). Si une valeur ne change pas entre la culture invariante et une culture spécifique, vous n avez pas à redéfinir. Le mécanisme est expliqué dans la section qui suit. Nom des fichiers de ressources Le nom des fichiers de ressources est à la base de tout le système, et fournit aussi un mécanisme de redondance (fallback) qui simplifie l internationalisation de vos applications. 4 Il n y a à notre connaissance pas de façon d incorporer ces objets à partir de l interface XML fournie pour travailler sur les fichiers de ressources. Quand nous avons eu à le faire, nous avons simplement incorporé ces éléments dans un formulaire et avons simplement déplacé le XML généré dans le fichier de ressources du formulaire dans nos propres fichiers de ressources. 5 Ces extensions correspondent à des normes internationales. Vous en trouverez la liste à la rubrique CultureInfo Class de l aide en ligne. 6 Nous utilisons en-us au lieu de en-ca, États-Unis à la place de Canada, parce que les logiciels anglais utilisés ici sont généralement compilés en-us. C est simplement que traditionnellement, notre anglais ressemble à celui du Commonwealth. en-ca est donc très similaire à en-gb. Mais à l usage, nous parlons un anglais plus près de celui des américains (color au lieu de colour). Cours Visual Basic.NET Application multilingues 5

Supposez que votre application soit en français par défaut et que vous vouliez faire en plus deux versions anglaises légèrement différentes : une pour les États- Unis et le Canada, l autre pour l Angleterre. Vous pourriez définir les fichiers de ressources suivants : Toto.resx Le fichier par défaut, culture invariante, en anglais. Toto.en.resx Fichier générique définissant la terminologie commune à toutes les versions anglaises. Toto.en-US.resx Terminologie propre à l Amérique (color). Toto.en-GB.resx Terminologie propre à l Angleterre (colour). Nous allons voir un peu plus loin qu il est possible de déterminer par programmation la langue à utiliser dans l application. Supposons que l application fonctionne actuellement sur la culture en-us et qu elle réquisitionne le texte de la ressource btnstop pour initialiser la propriété Text du bouton. Nous y reviendrons en détail un peu plus loin, mais le code aurait l air de ceci : btnfermer.text = RM.GetString("btnStop") L objet ResourceManager (RM) utilisé pour récupérer la ressource va tout d abord rechercher un fichier de ressources spécifique à la culture actuelle, «en-us». S il le trouve, il va tenter d y récupérer l entrée btnstop et retourner sa valeur si elle existe. Autrement, il va aller voir dans le fichier générique pour la langue, soit «en». Si «en-us» ou «en» n existent pas ou ne contiennent pas d entrée pour la ressource spécifiée, c est la ressource invariante, définie dans Toto.resx qui est référencée. Il n y a pas d erreur si la ressource n existe pas. Le ResourceManager retourne simplement une chaîne vide. 8 C est le cas du bouton à droite de notre formulaire d exemple frmbilingue. Þ Compilation des fichiers de ressources Si vous lancez l application, vous noterez que le compilateur crée dans le répertoire de compilation un sous-dossier correspondant à la langue spécifiée dans le nom du fichier de ressources secondaire, «en-us», et qu il y génère un fichier portant le nom de l application avec l extension.resources.dll. 7 Le compilateur a appelé pour vous un compilateur de ressources qui s appelle Resgen. 7 C est une application externe qui est appelée pour faire la compilation des fichiers de ressources. Si pour quelque raison vous voulez contrôler vous-même la compilation du dll de ressources, consultez l aide en ligne pour l application Resgen.exe. 6 Cours Visual Basic.NET Application multilingues

On appelle un dll contenant des ressources un fichier de ressources satellite. C est ce fichier que vous allez distribuer avec la version anglaise de votre application. Pour éviter d avoir à spécifier sa localisation dans le code et profiter du mécanisme de redondance décrit un peu plus loin, il est important que le nom et la localisation du fichier ne soient pas modifiés. Où est le dll de la version française, notre fichier français??? Le fichier de culture invariante est simplement compilé à l intérieur de l application elle-même et fait partie du.exe. Ses données ne seront cependant pas automatiquement chargées en mémoire au lancement de l application. Elles ne seront appelées que quand le code fera implicitement référence à une ressource données. Pour avoir un fichier exe plus petit, et aussi parce que par définition, «invariant» signifie non dépendant de la langue, certains programmeurs préfèrent laisser le fichier de culture invariante à-peu-près vide, en y spécifiant uniquement les ressources communes à toutes les langues, et créer un fichier de culture spécifique pour chacune des langues. Important Si vous faites appel aux ressources dans votre application, vous devez avoir un fichier de culture invariante, même s il est vide. Vous allez parfois tomber sur un fichier de ressources possédant l extension.resources. C est en fait le vrai format d un fichier de ressources 8 un format binaire intermédiaire entre le.resx et le.dll. Comme nous concevons à priori des.resx et que l application utilise généralement des.dll, ces fichiers sont habituellement peu importants. Vous devez faire une compilation manuelle avec Resgen.exe pour les «voir passer». Ils permettraient cependant, au travers de la méthode CreateFileBasedResourceManager de l objet ResourceManager discuté un peu plus loin, de localiser les ressources où vous voulez, contrairement à l approche discutée dans ce manuel, qui exige que les fichiers de ressources soient localisés à un endroit bien précis. Utilisation des ressources Pour lire les ressource pendant l exécution de l application, vous utilisez un objet appelé un ResourceManager, qui est, comme plusieurs des objets rattachés à la culture, défini dans le namespace System.Globalization. Comme cet objet est généralement appelé de partout dans votre application, c est un des rares qui est couramment déclaré globalement. 8 L équivalent du.res des fichiers de ressources Windows conventionnels. Cours Visual Basic.NET Application multilingues 7

8 Dans notre exemple, il est défini dans modphotocat.vb. Public RM As New Resources.ResourceManager _ ("PhotoCat.PhotoCat", GetType(modPhotoCat).Assembly) Le premier paramètre est une combinaison du nom de l application suivi du nom du fichier contenant la culture invariante. La méthode GetString de cet objet est ensuite utilisée pour récupérer la ressource associée avec la culture actuellement définie dans l application. Me.Text = RM.GetString("frmBilingue") btnvide.text = RM.GetString("btnVide") MessageBox.Show(RM.GetString("msgFermer")) Il y a aussi une méthode GetObject qui permettrait de récupérer d autres types de ressources comme par exemple les images. Spécifier la culture L objet ResourceManager détermine quelle culture utiliser en faisant appel à la System.Globalization.CultureInfo.CurrentUICulture qui est définie par défaut comme étant la culture du système d opération 9. La notion de culture s applique en fait au thread courant, pas vraiment à l application elle-même. Pour la majorité des programmes, qui ne font pas implicitement appel à des threads, ça revient au même. Vous redéfinissez la culture utilisée par les ressources en redéfinissant l objet Globalization.CultureInfo référencé par le System.Threading.Thread.CurrentThread.CurrentUICulture : Imports System.Globalization Imports System.Threading.Thread 'Français CurrentThread.CurrentUICulture = New CultureInfo("fr-CA") 'Anglais CurrentThread.CurrentUICulture = New CultureInfo("en-US") 'Invariant (culture par défaut de l'application) CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture 'Panneau de configuration CurrentThread.CurrentUICulture = CultureInfo.CurrentCulture 'Version de Windows CurrentThread.CurrentUICulture = CultureInfo.InstalledUICulture 9 Dans leur sagesse J habituelle en matière d internationalisation des applications, Microsoft a décidé d associer le défaut avec la CurrentUICulture correspondant au système d opération plutôt qu à la CurrentCulture qui référence le panneau de configuration. 8 Cours Visual Basic.NET Application multilingues

8 Nous utilisons de type de code dans la frmbilingue.changement, qui est appelé chaque fois qu une option linguistique est sélectionnée dans le formulaire. Une fois la culture changée, de même qu à l ouverture du formulaire pour remplacer nos dièses, nous appelons frmbilingue.ajuste qui s occupe de réinitialiser le formulaire avec la nouvelle culture. Cette dernière procédure se fait aider un peu par frmbilingue.initcontrols qui profite du fait que nous avions donné à nos ressources les mêmes noms que nos contrôles pour automatiquement faire les associations. Notez que vous pouvez aussi spécifier directement la culture au moment de lire le fichier de ressources. C est cette technique qui est utilisée pour les deux Labels en bas de notre formulaire d exemple : lblfrançais.text = RM.GetString("lblFixe", New CultureInfo("fr-CA")) lblanglais.text = RM.GetString("lblFixe", New CultureInfo("en-US")) Resgen et autres utilitaires Nous avons mentionné plus tôt que le compilateur faisait appel à un utilitaire Resgen.exe pour compiler le fichier de ressources en dll. Vous n avez généralement pas besoin de faire vous-même appel à cet outil, mais il peut s avérer utile dans certains circonstances. Il permet entre autres de convertir votre fichier de ressources XML en fichier texte et vice versa. Si vous faites appel à un traducteur pour localiser vos applications, il est fort probable qu il préférera travailler avec un fichier texte plutôt qu avec un fichier XML. 8 Le dossier de projet contient un fichier PhotoCat.txt qui a été généré avec la simple commande suivante, l outil déterminant la conversion à faire en fonction des extensions de fichier : Resgen PhotoCat.resx PhotoCat.txt De retour de chez le traducteur, ce fichier peut être reconverti en XML ou même être compilé directement, simplement en inversant les paramètres de la commande. Le gros défaut de ce type de conversion est qu il est limité à des fichiers contenant du texte (pas d images) et que vous perdez vos commentaires. Si vous voulez utiliser les techniques discutées précédemment mais ne voulez pas avoir à «traîner» les ressources satellites, vous pouvez incorporer toutes les ressources dans l exécutable en compilant manuellement le projet. Si ça vous intéresse, consultez l aide en ligne pour le VBC (Visual Basic Compiler) et jetant un coup d œil à l option de compilation /resource. Si vous avez déjà dans votre collection de fichiers des fichiers de ressources Windows (.res). vous pouvez aussi les lier avec un assemblage.net à partir d une compilation sur la ligne de commande. Cours Visual Basic.NET Application multilingues 9

Formatage N oubliez pas que la localisation d une application n est pas simplement une question de déterminer les images et le texte à afficher; il faut aussi s organiser pour formater correctement les informations, particulièrement les dates et les chiffres. L affichage se fait par défaut en fonction du panneau de configuration. Si votre application permet, comme notre formulaire d exemple, de sélectionner une culture différente, il faudrait que le formatage suive. Dans un tel cas, modifiez non pas le CurrentUICulture, qui est utilisé par le ResourceManager, mais plutôt la CurrentCulture, qui spécifie le format du Thread. Nous devons vous avouer que nous n avons pas eu le temps de «jouer» avec ce concept, alors soyez aux aguets pour de possibles effets secondaires. Répertoire de terminologie Microsoft publie un répertoire de ressources linguistiques, une référence intéressante si vous désirez développer des applications bilingues utilisant des termes plus facilement reconnus par les utilisateurs de Windows. Vous y trouverez une série de documents contenant la terminologie utilisée par Microsoft dans les différentes versions internationales de ses propres logiciels. Vous trouverez ces documents à ftp.microsoft.com/developr/msdn/newup/glossary/ Attention : le fichier French.exe fait 12 Mo. 10 Cours Visual Basic.NET Application multilingues