Question

J'ai donc un programme qui doit être multilingue. La seule différence entre ce dont j'ai besoin et ce que j'ai trouvé sur le Web est que tous les ordinateurs sur lesquels mon programme sera exécuté sont configurés selon la localisation de EN.

Nous avons des employés hispanophones qui utiliseront le programme, tout comme les employés anglophones. Je ne pourrai donc pas configurer quelque chose en fonction de la localisation de l'ordinateur, tout devra être fait en code.

Je pensais essayer de créer un fichier XML (en réalité un ensemble de données) pour chaque formulaire que j'ai et faire en sorte que chaque table de données soit un langage sélectionnable. Dans chaque table, il aurait les informations (nom du contrôle, propriété et texte) pour définir les étiquettes / cases à cocher / etc. nécessaires. Je vais devoir créer un nouveau contrôle de formulaire pour pouvoir disposer d’une fonction générique et renommer tous les contrôles si possible.

<DataSet>
   <English>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hello</Text>
   </English>
   <English>
     <ControlName>labelBye</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Bye</Text>
   </English>
   <Spanish>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hola</Text>
   </Spanish>
</DataSet>

De plus, je ne connaissais pas grand chose aux chaînes du fichier de ressources pour chaque formulaire. Puis-je le faire à partir de là et utiliser les fonctions .Net pour y parvenir?

Je suis donc prêt à faire de nombreuses suggestions car je ne souhaite vraiment pas revenir au programme que je viens d'écrire et de l'insérer, je déteste revenir en arrière et ajouter plus de fonctionnalités une fois que j'ai déjà passé autant de temps avec cette ventouse ...

Merci

Était-ce utile?

La solution

Vous pouvez définir la culture souhaitée dans le code, par exemple:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES");

Voir cet article MSDN pour plus d'informations. info.

Autres conseils

C’est pénible, mais ce n’est pas difficile. Dans le concepteur WinForm de VS2008, sélectionnez le formulaire, affichez ses propriétés et définissez Localizable = True (si vous affichez la classe / le code partiel derrière le fichier, vous verrez une nouvelle ligne ressemblant à

  resources.ApplyResources(this, "$this")

Ensuite, pour chaque paramètre régional que vous souhaitez prendre en charge, sélectionnez Langue et localisez les modifications nécessaires sur le paramètre Local par défaut.

Je pense que Windows permet à l'utilisateur de spécifier des paramètres régionaux différents pour une application spécifiée. J'ai essayé la dernière fois avec Windows 2000.

Avec Windows, vous pouvez avoir une culture de la machine EN, mais pour le navigateur, les utilisateurs individuels du PC peuvent sélectionner les cultures préférées (IE et Firefox de toute façon). Tout le reste sur PC est en anglais Dans IE, accédez à Outils, Options, cliquez sur le bouton Langue de l'onglet Général. Vous pouvez spécifier une hiérarchie de langues préférée.

Sinon, allez avec Joes répondre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top