1. Se creeaza doua fisiere de resurse(limba engleza si limba romana)
In fiecare dintre ele se adauga o cheie lbWelcome=........ cu textul in engleza, respectiv romana.
2. se modifica fisierul faces-config.xml pentru a indica limbile suportate pentru localizare.
<application>
<locale-config>
<default-locale>ro< /default-locale>
<supported-locale>ro< /supported-locale>
<supported-locale>en< /supported-locale>
< / locale-config>
< /application>
3. Se creeaza o pagina jsp pentru pentru prezentarea continutului.
<%@page pageEncoding="UTF-8" contentType="text/html; charset=ISO-8859-2" %>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<f:view>
<
<h:commandLink action="#{languageBean.changeLanguage}" value="Romana">
<f:param name="lang" value="ro">
< /h:commandLink>
|
<h:commandLink action="#{languageBean.changeLanguage}" value="English">
<f:param name="lang" value="en">
< /h:commandLink><>
<h:outputText value="#{msg.lbWelcome}">
</h:form>
</f:view>
4. Se creeaza un backbean in care implementez metoda de schimbare limba.
package ro.testlocalization.traduceri;
import java.util.Locale;
import java.util.Map;
import javax.faces.application.Application;
import javax.faces.application.ViewHandler;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
public class LanguageBean {
public void changeLanguage() {
Map req = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String lang = req.get("lang").toString();
Locale newLocale = new Locale(lang);
FacesContext context = FacesContext.getCurrentInstance();
context.getViewRoot().setLocale(newLocale);
}
}
5. Se mapeaza backbean-ul in faces-config.xml
6. Asta e tot. In acest moment ar trebui sa puteti rula aplicatia si sa puteti schimba limba de afisare a mesajului.
Niciun comentariu:
Trimiteți un comentariu