On 2018-Jul-09, Andres Freund wrote:

> On 2018-07-09 15:44:36 -0400, Alvaro Herrera wrote:
> > > +                         ereport(errlevel,
> > >                                           (errcode(ERRCODE_TOO_MANY_ROWS),
> > >                                            errmsg("query returned more 
> > > than one row"),
> > > -                                          errdetail ? 
> > > errdetail_internal("parameters: %s", errdetail) : 0));
> > > +                                          errdetail ? 
> > > errdetail_internal("parameters: %s", errdetail) : 0,
> > > +                                          use_errhint ? 
> > > errhint("too_many_rows check of extra_%s is active.",
> > > +                                                                   
> > > too_many_rows_level == ERROR ? "errors" : "warnings") : 0));
> > 
> > Please write this in a way that results in less translatable messages,
> > and don't build setting names at runtime.  Concretely I suggest this:
> > 
> > errhint(too_many_rows_level == ERROR ? 
> >     gettext_noop("%s check of extra_errors is active.") : 
> >     gettext_noop("%s check of extra_warnings is active."),
> >     "too_many_rows");
> 
> Why not put extra_errors/extra_warnings into a variable as well?

Yeah, what he said.  (Then you *really* need a /* translator: */ comment
to explain.)

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to