Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vM3lj-0002Dd-1v for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Nov 2025 12:28:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vM3li-001RQf-0k for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Nov 2025 12:28:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vM3lh-001RQX-0y for pgsql-hackers@lists.postgresql.org; Thu, 20 Nov 2025 12:28:10 +0000 Received: from fout-b5-smtp.messagingengine.com ([202.12.124.148]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vM3lf-000Y2e-05 for pgsql-hackers@lists.postgresql.org; Thu, 20 Nov 2025 12:28:09 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.stl.internal (Postfix) with ESMTP id BFD3F1D00157; Thu, 20 Nov 2025 07:28:03 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-06.internal (MEProxy); Thu, 20 Nov 2025 07:28:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kurilemu.de; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to; s=fm2; t=1763641683; x= 1763728083; bh=oq208XfCJjUeu9gw2DfjR5R4PkZlbvGjLFEoxdU0t1U=; b=z jEVjLgIPPErZ1En+gLkCCPjRLm1p5K4wgvrFUSgPWKjDy7bMgNhl75sJQA6Vl7m1 Sbbsbiqlsw6WbdfYfc6gsjoRGTnGszk3EwYNq1B5p6WKJl7aCKRH4kNjHAz/EGiT ZVWYKb/ENiddq1bxD5Yji6KAb0mDGbJkWyVmoHBQzSzPGHvgseYBZIeIle0FdJK0 9oV4hCFrAst3fDaAus5pjtF4QNmX+HLorH9vcxC5chz7kZQYtgZJGzTYNkEQ4XWY dntDow8fHfYveFgOZdPCscbp69OxWGQQipPPywhUWvICI+fl0y9vFQfGY/2ajXiU CzJAAyb9BIdoNsRucsg3Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; t=1763641683; x=1763728083; bh=o q208XfCJjUeu9gw2DfjR5R4PkZlbvGjLFEoxdU0t1U=; b=tfNLTVNDecEuc8h9D FyUz6SYjh0yRlEk83PINcIoxvuJkrSf9GykYKpCXxZ0Qty+DbZCyYk/OluSZEFYg 9ajsohk+7RODXZZRCpueju7pwLkuSk4c4C27n4o3qgPy5yyDfkuElaprAQwpWvLH mdWxVdOIFY+f6qd/lFXkH3VgooZ3B7ZdN/658B2OhqHe+8wAmgjJLW+Tq1hf+62Z /aUcjFGQK+aPU2LQd/Msc8p2V1r+db/XoVGScbf7Vq90Ln9X4AuwE/3kKyUjWy5O mrJhIyEZ5y9aQvn8UBCnUyuq93yloRPax+qgXpGGzygFbQvDd8FbQOZFm4BXxYgb Z3Asw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvvdejtdekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkgggtugfgjgesthekredttddtjeenucfhrhhomheplmhlvhgrrhho ucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggvqeenucggtf frrghtthgvrhhnpedtheehtdekffffteefkefhhfffgeethfejkeevueevudeuudegffel ieevffehfeenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmpdhpohhsth hgrhgvshhqlhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpegrlhhvhhgvrhhrvgeskhhurhhilhgvmhhurdguvgdpnhgspghrtghpth htohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheplhhirdgvvhgrnhdrtghh rghosehgmhgrihhlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslh hishhtshdrphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 20 Nov 2025 07:28:03 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1763641680; bh=D9zH76GFU7/mnBfA1kzEcIofRZFl1EP12Z+wLIg/trU=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=c/E7aHX1tkpCLcF2iRweJcOt15GqTRu0VnYsbHZgHD2BABYp7t5jtm/+wGC1HGUJc 92pVa5Oq7ksNThf2YyYIruGIxSREcIVynZ/lWuqhjLVd/gttcq1nENHQKjroI6G1Wk IcGQ7TN2/V5nOazOrKVPEg/ahkOETy0igaIFgsLBroVr5A4YZDaB8uRpCQ8TYrTMqW 1zzMgCNHcARtUhb7NSou9biiAYDlotF4aSLK3UPTXgk2UKwqRMhu69gi29JGGdLdbN NoJKA/gXUO+WLorDk3QmsfqD2g7tUOQG0fa4Lg/WdJRS35pS6qAeCLmqSJzO3FjSVD TZSPDZYzTwZCA== Received: by schmee.kurilemu.internal (Postfix, from userid 1000) id E5E9276; Thu, 20 Nov 2025 13:28:00 +0100 (CET) Date: Thu, 20 Nov 2025 13:28:00 +0100 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: Chao Li Cc: Postgres hackers Subject: Re: quoteOneName() inconsistency with =?utf-8?Q?quote=5Fall=5Fide?= =?utf-8?B?bnRpZmllcnMg4oCU?= replacement API proposed Message-ID: <202511201224.fgu55ahjz664@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk 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ı" -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ "I must say, I am absolutely impressed with what pgsql's implementation of VALUES allows me to do. It's kind of ridiculous how much "work" goes away in my code. Too bad I can't do this at work (Oracle 8/9)." (Tom Allison) http://archives.postgresql.org/pgsql-general/2007-06/msg00016.php