Para realizar el proceso de internacionalización necesitamos incluir en el pom.xml (del proyecto que estemos tratando, en mi caso el de ayer: eticom-discografica-servlet-JSTL), la dependencia 'standar-1.1.2.jar' (en mi caso ya la añadimos ayer).
Los distintos idiomas que vamos a emplear se crean a partir de distintos ficheros con distintas traducciones, teniendo uno por defecto (Nombre.properties), que normalmente es en inglés, y luego los concretos, cuyo nombre es igual pero con el distintivo del idioma: Nombre_en.properties (inglés), Nombre_es.properties (español), etc. Estos archivos van situados en el source folder 'src/main/resources'.
En mi caso he creado 3 files: Discografica.properties (por defecto), Discografica_es.properties y Discografica_en.properties, en las que he inlcuido las claves y sus correspondientes traducciones.
Ahora realizo la importación de la librería 'fmt' en la página .jsp que quiera, yo lo hago en index.jsp:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
Seguidamente cargo el archivo de traducciones, el cual hay que cargar una vez por cada página .jsp:
<fmt:setBundle basename="Discografica"/>
Para mostrar las traducciones:
<h2><fmt:message key="hola"/></h2>
<h2><fmt:message key="webmaster"/></h2>
<h2><fmt:message key="webmaster"/></h2>
Hay que tener muy en cuenta, que para no tener que cargar las traducciones en cada una de las páginas jsp, hay que indicar las traducciones en el archivo 'web.xml' añadiendole este código:
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>Discografica</param-value>
</context-param>
El resultado del web.xml.
enlaces: foro.
No hay comentarios:
Publicar un comentario