Bonjour,
Ci-joint un nouveau paquet de fonctions.
Elles s'ajoutent, ou remplacent des fonctions, dans ecrire/inc_lang.php3
charger_langue et traduire_chaine permettent de tenir compte de la
notation
'module:entree'
Ca marche nickel.
et dans le cas d'un appel à un fichier de langue
'modulaire', si l'entrée n'existe pas, il tente d'en trouver une dans le
fichier 'officiel'
C marche nickel aussi. ;+))
J'ai testé sur l'explorateur de fichiers, en créant explorateur_fr.php3, en
renommant les chaine de caractères, tout fonctionne nickel. Je prépare les
dernières fonctionnalités et je livre. ;+)
les fonctions cherche_module et cherche_module_hierarchie (complètement
inspirée du mode de recherche du fichier squelette) permettent de traiter
un
cas particulier :
Pour personaliser les noms des champs d'un article dans la partie privée
en
fonction du numéro de rubrique, il suffiet de créer un fichier
art(quelque_chose)_xx.php3
où xx est la langue,
quelquechose pouvant être vide, egal à -x ou =x ou x est un n° de rubrique
sachant que le fonctionnement de ces fichiers est le même que les
squelettes
numérotés
Pour ma part, j'ai donc créé un fichier : ecrire/lang/art=3_fr.php3 qui
contient
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
$GLOBALS['i18n_fr'] = array(
'titre_cadre_interieur_rubrique' => 'À l\'intérieur de la
rubrique tutute',
);
?>
Avec ces fonctions, dans ecrire/article_edit.php3, par exemple, on rajoute
la ligne suivante :
$module = cherche_module($id_rubrique) (dès lors qu'on A un $id_rubrique
Oui, il faut positionner les lignes :
//
//Chargement du module de langue ( Modification par James Aka Klike -
klike@firstream.net )
//
$module = cherche_module($id_rubrique);
juste après le bloc de lignes commençant par
//
// Creation de l'objet article
//
Sinon, on ne récupère pas l'id_rubrique ;+))
et pour l'afichage, au lieu de _T('texte_sur_titre') on met :
_T($module.'texte_sur_titre')
Ca marche nickel...
Mais si la chaine 'texte_sur_titre' n'existe pas dans art=3_fr.php3 (dans
mon exemple), il ne rebascule pas vers spip_fr.php3 , par contre.
--neoram