Cet article est destiné aux personnes qui souhaitent rajouter des traductions à Spip-Bible. Il est nécessaire de connaître un minimum le php (au moins savoir ce qu’est un tableau php)
Si la traduction est disponible sur bible-gateway, ou sur Unboundbible sur le travail est facilité. Sinon, il faut réfléchir un peu.
1. Abréviation des livres et de la traduction
Il faut trouver une abréviation de la traduction. Voir le tableau excel/OOO ci-joint
2. Cas facile : la traduction est disponible sur bible-gateway ou sur unboundbible
Dans le dossier « inc » du plugin, vous avez un fichier « bible_tableau.php ».
Il contient des tableaux php.
Il suffit de bien remplir ces tableaux.
Le tableau $tableau_traduction
Rajouter un champs dont la clé est l’abréviation de votre traduction.
Ce champs est lui même un tableau, avec les couples de clef/valeur suivants :
clef | valeur |
---|---|
traduction | nom exacte de la traduction |
gateway | identifiant gateway |
unbound | identifiant unbound de la traduction |
lang | langue de la traduction |
nt | true si la traduction contient le Nouveau Testament,false sinon |
at | true si la traduction contient l’Acien Testament,false sinon |
deutero | true si la traduction contient les deutéros canoniques, false sinon |
isaie | Obligatoire pour les versions française, pas pour les autres. Prend « Es » comme valeur si le 1er des prophètes postérieurs est appelé Esaïe (bibles protestantes), « Is » s’il est appelé Isaïe (bibles catholiques). Attention à la casse. |
historique facultatif | bref historique de cette traduction, où lien vers un site web. Vous pouvez user des raccourcis spip |
domaine_public | Important pour la génération des balises du plugin. Mettre true si la traduction est dans le domaine public. |
Si votre traduction n’est pas sur Unboundbible, mettre la valeur de un bound à false, s’il n’est pas sur gateway, mettre celle de gateway à false [1]
Trouver l’identifiant gateway
L’identifiant gateway de la traduction est trouvé en allant sur la page de la traduction depuis cette page.
Dans l’URl de la traduction, il faut prendre la valeur du paramètre vid
".
Trouver l’identifiant unbound
Aller sur la page http://www.unboundbible.org/index.cfm?method=unbound.welcome&lang=frn
Regarder dans le code source le champ « select » dont le paramètre « name » est « parallel_1 ».
Attention, le plugin est sensible à la casse.
Exemple :
'kj21' => array(
'traduction'=> 'The 21st Century King James',
'domaine_public' => false,
'gateway' => 'KJ21',
'lang' => 'en',
'nt'=> true,
'at'=> true),
Autre exemple :
'luther1912' => array(
'unbound'=>'german_luther_1912_ucs2',
'traduction'=> 'Bibel von Luther (1912)',
'lang' =>'de',
'nt'=> true,
'at'=> true,
'domaine_public' => true
),
La suite est valable si votre traduction est dans une langue ne disposant pas encore de traduction.
Le tableau $tableau_separateur.
La clef doit être la langue. La valeur doit être le séparateur entre le chapitre et le verset. Ex :
$tableau_separateur = array(
'fr'=>',',
'en'=>':');
Le tableau $tableau_livres
Les clefs sont les abréviations des livres, les valeurs leurs noms exactes. Les tableaux joints à cet article donne la traduction en différente langue des abréviations bibliques (Remerciement à Paolo pour ce tableau).
Le tableau $livre_gateways
Les clefs sont les langues de traduction (abrégée). Chaque clef se voit associé un tableau.
Ce tableau à pour clefs les abréviations des livres, et pour valeurs le numéro du livre sur bible-gateway. Le tableau joint à l’article présente en colonne de gauche ce numéro.
exemple
'en'=>array(
'Gn'=>1,
'1Ch'=>13,
'1Co'=>53,
'1Jn'=>69,
'1M'=>20,
'1P'=>67,
'1K'=>11,
'1S'=>9,
'1Th'=>59,
'1Tm'=>61,
'2Ch'=>14,
'2Co'=>54,
'2Jn'=>70,
'2M'=>21,
'2 P'=>68,
'2K'=>12,
'2S'=>10,
'2th'=>60,
'2Tm'=>62,
'3Jn'=>71,
'Hab'=>42,
'Ob'=>38,
'Hg'=>44,
'Am'=>37,
'Rv'=>73,
'Ac'=>51,
'Ba'=>32,
'Sg'=>26,
'Col'=>58,
'Dn'=>34,
'Dt'=>5,
'Heb'=>65,
'Qo'=>25,
'Ep'=>56,
'ezr'=>15,
'Est'=>19,
'Ex'=>2,
'Ezk'=>33,
'Phm'=>64,
'Ph'=>57,
'Ga'=>55,
'Jr'=>30,
'Jm'=>66,
'Jb'=>22,
'Jl'=>36,
'Jon'=>39,
'Jn'=>50,
'Jude'=>72,
'Jdt'=>18,
'Is'=>29,
'Jg'=>7,
'Jos'=>6,
'Lm'=>31,
'Lk'=>49,
'Lv'=>3,
'Ml'=>46,
'Mk'=>48,
'Mt'=>47,
'Mi'=>40,
'Na'=>41,
'Ne'=>16,
'Nb'=>4,
'Hos'=>35,
'Pr'=>24,
'Rm'=>52,
'Rt'=>8,
'Ps'=>23,
'Ws'=>27,
'Si'=>28,
'Zp'=>43,
'Tt'=>63,
'Tb'=>17,
'Zc'=>45)
Et c’est tout ... sauf l’ajout dans la page de configuration
2bis. Si votre Traduction n’est pas disponible sur bible-gateway
Déja, faite la même chose que si elle l’était :-p . Sauf que :
- il est inutile de remplir « $livre_gateways »
- dans le sous-tableau de $tableau_traduction, la clef « gateway » doit avoir comme valeur « false » (sans les guillemets")
exemple
'jerusalem' => array(
'traduction'=> 'Bible de Jérusalem',
'gateway' => false,
'lang' => 'fr')
bon, ca c’était facile.
Maintenant, il faut créer un fichier « traduction/abreviation_de_la_traduction.php »
dedans, une fonction
recuperer_passage_abreviation($livre='',$chapitre_debut='',$verset_debut='',$chapitre_fin='',$verset_fin='',$lang='')
Alors là, c’est à vous de jouer. En gros, cette fonction doit appeler la/les page sur laquelle/lesquelles se trouvent la traduction.
La fonction doit retourner un tableau qui suit la structure de l’API 2.0.
Pour récupérer un document distant :
include_spip("inc/distant");
$texte = recuperer_page(‘url’) ;
Pour gérer les charset :
include_spip("inc/charsets");
importer_charset($texte,’charset’) ;
Bon courage ;-)
Il faut également créer
generer_url_passage_abreviation($livre='',$chapitre_debut='',$verset_debut='',$chapitre_fin='',$verset_fin='',$lang='')
Qui doit retourner l’url du passage concerné.
Définir la traduction par défaut pour une langue
Par ailleurs, si votre traduction est la première dans une langue donnée, éditer bible_fonction.php. Et rajouter ecrire_config('bible/traduction_lang','abreviation_de_la_traduction');
après le if (function_exists('ecrire_config')){
ainsi que effacer_config('bible/traduction_lang');
if (function_exists('effacer_config')){
Pour finir
N’oubliez pas de commiter sur la zone. Et de rajouter les informations sur la traduction dans cet article (me contacter pour pouvoir écrire)...
Vous pouvez vous servir du générateur de documentation intégré dans la version 1.3.
Pour ce faire, rendez vous sur http://site/?page=bible_generer_doc&lang_doc=abreviation_de_la_langue_demandée (ex :http://site/?page=bible_generer_doc&lang_doc=es
)
et copier-coller le texte généré au bonne endroit
Discussions par date d’activité
2 discussions
Bonjour,
J’ai une question, est-il possible « d’automatiser » l’ajout d’option à la page cfg ? Cela simplifierait la tâche...
j’ai bien pêur que non, pour la raison bête qu’on ne peut pas boucler sur tableau php ... peut être en faisant filtre qui renverriat le tableau, mais pas sur, et ce n’est pas ce que je cherche prioriataiorement à faire
Répondre à ce message
Bonjour,
Dans votre exemple de bible-gateway, est-ce que tous les livres dans les différentes traductions ont le même identifiant ?
Si oui, il serait « simple » de mettre en place les différentes traductions des bibles par gateway non ?
C’était juste 2 questions pour connaitre l’ampleur du travail.
oui, tout les livres ont le même identifiant, commeje l’ai dit...
donc oui c’est simple,n mais j’ai pas eu le temps ... vous pouvez le faire donc
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |