Boost logo

Boost :

Subject: Re: [boost] [locale] Formal review of Boost.Locale library starts tomorrow
From: Jeffrey Lee Hellrung, Jr. (jeffrey.hellrung_at_[hidden])
Date: 2011-04-16 11:47:42


On Sat, Apr 16, 2011 at 1:07 AM, Artyom <artyomtnk_at_[hidden]> wrote:

> > > Another point is that boost::format throws on almost any error while
> > > boost::locale::format ignores error (as you don't want a translator
> > > to crash the program)
> > >
> >
> > Hmmm...is there at least some convenient mechanism for the user to
> detect
> > errors encountered by boost::locale::format after boost::locale::format
> has
> > returned?
> >
> > Could the error behavior be specified in the call to
> boost::locale::format?
> >
>
> I explain, the error of for example missing parameter is almost never
> a error, consider following:
>
> format(translate("Passed {1} day", "Passed {1} days",n)) % n;
>
> Now in Hebrew it would have 3 plural forms: single, dual and plural
>
> עבר יום {1}‏ /passed {1} day
> עברו יומיים /passed two-days when "two-days" is a single world - no
> parameter used
> עברו {1} ימים / passed {1} days
>
> So missing parameter is ok in localization context, while boost::format
> throws
> unless you do something specific.
>

So that's the specific case of a missing parameter error, but is this the
only kind of error one can make with boost::locale::format? If not, it's
not really a convincing argument that all users all the time would like
boost::locale::format to ignore all errors. And you do qualify that this
particular error is "almost never a error", leading me to believe that
sometimes it really is an error you care about.

- Jeff


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk