Bonjour,
Etant un ancien développeur VB6 je souhaite me remettre au gout du jour avec .Net et C# depuis quelques jours... mais ce n'est pas toujours très facile.
Mon cas d'école du jour est le suivant :
Je souhaite écrire un programme qui sera peut-être un jour traduit dans d'autres langues.
Mon idée étant de créer un fichier Xml qui donne
<
xml version="1.0" encoding="utf-8">
<Constante>
<ConstName>AppliName</ConstName>
<Francais>Application de test</Francais>
<Anglais>Test application</Anglais>
<ConstName>AuteurName</ConstName>
<Francais>Christophe alias Cfz</Francais>
<Anglais>Christophe alias Cfz</Anglais>
</Constante>
</xml>
Dans mon code je créé une nouvelle classe regroupant un ensemble de constantes me permettant de faire le lien entre le code source et le document Xml. Voir ci-dessous :
namespace
AppliTest.Constantes{
public class ConstLangues {
//Définition des constantes --> lien avec le tag <ConstName> du document Xml
public const string AppliName = "AppliName";
public const string AuteurName = "AuteurName";
//sLangue est égal à Fr ou Eng pour francais ou anglais
public static string GetTexte(string sConstante, string sLangue) {
//Chargement du document Xml lors de la première utilisation
//On récupère le texte correspondant à la constante dans le document XML des langues
}
private ConstLangues() { } //Constructeur privé vide, tout est Static dans cette classe...
}
}
Mon idée étant de récupérer dans le document Xml le texte dans la langue qui m'interresse. Le problème c'est que je ne sais pas comment écrire la fonction GetTexte (je n'ai encore jamais travaillé avec du Xml jusqu'à aujourd'hui). J'ai bien trouvé des tutoriaux sur le net, mais à chaque fois ils se contentent de parcourir l'ensemble des noeuds jusqu'à ce qu'ils trouvent celui qui les interresse. Il y a peut-être une solution avec XPath, mais je n'ai pas bien compris.
Je voudrais donc savoir s'il y a un moyen simple et rapide (mon programme ne doit pas être gourmand en ressources système) de récupérér le texte qui m'interresse. Dois-je utiliser un DataSet ? Et si c'est le cas, comment ? Puis-je exécuter des requêtes Sql sur mon document Xml ?
Bref, j'ai plein de question sans réponse, donc si vous pouvez me renseigner ou me donner des liens où je pourrais trouver des réponses adéquates... merci d'avance.
J'ai également une seconde question : "Est-ce que la solution que j'expose ici pour gérer le multi-langage de mon application est bonne ?".