Forums

Home » Liferay Portal » Español » 3. Desarrollo

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Oriol Canalias
LanguageUtil desde clase Java
February 16, 2011 1:05 AM
Answer

Oriol Canalias

Rank: Regular Member

Posts: 139

Join Date: October 19, 2009

Recent Posts

Buenos días,

Estoy desarrollando un portlet en java. He añadido la siguiente línea en el portlet.xml:
1<resource-bundle>content.Language</resource-bundle>

Me he creado un fichero Language.properties dentro del código en la carpeta content. Para mostrar un mensaje en una jsp, lo puedo hacer de dos formas distintas. La primera:
1<liferay-ui:message key="clave-en-language"/>

La segunda:
1<%=LanguageUtil.get(pageContext, "clave-en-language") %>

En los dos casos funciona. Ahora viene mi problema. Cuando intento acceder a una clave y traducirla desde una clase java (desde un action por ejemplo) hago lo siguiente:
1LanguageUtil.get(actionRequest.getLocale(), "clave-en-language")

En este último caso no funciona. ¿Alguien sabe porqué? ¿Puedo acceder al pageContext desde el ActionRequest?

Saludos,

Oriol
Oriol Canalias
RE: LanguageUtil desde clase Java
February 17, 2011 1:59 AM
Answer

Oriol Canalias

Rank: Regular Member

Posts: 139

Join Date: October 19, 2009

Recent Posts

He aplicado una solución aunque no me termina de gustarme.
La solución seria la siguiente.

Primero declaramos un objecto tipo ResourceBundle en nuestra clase:
1private static ResourceBundle rb =  ResourceBundle.getBundle("content.Language");

A continuación, cuando haya una petición (action, render) se hace lo siguiente:
1rb = ResourceBundle.getBundle("content.Language", request.getLocale());

Por último recuperamos las claves:
1/*Sin parametros*/
2rb.getString("clave-sin-parametros");
3/*Con parámetros*/
4MessageFormat.format(rb.getString("clave-con-parametros"),
5                param1,...,paramN);

Lo que no entiendo es porque en una jsp me funciona correctamente LanguageUtil.get(...) cogiendo claves de mi fichero pero en una clase solo me recupera los del fichero de properties de liferay...

Saludos,

Oriol
Gabriel Palacios
RE: LanguageUtil desde clase Java
November 19, 2012 6:29 AM
Answer

Gabriel Palacios

Rank: Junior Member

Posts: 31

Join Date: November 18, 2011

Recent Posts

Aunque el post ya tenga un tiempo, espero que a alguien le sirva.
En el enlace que adjunto, hay una solución para recuperar mensajes del fichero de internacionalización:

http://www.liferay.com/community/forums/-/message_boards/message/13481626