Préparation des fichiers à traduire
S'il existe désormais une version XML, nous avons débuté ce projet en partant d'un document au format .docx.
Pour générer les fichiers des entités/propriétés, on réalise un copier depuis le docx que l'on colle dans un fichier texte (.md) avant d'y appliquer les REGEX (expressions rationnelles) ci-dessous.
Pour lister les opérations vim de rechercher/remplacer:
Pour les Entités:
-
%s/^\(E[0-9]\{1\}\)\(.*\n\)\(Su\)/# \1\2\3/cg
pour ajouter le # devant les titres -
%s/^\n//cg
pour supprimer les lignes vides -
%s/^/> /g
pour ajouter en début de ligne>
afin de mettre le texte anglais en commentaire -
%s/^\(> # E[0-9 a-zA-Z-]*\n\)/\1\r> | | |\r> | --- | --- |\r/cg
pour mettre le début du tableau
pour ajouter les balises de tableau %s/^>\( Subclass of:\)/> |\1 |/cg
%s/^>\( Superclass of:\)/> |\1 |/cg
%s/^>\( Scope [Nn]ote:\)/> |\1 |/g
%s/^>\( Examples:\)/> |\1 |/g
%s/^>\( In First Order Logic:\)/> |\1 |/g
-
%s/^>\( Properties:\)/> |\1 |/g
pour mettre en forme (remplacement des retours chariot qui casserait le tableau par des retours à la ligne) : %s/\n>[ ]*[•▪]/ <br>/gc
%s/\n>\( P\d\{1,3\}\)/<br>\1/g
%s/Logic: | \n>[\t ]*\(E[0-9]*.*)\)/Logic: | \1/cg
%s/\n>[ \t]*\(E[0-9]\{1,3\}\)/ <br> \1/cg
%s/\n>[ \t]\+$/<br><br>/cg
%s/\n>[ \t]*\([1-9]\{1,2\}\.\)/ <br>\1 /cg
%s/\n>\([ \t]\+[A-Z(]\)/<br>\1/cg
%s/\n> # \(E[0-9]\{1,3\}\)/\r\r# \1\r\r| | |\r|---|---|\r| Sous-classe de | |\r| Super-classe de | |\r| Note d'application: | |\r| Exemples: | |\r| Logique du premier ordre: | |\r| Propriétés: | |\r\r> # \1/cg
- renuméroter suite à la modif précédente
Ajouter d'éventuelle ligne vide pour que chaque Entité ait le même nombre de lignes (22):
%s/\(Subclass of: | [A-Za-z0-9_<>\t -]*\)\n\(> | Scope\)/\1\r> | Superclass of: |\r\2/cg
-
%s/^\(> | In First Order Logic:.*\)\n\n #/\1\r\r\r #/cg
il peut aussi manquer desExamples :
Pour splitter un fichier en n fichiers sous linux (adapter --numeric-suffixes=
et le nom des fichiers e10-e19.md… , au préalable, vérifier que chaque Entité Exx ou Propriété Pxx commence bien tout les 22 (1, 23, 45, 67, 89…)
split --numeric-suffixes=10 --additional-suffix=.md -l 22 e10-e19.md e
Edited by Bertrand DAVID-JACQUOT