Bonjour,
je suis actuellement en train de développer un site en deux langues. Pour ce faire j'utilise des pages de Resources. L'idée est de changer de langue en appuyant sur un simple bouton qui va modifier une variable de session. Je change Thread.CurrentThread.CurrentCulture et Thread.CurrentThread.CurrentUICulture grâce a cette variable.
Lorsque j'appuie sur le bouton de langue, la variable est correctement rafraichie, par contre la page ne change pas directement le contenu, il faut rafraichir une seconde fois cette page pour voir appraitre les changements de contenu.
Auriez-vous une solution à mon problème ?
Voici mon code :
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 public partial class _Default : System.Web.UI.Page { protected override void InitializeCulture() { if (Session["User-Language"] == null) { Session["User-Language"] = "fr-FR"; } string ses = Session["User-Language"].ToString(); CultureInfo lng = new CultureInfo(ses); Thread.CurrentThread.CurrentCulture = lng; Thread.CurrentThread.CurrentUICulture = lng; base.InitializeCulture(); } protected void Page_Load(object sender, EventArgs e) { } protected void ChangeLanguageEN(object sender, EventArgs e) { Session["User-Language"] = "en-GB"; Button1.Visible = false; Button2.Visible = true; InitializeCulture(); } protected void ChangeLanguageFR(object sender, EventArgs e) { Session["User-Language"] = "fr-FR"; Button1.Visible = true; Button2.Visible = false; InitializeCulture(); } }
Partager