Actually, there's an even easier solution.
Set up the LocaleResolver and LocaleChangeInterceptor as you described above, but also define a Spring MessageSource like so:
Code:
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>messages/errors</value>
<value>messages/global</value>
<!-- etc -->
</list>
</property>
</bean>
and the files with the appropriate suffixes (messages/errors_es.properties, messages/errors_fr.properties) will be loaded and referenced without any other effort on your part. This integrates seamlessly with the JSTL fmt:message tag as well, so you can use the "standard" approach to access your internationalized strings.
Code:
<fmt:message key="error.panic.now"/>
Hope this helps
- Don