Some weeks ago I had the same questions you're having now. Then, I just took a look at the "countries" application, which is in the "samples" folder of "springframewor with dependencies". That application helped me so much.
But, in case you don't have time to study that application, I'll try to give you some tips, that, I hope, may be helpful.
When thinking about spring multi-language applications, besides the "ResourceBundleMessageSource", you also must have a "ResourceBundleViewResolver". You must declare this bean in the applicationContext.xml, setting its "basenames" property. This property refers to a simple properties file, which defines some properties of the view that is being resolved.
Properties file example:
<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
Well, besides that, you must have a localeResolver bean declared in your appcontext, just like that:
And a locale change interceptor:
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
After that, you have to declar a "interceptors" property in your urlMapping bean, like this:
Basically, these are the steps to be followed.
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
One more thing only: For changing your application's language during its runtime, all you have to do is set a "locale" attribute in some request. Something like that:
I hope I could help you.