
Message du 16/04/11 17:48 De : "Jeffrey Lee Hellrung, Jr." A : boost@lists.boost.org Copie à : Objet : Re: [boost] [locale] Formal review of Boost.Locale library starts tomorrow
On Sat, Apr 16, 2011 at 1:07 AM, Artyom 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.
+1 Vicente