Introduction
Comment traduire des sections autrement si SPIP ne propose pas nativement un système de traduction pour les rubriques ?
Le plugin Traduction entre rubriques comble cette lacune avec un système inspiré par celui des traductions des articles ; c’est à dire en ajoutant un champ id_trad à la table rubriques, et en liant ainsi les traductions des rubriques.
Le présent plugin modifie simplement la manière de gestion des traductions des rubriques proposé par le plugin Traduction entre rubriques avec un solution similaire au plugin Traductions d’articles autrement, dont l’installation est recommandé (téléchargement ici) afin de pouvoir offrir une approche cohérente des traductions des rubriques et de la navigation entre les traductions des articles et rubriques.
Utilisation
Ce plugin trouve son utilité surtout dans un site avec des langues par secteur.
voici un exemple de liens de traductions pour rubriques, articles et autres (auteurs,sites,...) nécessite le plugin spip bonux
#CACHE{0}
[(#REM) Si on est dans le contexte d'un article, on affiche les langues des articles]
<BOUCLE_article(ARTICLES){id_article}>
<B_traductions>
<p class="traductions">
<BOUCLE_traductions(ARTICLES) {traduction} {par lang}{'|'}>[(#TOTAL_BOUCLE|>{1}|?{' '})
<span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR"[ class="(#EXPOSE)"]>
[(#EXPOSE{'',<a href="[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#URL_ARTICLE|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]" rel="alternate" hreflang="#LANG"[ title="(#TITRE|attribut_html|couper{80})"]>})]
[(#LANG|traduire_nom_langue)]#EXPOSE{'',</a>}</span>
]</BOUCLE_traductions>
</p>
</B_traductions>
</BOUCLE_article>
[(#REM) Sinon, si on est dans le contexte d'une rubrique, on affiche les langues des rubriques]
<B_rubrique>
<p class="traductions">
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
<BOUCLE_traductions_rub(RUBRIQUES) {traduction} {par lang}{'|'}>
<span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR"[ class="(#EXPOSE)"]>
[(#ENV{lang}|=={#LANG}|non)<a href="[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#URL_RUBRIQUE|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]" rel="alternate" hreflang="#LANG"[ title="(#TITRE|attribut_html|couper{80})"]>[(#LANG|traduire_nom_langue)]</a>]
[(#ENV{lang}|=={#LANG}|oui)[(#LANG|traduire_nom_langue)]]
</span>
</BOUCLE_traductions_rub>
</BOUCLE_rubrique>
</p>
</B_rubrique>
[(#REM) Sinon, si on on boucle sur les langues disponibles dans le public grâce à spip-bonux]
[(#SET{langues,[(#CONFIG{langues_utilisees}|explode{','}|serialize)]})]
<B_langue_possibles>
<p class="traductions">
<BOUCLE_langue_possibles(POUR){tableau #GET{langues}}{'|'}>
<span lang="#VALEUR" xml:lang="#VALEUR" dir="#LANG_DIR" [(#ENV{lang}|=={#LANG}|oui) class="on"]>
[(#ENV{lang}|=={#VALEUR}|non)<a href="[(#URL_ACTION_AUTEUR{'converser',#VALEUR&var_lang=#VALEUR,[(#SELF|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]" rel="alternate" hreflang="#VALEUR">[(#VALEUR|traduire_nom_langue)]</a>]
[(#ENV{lang}|=={#VALEUR}|oui)[(#VALEUR|traduire_nom_langue)]]
</span>
</BOUCLE_langue_possibles>
</p>
</B_langue_possibles>
<//B_rubrique>
<//B_article>
Affichage squelettes
Il est possible de conditionner l’affichage des squelettes/noisettes en utilisant la balise
#ID_TRAD
par exemple, pour afficher une noisette déterminée seulement si on se trouve dans la rubrique 21 ou dans ses traductions. Il suffit de prendre l’id_rubrique de la rubrique de référence (celle qui a une * a coté du lien traduction - voir ci-haut) et qui est également l’id_trad.
Dans notre exemple, la rubrique de référence est la rubrique 21, donc l’id_trad est également le 21.
on utiliserai donc
[(#ID_TRAD|=={21}|oui)<INCLURE{fond=inc/noisette}/>]
pour afficher inc/noisette.html pour la rubrique 21 et ses traductions
Aucune discussion
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 : |