Обсуждение: 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
Вложения
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