Re: quoteOneName() inconsistency with quote_all_identifiers — replacement API proposed
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-21T05:52:04Z
Lists: pgsql-hackers
Attachments
- v3-0001-Add-appendStringInfoIdentifier-to-avoid-intermedi.patch (application/octet-stream) patch v3-0001
- v3-0003-Remove-quoteOneName-and-related-buffer-sizing-mac.patch (application/octet-stream) patch v3-0003
- v3-0004-Use-appendStringInfoIdentifier-in-more-places.patch (application/octet-stream) patch v3-0004
- v3-0002-Use-appendStringInfoIdentifier-throughout-ri_trig.patch (application/octet-stream) patch v3-0002
On Thu, Nov 20, 2025 at 8:28 PM Álvaro Herrera <alvherre@kurilemu.de> wrote:
> Hi,
>
> > - appendStringInfo(&buffer, _("text search configuration
> %s"),
> > - quote_qualified_identifier(nspname,
> > -
> NameStr(cfgForm->cfgname)));
> > + appendStringInfoQualifiedIdentifier(&buffer,
> > + _("text search
> configuration "),
> > + nspname,
> NameStr(cfgForm->cfgname), NULL);
> > ReleaseSysCache(tup);
> > break;
> > }
>
> This doesn't work from a i18n point of view. In the original
> formulation, the translator is free to place the %s wherever it suits
> the language. In the new one there's no such freedom: the name will be
> appended at the end. Some existing translations:
>
> ko.po:msgid "text search configuration %s"
> ko.po-msgstr "%s 전문 검색 구성"
>
> tr.po:msgid "text search configuration %s"
> tr.po-msgstr "%s metin arama yapılandırması"
>
Thanks for the feedback. I reverted that piece of change in v3.
Best regards,
Chao Li (Evan)
---------------------
HighGo Software Co., Ltd.
https://www.highgo.com/