[squeak-dev] About squeak and etoys internationalization - possibly also feedback

Paulo César Pereira de Andrade pcpa at mandriva.com.br
Mon Oct 11 22:40:11 UTC 2010


Bert Freudenberg wrote:
>
> On 11.10.2010, at 14:05, Jecel Assumpcao Jr. wrote:
>
>> Paulo,
>>
>> translation in Squeak has a very long and complicated history. The first
>> thing you must notice is that often the Etoys layer is treated as a
>> separate project from Squeak itself. Very early on a really crude
>> translation system was included in Etoys - it was basically just a
>> single method that would set up some arrays inside the image matching
>> the equivalent in English and in some other language. Paulo Drummond
>> used this resouce to translate all Etoys tiles to Brazilian Portuguese
>> back in 2005.

  Yes, I tried to follow the links in the wiki, but got completely
lost... I tried the procedure I found googling, and tried
http://wiki.squeak.org/squeak/3282
but it only gives a window with a backtrace asking to try to revert
the method/change, and requires restarting squeak.

  I found references to smalltack brazilian groups, but all liks
appears dead...

>> What I described above was exclusively for Etoys and didn't work for the
>> rest of Squeak. So Diego Gomez Deck created a much more sophisiticated
>> system which included special browsers and some new runtime methods. He
>> made it so his new system was compatible with the old Etoys one and it
>> was easy to upgrade Etoys to take advantage of the new features. This
>> system was officially adopted in Squeak 3.8. Looking at your
>> screenshots, my impression is that this is what you are using.

  I think it is. I confess that I learned 99.99% of what I know about
squeak in the weekend, and pretty much all I know about smalltalk
today :-) To translate the remaining strings, basically what I did
was:
1. go to NaturalLanguageTranslator
2. "add" the missing string, for example, the "Search: " string
   in the top menu bar
3. use the "where (E)" option
4. "patch" the code, e.g, pseudo patch:
[...]
-		addMorphBack: (StringMorph new contents: 'Search: ');
+		addMorphBack: (StringMorph new contents: 'Search: ' translated);
[...]
5. Alt-s to save
6. Provide the actual translation, may need to close/hide menu/etc
   to get it to actually load the translated text

[Probably the above procedure is not correct, and maybe could even
damage the image..., maybe need to use the "Test Runner" before,
but I am still learning a lot...]

  Most other translations "appear" in the interface when opening the
related popup/interface. This is why I suggested, but only as a
"feedback" to check the procedure to provide strings for translator,
because for example, all Etoys tutorials are in english, what may
not be easy to non english speaking children :-)

>> When Etoys became an important part of the OLPC project, it was decided
>> that the translation infrastructure used by the other OLPC subprojects,
>> Pootle, should be adopted by Etoys as well. The necessary changes to the
>> code were made and the Pootle project was created:
>>
>> http://translate.sugarlabs.org/projects/etoys_new/

  Thanks, I did not know about it. But I updated the mandriva
squeak-vm and squeak-image over the weekend to the latest official
release, and also the etoys package. The etoys package I patched the
build to not make a svn checkout during build, as the build system
runs in a "protected" chroot, so, I added the "Content" directory
as an extra source tarball.

>> Most of the old translations were moved over to the new system (in 2006,
>> I think) and all work has happened there since.
>>
>> There are many details which I don't know:
>>
>> - are the new translations Etoys-only or are Smalltalk level stuff
>> included?
>
> It includes Smalltalk tools.
>
>> - does Squeak 4.1 include only Diego's system or has the Pootle code
>> been merged?
>
> The new system uses GNU gettext external translation files (*.po). It was
> implemented by Korakurider.
>
> Hilaire Fernandes made a package for Pharo from the Etoys code I think.
> That might be a good base for getting it into Squeak.
>
> - Bert -
>
>> I hope that the people more directly involved with this will reply to
>> you. Most translation discussions happen in the etoys-dev list rather
>> than here, however.
>>
>> -- Jecel

  I will try to maintain the squeak package up to date in Mandriva;
actually, I am working on a personal project that has a virtual machine,
etc, but is more of a C/C++ language expected to be used for simulations,
etc, and I did significant patching and am still doing, to gnu
lightning (http://github.com/pcpa/lightning), that is used by gnu
smalltalk, so, I should be ashamed to take so long to learn smalltalk :-)

  Also, probably at least at first, I will try to get a fully translated
squeak in our classmate image, and get some basic tutorials translated,
otherwise the people (I believe usually children with a classmate :-)
that can actually benefit from it may never properly use it; needs an
easy initialization/learning procedure to get used to the interface
and understand what he/she is supposed to do :-)

Thanks again,
Paulo




More information about the Squeak-dev mailing list