Re: Use singular number when appropriate
On Tue, Jun 15, 2021 at 09:37:11AM +0200, Laurenz Albe wrote: > On Tue, 2021-06-15 at 04:59 +, David Fetter wrote: > > I thought about using the dual, but wasn't sure how many languages > > support it. > > I think none of the languages for which we cater uses the dual. But > I guess you were joking, since the tests are not translated ... I was. > > if (fail_count == 0 && fail_ignore_count == 0) > > snprintf(buf, sizeof(buf), > > -_(" All %d tests passed. "), > > -success_count); > > +_(" %s %d test%s passed. "), > > +success_count == 1 ? "The" : "All", > > +success_count, > > +success_count == 1 ? "" : "s"); > > ... and that wouldn't be translatable. Thanks, will rearrange. Best, David. -- David Fetter http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate
Re: Use singular number when appropriate
On Tue, 2021-06-15 at 04:59 +, David Fetter wrote: > I thought about using the dual, but wasn't sure how many languages > support it. I think none of the languages for which we cater uses the dual. But I guess you were joking, since the tests are not translated ... > if (fail_count == 0 && fail_ignore_count == 0) > snprintf(buf, sizeof(buf), > - _(" All %d tests passed. "), > - success_count); > + _(" %s %d test%s passed. "), > + success_count == 1 ? "The" : "All", > + success_count, > + success_count == 1 ? "" : "s"); ... and that wouldn't be translatable. Yours, Laurenz Albe
Re: Use singular number when appropriate
On Tue, Jun 15, 2021 at 04:59:24AM +, David Fetter wrote: > Hi, > > I thought about using the dual, but wasn't sure how many languages > support it. I don't think that you can assume that appending something will work in all languages. Note that it also doesn't always work in english (e.g. this/these), as seen in this inconsistent change: -_(" %d of %d tests failed, %d of these failures ignored. "), +_(" %d of %d test%s failed, %d of these failures ignored. "),
Re: Use singular number when appropriate
On 15/06/2021 07:59, David Fetter wrote: Hi, I thought about using the dual, but wasn't sure how many languages support it. if (fail_count == 0 && fail_ignore_count == 0) snprintf(buf, sizeof(buf), _(" %s %d test%s passed. "), success_count == 1 ? "The" : "All", success_count, success_count == 1 ? "" : "s"); Constructing sentences like that is bad practice for translations. See https://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html. - Heikki
Use singular number when appropriate
Hi, I thought about using the dual, but wasn't sure how many languages support it. Best, David. -- David Fetter http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate >From 1fd595576c5972d8604adf77d1959008daebacb0 Mon Sep 17 00:00:00 2001 From: David Fetter Date: Mon, 14 Jun 2021 21:51:20 -0700 Subject: [PATCH v1] Singular number when appropriate --- src/test/regress/pg_regress.c | 20 +--- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git src/test/regress/pg_regress.c src/test/regress/pg_regress.c index 05296f7ee1..d6f9e829e8 100644 --- src/test/regress/pg_regress.c +++ src/test/regress/pg_regress.c @@ -2641,25 +2641,31 @@ regression_main(int argc, char *argv[], */ if (fail_count == 0 && fail_ignore_count == 0) snprintf(buf, sizeof(buf), - _(" All %d tests passed. "), - success_count); + _(" %s %d test%s passed. "), + success_count == 1 ? "The" : "All", + success_count, + success_count == 1 ? "" : "s"); else if (fail_count == 0) /* fail_count=0, fail_ignore_count>0 */ snprintf(buf, sizeof(buf), - _(" %d of %d tests passed, %d failed test(s) ignored. "), + _(" %d of %d test%s passed, %d failed test%s ignored. "), success_count, success_count + fail_ignore_count, - fail_ignore_count); + success_count == 1 ? "" : "s", + fail_ignore_count, + fail_ignore_count == 1 ? "" : "s"); else if (fail_ignore_count == 0) /* fail_count>0 && fail_ignore_count=0 */ snprintf(buf, sizeof(buf), - _(" %d of %d tests failed. "), + _(" %d of %d test%s failed. "), fail_count, - success_count + fail_count); + success_count + fail_count, + fail_count == 1 ? "" : "s"); else /* fail_count>0 && fail_ignore_count>0 */ snprintf(buf, sizeof(buf), - _(" %d of %d tests failed, %d of these failures ignored. "), + _(" %d of %d test%s failed, %d of these failures ignored. "), fail_count + fail_ignore_count, success_count + fail_count + fail_ignore_count, + fail_count + fail_ignore_count == 1 ? "" : "s", fail_ignore_count); putchar('\n'); -- 2.31.1