labels"

From Documentation
m
m (correct highlight (via JWB))
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
A map of all [[ZK Developer's Reference/Internationalization/Labels|internationalization labels]] belonging to the current locale (<javadoc method="getCurrent()">org.zkoss.util.Locales</javadoc>).
 
A map of all [[ZK Developer's Reference/Internationalization/Labels|internationalization labels]] belonging to the current locale (<javadoc method="getCurrent()">org.zkoss.util.Locales</javadoc>).
  
For example, if you have a properties file as follows:
+
For example, if you have a property file as follows:
  
 
<source lang="text">
 
<source lang="text">
Line 23: Line 23:
  
 
Notice that the key of a property could be name as ''key1.key2'', and EL expressions could retrieve them correctly.
 
Notice that the key of a property could be name as ''key1.key2'', and EL expressions could retrieve them correctly.
More precisely, ZK groups the segmented labels as map. For example, <code>${labels.app}</code> was resolved as a map containing two entries (<code>title</code> and <tt>description</tt>).
+
More precisely, ZK groups the segmented labels as map. For example, <code>${labels.app}</code> was resolved as a map containing two entries (<code>title</code> and <code>description</code>).
  
 
<source lang="xml">
 
<source lang="xml">
Line 30: Line 30:
 
</source>
 
</source>
  
If you have a key named as the prefix of the other keys, you have to use <tt>$</tt> to access it. For example, <tt>${labels.app.$}</tt> is required to resolve the label with key named <tt>app</tt>.
+
If you have a key named as the prefix of the other keys, you have to use <code>$</code> to access it. For example, <code>${labels.app.$}</code> is required to resolve the label with key named <code>app</code>.
  
 
<source lang="xml">
 
<source lang="xml">
Line 41: Line 41:
 
----
 
----
 
'''Under the hood:'''
 
'''Under the hood:'''
The <tt>labels</tt> object is actually the map returned by <javadoc method="getSegmentedLabels()">org.zkoss.util.resource.Labels</javadoc>. Furthermore, if the key of a property contains dot ('''.'''), all properties with the same prefix are grouped as another map. For example, <tt>${labels.application}</tt> (i.e., <code>Labels.getSegmentedLables().get("application")</code>) will return a map containing two entries (<tt>name</tt> and <tt>title</tt>) in the previous example.
+
The <code>labels</code> object is actually the map returned by <javadoc method="getSegmentedLabels()">org.zkoss.util.resource.Labels</javadoc>. Furthermore, if the key of a property contains dot ('''.'''), all properties with the same prefix are grouped as another map. For example, <code>${labels.application}</code> (i.e., <code>Labels.getSegmentedLables().get("application")</code>) will return a map containing two entries (<code>name</code> and <code>title</code>) in the previous example.
 
</blockquote>
 
</blockquote>
  

Latest revision as of 13:26, 19 January 2022

labels - java.util.Map

A map of all internationalization labels belonging to the current locale (Locales.getCurrent()).

For example, if you have a property file as follows:

owner=Foo Inc.
application.name=Killer
application.title=Killer 2011

Then, you could access them with this implicit object as follows.

<grid>
   <row>${labels.owner}</row>
   <row>${labels.application.name}</row>
   <row>${labels.application.title}</row>
</grid>

Notice that the key of a property could be name as key1.key2, and EL expressions could retrieve them correctly. More precisely, ZK groups the segmented labels as map. For example, ${labels.app} was resolved as a map containing two entries (title and description).

app.title=Foo
app.description=A super application

If you have a key named as the prefix of the other keys, you have to use $ to access it. For example, ${labels.app.$} is required to resolve the label with key named app.

app=Application
app.title=Foo
app.description=A super application

Under the hood: The labels object is actually the map returned by Labels.getSegmentedLabels(). Furthermore, if the key of a property contains dot (.), all properties with the same prefix are grouped as another map. For example, ${labels.application} (i.e., Labels.getSegmentedLables().get("application")) will return a map containing two entries (name and title) in the previous example.

Version History

Version Date Content
5.0.7 March, 2011 This implicit object was introduced.



Last Update : 2022/01/19

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.