[Python-Dev] The "i" string-prefix: I18n'ed strings
"Martin v. Löwis"
martin at v.loewis.de
Fri Apr 7 00:16:49 CEST 2006
Martin Blais wrote:
> ...
> A(P(_("Click here to forget"), href="...
> ...
I assume that this should be
P(A(_("Click here to forget"), href="...
instead (i.e. href is a parameter to A, not to P)
>
> (In my example, I built a library not unlike stan for creating HTML,
> which is where classes A and P come from.) I find the i18n markup a
> bit annoying, especially when there are many i18n strings close
> together. My point is: adding parentheses around almost all strings
> gets tiresome and "charges" the otherwise divine esthetics of Python
> source code.
There is a simple solution to that: write it as
P(a("Click here to forget", href="...
and define
def a(content, **kw):
return A(_(content), **kw)
You could it also write as
P(A_("Click here to forget", href="...
to make it a little more obvious to the reader that there is a
gettext lookup here.
Regards,
Martin
More information about the Python-Dev
mailing list