[SoC] A better software localization support for Squeak

jchauvea at etu.info.unicaen.fr jchauvea at etu.info.unicaen.fr
Sat Mar 24 19:00:42 UTC 2007


Hello, 

I'm a french student who would like to do the Google Summer Of Code 2007,
That's why I mail you this Squeak project application. 

This project title is "A better software localization support for Squeak". 

Every suggestion is welcome. 

Regards. 

Jérôme Chauveau 


A better software localization support for Squeak
 --------------------------
Project
 -------------------------- 

Squeak is an open-source multi-media Smalltalk flavor available on several 
platforms. Since the 3.8 version, Squeak is obtainable in several languages 
: english, german, french, spanish, japanese, ... To achieve that, a 
framework of application has been developed by Ohshima Yoshiki (View Point 
Research Institute) that allows to translate each english sentence of the 
interface, as well as UI tools to ease the translation task. The current 
translation framework still suffers from several drawbacks that we would 
like to solve in this project with a more modular approach. Moreover, the 
translation model is still rather rudimentary. The available translations 
are dispersed among the various versions of Squeak: 3.9, SqueakLand, OLPC, 
Croquet, ...A better software localization support should be a real 
improvement for Squeak. Work will be achieved in collaboration with the 
squeak-dev mailing list in order to define the needs and the solutions. Work 
will have to be published on SqueakSource regularly and I will have to 
submit reports on the mailing list. 

 --------------------------
Implementation
 -------------------------- 

This project is about designing a proposal for a better software 
localization support for Squeak: Currently, the model is really simple: Each 
associated sentences with the key word 'translated' are translated from a 
suitable dictionary for the selected language. 

   * In order to solve the dispersed translation problem, one solution could 
be to have a central repository for all the translations. In this way, all 
Squeak versions will use the same translation dictionary.
   * The non-modularity of the system comes from the fact that the 
translation is done inside the whole image and not for each package. To 
improve this system, the translation has to be done on a component instead 
of the complete Squeak image. Having all language translations in the image 
appears to be bad. Moreover, this project is concentrated on the model, the 
graphical interface part could be done in an other project.
   * One problem of the current implementation is that the key to find the 
sentence in the dictionary is the english sentence. It would be better to 
use an independant langage key.
   * 'GetText'is the GNU internationalization (i18n) data format which is 
used for writing multilingual programs. This mechanism appears to be really 
good and could be used in this case.
   * It could be good to improve the dictionary in order to have a depending 
context culture translation instead of a simple sentence for sentence one. 
For example, colour meanings are different from a culture to another. In the 
same way, the word order or singular/plural changes from a language to 
another.
   * It is necessary to envisage tools to also convert the existing 
translations in the new model. 

 --------------------------
Benefits to the community
 -------------------------- 

Squeak is a very good tool for beginner developpers, but the translation gap 
is often a problem for students that are not fluent in english. Although 
Squeak is now available in several languages, the rudimentary translation 
model (sentence for sentence) is not satisfying enough. A multi-language 
platform becomes accessible by all and becomes thus increasingly popular 
only if the translation model is good. Moreover, Squeak is integrated in 
theOLPC's project, that is why a good localization support (and more 
especially Squeak's EToys which will be used by children) appears to be 
essential. 

 --------------------------
Schedule
 -------------------------- 

The first part of work will consist in a study of the current Squeak 
translation system, then the next task is to examine the multilingual 
support used in other versions of Smalltalk like VisualWorks, or in other 
programming languages like Java, Python and Ruby. At the next stage, a 
proposal will be made with a first Squeak prototype. I will adopt a test 
driven development approach for his work. 

 --------------------------
About me
 -------------------------- 

My name is Jérôme Chauveau, and I am a 22-year old student at Caen 
University in Calvados, France. I am studying for a Computer Science 
Master's Degree. I think that my profile would be interesting for this 
project for two main reasons. First, I have learned to use the Squeak 
Environnement during my Higher National Diploma where I have programmed with 
this platform. Secondly,this year, I took an option named "Computational 
Linguistic" where I am learning how to translate texts and applications in 
multiple languages. 

I think that nowadays translation processing is an important stake for an 
application such as Squeak. I am well-motivated to take part to this spot 
because I think that Squeak deserves to be used by more and more people and 
programmers. 



More information about the Soc mailing list