[ENH] [Babel] Screening tool

Andreas Raab andreas.raab at gmx.de
Sat Oct 18 15:38:33 UTC 2003


> I tend to agree that the implicit translation is a reasonable 
> way to go for now. What parts does this solution have, and
> which need to be in the base image, as opposed to packages? 

Very little. We will want to have the ability to deal with #translated,
#format: as well as different languages, so that should probably be part of
the baseline image. Some "runtime handling" of localization info will be
needed too (I've added a minimal version of that to the CS I sent to Diego).
That would be the essential stuff that you need to _use_ a localized image
and I think those parts should be included.

Everything else (such as interactive tool support) can be handled outside of
the image.

Cheers,
  - Andreas
> 
> Daniel
> 
> Andreas Raab <andreas.raab at gmx.de> wrote:
> > Hi Diego,
> > 
> > Nice summary. Thanks!
> > 
> > Cheers,
> >   - Andreas
> > 
> > > -----Original Message-----
> > > From: squeak-dev-bounces at lists.squeakfoundation.org 
> > > [mailto:squeak-dev-bounces at lists.squeakfoundation.org] On 
> > > Behalf Of Diego Gomez Deck
> > > Sent: Friday, October 17, 2003 2:52 PM
> > > To: Squeak developers list
> > > Subject: [ENH] [Babel] Screening tool
> > > 
> > > 
> > > Hi folks...
> > > 
> > > Andreas and me spend some days talking about Babel and 
> implicit vs.
> > > explicit string literals translations.
> > > 
> > > (If somebody is interested in the thread I can send it by private
> > > email).
> > > 
> > > We agreed on some points:
> > > 
> > > 1) Translation in the widgets make no sense at all.  The only 
> > > reasonable
> > > argument to translate in the widgets is the option to 
> > > translated without
> > > modifying the model sources and, to get this goal, we 
> don't need to
> > > translate in the widgets.
> > > 
> > > 2) To translate in the model we have 2 options: Implicit and 
> > > Explicit. 
> > > Explicit means send message #translate to every visible 
> string in the
> > > image and Implicit means get (and translate) the string without
> > > modifying the source.  Both model has benefits and drawbacks.
> > > 
> > > 3) We talk about delaying the final decision using the 
> > > Implicit model. 
> > > Putting all the information in the tool used to tag the 
> strings (The
> > > Screening Tool) is the more conservative decision for 
> today because we
> > > can translate the image without changing so much the sources 
> > > and when we
> > > get more experience we can decide to continue with the 
> > > Implicit model or
> > > to switch to the Explicit one.  In the case we decide to 
> go with the
> > > explicit model we can use the same Screening Tool to insert the
> > > #translated message all over the image.
> > > 
> > > Here I'm pasting the email I received from Andreas with 
> the list of
> > > steps to try the screening tool:
> > > 
> > > 
> > > 
> -------------------------------------------------------------------
> > > 
> -------------------------------------------------------------------
> > > 
> > > 
> > >        De: 
> > > Andreas Raab
> > > <andreas.raab at gmx.de>
> > >      Para: 
> > > 'Diego Gomez
> > > Deck'
> > > <DiegoGomezDeck at ConsultAr.com>
> > >    Asunto: 
> > > RE: Squeak
> > > list et al
> > >     Fecha: 
> > > Sun, 12 Oct
> > > 2003
> > > 18:05:10
> > > +0200
> > > 
> > > Hi Diego,
> > > 
> > > Attached is a first version of the screening tool to get an 
> > > idea what it
> > > may
> > > feel like. To use it, load the LocalizationInfo.cs into your 
> > > system and
> > > open
> > > the tool from the world menu.
> > > 
> > > The screening tool has the structure of your system to 
> the left and a
> > > code
> > > pane to the right. As you expand the tree on the left 
> (use the cursor
> > > keys
> > > for efficiency!) you are able to dive down into the classes, 
> > > methods and
> > > individual literal strings of that method.
> > > 
> > > In order to flag a string for localization, just hit 
> space (this will
> > > toggle
> > > through "[+] - translate", "[ ] - do not translate" and 
> "[?] - I don't
> > > know"). In addition the context menu provides a few global 
> > > actions that
> > > you
> > > can use. For example, the way I typically use it is to 
> keep hitting
> > > cursor-right until I find a string, hit space and keep 
> going until I
> > > have
> > > all the guys I think should be translated and then just 
> "exclude the
> > > undefined" strings.
> > > 
> > > Once you are done (with either class, category, or package) 
> > > you can use
> > > the
> > > context menu to save the localization info for the unit 
> of work you've
> > > been
> > > working on. This will spit out a ".lif" file which you 
> can load into
> > > another
> > > system (just use the file list). The file contains all of the info
> > > required
> > > to tag the strings we want to translate at runtime.
> > > 
> > > I have also attached an example LIF file for the world menu to
> > > demonstrate
> > > the effect. In order to test this, please do exactly what I am
> > > describing in
> > > the following:
> > > * Get a clean 3.6 image
> > > * Load the localization info cs
> > > * Load Babel-dgd.cs
> > > * Load Babel-FileListServices-dgd.cs
> > > [NOTE: Do NOT load the "complete translations" - this 
> would spoil the
> > > effect]
> > > * Install "TheWorldMenu.lif" from the file list
> > > * Install "Spanish.translations" (or any other 
> translation you have)
> > > from
> > > the file list
> > > * Set the language to spanish (or the one you loaded)
> > > 
> > > Now open the world menu - you will see it's still in 
> english. That's
> > > because
> > > we haven't installed the translations yet. Let's install them:
> > > 
> > > LiteralStringLocalizationManager install: Language defaultLanguage
> > > 
> > > Open the world menu again - now it's all in spanish. To get 
> > > back to the
> > > previous (untranslated) version evaluate
> > > 
> > > LiteralStringLocalizationManager install: nil.
> > > 
> > > Open the world menu again - it's back to english.
> > > 
> > > Okay, that's about it for now.
> > > 
> > > Cheers,
> > >   - Andreas
> > > 
> > > 
> > > 
> -------------------------------------------------------------------
> > > 
> -------------------------------------------------------------------
> > > 
> > > 
> > > Comments are welcome!
> > > 
> > > 
> > > -- 
> > > Diego Gomez Deck
> > > http://www.small-land.org
> > >
> 



More information about the Squeak-dev mailing list