| From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
|---|---|
| To: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
| Cc: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: pgsql: Fix lack of message pluralization |
| Date: | 2026-09-03 12:49:19 |
| Message-ID: | b0ab6539-8ad6-4b09-a9fc-70414713ddbe@eisentraut.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
On 03.09.26 13:29, Daniel Gustafsson wrote:
>> On 3 Sep 2026, at 12:47, Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>>
>> Fix lack of message pluralization
>
> Maybe I'm daft, but why is the message below pluralized since the %d parameter
> is the same?
Do you mean the parameter is constant?
This is correct, but we have some precedent to pluralize these kinds of
things anyway. Several reasons:
- Translators shouldn't have to look into the source code what the
actual value is. (Or, in this case, even beyond the actual source code.)
- Maybe tomorrow someone changes this to PG_UINT16_MAX, and then it
might have to be translated differently.
- Not in this specific case but in general: You might have the same
message in different contexts but with different numbers.
> --- a/src/backend/commands/trigger.c
> +++ b/src/backend/commands/trigger.c
> @@ -904,8 +904,10 @@ CreateTriggerFiringOn(const CreateTrigStmt *stmt, const char *queryString,
> if (nargs > PG_INT16_MAX)
> ereport(ERROR,
> errcode(ERRCODE_TOO_MANY_ARGUMENTS),
> - errmsg("triggers cannot have more than %d arguments",
> - PG_INT16_MAX));
> + errmsg_plural("triggers cannot have more than %d argument",
> + "triggers cannot have more than %d arguments",
> + PG_INT16_MAX,
> + PG_INT16_MAX));
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Daniel Gustafsson | 2026-09-03 12:51:31 | Re: pgsql: Fix lack of message pluralization |
| Previous Message | Daniel Gustafsson | 2026-09-03 11:29:23 | Re: pgsql: Fix lack of message pluralization |