I found a lot of useful articles when I googled the topic of "ASP.NET MVC Localization"
Since I've never used localization in MVC before I tried out this article:
ASP.NET MVC 2 Localization complete guide which was very straight forward and pretty easy to do.
I was able to create a localized MVC project fairly quickly. I have attached my project for demonstration purposes. My project is implemented in VB.NET using Visual Studio 2010 (the article is in C#)
To change the language for your website you need to set the current thread (the thread that the web application is running under) to use the specified culture. You need to do this at a particular time the life cycle of your web application...in the
Application_AcquireRequestState
event. You can handle this event in the Global.asax file.
When the user selects the language/culture that they would like to view the site in, you need handle the event and store this preferred setting somewhere. In the article and in my example project this value is stored in Session; however, you could also store this value in a cookie etc.
After you've saved the user's preferred language/culture you need to tell the website to refresh itself since the language/culture is only set in
Application_AcquireRequestState
event (which is very early in the request's life cyle). To do this you issue a Response Redirect to the rawURL the page was showing after you've stored the preferred language/culture.
I'm sure that article will help you to understand what you need to do to accomplish your task.
-Frinny