On mercredi 24 septembre 2008, Charlie Reinl wrote:
> Am Dienstag, den 23.09.2008, 22:54 +0200 schrieb Benoit Minisini:
> > On mardi 23 septembre 2008, Charlie Reinl wrote:
> > > Am Dienstag, den 23.09.2008, 12:43 -0500 schrieb M0E Lnx:
> > > > Can anyone think of a way to apply a translation to an application
> > > > that's already running?
> > > >
> > > > An example would be a wizard that starts out in English, and at the
> > > > first step offers the user to choose their language.
> > > > After the user selects his/her language, the rest of the application
> > > > get translated to the selected language.
> > > >
> > > > I'm not talking about creating the translations... I already know how
> > > > to do that... This is assuming there is a translated version for the
> > > > listed languages.
> > > >
> > > > Anybody?
> > >
> > > Salut,
> > >
> > > one way is, all text to show, is stored in a Databasetable, only the
> > > text which is used before the DB is connected,is burned in, and in
> > > english.
> > >
> > > Here a simple form of that Table:
> > >   lang            is GB,FR,DE or so
> > >   token           is an unique token-key
> > >   text            is the text in the language, fix by lang
> > >
> > > So in Form_Open or so you m ake :
> > >
> > > PUBLIC SUB Form_Open()
> > > DIM rTest AS Result
> > > rTest = meConn.Handle.Find("tblLang", "token = &1 and lang = &2",
> > > "Label1",myLang)
> > >         Label1.Text = rTest!Text
> > > rTest = meConn.Handle.Find("tblLang", "token = &1 and lang = &2",
> > > "Label2",myLang)
> > >         Label2.Text = rTest!Text
> > > ...... and so on .....
> > > END
> > >
> > >  Do not forget all other texts use in messages, printouts and so on.
> >
> > My god... You have a Windows background, don't you? :-)
> >
> > Gambas has an integrated translation system based on the standard GNU
> > tools. No need to reinvent the wheel there.
> >
> > Anyway, here is a little demo of how to change the application language
> > at runtime:
> >
> > PUBLIC SUB Main()
> >
> >   DIM sLang AS String
> >
> >   DO
> >     PRINT "Enter language code (fr, es, en...): ";
> >     LINE INPUT sLang
> >     System.Language = sLang
> >     PRINT ("Hello")
> >   LOOP
> >
> > END
> >
> > Of course, you must translate the "Hello" string in the IDE to see it
> > translated!
> >
> > Beware that strings are not translated "on the fly". If a form is opened,
> > you must destroy it and recreate it to see the new translations. In other
> > words, strings are translated when they are used.
>
> Yes I know that gambas uses gettext.
> But I don't like, that we have to recompile after changes made
> in *.po files.
>

The IDE does everything for you, you don't see that.

-- 
Benoit Minisini

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to