#!/bin/bash
#Pour supprimer les bom des fichiers utf8
find . -type f -exec sed 's/\xEF\xBB\xBF//g' -i.bak {} \; -exec rm {}.bak \;
# pour chaque fichier dans ls *.sfm
for FILE in `ls *.sfm` ; do
#Commence par mettre à la ligne chaque verset
sed -i 's/ [0-9][0-9] /\n&/g' $FILE
sed -i 's/ [0-9] /\n&/g' $FILE
#Supprime les espaces éventuel en début de ligne
sed -i 's/^[ ]*//g' $FILE
#Supprime les lignes vide et ajoute "\id \mt1" à la première ligne
sed -i '/./!d; 1i\\\id \n\\mt1 ' $FILE
#Colle la ligne 2 et 3
sed -i '/\\mt1$/N; s/\n/ /' $FILE
#Ajout "\v " devant chaque ligne commençant par un puis deux chiffres suivit d'un espace et de texte
sed -i 's/^[0-9] [a-z]*/\\v &/g' $FILE
sed -i 's/^[0-9][0-9] [a-z]*/\\v &/g' $FILE
sed -i 's/^[0-9][0-9][0-9] [a-z]*/\\v &/g' $FILE
#ajoute \c devant chaque ligne commencant par deux chiffre
sed -i 's/^[0-9]+\n/\\c &\n\\p/g' $FILE
sed -i 's/^[0-9][0-9]+\n/\\c &\n\\p/g' $FILE
sed -i 's/^[0-9][0-9][0-9]+\n/\\c &\n\\p/g' $FILE
#rename 's/txt/sfm/g' $FILE Commande à utiliser si vous voulez travailler avec des fichier .txt
# Mettre \s devant les éventuels titres
#sed -i 's/^[A-Z]/\\s1 &/g' $FILE
#sed -i 's/^[1-2] [A-Z]/\\s1 &/g' $FILE
done
Attention au possible problème d'espace (comme les espaces cadratin) qui peuvent se glisser dans votre texte. Dans ce cas utilisez l'expression régulière **\s** pour les supprimer ou les remplacer, plutôt que la vrai espace dans le script sed...
Il vous faudra encore compléter manuellement le code du livre biblique à la première ligne du fichier sfm après **\id**.
./u2o.py -e utf-8 -o Nom_de_votre_module.osis.xml -l code_langue -v -d ID_sword *.usfm
Vérifiez qu'il ne vous retourne pas d'erreurs, si c'est le cas, corrigez-les. Si vous ne savez pas dans quel fichier se trouve l'erreur, utilisez la commande **grep** pour les trouver.
Les erreurs fréquentes sont un code collé à un chiffre, par exemple //\v1// au lieu de //\v 1//, ou un chiffre collé à un verset, par exemple //\v 1Alors...// au lieu de //\v 1 Alors...//.
====Créer le module final====
===L'archive===
Maintenant que votre fichier osis est prêt il ne vous reste plus qu'à exécuter les outils sword, dans notre cas il s'agit du script //osis2mod//. Pour créer l'archive, toujours dans le dossier où se trouve les fichiers sfm, créez un dossier avec le nom de votre bible, puis lancez la commande suivante:
osis2mod Le_nom_du_dossier_de_votre_bible/ votre_fichier_osis.xml -z -v Catholic
Ici à titre d'exemple l'option -v est suivit de Catholic, cela correspond au type de versification de votre bible. Avec la commande :
osis2mod -h
Vous pourrez voir tous les types de versification possible. Vous trouverez [[http://www.crosswire.org/wiki/Alternate_Versification|ici]] la description complète des diverses versifications. Si le module est une bible, placez le dossier contenant l'archive dans //.sword/modules/texts/ztext/// ou si vous souhaitez le rendre accessible pour tous les utilisateurs, ///usr/share/sword/modules/texts/ztext///. Si c'est un commentaire, placez la dans //.sword/modules/comments/zcom///.
===Le fichier .conf===
Une fois l'archive créée, il vous faudra encore créer le fichier **.conf** de votre bible, fichier à mettre dans le dossier //.sword/mods.d// ou pour tous les utilisateurs dans ///usr/share/sword/mods.d///. Le contenu est le suivant, en adaptant à votre bible:
* Pour une bible
Copyright
Ceci est le Chapitre 1, introduction.
Ceci est la section 1 du chapitre 1.
Ceci est la section 2 du chapitre 1.
Ceci est l'introduction du chapitre 2.
Ceci est la section 1 du chapitre 2.
Ceci est la section 2 du chapitre 2.
Default Italique
Default Gras
DefaultExposant
DefaultIndice
Ceci est de l'hébreu:
xml2gbs votre_fichier.osis.xml Le_nom_de_votre_module
Placez le dossier contenant l'archive dans //.sword/modules/modules/genbook/rawgenbook/nom_du_dossier_du_module/// ou si vous souhaitez le rendre accessible pour tous les utilisateurs, ///usr/share/sword/modules/genbook/rawgenbook/nom_du_dossier_du_module///.
====Le fichier .conf===
Pour ce qui est du fichier **.conf** remplissez-le comme suit:
tei2mod
=====Voir aussi====
* [[http://www.crosswire.org/wiki/Converting_SFM_Bibles_to_OSIS|Procédure complète sur le site officiel]] (en),
* [[http://www.crosswire.org/sword/index.jsp|Le Projet Sword]],
* [[https://github.com/chrislit/usfm2osis|Le script usfm2osis]].
--------------
Contributeur : [[:utilisateurs:l_africain|L'Africain]]