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 1vU0zL-00FWOA-0P for pgsql-translators@arkaria.postgresql.org; Fri, 12 Dec 2025 11:07:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vU0zK-007oGc-0N for pgsql-translators@arkaria.postgresql.org; Fri, 12 Dec 2025 11:07:06 +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 1vU0xn-007mGz-0u for pgsql-translators@lists.postgresql.org; Fri, 12 Dec 2025 11:05:32 +0000 Received: from mail1.dalibo.net ([51.159.93.128] helo=mail.dalibo.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vU0xl-000KZq-1g for pgsql-translators@lists.postgresql.org; Fri, 12 Dec 2025 11:05:31 +0000 Received: from [192.168.1.115] (165.110.220.81.rev.sfr.net [81.220.110.165]) by mail.dalibo.com (Postfix) with ESMTPSA id 7159227D7E; Fri, 12 Dec 2025 12:05:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dalibo.com; s=a; t=1765537527; bh=xMak1hThsjFh0kFTF3PeroRwaDCv3gSaSG/dmo7xRoQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=FZbJ1NJpuybw0CawUcbebYU8PfJQoYMNCcYs41RV3juuu7kPRWZdPQcyVU+ugIV9o vWRSht+KB8BZWE7XhCNvYUUpnf1xcCGZpfFngbFHspg37ECKfEAbKzevu1AOSisjNo +/9yXUJE13KGDd9LTXaOfWqLtjdt35Krza7zcEYY= Message-ID: <36c6a005-b464-4760-ad03-33b6a38be5f7@dalibo.com> Date: Fri, 12 Dec 2025 12:05:26 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: requiring all .po files be UTF8-encoded To: Michael Paquier , =?UTF-8?Q?=C3=81lvaro_Herrera?= Cc: pgsql-translators@lists.postgresql.org References: <202512110644.isp62d245zcm@alvherre.pgsql> Content-Language: fr From: Guillaume Lelarge Organization: Dalibo In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 12/12/2025 02:14, Michael Paquier wrote: > 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: >> >> 5096 translated messages, 988 fuzzy translations, 327 untranslated messages. >> >> 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. > That's right. > 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 don't know about that. I'm using poedit. > 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? > Sounds more like question for Peter or Alvaro :) > 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. I don't mind reviewing, though you should not send a patch. You send the whole file. Otherwise, it's a complete nightmare. There's not really a "good first example". Just pick the first small file you can find, and go with it. Thanks. -- Guillaume Lelarge Consultant https://dalibo.com