[(#REM) Si _MLL_LANGUES_MULTILINGUE est definie, on utilise la variable meta langues_multilingue (langues à disposition des rédacteurs, comportement natif de SPIP). Sinon, on utilise langues_utilisees (langues reellement utilisees dans les articles). Les langues "invisibles" sont les langues que le webmestre peut choisir de ne pas afficher dans le menu, a partir du formulaire de configuration du plugin. ] [(#VAL{_MLL_LANGUES_MULTILINGUE}|defined|et{#VAL{_MLL_LANGUES_MULTILINGUE}|constant|=={true}}|?{ #SET{mll_langues,langues_multilingue} , #SET{mll_langues,langues_utilisees} })] [(#SET{langues_a_afficher,[(#CONFIG{#GET{mll_langues}}|explode{","}|array_diff{#CONFIG{menu_lang_liens/langues_invisibles, #ARRAY}})]})] #SET{redirections, #ARRAY} [(#REM) Stocker les traductions eventuelles de la rubrique en cours si le plugin Tradrub est installe (permet l'utilisation du critere traduction sur les rubriques) ] #SET_MERGE{redirections,#GET{redirections},#ARRAY{#LANG,#URL_RUBRIQUE}} [(#REM) Stocker les traductions eventuelles de l'article en cours ] #SET_MERGE{redirections,#GET{redirections},#ARRAY{#LANG,#URL_ARTICLE}} [(#REM) Pour chaque langue à afficher on finit de définir où ça doit amener ] [(#REM) Chercher l'accueil où rediriger si la config le demande sinon on reste sur #SELF ] #SET_MERGE{redirections,#ARRAY{#_liens:VALEUR,#URL_RUBRIQUE},#GET{redirections}} #SET_MERGE{redirections,#ARRAY{#_liens:VALEUR,#URL_SITE_SPIP},#GET{redirections}} #SET_MERGE{redirections,#ARRAY{#_liens:VALEUR,#SELF},#GET{redirections}} #SET{liste,#CONFIG{menu_lang_liens/formatliste,bloc}} #SET{format,#CONFIG{menu_lang_liens/format,abrege}} #SET{separateur,#CONFIG{menu_lang_liens/separateur,''}} [(#REM) Seulement s'il y a au moins deux langues à afficher (dont la courante sera peut-être masquée ensuite) ] [<(#GET{liste}|=={liste}|?{ul,[(#GET{liste}|=={bloc}|?{div,''})]}) id="menu_lang">][(#REM) On liste les langues utilisees dans le site ]#SET{nom_langue,#GET{format}|!={complet}|?{#CLE,#CLE|traduire_nom_langue}}[ (#GET{liste}|match{^liste}|oui) ]#SET{nom_langue,#GET{format}|!={complet}|?{#CLE,#CLE|traduire_nom_langue}}[ (#GET{liste}|match{^liste}|oui)
  • ][(#REM) Si la langue n'est pas celle en cours, on fait un lien qui fait 2 actions : - fixer le cookie de langue sur la langue demandee - rediriger sur l'article dans la langue demandee si opportun sinon, revenir sur la page en cours url_absolue pour éviter des problèmes en urls arbo ] [[[[(#GET{separateur})](#GET{liste}|match{^liste}|non)](#COMPTEUR_BOUCLE|>{1}|oui)][(#GET{nom_langue})](#CLE|=={#ENV{lang}}|non)][ (#REM) Si la langue est celle en cours, afficher celle-ci en gras, sans lien ][[[[[(#GET{separateur})](#GET{liste}|match{^liste}|non)](#COMPTEUR_BOUCLE|>{1}|oui)](#GET{nom_langue})](#CLE|=={#ENV{lang}}|oui|et{#CONFIG{menu_lang_liens/langue_courante_invisible}|non})][ (#GET{liste}|match{^liste}|oui)
  • ] [] #FILTRE{trim}