[Python-Dev] Replacement for print in Python 3.0 (original) (raw)

Stephen J. Turnbull stephen at xemacs.org
Thu Sep 8 18:38:56 CEST 2005


"Antoine" == Antoine Pitrou <solipsis at pitrou.net> writes:

Antoine> Le jeudi 08 septembre 2005 à 19:12 +0900, Stephen
Antoine> J. Turnbull a écrit :

>> It would be nice to be able to lose the "_()" calls to
>> gettext().  The function would look to see if a message catalog
>> was available for the current output stream, and if not, do no
>> translation.

I should have been more explicit. I meant only in the context of printf. You're right, gettext (and aliases) are still needed.

Antoine> That doesn't sound right to me.  1. You still need to do
Antoine> automatic extraction of these strings (gettext has tools
Antoine> for that, which rely on the use of the "_()" function -
Antoine> or any other dedicated function (*)).

I think printf is an excellent candidate for such a function.

Antoine> 2. You can't assume that all strings must be i18n'ed.

IMO strings that are being printf'd can probably be assumed to be human readable, and therefore candidates for translation. This assumption does impose runtime overhead on non-i18n users, but I suspect it's smaller than that of caching regexps which has been determined to be acceptable. It would also make printf more hazardous for use in implementing protocol messages, but I think that's already pretty hazardous with the print statement.

Although Guido has been very firm about not imposing overhead on all users for the sake of i18n, implementing protocols is a similar minority activity, and there might be an acceptable tradeoff there.

Antoine> As I said Python needs an operator or function that does
Antoine> string formatting using a simple template, *without*
Antoine> doing output at the same time. The current syntax is the
Antoine> '%' operator, it could change, but it shouldn't be
Antoine> removed in favor of an inflexible print-with-formatting
Antoine> approach.

AFAICT, that is the consensus view. Is there something concrete you're worried about here?

Cheers,

-- School of Systems and Information Engineering http://turnbull.sk.tsukuba.ac.jp University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN Ask not how you can "do" free software business; ask what your business can "do for" free software.



More information about the Python-Dev mailing list