Internationalizarea aplicatiilor Web

classic Classic list List threaded Threaded
6 messages Options
colaru colaru
Reply | Threaded
Open this post in threaded view
|

Internationalizarea aplicatiilor Web

Despre internationalizarea aplicatiilor Web realizate folosind linbajul Java! Acest lucru implica afisarea continutlui site-urilor in diversele limbi in functie de setarile din browser sau in functie de alegerea pe care o face utilizatorul de a vedea continutul sitelui respectiv in una din limbile expuse pe site (romana, engleza, etc.)
anoni anoni
Reply | Threaded
Open this post in threaded view
|

Re: Internationalizarea aplicatiilor Web

Cum se realizeaza internationalizarea aplicatiilor Web in Java?
colaru colaru
Reply | Threaded
Open this post in threaded view
|

Re: Internationalizarea aplicatiilor Web

In primul rand trebuie folosite fisiere de proprietati pentru fiecare limba in care se vrea a fi internationalizat site-ul. In runtime in functie de limba aleasa de utilizator (manaula sau automat in functie de de vine din browser) librariile de taguri de formatare folosite (Struts sau JSTL) vor randa continutul in limba respectiva.

Ex fisier de prorietati:

ApplicationResources_en.properties
ApplicationResources_ro.properties

# -- error page messages --
errorPage.title=A aparut o eroare
errorPage.heading=Yikes!
404.title=Pagian inexistenta


# -- forms --
form.submit=Trimite
form.cancel=Renunta

Exemplu de folosire a tag-urilor JSTL pentru formatare:

<fmt:message key="404.title"/>
anoni anoni
Reply | Threaded
Open this post in threaded view
|

Re: Internationalizarea aplicatiilor Web

cum poti sa pui 2 butonele de schimabrea limbii RO si EN spre ex, fara schimbi limba din setarile browserului, ptr a lua propr ptr limba resp
vizireanu-isaic dragos: si fara javasrcsript... etc
colaru colaru
Reply | Threaded
Open this post in threaded view
|

Re: Internationalizarea aplicatiilor Web

Dupa cum spuneam, setarea de limba poate sa vina din browser in functie de limba setata acolo, si din cauza folosirii tag-urilor automat limba va fi cea care trebuie. Altfel, cand userul alege singur limba putem avea o astfel de tratare (practic se seteaza la nivel de sesiune limba folosita folosind tag-ul fmt:setLocale unde limba este trimisa la apasarea unui buton/link care trimite ca parametru request_locale=ro spre pagina care contine tagul fmt:setLocale):

                <c:if test="${locale!=null}">
                        <fmt:setLocale value='${locale}' scope="session" />
                </c:if>

- unde variabila locale este setata asa :

<c:set var="locale" value="${param.request_locale}"/>

- si request_locale vine ca parametru din link-urile alea 2

RO

EN
colaru colaru
Reply | Threaded
Open this post in threaded view
|

Re: Internationalizarea aplicatiilor Web

De asemenea pentru a putea salva diacritice in baza de date sunt necesari urmatorii pasi:
- la crearea tablelelor trebuie sa se aiba grija ca acestea sa se creeze UTF-8 - ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8;
- daca se foloseste Hibernate trebuie sa se utilizeze in URL ceva de genul:
<jdbc.url>
<![CDATA[jdbc:mysql://localhost/nume_baza?characterEncoding=UTF-8]]>
</jdbc.url>

sau in hibernate.cfg.xml:

<property name="hibernate.connection.url">jdbc:mysql://localhost/nume_baza</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>