Antwoord: Squeak Internationalization (voorheen: Re: AW: AW: -- Whats this 'AW:' mean?)

Andreas Raab Andreas.Raab at gmx.de
Sat Feb 2 14:02:42 UTC 2002


Cees,

> Flashback to something on-topic. Zzziiiipp. Ah, found it: Squeak
> internationalisation.
> 
> Goal: make Squeak accessible to elementary school kids.
> Fact: the vast majority of elementary school kids on this 
> globe doesn't speak English.
> 
> Think of translating SqueakToys. Where do you stop?

Nowhere. Ultimately, the "reference language" for scripts should be
symbolic and not literal so that it maps into all languages equally.
Even today, all you'd need is to give each selector a unique identity
(e.g., instead of sending Symbols we should send Selectors which _have_
a name; not _being_ a string) and at this point the only issue remaining
is to map that into your default translation table. Off you go.
Naturally, this approach means you don't have "source code" anymore and
that's why it'll not be adopted in communities that rely on text editors
and command line compilers.

> SqueakToys, IMHO, is an onion skin which you can slowly peel
> of layer by layer to get exposed to Smalltalk lurking below.

Yes, absolutely.

> Somewhere, you have to make a decision about what's
> translatable 'data' ("Go" as a label on a button) and what's 
> untranslatable 'code' (ifTrue:ifFalse - now, are we going to
> translate that with indienWaar:indienNietwaar: or
> wennWahr:wennNichtwahr: ?). 

No, you don't. Not really. Almost everyrthing in Squeak references by
identity and not by name (class names are only looked up at compile
time; message selectors are looked up by the VM based on identity not
based on contents etc). And if that's true then you can rename basically
everything. Modulo the few places where we construct stuff like class
names and selectors this should just work.

> Apparently, Microsoft has taken the stance that the average 
> office user in Germany will be confused by English in the macros.

And actually I agree on that point of view. Mind you, if you want to
give scripting abilities into the hands of "average people" (by which I
mean people who've not been exposed to at least three english-only
scripting languages) then you _better_ do something about the language.
Because if you don't, you require to people to learn both, the meaning
of some method as well as its name whereas if the name is in their
language, they can use the name to associate the meaning. For most
"real" people using foreign scripting languages is the equivalent to
having chinese letters as icons in their favourite program. Yes, you can
learn them and some people do but please don't expect them to just look
at and understand what it means.

BTW, one fun thing to try is to load some eToy project and set the
language to Kishwahili. That'll give you a pretty good impression what
people see in an english scripting language. It's purely and arbitrarily
symbolic.

Cheers,
  - Andreas





More information about the Squeak-dev mailing list