Implementing Session
See the question and my original answer on StackOverflowYou should use .NET (and ASP.NET) native localization feature, and just change the culture of the thread that's executing the page. You can still store that culture in the Session if you want (or somewhere else: in a database, in a cookie, in the rendered page, in view state, etc.).
Here are some links on ASP.NET localization: