From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean-Christophe Helary Newsgroups: gmane.emacs.devel Subject: Re: Translation of manuals (was: SES manual French translation) Date: Tue, 02 Jan 2024 13:16:53 +0000 Message-ID: <8A22A273-11F5-449C-A2A4-2E8C68CCF1FE@traductaire-libre.org> References: <831qb45fog.fsf@gnu.org> <50A7AFED-DA37-4212-9ED1-7D906C34B6B2@traductaire-libre.org> <83o7e51bws.fsf@gnu.org> <83mstp11sz.fsf@gnu.org> <91D00B9D-0057-4748-8C83-50E749FE3961@traductaire-libre.org> <835y0b29rk.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35171"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?utf-8?Q?Vincent_Bela=C3=AFche?= , stefankangas@gmail.com, emacs-devel@gnu.org, rms@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jan 02 14:37:12 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rKexB-0008mK-Sp for ged-emacs-devel@m.gmane-mx.org; Tue, 02 Jan 2024 14:37:10 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rKewI-0006Nu-UQ; Tue, 02 Jan 2024 08:36:14 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rKedx-0007SX-GM for emacs-devel@gnu.org; Tue, 02 Jan 2024 08:17:17 -0500 Original-Received: from mail-4022.proton.ch ([185.70.40.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rKedu-0006xr-HU; Tue, 02 Jan 2024 08:17:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=traductaire-libre.org; s=protonmail; t=1704201423; x=1704460623; bh=QKvhCl2ypjSrHlslHox/PNjIVr3YqV5t7if1o3JqGds=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=ZE+PHXUvdom6fV/8y9CWfGF9JM7eukfGzVY6GPdyzuxJgDs5TeNmkvqF9rE47BZOM j+/InOLhbMtWwHzk+6F3kicnlCDpUSh7XGVhgV957EgyDFi0GNiw8XxHncb/e3i0ms jZbvB7DIZipi0qFzD68iH1eRgIVLCEsSx/EOre4Sq2juAedLBDjWZOaqMC0WgKxJly qNYLfB2mNlsmCZvatMSKBJtawf/r7O9kmxFynmCtGCM2AUU7GCEdJ5suR3qUDClGj2 AfyxbORVuzvOSifYx7kKpOWfozS6F45oNsv9bg/sMQLZEY4XPeSUeylxSljAGion3k mfvcAYdfgnMaA== In-Reply-To: <835y0b29rk.fsf@gnu.org> Feedback-ID: 92162971:user:proton Received-SPF: pass client-ip=185.70.40.22; envelope-from=jean.christophe.helary@traductaire-libre.org; helo=mail-4022.proton.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 02 Jan 2024 08:36:10 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:314456 Archived-At: >>> If and when you decide on doing that, I'm guessing that we will need >>> to keep the original "source" files for the translations in the Git >>> repository, and find a suitable way of producing *.texi from them. >>> I'm not sure po4a is the best alternative; we should probably consider >>> others as well and find what is best for us. >>=20 >> Do you have other alternatives in mind? >=20 > Not at the moment, no. And I'm not even sure this is our > Emacs-specific problem to solve. If the GNU Project is going to > support translations of the manuals, the ways of doing that should be > discussed project-wide, probably on then Texinfo mailing list or at > least with the participation of the Texinfo developers. The GNU project is already supporting translation of documentation. https://translationproject.org/extra/matrix.html (TexInfo is there too) >> If we were not to use an intermediate format and directly use texi, >> we=E2=80=99d need a translation reference format, like TMX, but it could= be >> translated PO files, since they share a similar structure. The >> translators would translate chunk by chunk and need a tool that >> identifies already translated chunks from the reference format and use >> them instead. >=20 > We could for starters invent some simple technique of our own, like > markers within the Texinfo sources that identify small enough chunks > of text, or something similar. Markers are already here (TexInfo commands, end of sentence markers,=20 etc.). Some commands in TexInfo have translatable contents, others do not. =20 There are segmentation rule sets that are shared in the =E2=80=9Cindustry= =E2=80=9D=20 that have splitting rules and exception rules based on the source=20 language (like =E2=80=9Cin English split on a period followed by a space= =E2=80=9D with=20 exceptions such as =E2=80=9Cnot after M. =E2=80=9D, etc.) Rules are based o= n regular=20 expressions. A rule is basically a set of =E2=80=9Cbefore the split=E2=80=9D / =E2=80= =9Cafter the split=E2=80=9D=20 regex. Exceptions have a similar structure. They are treated first and=20 =E2=80=9Clock=E2=80=9D a potential split. Then splitting rules are applied.= You end up=20 with a list of =E2=80=9Csegments=E2=80=9D. > And again: the rate of change of the misc manuals is quite low. If > and when someone will decide to translate the Emacs user manual or the > ELisp reference manual, then we'll have a serious problem with keeping > up with the rate of changes. But not before that. I=E2=80=99m sorry I did not make myself clear. *I* for one am working on it= .=20 There are about 2 million words in the various manuals and I=E2=80=99ve=20 translated (or recycled) about 130,000. I=E2=80=99m focusing on the Emacs= =20 manual at the moment, and I sometimes do a few paragraphs in the Lisp=20 reference or the introduction. I have barely touched the miscellaneous=20 manuals. The process I=E2=80=99m using is based on converting texi files to PO and t= hen=20 to translate the PO files with appropriate =E2=80=9Ccomputer aided translat= ion=E2=80=9D=20 software. I=E2=80=99m totally fine with the emacs project taking a totally different= =20 approach, but it=E2=80=99s not like free software translation teams have no= t=20 already worked for decades on tested processes. Honestly, the easiest way to handle the translation of Emacs documents=20 would be to contact the TP project manager and to discuss what=E2=80=99s th= e=20 best way to do that, while thinking of what kind of infrastructure we=20 want on the emacs side to handle how to store/build all the translations. --=20 Jean-Christophe Helary @jchelary@emacs.ch https://traductaire-libre.org https://mac4translators.blogspot.com https://sr.ht/~brandelune/omegat-as-a-book/