2009-02-19 6 views
0

Dans mon application, je veux soutenir 2 langues (anglais et arabe). Pour l'instant je jette la version anglaise du fichier d'aide dans un certain chemin. Que se passe-t-il si je veux que l'utilisateur choisisse la langue dans laquelle il veut installer son application et, selon que je choisirai de lancer le fichier chm correspondant dans ce chemin.Localisation en utilisant le fichier msi

Également une autre partie de la Q, puis-je faire quelque chose comme lorsque vous installez une application, il vous demande la langue alors il ne lance que le fichier exe?

+0

Pouvez-vous expliquer quel programme d'installation vous utilisez pour générer le msi? Est-ce un projet d'installation Visual Studio ou autre chose? –

+0

J'utilise Visual Studio 2005 – BDeveloper

Répondre

0

Vous n'avez pas indiqué comment vous réalisez la localisation dans votre application. Puisque vous développez dans .NET, je suppose que vous avez un fichier .resx pour chaque langue contenant toutes les données localisées. Alors pourquoi ne pas installer les deux fichiers d'aide et rendre le chemin vers le fichier d'aide une chaîne localisée dans le fichier de ressources? Par ailleurs, en utilisant des fichiers de ressources localisés, vous n'aurez qu'un exécutable à installer. Vous pouvez choisir pendant le chargement de vos formulaires quelle langue utilisera en spécifiant le CultureInfo.CurrentUICulture en conséquence, par ex. basé sur un paramètre de configuration ou une clé de registre.

Concernant la deuxième partie de votre question: Vous pouvez demander à votre utilisateur de sélectionner la langue cible. Cela définirait le paramètre de configuration ou la clé de registre décrite ci-dessus. Cependant, changer la langue pendant l'installation ne changerait pas la langue de l'interface utilisateur du programme d'installation MSI (je ne pense pas que cela soit pris en charge *).

Je vous recommanderais donc d'avoir un installateur séparé pour chaque langue ou d'utiliser un système d'installation différent (NSIS semble être un bon choix). *) MSI peut select the UI language automatically en fonction des paramètres régionaux définis pour l'utilisateur

*) Cependant, ce comportement n'est pas officiellement supporté et la façon de le réaliser est également un peu compliquée.

Questions connexes