Use singular number when appropriate

Started by David Fetterover 4 years ago5 messages
#1David Fetter
david@fetter.org
1 attachment(s)

Hi,

I thought about using the dual, but wasn't sure how many languages
support it.

Best,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

Attachments:

v1-0001-Singular-number-when-appropriate.patchtext/x-diff; charset=us-asciiDownload
From 1fd595576c5972d8604adf77d1959008daebacb0 Mon Sep 17 00:00:00 2001
From: David Fetter <david@fetter.org>
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

#2Heikki Linnakangas
hlinnaka@iki.fi
In reply to: David Fetter (#1)
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

#3Julien Rouhaud
rjuju123@gmail.com
In reply to: David Fetter (#1)
Re: Use singular number when appropriate

On Tue, Jun 15, 2021 at 04:59:24AM +0000, 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. "),

#4Laurenz Albe
laurenz.albe@cybertec.at
In reply to: David Fetter (#1)
Re: Use singular number when appropriate

On Tue, 2021-06-15 at 04:59 +0000, 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

#5David Fetter
david@fetter.org
In reply to: Laurenz Albe (#4)
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 +0000, 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 <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate