C# et localisation - C#/.NET managed - Programmation
Marsh Posté le 19-10-2005 à 12:41:14
Bah y'a des lectures, mais pas beaucoup de réponses à mes 6 questions
Bon, je m'en fous à la limite, aucune question n'est blocante pour moi mais bon... Plutôt que de réécrire la moitié de mon appli dans 6 mois parcequ'on me dit que j'ai fait n'importe quoi, j'aimerais le savoir dès maintenant...
Marsh Posté le 19-10-2005 à 13:26:13
Allez, je viens poster
Et j'ai une chose à dire : tu t'es fait chier pour rien
Le framework a déjà tout pour gérer la localisation, grâce à de beaux fichiers .resx... qui ne sont rien d'autres que de l'XML Le Framework va pouvoir charger tout seul le .resx dont il a besoin, selon la Culture que tu indique. etc, etc etc
Marsh Posté le 19-10-2005 à 14:10:30
Euh... T'as un exemple de comment ça marche ?
=> Moi, je veux que le fichier XML soit aisément modifiable par l'utilisateur
=> Qu'il puisse ajouter sa langue si elle n'est pas prise en charge
=> N'avoir qu'un seul EXE pour toutes les langues
Marsh Posté le 19-10-2005 à 14:19:17
Dans tous les cas, pour faire ce que je compte faire, je pense pouvoir gérer ces différents SGBD (c'est pas tous des SGBD mais bon, je peux jouer dedans quand même )
http://www.carlprothman.net/Default.aspx?tabid=87
Marsh Posté le 19-10-2005 à 00:53:05
Je viens de faire une class en C# qui me permet de gérer de façon dynamique la langue de mon application, à partir d'un fichier XML.
Voici le code :
Je me repose sur le fichier :
Ca marche (c'est déjà pas mal )
Mais j'ai quelques petites questions :
1) Est-ce que mon fichier XML est correct d'un point de vue sémantique ? Niveau structure, ça me semble correct et tout mais bon, au pour les labels par exemple, est-ce que la valeur ne serait pas mieu dans un attribut "value" ?
2) Dans mon code, est-ce que j'utilise "ce qu'il y a de mieu" pour parcourir mon fichier ? Je veux dire par là qu'il y a 1001 façons de parcourir un fichier XML, et je pense que parmi celles-ci, une est mieu que les autres...
3) Là, pour chaque label, je charge deux fois mon fichier (une première fois pour vérifier que la langue existe, et une seconde pour charger le label correspondant à la langue retenue). Sans stocker une infinité de variables en mémoire dans des Dictionnaires, ai-je un moyen simple de conserver en cache mon fichier XML sans trop de code ? J'aimerais si possible conserver l'aspect statique de mes fonctions.
4) Mon PC est sous Windows XP Edition Familiale, en français. Seulement, pour pouvoir bénéficier complètement des graphismes de Microsoft Filght Simulator, j'ai dû contourner un bug en mettant "Anglais (Etats-Unis)" dans mes options régionales. Du coup, malgré un OS en Français, mon programme me parle en anglais. Plutôt que d'utiliser System.Globalization.RegionInfo.CurrentRegion, qui retourne les infos des paramètres régionnaux, y a-t-il un moyen de retrouver la langue de l'OS ? C'est pas très gênant en soit, mais vu que je n'ai pour le moment pas prévu de pouvoir imposer une langue, c'est pas forcément terrible. (chuis trop fier de trouver la langue tout seul comme un grand pour permettre à l'utilisateur de choisir - d'autant plus qu'on peut toujours jouer avec le fichier labels.xml)
5) Même si là c'est pas utile, comment indiquer à la compilation que je veux que "labels.cs" soit compilé dans une DLL externe ? (sans créer un projet dédié à la DLL) C'est possible ?
6) J'avais encore une autre question, mais je l'ai oubliée Ca va me revenir... Ha oui ! Est-ce que ça intéresse des gens un programme capable de se connecter à n'importe quelle base de données (en fait, tout ce qui est supporté par OLEDB), afin de générer des fichiers d'extractions des tables, à divers formats (CSV, fichier avec masque, SQL Loader, lot de requêtes, XML, etc.) ? Et pourquoi pas des choses plus évoluées, telles que la duplication de tables entre deux bases différentes, le listing des données d'une tables, etc.