There are two initial steps that could be pursued independently. On is gathering translatable strings from the image into .pot files, the other would be to write a parser for .mo files. The first requires knowledge of Smalltalk parsing, the second familiarity with gettext. So I'd suggest starting with the second.
Yet another step would be to re-implement #translated to take into account the location of the sender. This could be performance- critical, as "thisContext sender" gets you only the compiled method but not the class or selector of the method. Probably the translator should have a cache keyed by compiled method and string, but the details might be tricky.
And work on making the language switching faster by not simply re- building everything would certainly be useful, too.
- Bert -
On Jul 7, 2007, at 3:25 , Takashi Yamamiya wrote:
That sounds good!
Anyway, a friend of mine kindly offered me his spare time to help about translation stuff. Which part is good to start? He understands both Squeak programming and gettext architecture. I think separating the translations into chunks is what we have to try at first (I myself haven't read gettext documentation in detail yet though).
Cheers,
- Takashi
Hilaire Fernandes wrote:
That would be really great !!
Hilaire
2007/7/4, Bert Freudenberg bert@freudenbergs.de:
Yes, that's what I meant. So for a string in a method of a class in category "Foo-Bar" we would look at "Foo.mo". Or, for even more sophistication, look for "Foo-Bar.mo" first, and if that does not exist look in "Foo.mo".
On Jul 2, 2007, at 13:37 , Michael Rueger wrote:
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
Etoys mailing list Etoys@lists.laptop.org http://lists.laptop.org/listinfo/etoys