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 1vTNN4-0003XO-0B for pgsql-translators@arkaria.postgresql.org; Wed, 10 Dec 2025 16:48:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vTNM3-0000VS-2X for pgsql-translators@arkaria.postgresql.org; Wed, 10 Dec 2025 16:47:56 +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 1vTNM3-0000VK-0c for pgsql-translators@lists.postgresql.org; Wed, 10 Dec 2025 16:47:56 +0000 Received: from fout-b7-smtp.messagingengine.com ([202.12.124.150]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vTNM1-0000c1-0M for pgsql-translators@lists.postgresql.org; Wed, 10 Dec 2025 16:47:55 +0000 Received: from phl-compute-08.internal (phl-compute-08.internal [10.202.2.48]) by mailfout.stl.internal (Postfix) with ESMTP id D0B9E1D001B7 for ; Wed, 10 Dec 2025 11:47:51 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-08.internal (MEProxy); Wed, 10 Dec 2025 11:47:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kurilemu.de; h= cc:content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to; s=fm2; t=1765385271; x=1765471671; bh=eh44w/noo6 zjeTSpQSu4OCCp70mi2SvAs5iP7za8KBc=; b=icWzHepqGk8JkNAIzLPCZZNQMP KZ5sh2BRAKB5X/QhWfZFyN1kV391YkK4Lh9bWwHPj/AKkeesSrk1hhbxOh39l/qE OQESP/2m+3B6yEWi5biBtZM5Ofobk/5vGwAC6Q58hiG8X+D61oc7J9Fnce8Qv06E vabryz/6X/QFXG/HJJ9HGVlMDCF95TIVpfvWi+oAivP8QnYcouDEagLdzdxbnX3j VAlHaGYE9AGMlZKWyukUpDqQDorMhAzBbuQufqBTDd650F4xkZbe4eG1Y0FlgdO8 o8AYnvd+TlhTTwiqNqpYWmKThzNEi3ln9LtFgDikVdR+QERRG1C5ukXNDCVQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :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=fm1; t= 1765385271; x=1765471671; bh=eh44w/noo6zjeTSpQSu4OCCp70mi2SvAs5i P7za8KBc=; b=eePggvD9mlqI4anQiYRaeth44tNNvDKnzYmNA8mkQDLUU3yCwiU gc5B1gmOZfU3cqhVxDAXhSDSUvvZwKUdftb/pQu0puvtY5JUxDEfXKS+aa2IuS9T pOkAdD0SzXTpKuUt10Fb/3KjZ1gzriR/zmhGvRsLwb5etwzGyPqvtPo1OwZwzjBh v0XPJSYyJt/xjwN+NqgWKZm4Wqdqceveuf2MbqnD0eaWL8+f3SgijxM/CjQA5Fvu 28BVR61miUM+AMh3t3USWglR4r12XhVuprLCEToRnBG7MByky2mPQ01X3Vjjli8b qpzDCQKDZYDriYAWfJrWrakV/c/I/mrHdkA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvvdelgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfggtggugfesthekredttddtje enucfhrhhomheplmhlvhgrrhhoucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsehkuhhr ihhlvghmuhdruggvqeenucggtffrrghtthgvrhhnpedutdeitdfhueelhfevffffueehhf duhefgleehuefgleetudekteevfeeggfekvdenucffohhmrghinhepphhoshhtghhrrdgv shdpvghnthgvrhhprhhishgvuggsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomheprghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggv pdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehpgh hsqhhlqdhtrhgrnhhslhgrthhorhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhr gh X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 10 Dec 2025 11:47:50 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1765385269; bh=Nxgy1EkYGcda7OhM/gg3sbvbzEIwn+eNs9tiXFwmd2o=; h=Date:From:To:Subject:From; b=fqA6lCMd58gSr3cdC6O7+5MggvtKj0sXxGofnH8uqoJbkBVsUwUzUyS7SoAPfelIH f/4+E/h2RyOc/NjZU1AH1AwIt90yaOcaB1YriWnklpvTnx4IFHzrSrTIzenVQ41ze3 rYZyPs+DGkDedlY+3E8iJUya6DnJhyegesIOSGlYkx4SW8HteYboBOs3zO9pfMh7PX lcXE0aoKZOv7pJRp1dRKcC4rCP2A+zu/ezR3GiUafgzzvzva8di7Y/SyjFksVXdTF8 jrXP1Nnh7MY7MJ1YTx0DGpPYKBJVuzhJYGxF5EG8LWaEJNe7rpt2IOffsshz6Pex0D ilpGA7LQ5bzbQ== Received: by schmee.kurilemu.internal (Postfix, from userid 1000) id 5730A57; Wed, 10 Dec 2025 17:47:49 +0100 (CET) Date: Wed, 10 Dec 2025 17:47:49 +0100 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: pgsql-translators@lists.postgresql.org Subject: requiring all .po files be UTF8-encoded Message-ID: <202512101549.tx3ejz5cr77v@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello, There's an ongoing project to add a regression test to ensure all platforms are correctly handling translations. [1] [1] https://postgr.es/m/b292844.1765315339@sss.pgh.pa.us The conversation there is leading to requiring all translation files use UTF-8 encoding. In practice all live files already are UTF8 [2], so there's no new requirement; but I think we should add some enforcing mechanism (maybe a git hook and/or the website-building script refusing to use a nonconformant file) to ensure we don't break things going forward. We can trivially convert all existing files with this oneliner: for i in $(git grep 'Content-Type:' | grep -v UTF-8 | cut -d: -f1); do msgconv -t UTF-8 $i | sponge $i; done [2] Actually there is one exception -- nb/pg_config.po. However, this file is under the 80% translation requirement, so it should be removed; moreover the Norwegian translation seems abandoned, having been done for 7.4, with a single update for 8.1 (pg_config.po) and never again touched. Maybe we should remove all these files. We have a few more dead languages: af fa fe fr fy id nl sk sl ta ro. I guess we display those in our translation table out of a stubborn expectation that translators will magically show up. I think I would rather hide those and not take up screen space -- maybe write two pages, the normal main one without those languages, and a separate one that includes them. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/