Chris Angelico wrote:
And I've seen a number of proposals to build Python with its
*keywords* localized. While there is a reasonable limit to this (for
instance, I wouldn't expect the disassembly of CPython byte-code to
have "STORE_FAST" translated into another language), there's nothing
wrong with programmers being able to write their code in their
languages.

Just for fun, I used Google Translate to turn a piece of
my Python code into French.

Some of the results were rather amusing. For example, it
turned "mess" (short for "message") into "désordre", and
"but" (short for "button") into "mais". It got "for", "in",
"if", "else" and "return" right, though!

# Original code

def ask(mess, responses = ["OK", "Cancel"], default = 0, cancel = -1,
                wrap_width = 60, **kwds):
        box = Dialog(**kwds)
        d = box.margin
        lb = wrapped_label(mess, wrap_width)
        lb.topleft = (d, d)
        buts = []
        for caption in responses:
                but = Button(caption, action = lambda x = caption: 
box.dismiss(x))
                buts.append(but)
        brow = Row(buts, spacing = d, equalize = 'w')
        lb.width = max(lb.width, brow.width)
        col = Column([lb, brow], spacing = d, align ='r')
        col.topleft = (d, d)
        if default is not None:
                box.enter_response = responses[default]
        else:
                box.enter_response = None
        if cancel is not None:
                box.cancel_response = responses[cancel]
        else:
                box.cancel_response = None
        box.add(col)
        box.shrink_wrap()
        return box.present()

# Translated code

demander def (désordre, réponses = ["OK", "Annuler"], par défaut = 0, annulent 
= -1,
wrap_width = 60, kwds **):
boîte de dialogue = (** kwds)
d = box.margin
lb = wrapped_label (désordre, wrap_width)
lb.topleft = (d, d)
BUTS = []
pour la légende dans les réponses:
mais = Bouton (légende, action = lambda x = légende: box.dismiss (x))
buts.append (mais)
Brow = ROW (buts, l'espacement = d, égalisent = 'W')
lb.width = max (lb.width, brow.width)
col = Colonne ([lb, le front], l'espacement = d, align = 'r')
col.topleft = (d, d)
si par défaut ne est pas None:
box.enter_response = réponses [défaut]
d'autre:
box.enter_response = Aucun
si annuler ne est pas None:
box.cancel_response = réponses [Annuler]
d'autre:
box.cancel_response = Aucun
box.add (col)
box.shrink_wrap ()
retourner box.present ()
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to