This is about the status of my work on a translating editor for python, based on IDLE. For those who don't already know (sorry for repeating myself with those who do): the basic idea is to make an editor which dynamically translates python code on load/save/execute into or out of a non-English language. This would facilitate a non-English-speaker to code in Python, while still leaving normal English python in the .py file on disk.
<br><br>
There is a more in-depth and up-to-date version of the status and some
of the main design choices on the OLPC wiki at
<a href="http://wiki.laptop.org/go/Bityi_(translating_code_editor)">http://wiki.laptop.org/go/Bityi_(translating_code_editor)</a> . Links on
these pages also explain how to get it from OLPC's git (version
control).<br><br>I realize that many people already learn Python or other programming languages without learning English. I also realize that a professional developer will eventually benefit from learning English. This is intended as a stepping-stone and a tool to help lookup, not as replacement for at least understanding English-based code. It is aimed first of all at young programmers, the very kind that the OLPC project is trying to form.
<br><br>I am coding a demonstration-of-principle, based on IDLE. It has already grown to nearly 700 lines of code and will probably reach to at least double that before it's done. Still, it is starting to actually work in limited, but interesting, ways. I'm happy to continue this project by myself, but I think it's far-enough-along to invite others in. So: respond to this email if you're interested.
<br><br>There are many issues still incomplete, and several I'm still not clear on how they'll end up (undo, "is not", translating keywords inside docstrings and comments, etc.) but one thing I'd especially like help with would be parsing import statements into actual file paths.
<br><br>I will not send further routine status messages or discussions to this list, but only to those people who have demonstrated interest.<br><br>I expect this work to result in a relatively-minor PEP (adding a fall-back when importing files - for instance, if 'import
somemodule.translationversion.2' fails it will try to import somemodule). I'd also love help working out the details of that PEP.<br><br>