Bonjour Jérôme,

Le programme est maintenant sur https://github.com/jaaf/po_purifier (là aussi je débute avec git).

J'ai légèrement retravaillé le script. J'affiche désormais le message d'origine avec les espaces, autres que normales, colorisées.

Puis en dessous le message avec seulement la modification proposée colorisée. Il n'y a plus la fonction s pour afficher les espaces colorisées. Ça n'est plus nécessaire.

J'ai retouché quelques regex mais il faut les regarder de près. Enfin le résultat n'est pas trop mal puisque je détecte les anomalies.

Le mieux est que tu conserves les données du guide d'installation telles qu'elles sont dans l'archive que je t'ai proposée hier. Depuis il y a eu des corrections et on voit moins de choses à corriger (même s'il en reste).

Par contre quand je pousse sur Zanata, j'ai une erreur

[ERROR] Operation failed: unexpected token: <eof>

    To retry from the last document, please set the following option(s):

        --from-doc "StorageSpoke"

.
[ERROR] Execution failed: unexpected token: <eof>
[ERROR] Use -e/--errors for full stack trace (or when reporting bugs)

En essayant de relire le seul fichier que j'ai modifié avec un script python, celui-ci arrive à le lire jusqu'à la fin. Il n'y a donc pas de EOF.

Là je cale.

Bonne fin de week-end

José



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


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