Re: Log message for GSS connection is missing once connection authorization is successful.
От | vignesh C |
---|---|
Тема | Re: Log message for GSS connection is missing once connection authorization is successful. |
Дата | |
Msg-id | CALDaNm36xidovwu89ELA4fKaHVAocC0-HUtODrohjhfqRk0iJA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Log message for GSS connection is missing once connection authorization is successful. (Euler Taveira <euler.taveira@2ndquadrant.com>) |
Ответы |
Re: Log message for GSS connection is missing once connection authorization is successful.
|
Список | pgsql-hackers |
On Sun, Nov 1, 2020 at 3:34 AM Euler Taveira <euler.taveira@2ndquadrant.com> wrote: > > On Sat, 31 Oct 2020 at 00:34, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote: >> >> On Fri, Oct 30, 2020 at 6:35 PM Euler Taveira >> <euler.taveira@2ndquadrant.com> wrote: >> > >> > + appendStringInfo(&logmsg, "replication "); >> > + >> > + appendStringInfo(&logmsg, "connection authorized: user=%s", >> > + port->user_name); >> > + if (!am_walsender) >> > + appendStringInfo(&logmsg, " database=%s", port->database_name); >> > + >> > + if (port->application_name != NULL) >> > + appendStringInfo(&logmsg, " application_name=%s", >> > + port->application_name); >> > + >> > >> > Your approach breaks localization. You should use multiple errmsg. >> > >> >> IIUC, isn't it enough calling a single errmsg() inside ereport() with >> the prepared logmsg.data (which is a string)? The errmsg() function >> will do the required translation of the logmsg.data. Why do we need >> multiple errmsg() calls? Could you please elaborate a bit on how the >> way currently it is done in the patch breaks localization? >> > > No. The strings are specified in the appendStringInfo, hence you should add _() > around the string to be translated. There is nothing to be translated if you > specify only the format identifier. You can always test if gettext extracts the > string to be translated by executing 'make update-po' (after specifying > --enable-nls in the configure). Search for your string in one of the generated > files (po/LL.po.new). > > You shouldn't split messages like that because not all languages have the same > order as English. Having said that you risk providing a nonsense translation > because someone decided to translate pieces of a sentence separately. > > + appendStringInfo(&logmsg, "replication "); > + > + appendStringInfo(&logmsg, "connection authorized: user=%s", > + port->user_name); > > This hunk will break translation. In Portuguese, the adjective "replication" is > translated after the noun "connection". If you decided to keep this code as is, > the printed message won't follow the grammar rules. You will have "replicação > conexão autorizada" instead of "conexão de replicação autorizada". The former > isn't grammatically correct. Avoid splitting sentences that are translated. > Thanks for the explanation, I have attached a v5 patch with the changes where the translation should not have any problem. Regards, Vignesh EnterpriseDB: http://www.enterprisedb.com
Вложения
В списке pgsql-hackers по дате отправления: