<div dir="ltr">I think it is easier to create a new localizable programming environment from scratch, than to try to localize existing tools and APIs.<div><br></div><div>For example, block-based programming languages (like Scratch and eToys) tend to be fairly easy to translate -- there are some issues regarding fixed size labels, the meaning of concatenating labels in various langauges, etc, but these programs proved surmountable.  We used these extensively at One Laptop per Child.</div><div><br></div><div>At OLPC I worked on a block-based JavaScript-subset, which allowed complete translation between "text based" and "block based" views of the code: <a href="http://turtlescript.github.cscott.net/">http://turtlescript.github.cscott.net/</a></div><div>You could localize the labels in the block-based version and still "compile down" to the legacy/English APIs.</div><div><br></div><div>As some folks know I've been a persistent advocate for JavaScript in Scribunto, and I've contributed to v8js to this end.</div><div><br></div><div>Another option is to move away from textual scripting languages on wiki entirely.  For example, <a href="https://phabricator.wikimedia.org/T114454">https://phabricator.wikimedia.org/T114454</a> proposes using Visual Editor to perform more of the "template" tasks, with a stronger separation of code, "layout", and data.  Template edits which affect the visual presentation or the data ("arguments") but not the underlying code should be possible in Visual Editor in a fully localized manner.  The textual "code" portion would be de-emphasized for most tasks.  For tasks which do require "code" to be written, you'd use one of the techniques described above.</div><div>  --scott</div><div><br></div></div>