From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:700:3204::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id kA3pKIW6lmV3eQAAkFu2QA (envelope-from ) for ; Thu, 04 Jan 2024 15:02:45 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id uAwlIIW6lmWIcwAAe85BDQ (envelope-from ) for ; Thu, 04 Jan 2024 15:02:45 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=traductaire-libre.org header.s=protonmail header.b=V3GFK7Kk; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=traductaire-libre.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1704376965; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=fZOdtelY1YdLu6BNKoaAL4eYC/ug1Tc9oh4g1AmKrJk=; b=RnCVYAGnhqZGNLp8wJvyUsKgbDBwCekMnWos+cA1HDh4M0I89E8yvQWj/KkBsDMgi9BebC O/n/w/sakVhroNF5S5mQ1sMaTwf1mW7/PCl9pN7wELmk4hk3LcU4wBgb35k9HIUJnrX39p Jv5TSLxSfVs9NDD2KlE5ooN1YHmuJAdYD48TDAakifCPZtKKxEu7s02Ms/VmTMimcmx3EY X+SRfUTcqYSXfewvFyF8t9poDK1+T4MRqy+ho8iTz9xZSTVCYO6DMNrRkPY2r/lGVWxNjS k+XkVMqxRDENWBc0LSK5VOBePKBAVkbeKNpfjTFPmx1xAzT0cY8Eq/YkxFhg3w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=traductaire-libre.org header.s=protonmail header.b=V3GFK7Kk; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=traductaire-libre.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1704376965; a=rsa-sha256; cv=none; b=Y1od5yD650FmWBnrGFpz+cLrYdlUBigfPZyWd6BtfFXRRau33Oq4POk7fUDQ6m08/ZR0bj PkpJI/28uh1opdyxK2acqtsbLLZKrF0X5sFUrWMWKeHbjf5h1OF9MDxPvYx94qXz5MhaYn ktbLbX3RGcRkaFSZhYyJnWGz8FvAqNnbdUToJfLGz8ZdEoX2xsC6OIqhBHoGjrN9G9ZHLt nw3ZPJS1WdFKA6FS/QkO6I1U9/4j5nGCy1ZJ+DhcLXJRDDl2LC3HxsJwFwnyBqw/yBo3mt ybkPWizteB8sRshT1Xx87lEUClPYYoW8OfWXlxdTJPk1WvNMcL3styYzOMTPzw== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id F3D0F224E4 for ; Thu, 4 Jan 2024 15:02:44 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rLOHz-0007rR-2G; Thu, 04 Jan 2024 09:01:39 -0500 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 1rLMhL-0004C2-QX for emacs-orgmode@gnu.org; Thu, 04 Jan 2024 07:19:43 -0500 Received: from mail-4323.proton.ch ([185.70.43.23]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rLMhE-000386-8w; Thu, 04 Jan 2024 07:19:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=traductaire-libre.org; s=protonmail; t=1704370772; x=1704629972; bh=fZOdtelY1YdLu6BNKoaAL4eYC/ug1Tc9oh4g1AmKrJk=; 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=V3GFK7Kk85cjV61t7GQE5AyNuAQKHF47sXYo8F6Vs2QMXFcOrbzH/d/zEUjhYKqVS 9SUKY2Y6PDvhd6T5subZEjDroX82n7nyZ4gBfwMdRVVzY+wbi/QRU7W/Q++pvbZkHR UwHgkboNuDAVWfT3YeicST2FGVczdi8LNivoTeCin4PbqwUrlk+QQQcW1ZK2AE28RU ZkqMeXwHXHXkzCPJ3zQHFIqcIQelZn9ATDhs8qPcEweb2l1lycl4eYVFP8+QOQVR8I rhf6cV7WUSEFV91HZrlfEID+Fa3yp5Fj/C7mYZPrIzyBaa5EgNLKqbXqT06uFYraxc XHHomr5yyhWCA== Date: Thu, 04 Jan 2024 12:19:21 +0000 To: Ihor Radchenko From: Jean-Christophe Helary Cc: Eli Zaretskii , Stefan Kangas , =?utf-8?Q?Vincent_Bela=C3=AFche?= , emacs-devel@gnu.org, rms@gnu.org, emacs-orgmode@gnu.org Subject: Re: Translation of the Org mode manual (was: Translation of manuals (was: SES manual French translation)) Message-ID: In-Reply-To: <877ckp72ns.fsf@localhost> References: <5D3D13BC-E621-4C40-88D7-3E5805F631AB@traductaire-libre.org> <83sf3fzvk4.fsf@gnu.org> <835y0azhvo.fsf@gnu.org> <83wmsqy14p.fsf@gnu.org> <3E7CF23D-CE62-4581-80D6-E6266CEE4DF5@traductaire-libre.org> <877ckp72ns.fsf@localhost> Feedback-ID: 92162971:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.43.23; envelope-from=jean.christophe.helary@traductaire-libre.org; helo=mail-4323.proton.ch X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, WEIRD_PORT=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 04 Jan 2024 09:01:04 -0500 X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -9.81 X-Spam-Score: -9.81 X-Migadu-Queue-Id: F3D0F224E4 X-Migadu-Scanner: mx10.migadu.com X-TUID: sKdhUFMFZdVk Ihor, Thank you for chiming in. > On Jan 4, 2024, at 20:34, Ihor Radchenko wrote: >=20 > Jean-Christophe Helary > writes: >> I=E2=80=99m not sure this is the place to discuss translation theory... >=20 > Let me steer this discussion to non-texi manuals - Org mode manual. Sure. > We also had a few requests about translations, although Org mode needs > are more general compared to a very focused task of translating texi > manuals: >=20 > 1. Org mode manual itself, just like the other Emacs manuals may need to > be translated. However, Org mode manual source is written in Org mode > format, not texi. It is just transformed to texi as one of the export > options. That=E2=80=99s correct and that texi file seems to choke po4a, which is the= =20 reason my script removes it and uses the .org original instead. I use the txt filter in po4a to convert it to po: https://git.sr.ht/~brandelune/emacs_documentation_repository/tree/main/item= /emacs_docs2po.sh#L71 The result is here: https://git.sr.ht/~brandelune/emacs_documentation_repository/tree/main/item= /doc/misc/org.org.fr.po And looks like this: --- #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emac= s - #: Sources/doc/misc/org.org:24 msgid "" "Org Mode is an authoring tool and a TODO lists manager for GNU Emacs. It = " "relies on a lightweight plain-text markup language used in files with the = " "=3D.org=3D extension." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emac= s - #: Sources/doc/misc/org.org:31 msgid "" "As an authoring tool, Org helps you write structured documents and provide= s " "exporting facilities. Org files can also be used for literate programming = " "and reproducible research. As a TODO lists manager, Org helps you organiz= e " "your tasks in a flexible way, from daily needs to detailed project-plannin= g, " "allowing logging, multiple views on your tasks, exporting your agendas, et= c." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emac= s - #: Sources/doc/misc/org.org:38 msgid "" "Org mode is implemented on top of Outline mode, which makes it possible to= " "keep the content of large files well structured. Visibility cycling and " "structure editing help to work with the tree. Tables are easily created " "with a built-in table editor. Plain text URL-like links connect to " "websites, emails, Usenet messages, BBDB entries, and any files related to = " "the projects." msgstr "" --- In OmegaT it looks like this (all the po decorations are hidden -=20 protected - in the editor, only the translatable parts are displayed): --- =C2=B6 Org Mode is an authoring tool and a TODO lists manager for GNU Emacs. It relies on a lightweight plain-text markup language used in files=20 with the =3D.org=3D extension. =C2=B6 As an authoring tool, Org helps you write structured documents and=20 provides exporting facilities. Org files can also be used for literate programming and reproducible=20 research. As a TODO lists manager, Org helps you organize your tasks in a=20 flexible way, from daily needs to detailed project-planning, allowing=20 logging, multiple views on your tasks, exporting your agendas, etc. =C2=B6 Org mode is implemented on top of Outline mode, which makes it possible=20 to keep the content of large files well structured. Le cycle de visualisation et la modification de la structure aident =C3= =A0=20 travailler avec l'arborescence. Les tableaux sont facilement cr=C3=A9=C3=A9s avec un =C3=A9diteur de tablea= u int=C3=A9gr=C3=A9. Les liens de type URL en texte brut se connectent aux sites Web, aux=20 e-mails, aux messages Usenet, aux entr=C3=A9es BBDB et =C3=A0 tous les fich= iers li=C3=A9s=20 aux projets. =C2=B6 --- You=E2=80=99ll notice that a few sentences have been translated in the last= =20 paragraph. In other tools that support the PO format, similarly the PO decorations=20 would be hidden from view. > 2. Org mode website has several translations (French, Japanese, and > Mandarin). The website sources are written in Org mode, but the work > of translation was done be enthusiasts, and we have no good system to > maintain the main English version of the website in sync with the > translations. I think you should take a look at how Debian does that, even if their=20 site sources are not in org. The process is the same. Debian has a huge=20 amount of experience in documentation/web localization. > 3. A number of Org mode users are using Org sources to publish > multi-lingual books. Such publishing is a bit more challenging > compared to translation as it requires special book layout. Indeed. > Therefore, there is a demand to have a toolset for translating Org mode > documents. >=20 > So far, I have been thinking about some way to support translations with > ideas rather similar to raised in this topic: >=20 > 1. Mark paragraphs/headings/other structural elements with an ID >=20 > 2. Split translation into chunks linked to the original source IDs and > their text hash >=20 > 3. When exporting from Org source to target format (texi, html, pdf, > etc), allow choosing the target language(s) and ensure consistency > between translations and their possibly changed sources. >=20 > However, I did not know about po4a. It is possible that many of the > necessary design decisions are already in place in po4a. po4a has been around for a while and is used in a lot of free=20 documentation projects. A lot of tools that free software translators=20 use fully support the PO format and the translation teams are used to=20 the process of team translating/proofreading/validating/committing. I am sure Martin Quinson would appreciate development of a dedicated=20 org mode filter. Right now, as I wrote above, the plain text filter is=20 sufficient. Also, po4a is not only a filter, it is a tool equivalent to gettext but=20 focused on documentation formats. You should check its documentation to=20 see how your workflow could benefit from its design. >> ... >> I think po-mode already does that and all the "out of emacs" tools do >> too. >=20 > May you share the most important features of po-mode that you find > essential to your translation work? I don=E2=80=99t use po-mode. po-mode is not sufficient (now) for most of th= e=20 professional translation that I handle. >>> @node Display Margins >>> @subsection Displaying in the Margins >>> @cindex display margins >>> @cindex margins, display >>=20 >> As long as the above strings are to be translated, they need an ID too. >>=20 >>> @c para 1234 >>>=20 >>> @c para 1235 >>>=20 >>> @c para 1236 >>=20 >> Is the numbering automatic? >>=20 >> What if you add paragraphs in the middle, like Vincent did? Will the >> author have to check the IDs and add a number that=E2=80=99s not used al= ready? >>=20 >> There are plenty of issues with static IDing parts of a document. >=20 > May you please elaborate on the issues with static IDs? For one, the fact that the numbering ends up not being sequential after=20 a while. If you have a tool that does all the grunt work, then any=20 kind of ID system should work. In PO, the message is the ID. --=20 Jean-Christophe Helary @jchelary@emacs.ch https://traductaire-libre.org https://mac4translators.blogspot.com https://sr.ht/~brandelune/omegat-as-a-book/