[C# .Net] Localisation pour site multilingue

Localisation pour site multilingue [C# .Net] - C#/.NET managed - Programmation

Marsh Posté le 05-11-2006 à 11:59:02    

Bonjour :)
 
Je développe un site français/anglais.  
L'utilisateur choisit sa langue dans une dropdownlist (fra/ang) une seule fois.  
La différence fra/ang consiste uniquement à aller les bons fichiers resources (classe.aspx.resx ou classe.aspx.en.resx).  
 
Le problème, c'est que j'ai essayé de récupérer la valeur de la dropdownlist dans le protected override void InitializeCulture(), mais la dropdownlist n'existe pas encore (object null reference).  
J'ai alors essayé de faire la même chose dans le protected void Page_Load(...) mais c'est déjà trop tard car à chaque fois, c'est le fichier resource classe.aspx.resx (par défaut) qui est lu, quelque soit la valeur de la dropdownlist.  
 
Mes questions :  
1. Comment puis-je faire lire ma dropdownlist et aller chercher les bons fichiers .resx en fonction ?
2. Comment puis rester dans la même culture (français/anglais) quand je navigue dans le site ? Je ne veux pas passer d'arguments dans l'URL...
 
Merci beaucoup de votre aide :)
 

Reply

Marsh Posté le 05-11-2006 à 11:59:02   

Reply

Marsh Posté le 05-11-2006 à 14:42:32    

ce que tu peux faire c'est mettre la culture en variable de session. Et bien sure à chaque fois que tu arrives sur une nouvelle page, tu vas rechercher en variable de session ta culture.
 
N'oublie pas que dans cette variable de session tu peux y mettre n'importe quoi ça prend un OBJECT...  
 
Hope this help

Reply

Marsh Posté le 05-11-2006 à 15:10:14    

Coucou :)
Oui effectivement, utiliser les variables de Session répond à la question 2.  
Je suppose que pour la question 1, je lis la valeur dans ma dropdownlist que j'écris dans Session["culture"] et dans ma méthode protected override void InitializeCulture() je lis la Session["culture"] pour affecter le bon Thread.CurrentCulture.  
 
Merci bien à toi :)


Message édité par Roodie le 05-11-2006 à 15:10:37
Reply

Marsh Posté le 06-11-2006 à 13:27:51    

oui ça doit être cela à faire. Bien entendu à tester.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed