On 1/30/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

Craig McClanahan wrote:


> I'm late to the table on this thread, and only care about the Commons
> libraries I care about :-)

Thanks for your interest in this thread.

> but you should be aware that this attitude will
> disqualify the use of such libraries from use within code from
organizations
> that have strict rules about implementing localization.  I work for such
an
> organization (Sun) ... the key rules are that any message that might be
> visible to users *must* be localizable.

I agree with you and thought localization should be provided by the layer
which
provides the message. Other people think this should be done at
application
level, if done at all.

> For log messages, that tends to translate into a straightforward policy
that
> DEBUG and TRACE type messages do not need to be localized, but anything
from
> INFO level above must be.  The issue for exception messages is a bit
more
> interesting.  How does the library developer know whether or not the
message
> part of the exception will be displayed to end users?  From a pragmatic
> viewpoint, you can pretty much assume this will happen with exceptions
in
> webapps, while many Swing apps will hide that sort of stuff to some
degree.

I think that since low level components may be used almost anywhere, their
messages *may* be displayed and this sole possibility is enough to justify
a
localized version should be made available. If the application gets an
error it
really doesn't know about, it can simply display it.

> But, as a bottom line, if I'm interested in maximum adoption of a
Commons
> library I work on, I will diligently ensure that exception messages are
> localizable :-).

When I first started this long thread, I thought the need for localized
error
messages as provided by exceptions was acknowledged by everyone and asked
for
the way to implement it, starting from a simple one which already works. I
was
wrong. The disagreement started about the need itself and slipped to the
level
at which implementation should be done.

I would really like to reach a compromise on this issue, something that
could by
accepted by everybody. I don't want to get banned with a -1 on a commit,
but at
least a few people would like localized error messages that can be simply
forwarded upward from lower layers to upper layer for display without
processing. Standard java already provides Throwable.getLocalizedMessage()
since
JDK 1.1. I could set up for [math] only an exception hierarchy that only
add a
few constructors and an implementation of this method without any change
in the
Throwable.getMessage() behaviour. Does this sound reasonable ?


Sorry  I was  out of pocket this week and could not reiterate my personal +1
for moving forward as you suggest, Luc.  I will add a few of more comments
below.  If anyone still has serious reservations - especially those who now
or in the future may contribute to [math] - pls speak up;  otherwise we can
move on.  Thanks to all who provided comments.

1) My initial +1 was based on the fact that the error management that you
need to support this approach is in fact there in Mantissa and if you
*don't* support localization when text is being generated, you either need
to get into nonsense like parsing and translating error messages,
complicating your exceptions hierarchy, or losing/hiding information at
higher levels.  If you do the work to localize when the string is generated,
that gives a choice at higher levels, which to me is goodness (assuming you
are prepared to do the work and the implementation is robust against missing
bundles, etc.).

2) Commons math generates error messages now, and should generate better
messages (as Mantissa does) in the future that using applications may want
to display to end users or in application logs.  I would like for those
messages to be localizable.  If one of our solvers does not converge because
initial values do not bracket a root, for example,  I would like the
developer of a localized client application that uses the solver to be able
to display that message directly in a log or to the user.  Whether or not
logging is good or bad is completely irrelevant to this discussion.

3) Apache is a do-ocracy and we have a proposal before us to significantly
improve exception management and error reporting in [math] by extending and
leveraging the framework in Mantissa.  Luc is volunteering to do this and
the only other active contributor to [math] who has chimed in (yours truly)
is also in favor.  The arguments against are either it is too much work to
implement exception error message localization or it may not be robust.  Luc
is stepping up to *do* the work (actually, leverage work already mostly done
in Mantissa) and I don't see robustness or performance risk in what he has
implemented.  Pls speak up if I am missing something in the latter case.
Therefore, appreciating the feedback from others and reservations about
applying across commons, for [math] we should let Luc JFDI  - i.e., move
forward with the proposal.

Thanks again, all, for this interesting discussion and thanks, Luc, for
helping make [math] more localization-friendly.

Phil

Luc




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to