Le 11/11/2017 à 14:22, José Fournier a écrit :
> Je ne pense pas que l'on puisse se passer d'expressions régulières.
> C'est plus que du remplacement de mots par mots sinon ça va
> rapidement devenir galère. En fait on a affaire à des structures
> complexes avec un début et une fin – domaine de prédilection des
> expressions régulières – qui sont remplacées par d'autres structures
> tout aussi complexes.
>
> Quand tu dis que l'on va lancer la commande un grand nombre de fois,
> cela sera transparent puisqu'au lieu de faire copier (la mémoire de
> traduction) coller il faudra faire transform coller. Donc on remplace
> une commande unique par une commande unique.
>
> Mais en fait les expressions régulières sont assez semblables et donc
> faciles à créer lorsqu'un des modèles est fait.
> J'ai trouvé comment résoudre le fait que la substitution dans sed est
> "gready" et ne peut donc traiter en une fois les répétitions.Voila ce
> que ça donne pour le fichier modif.sh
>
> #!/bin/bash
>
> sed -e "s/<\/citetitle>/\x00/g;
> s/<citetitle>\([^\x00]*\)\x00/\[citetitle\]_\1_/g"|\
> sed -e "s/\/>/\x00/g; s/<ulink
> url=\([^\x00]*\)\x00/link:\+\+\1\+\+\[\]/g" |\
> sed -e "s/<\/application>/\x00/g;
> s/<application>\([^\x00]*\)\x00/\[application\]\*\1\*/g"|\
> sed -e "s/<\/option>/\x00/g;
> s/<option>\([^\x00]*\)\x00/\[option\]\#\1\#/g"|\
>
>
>
>
>
> Le 11/11/2017 à 13:37, Jean-Baptiste Holcroft a écrit :
>> Le 11/11/2017 à 13:34, Jean-Baptiste Holcroft a écrit :
>>> Cependant, on peut reprendre l'idée et utiliser le
>>> rechercher/remplacer de Zanata pour tous les éléments de formatage,
>>> qui permet de voir ce qui va être changé.
>>
>> Vraiment désolé pour le double message, voici un exemple,vidéo de
>> cette recherche et remplacement dans Zanata, on cherche dans la
>> cible (target) le mot qu'on souhaite remplacer, on écrit ce qu'on
>> souhaite à la place. On coche et ça nous fait un aperçu du résultat.
>>
>> Faut juste faire attention, tout sélectionner va sélectionner tous
>> les résultats, même ceux sur les pages qu'on ne voit pas, il ne faut
>> pas se faire piéger... C'est comme ça que je remplace les
>> apostrophes dactylographiques par des typographiques.
>>
>>
https://jibecfed.fedorapeople.org/partage/Capture%20d'%c3%a9cran%20vi...
>>
>>
> _______________________________________________
> trans-fr mailing list -- trans-fr(a)lists.fedoraproject.org
> To unsubscribe send an email to trans-fr-leave(a)lists.fedoraproject.org
Cette fois j'écris en bas !!
Quelques petites subtilités sur ulink et xref dans les deux formes
#!/bin/bash
sed -e "s/<\/citetitle>/\x00/g;
s/<citetitle>\([^\x00]*\)\x00/\[citetitle\]_\1_/g"|\
sed -e "s/<\/ulink>/\x00/g; s/<ulink
url=\"\(.*\)\">\([^\x00]*\)\x00/link:\+\+\1\+\+\[\2\]/g"|\
sed -e "s/\/>/\x00/g; s/<ulink url=\"\([^\x00\"]*\)\"
\x00/link:\+\+\1\+\+\[\]/g" |\
sed -e "s/<\/xref>/\x00/g; s/<xref
linkend=\"\(.*\)\">\([^\x00]*\)\x00/xref:_\/\1\[\2\]/g"|\
sed -e "s/\/>/\x00/g; s/<xref linkend=\"\([^\x00\"]*\)\"
\x00/xref:…\/\1\[\]/g" |\
sed -e "s/<\/application>/\x00/g;
s/<application>\([^\x00]*\)\x00/\[application\]\*\1\*/g"|\
sed -e "s/<\/option>/\x00/g;
s/<option>\([^\x00]*\)\x00/\[option\]\#\1\#/g"|\
sed -e "s/<\/command>/\x00/g;
s/<command>\([^\x00]*\)\x00/\[command\]\#\1\#/g"|\
sed -e "s/<\/guilabel>/\x00/g;
s/<guilabel>\([^\x00]*\)\x00/\`\1\`/g"|\
sed -e "s/<\/literal>/\x00/g;
s/<literal>\([^\x00]*\)\x00/\`\1\`/g"|\
sed -e "s/<\/firstterm>/\x00/g;
s/<firstterm>\([^\x00]*\)\x00/_\1_/g"|\
sed -e "s/<\/emphasis>/\x00/g;
s/<emphasis>\([^\x00]*\)\x00/\*\1\*/g"|\
#attention la ligne suivante peut faire des remplacements abusifs
sed -e "s/\x27/ʼ/g"
Ça semble fonctionner assez facilement. J'ai fait 100 chaînes. Je
complète le fichier modif.sh au fur et à mesure
le script s'enrichit et semble bien fonctionner pour le moment. Cela
n'exclut pas quelques reprises manuelles lorsque des références ont été
modifiées dans la source.
#!/bin/bash
sed -e "s/<\/citetitle>/\x00/g;
s/<citetitle>\([^\x00]*\)\x00/\[citetitle\]_\1_/g"|\
sed -e "s/<\/package>/\x00/g;
s/<package>\([^\x00]*\)\x00/\[package\]\*\1\*/g"|\
sed -e "s/<\/ulink>/\x00/g; s/<ulink
url=\"\(.*\)\">\([^\x00]*\)\x00/link:\+\+\1\+\+\[\2\]/g"|\
sed -e "s/\/>/\x00/g; s/<ulink url=\"\([^\x00\"]*\)\"
\x00/link:\+\+\1\+\+\[\]/g" |\
sed -e "s/<\/xref>/\x00/g; s/<xref
linkend=\"\(.*\)\">\([^\x00]*\)\x00/xref:\.\.\/\1\[\2\]/g"|\
sed -e "s/\/>/\x00/g; s/<xref linkend=\"\([^\x00\"]*\)\"
\x00/xref:\.\.\/\1\[\]/g" |\
sed -e "s/<\/systemitem>/\x00/g; s/<systemitem
class=\"resource\">\([^\x00]*\)\x00/\`\1\`/g; s/<systemitem
class=\"username\">\([^\x00]*\)\x00/\`\1\`/g;
s/<systemitem>\([^\x00]*\)\x00/\`\1\`/g;"|\
sed -e "s/<\/filename>/\x00/g; s/<filename
class=\"directory\">\([^\x00]*\)\x00/\`\1\`/g"|\
sed -e "s/<\/application>/\x00/g;
s/<application>\([^\x00]*\)\x00/\[application\]\*\1\*/g"|\
sed -e "s/<\/option>/\x00/g;
s/<option>\([^\x00]*\)\x00/\[option\]\#\1\#/g"|\
sed -e "s/<\/command>/\x00/g;
s/<command>\([^\x00]*\)\x00/\[command\]\#\1\#/g"|\
sed -e "s/<\/guilabel>/\x00/g;
s/<guilabel>\([^\x00]*\)\x00/\`\1\`/g"|\
sed -e "s/<\/guimenuitem>/\x00/g;
s/<guimenuitem>\([^\x00]*\)\x00/\`\1\`/g"|\
sed -e "s/<\/literal>/\x00/g;
s/<literal>\([^\x00]*\)\x00/\`\1\`/g"|\
sed -e "s/<\/firstterm>/\x00/g;
s/<firstterm>\([^\x00]*\)\x00/_\1_/g"|\
sed -e "s/<\/emphasis>/\x00/g;
s/<emphasis>\([^\x00]*\)\x00/\*\1\*/g"|\
#attention la ligne suivante peut faire des remplacements abusifs (ça
concerne le remplacement des apostrophes par des apostrophes typographiques)
sed -e "s/\x27/ʼ/g"