Micah Dowty wrote:
>
> Sounds good. How about the client library? The only text it has (besides the command
>line options) is the message for the PicoGUI error dialog. For that, we could:
>
> - Leave it alone. The errors are cryptic enough that it won't matter what language
>the dialog box is in ;-)
>
> - Somehow get that text from the server along with the error message itself
>
> - Define it as a global theme string (like the "Ok" and "Cancel" text used by
>dialogs) so it can be internationalized along with the rest of the server, or even
>replaced using a theme. The client lib could retrieve the string
> when it needs to display an error dialog.
>
> I like that last option, storing it as a theme string. Any objections?
I like it too. If I remember well, we can have the default theme define the text, and,
if we omit the text in overriding themes, it will appear as defined in the default
theme ?
Pascal
>
> On Wed, 27 June 2001, Pascal Bauermeister wrote:
>
> >
> > Micah Dowty wrote:
> > >
> > > On the whole, PicoGUI itself doesn't generate much text that the end user sees.
>The small amount of text it does use, though, should be internationalized. In
>addition, a standard method of internationalizing PicoGUI clients should be defined.
> > >
> > > In PicoGUI itself, the following types of text need to be internationalized:
> > > - pgserver errors
> > > - pgserver command-line text
> > > - pgserver theme default strings (i.e. "Ok" and "Cancel")
> > > - cli_c command-line text
> > > - cli_c error dialog box
> >
> > I think command-line text should not be intl'zed (the os core utilities are in
>English as well). This is not anything the end user sees.
> >
> >
> > >
> > > The current internationalization standard in the Free Software community seems
>to be GNU gettext. I have read through the documentation and some of the source code.
>Basically, translatable text is marked in programs' source code by enclosing them in
>a gettext() call, or optionally the short _() macro. When internationalization is
>enabled at compile-time, this expands to a function that searches a dictionary
>(basically an associative array on disk) for a translated string using the original
>string as a key.
> > > GNU gettext would suit PicoGUI's needs for both server and application
>internationalization. Although it takes some measures to increase speed, such as
>binary message dictionaries and hash tables, I'm not sure it would be fast enough or
>memory efficient enough for use in all embedded applications.
> > >
> > > The gettext documentaion describes how the FSF came to the decision to use the
>interface that it currently uses. An alternate system that they rejected used a
>numeric identifier to look up strings in a table, switching this table for
>internationalization. This is basically what pgserver uses internally to manage error
>messages.
> > > Maybe there is a way to combine the server internationalization with server
>error handling?
> > >
> > > I suppose the choices I see for PicoGUI internationalization are:
> > >
> > > - Use GNU gettext for everything
> > > - Use some of the gettext development tools, but write a faster runtime
> > > component. Maybe convert the strings to numeric index values at compile
> > > time, looking strings up in a simple array?
> > > - On the server side (and client lib?) combine all messages into the same
> > > table as the errors, and allow loading alternate tables. Let the clients
> > > use some other internationalization method?
> > >
> > > It definitely seems like the cleanest solution would be gettext, but it might
>make things too slow when internationalization is on.
> >
> > I fully agree.
> >
> > Concerning the server, since the mechanism is already here for errors, I'd say we
>should use it for all other messages (table + numerical msg id). I don't like
>converting str to id at compile time, because (although surely nice-to-hack)
>programmers don't get aware of the feature. unless they read the makefiles.
> >
> > Concerning the clients, it's their own responsibilities. It could be useful for
>them to access the server's string.
> >
> > --
> > Pascal Bauermeister
> > Head of Software Development
> >
> > SMARTDATA
> > PSE-A / EPFL
> > CH-1015 Lausanne
> >
> > http://www.smartdata.ch
> > mailto:[EMAIL PROTECTED]
> > Phone: +41 (21) 693 84 98
> > fax: +41 (21) 693 84 91
> >
> > _______________________________________________
> > Pgui-devel mailing list
> > [EMAIL PROTECTED]
> > http://lists.sourceforge.net/lists/listinfo/pgui-devel
>
> --
> To the systems programmer, users and applications serve only to provide a
> test load.
>
> _______________________________________________
> Pgui-devel mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/pgui-devel
_______________________________________________
Pgui-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/pgui-devel