code_junkie

Internationalised labels in JSF/Facelets

Nov 10th, 2011
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. label.widget.count = You have a total of {0} widgets.
  2.  
  3. <h:outputFormat value="#{messages['label.widget.count']}">
  4. <f:param value="#{widgetCount}"/>
  5. </h:outputFormat>
  6.  
  7. label.widget.count = You have a total of #{widgetCount} widgets.
  8.  
  9. <h:outputFormat value="#{messages['label.widget.count']}" />
  10.  
  11. <h:outputText value="#{my:message('label.widget.count', widgetCount)}"/>
  12.  
  13. #{my:message('label.widget.count', widgetCount)}
  14.  
  15. <ph:i18n key="label.widget.count" p0="#{widgetCount}"/>
  16.  
  17. <?xml version="1.0" encoding="UTF-8"?>
  18. <!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" "https://facelets.dev.java.net/source/browse/*checkout*/facelets/src/etc/facelet-taglib_1_0.dtd">
  19.  
  20. <facelet-taglib xmlns="http://java.sun.com/JSF/Facelet">
  21. <namespace>http://peterhilton.com/core</namespace>
  22.  
  23. <tag>
  24. <tag-name>i18n</tag-name>
  25. <source>i18n.xhtml</source>
  26. </tag>
  27.  
  28. </facelet-taglib>
  29.  
  30. <?xml version="1.0" encoding="UTF-8"?>
  31. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  32. <ui:composition xmlns="http://www.w3.org/1999/xhtml"
  33. xmlns:ui="http://java.sun.com/jsf/facelets"
  34. xmlns:h="http://java.sun.com/jsf/html"
  35. xmlns:f="http://java.sun.com/jsf/core">
  36.  
  37. <h:outputFormat value="#{messages[key]}">
  38. <!-- crude but it works -->
  39. <f:param value="#{p0}" />
  40. <f:param value="#{p1}" />
  41. <f:param value="#{p2}" />
  42. <f:param value="#{p3}" />
  43. </h:outputFormat>
  44.  
  45. </ui:composition>
  46.  
  47. <context-param>
  48. <param-name>facelets.LIBRARIES</param-name>
  49. <param-value>
  50. /components/ph.taglib.xml
  51. </param-value>
  52. </context-param>
  53.  
  54. <h:outputText value="#{interpolator.interpolate(messages['label.widget.count'], widgetCount)}"/>
Add Comment
Please, Sign In to add comment