Fichier config langues [Résolu]

Signaler
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
-
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
-
Slt,j'ai une interface qui utilise plusieurs langues.Je veux que si on ferme l'application, elle mémorise la dernière langue utilisée.
Pour ce, j'ai déclaré 1 ressource manager:

internal
ResourceManager LocRM =
new
ResourceManager(
"monprojet.WinFormStrings",
typeof(
Form1).Assembly);
j'ai aussi ajouté "langues" au niveau de properties de mon projet.
Je sais qu'il faut utiliser des lignes de code du style suivant mais je suis bloqué.
Properties.

Settings.Default.langues =..........
;
Properties.
Settings.Default.Save();
Pouvez-vous m'aider?
Merci.

11 réponses

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,

en tout cas, si je mets ca dans un button, ca change rien, ni au redémarrage (forcément)...je suis en 2.0

la solution la plus simple que tu aies, c'est :
dans ton menuitem_click :
Properties.Settings
.Default.langues =
"en";

Properties.
Settings.Default.Save();

au début de ton static Main dans Program.cs :
Thread.CurrentThread.CurrentUICulture =
new CultureInfo(
Properties.Settings
.Default.langues
);

et normalement, ca doit conserver, la langue choisie MAIS SEULEMENT POUR LE RELANCEMENT SUIVANT...

ShareVB
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Slt,Bidou tu m'avais déjà aidé sur un truc de ce genre.Peux-tu m'aider?


Merci.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Bidou?Je suis vraiment bloqué.
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,

si ca peuxt t'aider :
http://msdn2.microsoft.com/en-us/library/aa730869(vs.80).aspx

ensuite tu stockes le "xx-XX" contenu dans thread.currentthread.currentuiculture.name et tu le reset dans Main avec thread.currentthread.currentuiculture = new CultureInfo("xx-XX");

ShareVB
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Salut,je l'avais déja fait mais ça le mémorise pas.J'avais fait par exemple dans mon menu Anglais:
Properties.

Settings.Default.langues = (
"en");

Thread.CurrentThread.CurrentUICulture =
new
CultureInfo(
"en");
Properties.
Settings.Default.Save();
Je ne sais pas si c'est le bon endroit ou pas?
Merci.
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,

normalement, dans ton menuitem_click :
Properties.Settings
.Default.langues =
"en";

Properties.
Settings.Default.Save();

dans ton static Main avant le Run :
Thread.CurrentThread.CurrentUICulture =
new CultureInfo(
Properties.Settings
.Default.langues
);

ShareVB
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Salut,quand je fais comme tu me dis,il change pas la langue.Il attend que je ferme l'application et que j'exécute encore et quand j'appuie de nouveau sur le menu-click pour mettre la langue que j'ai choisi avant de fermer l'application.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Au fait il actualise pas sur le coup la langue choisie.Si quelqu'un peut m'aider?


 
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,

ben, tu n'as pas le choix justement, et je ne pense pas que tu puisses rafraichir l'interface sans code supplémentaire...

ma solution doit normalement te permettre de changer la langue pour le prochain redémarrage de ton programme...par contre, si tu veux recharger toutes les chaines, il faut que tu le fasses à la main et ceux pour toutes les chaines affichées...il n'y a pas d'autres solutions...

ShareVB
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

justement par exemple dans le menu-clik anglais je mets:
Thread.CurrentThread.CurrentUICulture =
new
CultureInfo(
"en");
c'est ça qui permet de le changer automatiquement.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Ok.merci qd meme.ca conserve mais je vais essayer de plus creusé pour mon probléme.