Le 14/05/2016 à 12:04, Jérôme Fenal a écrit :

Le 13 mai 2016 à 13:38, José Fournier <jaaf64@zoraldia.com> a écrit :
Bonjour à tous,

J'ai travaillé sur un script python purificateur typographique des
fichiers po pour la partie traduction. Rien à voir avec la première idée
que j'avais soumise à Jean-Baptiste et qui « marchouillait » — ou ne
marchait pas dans certains cas. J'avais encore – et j'ai toujours mais
moins – beaucoup de choses à apprendre sur python et les regex.

Le nouveau script est assez interactif et assez facile à utiliser,
permet de contrôler ce qu'on fait et n'est pas destructif (travaille par
duplication du dossier). Il permet aussi de coloriser les différents
types d'espaces: sécable, insécable, fine, fine insécable si besoin
avant de se prononcer sur une substitution.

Il suppose une importation des fichiers po depuis Zanata. Il travaille
par balayage de tous les messages de tous les fichiers en se contentant
de répliquer les messages en anglais. Les messages en français qui ne
sont pas concernés par une correction sont également répliqués tels
quels.  On applique toutes les règles à un message avant de passer au
suivant. Il n'y a donc normalement qu'une seule passe.

Je pense être arrivé à un résultat qui va  permettre d'expurger – et
avec un grand confort– les fichiers po du guide d'installation d'un
certain nombre d'erreurs, ou d'options que j'ai prises et qui pourraient
ne pas être partagées.

Avant de l'appliquer, pour effectuer une pré-correction, il faudrait que
nous soyons d'accord sur un certains nombre de règles qui ne sont pas
forcément absolues (des solutions différentes existant selon les
organismes de référence – le mien étant plutôt, l'Imprimerie nationale
(IN) mais pas toujours.

Voici ces règles :

Le mieux est de donner le numéro d'options que vous préférez (quand
option il y a) et dire ok ou non pour les autres

Bien sûr, il y aura plein d'exceptions à ces règles – d'où la nécessité
d'interactivité pour contrôler – en particulier dans les expressions
liées à l'informatique (http:, &nbsp; &PRODUCT;, etc.

1  Espace fine insécable devant ;, !, ?

2  Espace mot (non fine) insécable devant :

3  Pas d'espace avant les ponctuations simple (. et ,)

4-a  Espace mot (non fine) insécable entre « et le texte qui suit (IN)
4-b  Espace fine insécable entre « et le texte qui suit (assez fréquent)

5-a Espace mot insécable entre » et le texte qui précède (IN)
5-b Espace fine insécable entre » et le texte qui précède (assez fréquent)

6 Pas d'espace entre les parenthèses et le texte inclus (fermante et
ouvrante)

7 Pas d'espace entre les crochets [ et ] et le texte inclus (fermant et
ouvrant)

8 Espace mot (sécable) à l'extérieur des parenthèses et des crochets
(sauf si une ponctuation les suit

9 Pas d'espace autour du trait d'union (touche 6)

10 Le tiret qui tient lieu de parenthèse est un tiret semi-cadratin (–)
pas un trait d'union (-). Il disparait devant le point final d'une
phrase. Il est séparé des deux côtés par :
   10-a une espace mot (sécable) (IN)
   10-b une espace fine sécable (rare)

11 L'apostrophe n'est jamais séparée

12 Le / dans un texte est séparé des deux côtés par une:
  12-a espace fine insécable
  12-b espace mot insécable

13 Caractère … et non pas trois caractères . (...)

14 etc. et non pas etc… ou etc...

15 En fin de phrase etc. pas etc..

Je peux formaliser tout ça – si ce n'est pas déjà fait – avec d'autres
règles de traduction, sur une page de wiki si vous en êtes d'accord.
Cette liste peut être complétée.

Merci de me donner votre avis

​Bonjour José,

L'automatisation me plait en général, et en particulier sur ce cas.

Ce qui me plairait aussi serait de voir le code de ton outillage pour ce faire, et surtout de valider chacun des cas cités par des tests.
Voire même idéalement de permettre à cet outillage d'être multilangue (chaque langue ayant ses règles de typographie, et permettrait par exemple de remonter les problèmes sur les chaînes source), que chaque règle soit un greffon, et que ces greffons soient débrayables​, pour permettre son utilisation sur des projets divers et variés.

Une autre information importante à mon sens pour les traducteurs, au delà des règles elles-mêmes, est l'indication de comment taper ces caractères spéciaux sur un clavier Linux (la combinaison de touches, quoi).

Et vu que l'on risque d'utiliser des caractères UTF-8, préciser que l'outil devra prendre en entrée des .po en UTF-8, et tourner dans un environnement UTF-8. Sinon les résultats risquent d'être intéressants :)

Si tu as un compte github ou autre gitlab, je suis curieux de jeter un œil.

Cdt,

J.
--
Jérôme Fenal

Bonsoir Jérôme,

Je te donne un lien pour télécharger une archive contenant à la fois le programme et les données.

https://mon-partage.fr/f/rJobkCaB/

Une chose importante que tu dois avoir à l'esprit c'est que je ne suis pas un programmeur (juste un amateur et un traducteur ) et qu'en écrivant ce programme, je découvrais à la fois, python et les expressions régulières. C'est d'ailleurs du côté des  expressions régulières que j'aurais besoin d'un peu d'aide.

Mais fondamentalement, la variété des cas de faux-positifs est importante s'agissant d'un mélange de texte normal et de texte "informatique", d'où la nécessité de l'interactivité. L'important n'est pas que la règle soit parfaite mais qu'elle marque un arrêt sur une anomalie. Détecter c'est déjà faire la moitié du travail

Une fois l'archive décompressée, place toi dans le répertoire typo_purifier et lance : python3 po_typo_purifier.py -i (l'option i t'affichera une explication du programme que je t'invite à lire avant de lancer le programme, sans option cette fois). Le reste parle de lui-même.

C'est bien sûr encore très embryonnaire et il me faudra certainement de l'aide pour en faire quelque chose de présentable dans les formes en usage chez Fedora (mais je crois que l'idée est à suivre)

Concernant le clavier, je suis un adepte de bépo ergonomique. La majorité des choses sont accessibles assez facilement. Pour le reste Ctrl + Shift u suivi de l'unicode ça marche toujours.

Merci de me donner un retour, sans précaution oratoire particulière si tu penses que  ce n'est pas viable.

Bonne soirée

José Fournier


--
trans-fr mailing list
trans-fr@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/trans-fr@lists.fedoraproject.org