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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<globalization uiCulture="es" culture="es-MX" />
... sans succès.

J'ai donc forcé la culture au niveau de la page par l'ajout du code suivant :
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();
        }
... 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
 
Response.Write("culture:"+System.Threading.Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName);
Response.Write("<br>cultureUI:"+System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName);
Cependant, cette solution n'est pas satisfaisante. Comment se fait-il que la première solution ne fonctionne pas ??
Pour info, j'ai trouvé le how to ici :
http://msdn2.microsoft.com/en-us/lib...08(VS.80).aspx

Merci d'avance !