probably should be in user ml
use
 uiLabelMap.yourstringid
then move the text to
config/name of fileUiLabels.xml

take a look at CatalogCommonScreens.xml  for where you may find the
UiLabels.xml files like
                <property-map resource="ProductUiLabels"
map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels"
map-name="uiLabelMap" global="true"/>

note you will have to break it up so the $() stay in the ftl, i believe.


Bruno Busco sent the following on 7/2/2008 11:15 PM:
> Thank you very much for your suggestions, I have been able to answer you
> only now...
> 
> The issue, i think, is not related to the availability of the information in
> the context, the two variables are already defined in the context. The
> problem I have is that the UI label rendering should do a "double rendering"
> and it seems not to do so.
> 
> I try to better explain (sorry for the message length).
> 
> I am working on the file
> \applications\product\webapp\catalog\find\miniproductlist.ftl. At lines
> 46-50 of this file there is the following:
>               <#if (listSize > viewSize)>
>                   <div>
>                     <div>NOTE: Only showing the first ${viewSize} of
> ${listSize} products. To view the rest, use the Products tab for this
> category.</div>
>                   </div>
>               </#if>
> 
> The viewSize and listSize variables are correctly rendered since they are
> correctly defined in the context by the miniproductlist.groovy script.
> The problem is that this string is english only and I would like to
> transform in a standard UiLabel, so I added the following in the
> ProductUiLabels.xml file:
> 
>     <property key="ProductOnlyShowingFirstN">
>         <value xml:lang="en">NOTE: Only showing the first ${viewSize} of
> ${listSize} products. To view the rest, use the Products tab for this
> category.</value>
>         <value xml:lang="it">NOTA: Sono elencati solo ${viewSize} di
> ${listSize} prodotti. Per visualizzare gli altri, usa il pannello Prodotti
> di questa categoria.</value>
>     </property>
> 
> and replaced the above lines in the miniproductlist.ftl file with the
> following:
> 
>               <#if (listSize > viewSize)>
>                   <div>
>                     <div>${uiLabelMap.ProductOnlyShowingFirstN}</div>
>                   </div>
>               </#if>
> 
> well, in this case what I get on the screen is the following:
> 
> NOTE: Only showing the first ${viewSize} of ${listSize} products. To view
> the rest, use the Products tab for this category.
> 
> where you can see that the variables are not rendered even if they are
> defined in the context.
> 
> In my opinion a cyclic rendering should be done on the string until no more
> ${} are found because all have been rendered.
> 
> I think that this is the reason why in many cases labels are divided into
> several labels (sometimes of one word only) that are then included in ftl
> files to form the whole sentence. Doing this can be a workaround for the
> variables rendering (because the variables are not included in the UiLabels
> string but in the ftl directly) but we already discussed in the ML that this
> should be avoided because it imposes the english words order that is often
> different for other languages.
> 
> Many thanks,
> -Bruno
> 
> 
> 2008/6/30 Ashish Vijaywargiya <[EMAIL PROTECTED]>:
> 
>> Hello Bruno,
>>> Unfortunately I see that the parameters ${viewSize} and ${listSize} are
>> not
>>> rendered as expected but the whole string is displayed as it appears in
>> the
>>> UiLabel.xml file.
>> ${viewSize} and ${listSize} means that we should put this values in the
>> screen context first then this will be available in the UiLabel.xml
>> file.Suppose you are preparing context in the *Screens.xml then you should
>> write down something like this :-
>>
>> <set field="viewSize" value="2"/>
>> <set field="listSize" value="2"/>
>>
>> Or if you would like to put this values in the *.bsh file that is included
>> in your *Screens.xml file then you should write down the following code.
>>
>> context.put("viewSize","2");
>> context.put("listSize","2");
>>
>> If you are keeping your values in the parameters then you should read the
>> values from the parameters map inside your UiLabel.xml file.
>> In this case you will read by ${parameters.viewSize} &
>> ${parameters.listSize}
>> For example :-
>> <set field="parameters.viewSize" value="2"/>
>> <set field="parameters.listSize" value="2"/>
>>
>> & while putting the values in *.bsh
>>
>> parameters.put("viewSize","2");
>> parameters.put("listSize","2");
>>
>> You should notice that in the screen definition all the Decorator comes
>> after setting this context values and decorator includes(set) the values
>> from Property Files.So all the values kept in the context(either in
>> parameters or context map) will be available in those *UiLabel.xml files.
>>
>> And for the localization thing I agree from the Scott's comment.
>> So I think I am safe on that point :-)
>>
>> Please let us know if you still have some more question.
>>
>> --
>> Ashish
>>
>>
>> On Sun, Jun 29, 2008 at 2:25 PM, Scott Gray <[EMAIL PROTECTED]> wrote:
>>
>>> Hi Bruno
>>>
>>> I think you're looking for something like this:
>>> UtilProperties.getMessage(resource,
>>> "AccountingAdditionalShippingChargeForShipment",
>>> UtilMisc.toMap("shipmentId", shipmentId), locale);
>>>
>>> Regard
>>>
>>> 2008/6/29 Bruno Busco <[EMAIL PROTECTED]>:
>>>
>>>> Hi,
>>>> I am trying to add the following UiLabel that includes some parameters
>>>>
>>>>    <property key="ProductOnlyShowingFirstN">
>>>>        <value xml:lang="en">NOTE: Only showing the first ${viewSize} of
>>>> ${listSize} products. To view the rest, use the Products tab for this
>>>> category.</value>
>>>>        <value xml:lang="it">NOTA: Sono elencati solo ${viewSize} di
>>>> ${listSize} prodotti. Per visualizzare gli altri, usa il pannello
>>> Prodotti
>>>> di questa categoria.</value>
>>>>    </property>
>>>>
>>>> I would like to use it in miniproductlist.ftl to replace an english
>>>> constant
>>>> text.
>>>> Unfortunately I see that the parameters ${viewSize} and ${listSize} are
>>> not
>>>> rendered as expected but the whole string is displayed as it appears in
>>> the
>>>> UiLabel.xml file.
>>>>
>>>> What is the correct way to display parametrized labels?
>>>>
>>>> Many thanks,
>>>> Bruno
>>>>
> 

Reply via email to