Fórum

Lokalisierung über ResouceBundles in Liferay 6.0

Jakob Hohlfeld, modificado 11 Anos atrás.

Lokalisierung über ResouceBundles in Liferay 6.0

New Member Postagens: 10 Data de Entrada: 08/10/12 Postagens Recentes
Hallo Allerseits,

ich möchte einem Portlet über .properties-Files (ResourceBundle) lokalisierte Strings bereitzustellen. Diese sollen dann in den JSP Verwendung finden. Dabei folge ich der Dokumentation für 6.1: http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/localize-your-portlet

Jetzt meine Frage: kann das überhaupt für ein 6.0 Portal funktionieren? Wir benutzen nämlich 6.0 - zwar existiert in der Taglib der MessageTag, jedoch scheinen die über die portlet.xml konfigurierten Language.properties nicht anzukommen.

Vielen Dank
Jakob Hohlfeld
thumbnail
Olaf Kock, modificado 11 Anos atrás.

RE: Lokalisierung über ResouceBundles in Liferay 6.0

Liferay Legend Postagens: 6396 Data de Entrada: 23/09/08 Postagens Recentes
Sollte eigentlich funktionieren.

Ich kann mir nie merken, welche Konfiguration in portlet.xml nötig ist - verglichen mit der Hook-Konfiguration für Sprachdateien ist die nämlich nicht einheitlich: Eine der beiden benötigt sowas wie "/content/Language", während die andere "/content/Language.properties" benötigt - wie gesagt: Ich kann mir nicht merken, welche wohin gehört. Glücklicherweise macht Liferay IDE / Developer Studio das richtig, so dass ich's mir auch nicht merken muss.

Hilft das?
Jakob Hohlfeld, modificado 11 Anos atrás.

RE: Lokalisierung über ResouceBundles in Liferay 6.0

New Member Postagens: 10 Data de Entrada: 08/10/12 Postagens Recentes
In der Tat, das hilft! Man muss nur wissen, wie emoticon
Am besten lässt man sich von der Liferay-IDE helfen.

Sollte diese nicht zur Hand sein, hilft folgendes:

1) in der portlet.xml die Direktive <resource-bundle>content/Language</resource-bundle> innerhalb der <portlet>-Direktive einfügen
2) dabei ist darauf zu achten, dass <resource-bundle> NACH den Direktiven <init-param>, <expiration-cache> und <supports> erscheinen MUSS. Das Warum bleibt mir ein Rätsel.
3) im Classpath muss die Resource unter content/Language.properties liegen - dafür einfach unter WEB-INF/lib/content/Language.properties ablegen

Dann klappts auch mit <liferay-ui:message key="your-message-key" /> in den JSP-Files!