jueves, 14 de enero de 2016

Internacionalización i18n en Spring MVC

En muchas ocasiones es necesario tener nuestra aplicación web en varios idiomas. Para ello lo primero que necesitamos en un bean que implemente el interface MessageSource para localizar el
origen de nuestros archivos que contienen el texto en varios idiomas.

Estos archivos tendrán la extension .properties y un sufijo que indicará el idioma (basado en la ISO 639), por ejemplo:
  • "texto_es.properties" -> idioma español.
  • "texto_en.properties" -> idioma inglés.
También se puede añadir un sufijo con el país basado en la ISO 3166:
  • "texto_es_ES.properties" -> español de España.
  • "texto_es_MX.properties" -> español de México.
El código completo del ejemplo esta disponible en github: https://github.com/Jaime-Alonso/TutorialSpringMVC

Spring cuenta con dos clases para obtener el origen de estos archivos:
  1. ResourceBundleMessageSource
  2. ReloadableResourceBundleMessageSource