Come inserire e utilizzare i file delle traduzioni nei programmi java Vediamo come, dato un programma java servlet/jsp based, possiamo introdurre i file delle traduzioni. Si utilizzeranno le JSP Standard Tag Library (JSTL). |
JSTL è un meccanismo java che permette l'utilizzo delle TAGLIB nelle pagine JSP.
Per poterlo utilizzare devono essere supportate almeno le JSP 1.2.
La URL principale per JSTL è la seguente http://java.sun.com/products/jsp/jstl/.
Nella directory src del programma si devono creare i file contenenti le traduzioni vere e proprie.
Quindi avremo almeno tre file:
- Messages_en.properties: label in inglese
- Messages_it.properties: label in italiano
- Messages.properties: lingua di default
Nella pagina JSP al posto del classico testo avremo:
Per poterlo utilizzare devono essere supportate almeno le JSP 1.2.
La URL principale per JSTL è la seguente http://java.sun.com/products/jsp/jstl/.
Nella directory src del programma si devono creare i file contenenti le traduzioni vere e proprie.
Quindi avremo almeno tre file:
- Messages_en.properties: label in inglese
- Messages_it.properties: label in italiano
- Messages.properties: lingua di default
Nella pagina JSP al posto del classico testo avremo:
<fmt-rt:message key="msgbenvenuto"/>
Questa TAG lib fa riferimento ad una label con key msgbenvenuto. A seconda della lingua corrente verrà caricato il corrispondente valore. Ad es., se la lingua corrente è l'italiano, verrà aperto il file Messages_it.properties e qua dentro verrà trovata la chiave msgbenvenuto e prelevato il valore da mostrare.
Nella stessa pagina bisogna importare però il codice della taglib:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt-rt" prefix="fmt-rt" %>
altrimenti la taglib non verrà riconosciuta. In questa maniera si dichiara la taglib e il suo prefisso di riferimento.
Bisogna poi modificare il file web.xml:
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>Messages</param-value>
</context-param>
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri>
<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
</jsp-config>
Queste voci vanno aggiunte al file web.xml e servono per far riconoscere correttamente la taglib. Le prime righe servono invece pe rindicare al sistema quali siano i file di default per le traduzioni.
Il file fmt-rt.tld va messo nella posizione specificata nel file web.xml.
APPROFONDIMENTI
Per maggiori approfondimenti potete leggere il seguente articolo "La Java Server Pages Standard Tag Library" su Mokabyte qui.
Una ottima giuda per le JSP la trovate qui.