Dans le plugin Site multilingue facile
(Site multilingue facile - SPIP-Contrib), qui t'installe
tout l'environnement d'un siteavec langue par secteur, le menu langue
est changé de la manière suivante, afin de permettre de s'adapter aux
articles, rubriques ou autres pages
-> formulaires/menu_lang.html
[<div class="formulaire_spip formulaire_menu_lang"
id="formulaire_menu_lang">
<form method="post" action="#"><div>
<select
onchange="window.open(this.options#VAL{[}this.selectedIndex#VAL{]}.value,'_top')"
name="menu_lang" id="menu_lang">
(#INCLURE{fond=formulaires/inc-options-langues,env})
</select>
<noscript><p class="boutons"><input type="submit" class="submit"
value=">>" /></p></noscript>
</div></form>
</div>]
puis formulaires/inc-options-langues.html
<BOUCLE_article(ARTICLES){id_article}>
<BOUCLE_traductions(ARTICLES) {traduction} {par lang}>
<option
value='[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#URL_ARTICLE|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]'[(#LANG|=={#ENV{lang}}|oui)selected="selected"]
dir="[(#LANG|lang_dir{ltr,rtl})]">[(#LANG|traduire_nom_langue)]</option>
</BOUCLE_traductions>
</BOUCLE_article>
[(#REM) Sinon, si on est dans le contexte d'une rubrique, on
affiche les langues des rubriques]
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
<BOUCLE_traductions_rub(RUBRIQUES) {traduction} {par
lang}>
<option
value='[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#URL_RUBRIQUE|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]'[(#LANG|=={#ENV{lang}}|oui)selected="selected"]
dir="[(#LANG|lang_dir{ltr,rtl})]">[(#LANG|traduire_nom_langue)]</option>
</BOUCLE_traductions_rub>
</BOUCLE_rubrique>
[(#REM) Sinon, si on on boucle sur les langues disponibles dans
le public grâce à spip-bonux]
<BOUCLE_langue_possibles(RUBRIQUES){id_parent=0}{id_trad!=0}{0,1}>
<BOUCLE_langue_possibles_trad(RUBRIQUES) {traduction}
{par lang}>
<option
value='[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#SELF|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]'[(#LANG|=={#ENV{lang}}|oui)selected="selected"]
dir="[(#LANG|lang_dir{ltr,rtl})]">[(#LANG|traduire_nom_langue)]</option>
</BOUCLE_langue_possibles_trad>
</BOUCLE_langue_possibles>
<//B_rubrique>
<//B_article>
puis
Paolo said the following on 27/06/12 00:16:
On 26/06/12 23:35, matthieu leorat wrote:
> je voudrais rediriger vers la traduction
> de l'article (ou de la rubrique) dans la langue choisie dans
> la liste déroulante.
Pour ce que ça vaut, sur taize.fr j'utilise la boucle suivante, sans
#MENU_LANG et sans plugin :
<BOUCLE_art0(ARTICLES){id_article}>
<B_trads1>
<form id="langselect" action="#URL_SITE_SPIP/" method="get">
<select size="1" name="langs" onchange="if
(options[selectedIndex].value){location =
options[selectedIndex].value; }">
<option lang="#LANG" value="">[(#LANG|traduire_nom_langue)]</option>
<BOUCLE_trads1(ARTICLES){traduction}{exclus}{par lang}>
<option lang="#LANG"
value="[(#URL_ARTICLE|parametre_url{debut_images,#ENV{debut_images}})]">[(#LANG|traduire_nom_langue)]</option>
</BOUCLE_trads1>
</select>
</form>
</B_trads1>
<:no_translation:>
<//B_trads1>
</BOUCLE_art0>
Paolo
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net
Documentation de SPIP : http://www.spip.net/
Irc : de l'aide à toute heure : http://spip.net/irc