Re: Use singular number when appropriate

2021-06-15 Thread David Fetter
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

2021-06-15 Thread Laurenz Albe
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

2021-06-14 Thread Julien Rouhaud
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

2021-06-14 Thread Heikki Linnakangas

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

2021-06-14 Thread David Fetter
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