about translations

Alberto Berti alberto at metapensiero.it
Wed Mar 1 14:38:16 UTC 2006


Hello squeakers,

i'm  squeak newbie and i often watch at squeak's progress always with the 
hope of being able to drop the barrier of it's scarce documentation doing 
something using something useful with it and contributing back to the 
community which has create this incredble environment. Some qualities of 
squeak repeatly led me to involve some amount of time in it, always without 
  so much luck.

I think it could be the best environment for the kids i know to learn 
programming, also my syster works with neuropsychiatrysts to help impaired 
children learn by using some kind of commercial tools which let the 
operator create, merge and show a kind of simple iconic alphabet that helps 
the learning of concepts (if i recall, she call it something like 
'augmentative communication'). The fact that these tools are commercial 
inhibits the spreading of such "advanced" learning tecniques.

I think that a similar and even more powerful environment can be setup for 
the operator by using squeak.

But i think also that a key need for squeak to be usable and adopted both 
by "normal" kids and by operators and impaired children is the translation 
of the standard environment in their mother tongue (e.g. italian for me).

Recently, i got the time to also try out Tweak, which i find so good and 
much more understandable, even without so much docs:) , so i "revamped" my 
idea of contribute an italian translation to squeak, in order to try 
"teaching" it, to some extent.

I do know and use some "standard tools" to deal with translations like 
gettext, emacs po-mode (and the others) and svn or darcs for versioning. 
With some friends we have set up a public repository of translations along 
with a complete wiki help to let non-developer people contribute to the 
translation process
in a manageable way ( http://docit.bice.dyndns.org )

i do not known the reasons under "reinventing the wheel" with tools like 
the language editor when there are so many good tools to deal with 
translations, even with multi-byte character sets like japan's one. I can 
only immagine that these other tools don't represent the "squeak way" of 
doing things. However this not the point.. the point is that the "squeak 
way" of coordinate a translation between a group of people that want to 
contribute, like sharing in progress translation resources, isn't still 
clear to me nor it seems to be documented (it is?) and to be frank, it was 
not so simple to understand how to add an another language to the image, 
due to outdated docs.
More than that, i have a group of people that want to contribute to the 
translation and they are already familiar with the tools above, so my 
willing is to reuse that infrastructure.

I want to translate the squeak's standard full image, the one which is 
downloaded by the normal user most of the time, not the small-land image or 
the squeakland one, because it is the "default" image downloaded by a new 
user which approaches squeak.

So my desire is to do the following things:

1) Learn how to add italian to the multiligual infrastructure;
2) do an export in gettext's po mode;
3) reuse stantard po tools and svn and the site docit.bice.dyndns.org to 
coordinate the effort;
4) import the translation back to the image;
5) prepare a squackmap package to let normal users load the italian 
translation;

For the point 1), the swiki has very old informations, but i learned how to 
do that with the email from Yoshiki at
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-February/100956.html

I downloaded that image and i found that it has and improved language 
editor with and added butto "new" which adds a new LocaleID and thus 
enables a new translation. The interesting code is:

LocaleID isoString: 'it'

Aside from having a specific button to do it, evaluating that code in a 
workspace even in the standard image does the right job, and then is 
possible to open a language editor for that language code. I'll update the 
swiki asap with this information:)

The point 2) is much more difficoult though. I tried the gettext export 
both in the standard image and in the squeaklanddev's one withouth any 
luck. An error box comes up, saying that #GetTextExport is not a key into 
'Smalltalk' dictionary (i think it's a kind of global one). a quick 
googling for that problem showed that there is a bug filed already for it 
at  http://bugs.impara.de/view.php?id=1744 in stat 'new' since august. It 
says that the missing classes are available into the small-land image.

How it's possible to highilight the differences between the standard image, 
the squeaklanddev one and the small-land one and backport these missing 
features to the standard one? I really do not know yet and i've still to 
read the doc if there is one on that subject so i tried another approach.

I told to me.. "maybe if i can find a repository with the sources available 
as a monticello repo i can be able to load such missing parts from there 
and also track future development". So i visited Yoshiki's site, quite 
unuseful, and then SqueakSource site, looking for something interesting. I 
found the "LanguageEditor" project 
(http://www.squeaksource.com/LanguageEditor.html)! Wow "i found it", i've 
said to me!

Sadly, after loading the code with monticello i found that it is quite old 
comapared to the features available on newer images!

So finally my question is: there is a way to track sources of such a widely 
intersring topic like traslations in consitent or affordable way? do you 
publish your sources somewhere guys?

I don't want to start a flame but it would be quite simple in other 
communities and generally translations and translation-infrastructure are 
considered a key thing to share in open source projects.

thanks in advance,

Alberto



More information about the Squeak-dev mailing list