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 1vTrkX-00CZgc-1u for pgsql-translators@arkaria.postgresql.org; Fri, 12 Dec 2025 01:15:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vTrkW-006B8B-1w for pgsql-translators@arkaria.postgresql.org; Fri, 12 Dec 2025 01:15:13 +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 1vTrkV-006B83-2t for pgsql-translators@lists.postgresql.org; Fri, 12 Dec 2025 01:15:13 +0000 Received: from fhigh-b4-smtp.messagingengine.com ([202.12.124.155]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vTrkT-000G2p-1d for pgsql-translators@lists.postgresql.org; Fri, 12 Dec 2025 01:15:12 +0000 Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id 081067A0055; Thu, 11 Dec 2025 20:15:07 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Thu, 11 Dec 2025 20:15:07 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1765502106; x=1765588506; bh=t7ttQ96Zu6 0/ZwaBVXAw3kxvmXxmqqxPfAJy9kXADEU=; b=ibWtVTSE4UgbFNzVvsA7na7CN3 CwE5G3PX0zt4bFkNuT0yeJYmFehXz4JiTQu5z49c5ieLlKL+OCk74RNXHPVTHXF7 EBo10CunkzF4GYLcSmLJR6jJgnu/FlyBA81ltOu1ibKNt2o1x8u/2ryi0IDF1Foi HTL4E+kiJlUxe6D9CszTJQskcvhF2NSfYnM/HVl2Gd+LnTbrkug9iH/1/bayyG95 fnK72gHgofuSVGKWLuunHjrk9iFyBZk7YZNIkIJL9+wLb51gmNIA5oq+onOs3iNa MrvapiKdWeHA83IqKTHdFxKfuiz+BaI8W7gVka32K8hd3hIN26rG3CqCfH6g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1765502106; x=1765588506; bh=t7ttQ96Zu60/ZwaBVXAw3kxvmXxmqqxPfAJ y9kXADEU=; b=ucklvlapxImydwXDJMlrikG4Laxv0y7gadQOiDuOKZlBIKjUvrl Vh0H3LOqio2O0MbAfwnBcfOBdZsyeS6HhpwSRPNefJLzD3rzRI74hdB8UxfuNxEj atbfK6AjRi3gZ/8cLS+U7Lh+l9zNmvvulDVtM37F9RCLAFhcqLX1ckXz4PmaPaBa RLTDy+Of/TOgVStwZsmgiqZvGCiRUR9Tea+z0YsXygvb6wGF0axqaz6coteTFNj7 1vTL5I4W59HgY52icwfrA2PPfRvnvh77a5ELGTVFtrprxnHUyCkRhZlmtNzjL20X sboYpMNJkvjvGjIN4d0mqAqNvwry5+EslbA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvieekhecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlh cuvffnffculdefhedmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtvden ucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprghquh hivghrrdighiiiqeenucggtffrrghtthgvrhhnpedvgeetjeehhfffhfdugedtuefhgfff tdekgeegtdejudeiheeiffevvdefteevveenucffohhmrghinhepmhgrnhhprghgvgdrmh gvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhi tghhrggvlhesphgrqhhuihgvrhdrgiihiidpnhgspghrtghpthhtohepfedpmhhouggvpe hsmhhtphhouhhtpdhrtghpthhtoheprghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggv pdhrtghpthhtohepghhuihhllhgruhhmvgdrlhgvlhgrrhhgvgesuggrlhhisghordgtoh hmpdhrtghpthhtohepphhgshhqlhdqthhrrghnshhlrghtohhrsheslhhishhtshdrphho shhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 11 Dec 2025 20:15:05 -0500 (EST) Date: Fri, 12 Dec 2025 10:14:48 +0900 From: Michael Paquier To: =?iso-8859-1?Q?=C1lvaro?= Herrera Cc: Guillaume Lelarge , pgsql-translators@lists.postgresql.org Subject: Re: requiring all .po files be UTF8-encoded Message-ID: References: <202512110644.isp62d245zcm@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="L5YIqxaIbCx3Nv2r" Content-Disposition: inline In-Reply-To: <202512110644.isp62d245zcm@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --L5YIqxaIbCx3Nv2r Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Dec 11, 2025 at 07:51:33AM +0100, Alvaro Herrera wrote: > postgres.po has 6411 strings. The French translation is currently at > 78%, and msgfmt says: >=20 > 5096 translated messages, 988 fuzzy translations, 327 untranslated messag= es. >=20 > My impression is that the postgres.po catalog drops about 8%-10% for > each major release. Okay, I am new to this business, still I can see what Guillaume has been doing in the repo for these things in the fr translation, which is pgtranslation/messages.git, with master pointing to upstream REL_18_STABLE, I guess. I am also guessing that most folks just rely on something like po-mode on emacs, which is available here: https://manpage.me/docs/sharedocs/gettext/gettext_8.html I have quickly tested it and that feels natural, I am not used to the shortcuts yet but the docs are pretty clear. I have a couple of stupid questions. What's the flow of a translation refresh? Are the files first generated from the top of a stable branch in the main Postgres repository using `make update-po` on a periodic basis, then copied back to the translation repository for further edits (line number updates, etc.)? Is it more common to edit the existing files in place, without pulling them from the main repository? Guillaume, I am likely not going to get that right in the first shot. Would you mind reviewing some of the stuff? Would it be OK to just send a patch on this list? If you have a po file that could serve as a good first example, feel free to offer a suggestion or I would just pick up one. Say only for a couple of entries to get the full idea of how things work. -- Michael --L5YIqxaIbCx3Nv2r Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmk7bIgACgkQnvQgOdby QH3EXQ//VFMG3j4q/KbSJIsiVGQGo/8E7PfqmzPUAlt7wtq5BS7j1rPCLv30zRNL tKEmrEHC94hMnqwr5flB5OYsQhpJJbURON1zX4mfdDEMOkezN0hfuXb26birqP+Z mQp3yusHz/06uXfC/Fl93cKXl/adOLC4CHlTjrRgKPU2Ekx8hq0zLuG9i9UMmReY uwOA/8RySwv30Xdab3FoMpvQ1NkzYND30VTIb91ROZ5XbTpwX29nrREf4RVpo2Ym +0d5jfdOGhX1O6uIIkAsg7P2vzk3GMl7Woi2819BNCDIzSsxyZMTAHl3d4hjcIxp klmmIm8rWt9YUBX70Oc9tA06oeRbxTBdduKNpnZHkhYftBxosyFowzWf+w2Z3eR9 4xCpku3V49qty817ARdUpWxL4P7VgUpDNS7wQcISBEVVkR0aFOPfYgZweGO3q6xa FhcNEsvm2vcHLJUJy5OcwhgfP4yTq/hwcTdAQ1lYyaCNSgm+8LC0jQnyBm6pEi4I 5VNBhwtH50apDZ6VcjCW3WSaPAHbcuUeoP58ZzlE46jFCPYzcSIRYRQVP4xn96RD F4ZBMsJ3r80xah28VD0bCCStTPxp8VrKVwwKu1xfv5lDC+T0ruA2Opgqas5VA3s1 2xc2KAhFPgiVKsll09UeC92wIfy/nftGOwgXXJlHNpwPRb7uTxY= =GDwC -----END PGP SIGNATURE----- --L5YIqxaIbCx3Nv2r--