2011-12-06 2 views
2

J'ai un projet Visual Studio écrit en C#.Deux configurations pour le même projet (visual studio 2008, C#)

Je veux avoir 2 configurations différentes pour différentes langues. Par exemple, setup-en pour l'étape à être en anglais et setup-es pour un installateur espagnol.

Je souhaite que le projet soit construit en fonction de la configuration. A savoir si je construis setup-en je veux vérifier dans mon projet et construire le projet avec la langue anglaise pour l'interface utilisateur et même pour l'espagnol.

Y a-t-il un moyen de gérer cela? J'espère que j'étais assez clair.

Répondre

1

faire une action en démarrage dans votre projet, somethin comme ceci:

public void GetSettings() 
    { 
     string fileName = "./Names.xml"; 

     if (File.Exists(fileName)) 
     { 
      XmlTextReader xml = new XmlTextReader(fileName); 

      while (xml.Read()) 
      { 
       if (xml.Name.Equals("pgsql")) 
       { 
        try 
        { 
         button2.Text = xml.GetAttribute("button2"); 
         button3.Text = xml.GetAttribute("button3"); 
         button4.Text = xml.GetAttribute("button4"); 
         button5.Text = xml.GetAttribute("button5"); 
        } 
        catch (Exception) 
        { 
         throw new Exception("Settings: Failed to get all settings"); 
        } 
       } 
      } 
     } 
     else 
     { 
      throw new Exception("Settings: pgsql.xml not found!"); 
     } 
    } 

cet exemple est basé sur le fichier, Names.xml, qui est inclus dans le projet. créer des dossiers de langue et inclure le fichier Names.xml dans ces dossiers.

pour effectuer une configuration, utilisez l'éditeur HM nis, trouvé au http://hmne.sourceforge.net/. lors de l'exécution de cette insertion de programme en tant que nom de fichier setup-EN et choisissez tous les fichiers DLL et .EXE. Incluez également le dossier/carte English - Names.xml J'espère que cela fonctionnera pour vous

0

Je pense que vous pouvez le faire, en stockant les noms d'étiquettes, les textes de boutons, ... dans les fichiers XML, pour chaque langue. Lorsque vous sélectionnez la langue, les valeurs avec la langue sélectionnée seront chargées.

0

Je ne pense pas que cela soit possible uniquement dans la configuration.

Vous pouvez mettre tout le texte dans un fichier séparé et ajouter la version anglaise à votre programme en anglais et l'espagnol à l'espagnol.

Cependant, cela n'affectera pas les boutons et autres (sauf si vous avez chacun d'entre eux regardent ce fichier)

La meilleure façon je suppose que j'ai le code (visuel) et des formulaires en 2 versions et vérifier ce que la langue est sélectionnée avant l'affichage. Mais cela est fait dans le programme actuel pas la configuration.

1

Ceci n'est pas pris en charge par les projets d'installation de Visual Studio. Cela peut être fait uniquement avec un outil de création d'installation qui prend en charge la génération de packages distincts pour chaque langue.

Vous pouvez trouver une liste des outils de configuration ici: http://en.wikipedia.org/wiki/List_of_installation_software

Ceux qui offrent la localisation sont pour la plupart commerciaux. Les installateurs localisés ne sont pas une fonctionnalité simple, c'est pourquoi ils n'étaient pas inclus dans Visual Studio.

Questions connexes