[Etoys] Translations

Bert Freudenberg bert at freudenbergs.de
Mon Jul 2 08:38:18 EDT 2007

On Jul 2, 2007, at 13:37 , Michael Rueger wrote:

> Takashi Yamamiya wrote:
>> Hilaire Fernandes wrote:
>>> The problem using Gettext with Squeak, is that Gettext is not its
>>> native system for translation. When using Gettext with GNU  
>>> application
>>> you benefice from the its tool suite: when messages are updated,  
>>> it is
>>> able to mark changed messages as fuzzy and/or to propose a closer
>>> match. I don't know if it is applicable to Squeak, and what is
>>> necessary to do to make the best use of the whole gettext tool  
>>> suite.
>> That's interesting. We should have those feature.
>>> Regarding translation, another stuff it will be nice is language
>>> catalogue per Squeak Application. It is not unrealistic
>>> people/organisation/vendor will develop Squeak application (applet,
>>> extension or whatever it should be nammed) for the OLPC.
>>> In this case this organisation will also need to ship language
>>> catalogue with their Squeak Application. It is also what Gettext
>>> provides.
>> That's a good idea. What's your definition of Squeak Application? I
>> think a .pr whould be a good unit.
> Bert and I just had a chat about this :-)
> Our thoughts were:
> - separate the translations into chunks by SystemCategory
> - generate an initial set of gettext files from the current language
> editor files
> - use the comments in gettext to add class>>selector>>line nr
> - on a new release write out a new set of templates
> - then use gettext tools, diff etc to maintain the translation files
> (Bert please correct/add where necessary)

That's the general idea, yes.

We need a way to generate current .pot files by scraping the image  
(which should be called by ReleaseBuilder). This way they will be up- 
to-date unlike the current translation files which contain many  
unreferenced entries.

Translators then produce .po files from the templates, using a simple  
text editor or one of the special .po tools.

Then we need a way to load translations from files, preferably on  
demand as to not unnecessarily slow down the startup. Breaking  
translations into several files (based on class category) should help  
with this. We will want to read the compiled .mo format which is a  
binary sorted and hashed table of the strings:


This is emulating gettext (which is also the approach used by  
Python). Alternatively a plugin could be written that uses the  
gettext library to lookup translations, though I'd prefer the former.  
An interim solution would be translating .po or .mo files to our old  
translation file format.

Btw, the gettext manual linked above is quite interesting to read, it  
covers a lot of special cases due to its wide usage.

- Bert -

> This is a pretty well defined chunk of work, that could be handed  
> off to
> somebody.
> Michael
> _______________________________________________
> Etoys mailing list
> Etoys at lists.laptop.org
> http://lists.laptop.org/listinfo/etoys

More information about the Etoys mailing list