The proposal is to create one and only one interface to the right I18N
function. The need for lazy_gettext is a particularity here and
since it is more common to have "_" than "lazy_gettext", this is
the preferred interface, IMHO.
If you are using I18N in your project, it will benefit you as
well. If you
aren't, you won't even notice the change.
What are your objections with that change?
My main objection is with magically mapping "_" to *anything*,
whether it be gettext, lazy_gettext, or whatever. I understand and
know that it is common in many other platforms/worlds to use a
similar mapping for I18N functions, but that doesn't mean that its
necessarily okay for TurboGears to do the same thing... at least not
magically.
In addition, a large class of TurboGears users when they first see
code with "_('some string to translate')" could easily misunderstand
the "_" as syntax, or be totally confused what it means or where it
came from.
A simple "from whatever import lazy_gettext as _" at the top of files
where this is needed is much much more explicit, and would likely
save lots of confusion. Explicit is better than implicit -- even
when convention on other platforms says otherwise.
Thats my only beef, and I am actually kind of surprised that no one
else is bothered by this in least! All a matter of taste, probably :)
--
Jonathan LaCour
http://cleverdevil.org