Bon je viens de faire quelque test et :
Thread.CurrentThread.CurrentCulture
Correspond au langage du système que je peux modifier via panneau de config
et
Thread.CurrentThread.CurrentUICulture
Correspond au langage affiché sur application SL.
Ainsi en faisant :
1 2 3
| Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
//ou
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); |
Dans le App.xaml.cs, je change bien le langage de mon application.
Par contre modifier le langage du système ne change en rien le langage affiché au démarrage de mon appli, ainsi si je change le langage de mon système en "en-US", au démarrage de mon appli, je suis toujours en français. J'ai donné la possibilité à mon utilisateur de changer la langue via un bouton
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| void Drapeau_US_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Helpers.LangHelper MyLangHelper = new Helpers.LangHelper();
MyLangHelper.ChangeCulture("en-US");
ContentFrame.Refresh();
ChangeLabelButton();
}
void Drapeau_FR_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Helpers.LangHelper MyLangHelper = new Helpers.LangHelper();
MyLangHelper.ChangeCulture("fr-FR");
ContentFrame.Refresh();
ChangeLabelButton();
} |
La classe langHelper étant la classe décrite dans le tuto suivant (la méthode ChangeCulture changeant juste la CurrentUICulture et la CurrentCulture :
http://broux.developpez.com/articles...-localisation/
Avec mes boutons je change bien le langage affiché sur mon appli mais toujours rien au démarrage de l'appli.
J'ai un peu modifié mes fichier ressource puisque j'ai mis maintenant le fichier contenant l'anglais en fichier par défaut "Language.resx" et le Français dans un fichier "Language.fr-FR.resx", j'ai aussi définit le langage par defaut de l'application sur "en-US" (dans assembly info) et j'ai toujours mon application qui démarre en Français, ce qui me fait dire qu'il choisit quand même le bon fichier automatiquement. Par contre pas moyen de tester pour faire comme si j'était dans un autre pays ...
Partager