Talk:Bityi/GSoC

From OLPC
< Talk:Bityi
Revision as of 16:25, 7 April 2008 by AlbertCahalan (talk | contribs) (PL/1 is more workable)
Jump to navigation Jump to search

Any comments here would be greatly appreciated. Here's one from the mailing list:

SJ: overambitious

"All students can ask for feedback on this list; otherwise you will get feedback by email / through the SoC interface.

Feedback on this list is good if one is amenable, since it lets everyone see the sorts of issues that make for a better application. In this case, your proposal is an interesting one; though as this has been tried unsuccessfully in the past, it seems quite ambitious. One typical path to an unsuccessful summer internship is planning a project that one intends to do alone that is quite ambitious, without an obvious subset that could be used as an interim milestone and shared early on for public adoption. What kind of collaboration would you expect / need with other projects? Are there other people interested in the project who have been working with you to date? Does this interface directly with Develop?"

I have attempted to respond to the feasibility aspect on the page, with a calendar and some discussion of my first-draft attempt to attack this same problem. Also, clarified that this is a part of Develop - the "bityi" name is not a thing in itself, just a made-up word for this functionality. As to collaboration, I would expect the code to do this in Pippy would be quite simple, a later step (not encompassed in this proposal) would be pootle integration, but I can complete this proposal without collaboration. Homunq 09:33, 27 March 2008 (EDT)

Bobbypowers: cool

This looks really cool! You mentioned a central server that users could upload dictionaries too, maybe administered in a wiki-like way? As an American with unfortunately poor spanish skills, I would really like to be able to translate local identifiers from Spanish/Mandarin/whatever back to english in a tooltip or something on mouseover. As you mention, understanding identifiers adds important context for understanding what the code is doing. I agree, this is pretty much what the OLPC is all about! Good luck!

Bobbypowers 13:41, 27 March 2008 (EDT)

Server: that is a planned feature but I'm not promising it in the GSoC timeframe. Back to English: I guess I need to clarify, your editor has a language setting (defaulting to your OS language) and you see everything in that language as long as it exists - so you would never see Spanish if an English translation exists. If it didn't, you could easily right-click to add a translation, and hopefully even get a suggestion from Google Language Tools or your local dictionary. (btw, I understand that on the screen it's just called "Chinese", not "Mandarin"). Homunq 15:13, 27 March 2008 (EDT)

Will the translation features you create for Bityi be available in a library form for use in other programs? I could see Turtle Art, Etoys and my OpenSim project benefiting a lot from something like this!

Bobbypowers 21:04, 28 March 2008 (EDT)

I am not sure if they will be in a library included in Sugar, though I would argue for that option. Also, note that Turtle Art and Etoys (and, as I understand it, OpenSim), as graphical environments where user-defined functions are of secondary importance, already benefit substantially from more traditional l10n practices. However, there is no question that I would design my code to be portable. It would be necessary in logviewer, in pippy, and I would hope that it would get use in IDEs outside of the XO. Homunq 22:33, 28 March 2008 (EDT)

PL/1 is more workable

Since PL/1 does not reserve keywords, there is no problem with a collision between a variable name and a translated keyword. According to wikipedia's PL/1 article:

PL/I compiler also accepts variable names like key words (like IF, ELSE and THEN) and it uses the same symbol ('=') for checking equality of variables and for assignment. Something like this is accepted:

IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF

This code is interpreted as: If variable 'if' has the same value of variable 'then' then assign to variable 'then' the value of variable 'else', otherwise assign to variable 'else' the value of variable 'if'.