Bonjour à tous,
je suis en vacances (comme beaucoup d'entre vous j'espère ^^) et donc je m'amuse à bricoler mon site web.
J'ai voulu voir comment mettre en place un site multi-langues.
J'arrive à faire en sorte qu'un utilisateur américain, quand il arrive sur la page, voit tout en anglais automatiquement.
Ce que je voudrais faire c'est mettre 2 petits drapeaux dans ma page (des imagebutton) pour que l'on puisse choisir soit même la langue et pas seulement en fonction de la valeur par défaut du navigateur.
J'ai essayé de mettre tout bêtement ceci lors du clic sur le bouton pour mettre en français :
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-FR");
mais ca ne marche pas évidemment.
J'ai essayé de faire ca avec un cookie (stocker "fr-FR" dans le cookie) mais bizarrement il faut que je clic 2 fois sur le drapeau pour que ce soit pris en compte et que le texte change.
Quel serait le meilleur moyen d'y arriver ?
Ps: voila ce que j'ai mis dans le global.asax :
protected void Application_BeginRequest(Object sender, EventArgs e)
{
System.Globalization.CultureInfo ci;
if (HttpContext.Current.Request != null
&& HttpContext.Current.Request.UserLanguages != null
&& HttpContext.Current.Request.UserLanguages.Length > 0)
{
ci = CultureInfo.CreateSpecificCulture(
HttpContext.Current.Request.UserLanguages[0]);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
}
else
{
ci = new CultureInfo("fr-FR");
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
}
}