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?
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