# JSF Internationalisation / Resource Bundle



## membersound (23. Feb 2012)

Ich lege gerade ein Resourcebundle an:
-Konfiguration von faces-config-xml
-bundle laden mit <f:loadBundle basename


Geht es auch "einfacher". Also zB dass ich einfach den *.properties namen als Referenz für meine Strings nehme, und jsf das bundle automatisch findet/auflöst?`

Danke


----------



## membersound (25. Feb 2012)

Also irgendwie bin ich mit der jsf-eigenen resource bundle Möglichkeit nicht ganz zu frieden.

Versuche mir deshalb grad eine eigene composite component für bundles zu erstellen.
Aber das funktioniert nicht, wie ich mir das gedacht habe. Vielleicht habt ihr noch eine Idee?:


```
<composite:interface>

	<composite:attribute name="value" />
	<composite:attribute name="p1" />

</composite:interface>


<composite:implementation>
	<h:outputFormat value="#{text['cc.attrs.value']}"> //text.properties
		<f:param value="#{cc.attrs.p1}" />
	</h:outputFormat>
</composite:implementation>
```


```
<cc:text value="label.name" p1="#{test}" />
```
Die Idee dahinter ist, die property als string zu übergeben und in der cc aufzulösen.
Leider versucht der Ausdruck text['cc.attrs.value']} schon direkt in der properties-file nach cc.attrs.* zu suchen. Eigentlich soll das aber doch mein attribute value auflösen...


----------



## Sym (25. Feb 2012)

In der Regel macht man das so:

*faces-config.xml*
[xml]<faces-config ...
   <application>
      ...
      <resource-bundle>
         <base-name>de.my.messages</base-name>
         <var>msg</var>
      </resource-bundle>
      ...
</faces-config>[/xml]

Und dann kannst Du das einfach nutzen:
[xml]<hutputText value="#{msg['my.messages.key']}" />[/xml]


----------

