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 <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+13-8
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
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. "),
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
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