Bonjour,
Je développe une appli web qui devra être déployée dans différents pays, mais à chaque fois sur une serveur avec un OS en US.
Mon objectif est de rendre l'appli multilingue. 2 possibilités s'offrent à moi :
- utiliser la culture du client
- forcer la culture dans le paramétrage de l'appli.
Les deux solutions sont envisageables, d'après ce que j'ai compris, par une simple configuration dans le web.config. Perso, je préfère la seconde solution, et j'ai donc essayé la ligne suivante :
... sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <globalization uiCulture="es" culture="es-MX" />
J'ai donc forcé la culture au niveau de la page par l'ajout du code suivant :
... là ça fonctionne, c'est à dire que le bon fichier resx est utilisé. De plus, je retrouve bien "es" quand je fais dans le Page_Load :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 protected override void InitializeCulture() { string lang = "es-MX"; this.UICulture = lang; this.Culture = lang; System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(lang); System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture(lang); base.InitializeCulture(); }
Cependant, cette solution n'est pas satisfaisante. Comment se fait-il que la première solution ne fonctionne pas ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Response.Write("culture:"+System.Threading.Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName); Response.Write("<br>cultureUI:"+System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName);
Pour info, j'ai trouvé le how to ici :
http://msdn2.microsoft.com/en-us/lib...08(VS.80).aspx
Merci d'avance !
Partager