Para que nuestra aplicación appfuse pueda utilizarse en varios idiomas, tenemos que definir las posibles claves en forma de clave/valor del fichero messages.properties ubicado en /src/main/resources/
Ejemplo=> webapp.clave=Estamos aprendiendo Internalización.
Ejemplo=> webapp.clave=Estamos aprendiendo Internalización.
Cada idioma nuevo deberá tener un messages.properties diferente, de forma que si tenemos idioma inglés deberemos tener messages_en.properties, y en español messages_es.properties. En caso de que haya sublenguajes, éstos irán en mayúsculas, veamos un ejemplo con Perú: messages_es_PE.properties .
Después, desde nuestro jsp podemos referenciar dicha clave con el objeto message, es decir ( <fmt:message key="webapp.clave"></fmt:message> ), y según la configuración del navegador de usuario que consulte la aplicación ( por ejemplo, en firefox es Herramientas=> Opciones=> Avanzado=> General=> Idiomas=>Elegir ) obtendrá el idioma correspondiente.
Todo esto funcionará si nuestro framework está bien configurado, es decir, si el archivo /src/main/webapp/WEB-INF/dispatcher-servlet.xml ha declarado el bean: bean id = "messageSource" class = "org.springframework.context.support. ResourceBundleMessageSource" con el basename = messages .
En caso de que no hayamos declarado un idioma para nuestra aplicación, por defecto pillará messages.properties .
Si quisieramos tener en nuestra web los típicos botoncitos o iconos para cambiar explícitamente el lenguaje a usar, aplicamos JSTL jugando con ello gracias a un parámetro (idioma según nuestro ejemplo) y cuyo ámbito va a ser de sesión. He aquí las líneas que debemos agregar a nuestro .jsp :
|
1 comentario:
appfuse=spring+hibernate+sitemesh
Publicar un comentario