M4-UF1 FRAMEWORK SPRING
UNIDAD 7: Internacionalización y localización
eugeniaperez.es
unidad 7: Internacionalización
eugeniaperez.es
Descarga el código en Bitbucket
Descarga el proyecto springMVC.internationalization del repositorio de Bitbucket:
Usuario:
Psswd:
URL: https://eugenia_perez@bitbucket.org/eugenia_perez/springmvc.internationalization.git
UNIDAD 7: internacionalización
eugeniaperez.es
7.1 Internacionalización de contenidos
- Se crearán los ficheros properties en src/main/resources:messages_{idioma}.properties
- Estos ficheros son pares clave - valor. La clave será la misma en todos los ficheros, y el valor será traducido al idioma indicado.
navbar.assignments = Ver tareas
navbar.users = Listar usuarios
navbar.newUser = Nuevo usuario
navbar.language = Idioma
english = Inglés
spanish = Español
messages_en.properties
UNIDAD 7: internacionalización
eugeniaperez.es
7.1 Internacionalización de contenidos
Sustituir las cadenas de texto por su clave dentro de las vistas:
<s:message code="clave">
Añadir en mvc-config.xml o servlet-context.xml:
- messageSource
- localeResolver
- mvc:interceptor
UNIDAD 7: internacionalización
eugeniaperez.es
7.1 Internacionalización de contenidos
En mvc-config.xml:
- messageSource: se indica cómo deben llamarse los ficheros dentro del classpath: messages_idioma.properties
- localeResolver: se encarga de crear automáticamente una cookie con las preferencias del usuario. Además se establece un idioma por defecto (en este caso, inglés).
- Nota: si el localeResolver NO es definido, entonces se cargaría el idioma configurado en el navegador.
UNIDAD 7: internacionalización
eugeniaperez.es
7.1 Internacionalización de contenidos
En mvc-config.xml o servlet-context:
- mvc:interceptors: intercepta cada petición del usuario e identifica el idioma a través del parámetro locale de la request.
- Nota: para que el anterior funcione es necesario establecer el localeResolver.
http://localhost:8080/springInternationalization/?locale=en
http://localhost:8080/springInternationalization/?locale=es
UNIDAD 7: internacionalización
eugeniaperez.es
7.1 Internacionalización de contenidos
http://localhost:8080/springInternationalization/?locale=en
http://localhost:8080/springInternationalization/?locale=es
<ul class="dropdown-menu" role="menu">
<li><a href="?locale=en"><img src="blank.gif"
class="flag flag-gb"
alt="<s:message code="english"></s:message>" />
<s:message code="english"></s:message></a>
</li>
<li><a href="?locale=es"><img src="blank.gif"
class="flag flag-es"
alt="<s:message code="spanish"></s:message>" />
<s:message code="spanish"></s:message></a>
</li>
</ul>
Unit 7
By eugenia_perez
Unit 7
- 1,117