Take a look at Rails Internationalization (I18n) API — Ruby on Rails Guides
On changing the language, store in session-store and set the locale from the session store thereafter Also store the locale in the users table. use this in case the session is refreshed http is stateless and the locale will be set on every request