[Comerrers] Welcome and proposal

Tim Showalter tjs@psaux.com
09 May 2002 14:20:00 -0600

On Tue, 2002-04-30 at 21:07, Derrick J Brashear wrote:
> It's been a week since I sent the invitation to this list, so I figure
> everyone who's going to join, has.
> I offer this proposal in the vein of internationalization:
> -a flag to compile_et which will cause it to generate .po files
> -another flag to compile_et (or perhaps the default and a flag to disable)
>  which causes error_message, com_err et al to call gettext on the message 
>  string. If this defaults to on, it should only do so if the system
>  supports gettext, either natively or as a result of the comerr
>  implementation including a suitable library (which GNU gettext may or may
>  not be due to licensing considerations for any given environment, but
>  that's out of scope)

In the interest of confusing things, I'll put my two cents in.

I was the maintainer for the Cyrus imapd a few years ago.  One of the
issues under consideration for IMAP was i18n of strings returned from
the IMAP server to the client.  IMAP has generally crappy error
reporting, and at least in theory, these strings are presented to the

Cyrus used com_err at least notionally for i18n--that's what the sources
said anyway, but it does provide a convenient catalog of the IMAP
server's possible responses.

I have no experience with gettext so I speak purely from ignorance.

If Cyrus were to be threaded, and one of the IMAP i18n solutions were to
be adopted, the language/charset can be reconfigured on the fly.  The
value of the LOCALE would probably not be sufficient to determine the
current locale under most thread systems.

My understanding of gettext means we'd map error number to C-locale
string, then to error-string.  I can't say I like that, but at least
with a good compile_et that took care of stuff for me, I could avoid
having conflicts, so I guess this isn't a very strong objection.

I would like to see fewer versions of com_err in the world.  (Cyrus
ships with Ted's awk compile_et, but Derrick put configure tests in so
it would use the system compile_et; the awk compile_et worked very well,
but the random versions of com_err sometimes didn't.)