On Fri, Oct 23, 2009 at 1:05 PM, Marius Gedminas <[email protected]> wrote:
> On Fri, Oct 23, 2009 at 12:41:48PM -0700, Mariano Mara wrote:
>> Hi,
>> I have this mako template where I want to print a message but part of
>> it depends on a certain variable that I will get from the controller.
>> E.g.:
>> ${_(u'No tickets were found in the last n days')}
>> where "n" comes from the variable c.lastNdays in the controller.
>
> You probably want ngettext instead of _ then. How to hook it up with
> everything is left as an excercise for the reader.
>
>> How can I place it correctly in the template?
>> I'm using
>> ${_(u'No tickets were found in the last ')}${c.lastNdays} ${_
>> (u'days')}
>> but I'm sure there should be a better way to have a proper
>> translatable string, like:
>> ${_(u'No tickets were found in the last %(num)d days') %
>> {'num':c.lastNdays}}
>> although this last one raises an error in the template.
>
> I'm guessing it's because the expression gets terminated at the first }?
Yeah, it looks like Mako can't handle dict literals in placeholders.
This template fails too:
===
Hello, world!
<br />
${{"A": 1, "B": 2}["A"]}
===
However, a Python escape works fine;
===
Hello, world!
<br />
<% dic = {"A": 1, "B": 2} %>
${dic["A"]}
===
> I'd go with dict(num=c.lastNdays) instead of {'num':c.lastNdays} (also,
> missing space after ':' hurts my eyes).
Down with dict()! It reminds me of array() in PHP.
--
Mike Orr <[email protected]>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---