Je développe actuellement une application WinForm en C# exploitant l'API
System.Globalization me permettant de gérer facilement une version Française
et Américaine de celle-ci.
J'ai bien reussi à créer mes fichiers de ressoucres pour chaque langue.
Pour tester la version américaine, je suis cependant obliger de mettre au
debut de mon programe l'instruction suivante :
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo("en-US");
Pour que mes test soient réellement significatif, je souhaiterai pourvoir me
passer de cette instruction au lancement de mon appli.
Il faudrait à priori que je modifie mon environnement Windows.
J'ai testé en changeant mes paramètres régionaux à "en-US": la
CurrentUICulture reste "fr-FR".
Comment dois-je configurer Windows pour que ma CurrentUICulture passe en
"en-US" ?
Faut-il une version Windows amércaine pour que la CurrentUICulture soit
"en-US" ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabrice MALAINGRE
Bonsoir Sébastien,
J'ai testé en changeant mes paramètres régionaux à "en-US": la CurrentUICulture reste "fr-FR".
Les paramètres régionaux influent sur la "CurrentCulture" du Thread en cours et non sur la "CurrentUICulture".
Comment dois-je configurer Windows pour que ma CurrentUICulture passe en "en-US" ?
La valeur par défaut de la "CurrentUICulture" est celle qui correspond à la culture du système d'exploitation (i.e. "CultureInfo.InstalledUICulture").
Faut-il une version Windows amércaine pour que la CurrentUICulture soit "en-US" ?
Oui, sauf pour la version MUI de Windows XP qui permet de basculer l'intégralité du système d'exploitation d'une culture à l'autre (dans l'onglet "Langues" des paramètres régionaux).
Pour tester la version américaine, je suis cependant obliger de mettre au debut de mon programe l'instruction suivante : System.Threading.Thread.CurrentThread.CurrentUICulture > new System.Globalization.CultureInfo("en-US");
Autres solutions enviseageables : 1) Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture ; Le changement des paramètres régionaux aura alors l'effet escompté 2) Passer le code de la culture désirée en paramètre de l'application 3) Installer un XP MUI...
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr
Bonsoir Sébastien,
J'ai testé en changeant mes paramètres régionaux à
"en-US": la CurrentUICulture reste "fr-FR".
Les paramètres régionaux influent sur la "CurrentCulture"
du Thread en cours et non sur la "CurrentUICulture".
Comment dois-je configurer Windows pour
que ma CurrentUICulture passe en "en-US" ?
La valeur par défaut de la "CurrentUICulture" est celle qui correspond
à la culture du système d'exploitation (i.e.
"CultureInfo.InstalledUICulture").
Faut-il une version Windows amércaine
pour que la CurrentUICulture soit "en-US" ?
Oui, sauf pour la version MUI de Windows XP qui permet de
basculer l'intégralité du système d'exploitation d'une culture à l'autre
(dans l'onglet "Langues" des paramètres régionaux).
Pour tester la version américaine, je suis cependant
obliger de mettre au debut de mon programe l'instruction suivante :
System.Threading.Thread.CurrentThread.CurrentUICulture > new System.Globalization.CultureInfo("en-US");
Autres solutions enviseageables :
1) Thread.CurrentThread.CurrentUICulture =
Thread.CurrentThread.CurrentCulture ;
Le changement des paramètres régionaux aura alors l'effet escompté
2) Passer le code de la culture désirée en paramètre de l'application
3) Installer un XP MUI...
Cordialement
____________________________
Fabrice MALAINGRE
Architecte Logiciel - Chef de Projet
THEORIS - www.theoris.fr
J'ai testé en changeant mes paramètres régionaux à "en-US": la CurrentUICulture reste "fr-FR".
Les paramètres régionaux influent sur la "CurrentCulture" du Thread en cours et non sur la "CurrentUICulture".
Comment dois-je configurer Windows pour que ma CurrentUICulture passe en "en-US" ?
La valeur par défaut de la "CurrentUICulture" est celle qui correspond à la culture du système d'exploitation (i.e. "CultureInfo.InstalledUICulture").
Faut-il une version Windows amércaine pour que la CurrentUICulture soit "en-US" ?
Oui, sauf pour la version MUI de Windows XP qui permet de basculer l'intégralité du système d'exploitation d'une culture à l'autre (dans l'onglet "Langues" des paramètres régionaux).
Pour tester la version américaine, je suis cependant obliger de mettre au debut de mon programe l'instruction suivante : System.Threading.Thread.CurrentThread.CurrentUICulture > new System.Globalization.CultureInfo("en-US");
Autres solutions enviseageables : 1) Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture ; Le changement des paramètres régionaux aura alors l'effet escompté 2) Passer le code de la culture désirée en paramètre de l'application 3) Installer un XP MUI...
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr
Sebastien Ollivier
Merci beaucoup, cela fonctionne très bien.
Maintenant, j'ai besoin de changer la langue au cours de l'exécution. Par exemple, si je suis en version anglaise-us et que je souhaite passer en version française-fr, je clique sur un bouton qui contient le code : System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
Cependant, mes fenetres restent en anglais tant que je ne les ai pas fermée pui réouvertent.
Y a-t-il un moyen d'effectuer ce changement sans avoir à recharger toutes les fenêtres déjà ouvertes ?
Cordialement
Sébastien OLLIVIER
"Fabrice MALAINGRE" a écrit :
Bonsoir Sébastien,
> J'ai testé en changeant mes paramètres régionaux à > "en-US": la CurrentUICulture reste "fr-FR". Les paramètres régionaux influent sur la "CurrentCulture" du Thread en cours et non sur la "CurrentUICulture".
> Comment dois-je configurer Windows pour > que ma CurrentUICulture passe en "en-US" ? La valeur par défaut de la "CurrentUICulture" est celle qui correspond à la culture du système d'exploitation (i.e. "CultureInfo.InstalledUICulture").
> Faut-il une version Windows amércaine > pour que la CurrentUICulture soit "en-US" ? Oui, sauf pour la version MUI de Windows XP qui permet de basculer l'intégralité du système d'exploitation d'une culture à l'autre (dans l'onglet "Langues" des paramètres régionaux).
> Pour tester la version américaine, je suis cependant > obliger de mettre au debut de mon programe l'instruction suivante : > System.Threading.Thread.CurrentThread.CurrentUICulture > > new System.Globalization.CultureInfo("en-US"); Autres solutions enviseageables : 1) Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture ; Le changement des paramètres régionaux aura alors l'effet escompté 2) Passer le code de la culture désirée en paramètre de l'application 3) Installer un XP MUI...
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr
Merci beaucoup, cela fonctionne très bien.
Maintenant, j'ai besoin de changer la langue au cours de l'exécution.
Par exemple, si je suis en version anglaise-us et que je souhaite passer en
version française-fr, je clique sur un bouton qui contient le code :
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo("fr-FR");
Cependant, mes fenetres restent en anglais tant que je ne les ai pas fermée
pui réouvertent.
Y a-t-il un moyen d'effectuer ce changement sans avoir à recharger toutes
les fenêtres déjà ouvertes ?
Cordialement
Sébastien OLLIVIER
"Fabrice MALAINGRE" a écrit :
Bonsoir Sébastien,
> J'ai testé en changeant mes paramètres régionaux à
> "en-US": la CurrentUICulture reste "fr-FR".
Les paramètres régionaux influent sur la "CurrentCulture"
du Thread en cours et non sur la "CurrentUICulture".
> Comment dois-je configurer Windows pour
> que ma CurrentUICulture passe en "en-US" ?
La valeur par défaut de la "CurrentUICulture" est celle qui correspond
à la culture du système d'exploitation (i.e.
"CultureInfo.InstalledUICulture").
> Faut-il une version Windows amércaine
> pour que la CurrentUICulture soit "en-US" ?
Oui, sauf pour la version MUI de Windows XP qui permet de
basculer l'intégralité du système d'exploitation d'une culture à l'autre
(dans l'onglet "Langues" des paramètres régionaux).
> Pour tester la version américaine, je suis cependant
> obliger de mettre au debut de mon programe l'instruction suivante :
> System.Threading.Thread.CurrentThread.CurrentUICulture > > new System.Globalization.CultureInfo("en-US");
Autres solutions enviseageables :
1) Thread.CurrentThread.CurrentUICulture =
Thread.CurrentThread.CurrentCulture ;
Le changement des paramètres régionaux aura alors l'effet escompté
2) Passer le code de la culture désirée en paramètre de l'application
3) Installer un XP MUI...
Cordialement
____________________________
Fabrice MALAINGRE
Architecte Logiciel - Chef de Projet
THEORIS - www.theoris.fr
Maintenant, j'ai besoin de changer la langue au cours de l'exécution. Par exemple, si je suis en version anglaise-us et que je souhaite passer en version française-fr, je clique sur un bouton qui contient le code : System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
Cependant, mes fenetres restent en anglais tant que je ne les ai pas fermée pui réouvertent.
Y a-t-il un moyen d'effectuer ce changement sans avoir à recharger toutes les fenêtres déjà ouvertes ?
Cordialement
Sébastien OLLIVIER
"Fabrice MALAINGRE" a écrit :
Bonsoir Sébastien,
> J'ai testé en changeant mes paramètres régionaux à > "en-US": la CurrentUICulture reste "fr-FR". Les paramètres régionaux influent sur la "CurrentCulture" du Thread en cours et non sur la "CurrentUICulture".
> Comment dois-je configurer Windows pour > que ma CurrentUICulture passe en "en-US" ? La valeur par défaut de la "CurrentUICulture" est celle qui correspond à la culture du système d'exploitation (i.e. "CultureInfo.InstalledUICulture").
> Faut-il une version Windows amércaine > pour que la CurrentUICulture soit "en-US" ? Oui, sauf pour la version MUI de Windows XP qui permet de basculer l'intégralité du système d'exploitation d'une culture à l'autre (dans l'onglet "Langues" des paramètres régionaux).
> Pour tester la version américaine, je suis cependant > obliger de mettre au debut de mon programe l'instruction suivante : > System.Threading.Thread.CurrentThread.CurrentUICulture > > new System.Globalization.CultureInfo("en-US"); Autres solutions enviseageables : 1) Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture ; Le changement des paramètres régionaux aura alors l'effet escompté 2) Passer le code de la culture désirée en paramètre de l'application 3) Installer un XP MUI...
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr
Fabrice MALAINGRE
Bonjour Sébastien,
Y a-t-il un moyen d'effectuer ce changement sans avoir à recharger toutes les fenêtres déjà ouvertes ?
Oui... Ecrire le code qui va bien :-)
En fait, plutôt que de laisser l'IDE faire le boulot (code situé dans InitializeComponent), le mieux est d'implémenter une méthode qui affecte toutes les propriétés du formulaire dont la valeur émane des ressources.
Ainsi, pour un changement dynamique, il suffit d'invoquer cette méthode.
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr
Bonjour Sébastien,
Y a-t-il un moyen d'effectuer ce changement sans
avoir à recharger toutes les fenêtres déjà ouvertes ?
Oui... Ecrire le code qui va bien :-)
En fait, plutôt que de laisser l'IDE faire le boulot (code situé dans
InitializeComponent), le mieux est d'implémenter une méthode qui affecte
toutes les propriétés du formulaire dont la valeur émane des ressources.
Ainsi, pour un changement dynamique, il suffit d'invoquer cette méthode.
Cordialement
____________________________
Fabrice MALAINGRE
Architecte Logiciel - Chef de Projet
THEORIS - www.theoris.fr
Y a-t-il un moyen d'effectuer ce changement sans avoir à recharger toutes les fenêtres déjà ouvertes ?
Oui... Ecrire le code qui va bien :-)
En fait, plutôt que de laisser l'IDE faire le boulot (code situé dans InitializeComponent), le mieux est d'implémenter une méthode qui affecte toutes les propriétés du formulaire dont la valeur émane des ressources.
Ainsi, pour un changement dynamique, il suffit d'invoquer cette méthode.
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr