Initialement créé par yohannp pour le squelette SoyezCreateurs [1], ce menu peut être utilisé de 2 manières :
-
#MENU_LANG: affichage du menu en mode de fonctionnalité réduite : permet de changer le cookie de langue en restant sur la même page. -
[(#INCLURE{fond=formulaires/menu_lang,env})]:- changer la langue de navigation (cookie de langue)
- aller sur la traduction de l’article ou de la rubrique en cours si elle existe,
sinon, rester sur la même page
Vous pouvez voir ce menu en action sur Yayin.
Le plugin a été porté sur SPIP3 par Cedric Morin
Installation
« Menu de langue sous forme de liens » s’installe comme tous les plugins. Il faut ensuite rajouter dans les squelettes la fonction du menu que l’on veut :
-
#MENU_LANG: affichage du menu en mode de fonctionnalité réduite : permet de changer le cookie de langue en restant sur la même page. -
[(#INCLURE{fond=formulaires/menu_lang,env})]: fonctionnalité ci dessus + redirection vers l’article traduit si il existe.
D’autre part, il faut dans config/mes_options.php avoir mis :
$forcer_lang = true;
Vous pouvez également installer le plugin Config (CFG) pour modifier les configurations avancées du plugin ainsi que le plugin Traduction entre rubriques (Tradrub) pour déclarer des traductions de rubriques.
Choix du format de langue
Par défaut, le plugin affiche le format complet de la langue (ex. Français, English).
Si vous avez installé le plugin Config (CFG), vous pouvez choisir un format d’affichage abrégé (ex. Fr, En).
La liste des abréviations peut être consultée dans l’espace privé de votre site : « Configuration > Gestion des langues > Multilinguisme ».
Exclure des langues de l’affichage
Dès que vous commencez à déclarer des articles ou des rubriques dans une langue, celle-ci apparait dans le menu, même si les articles ne sont pas publiés.
Vous pouvez toutefois la faire disparaitre du menu en modifiant la configuration du plugin : « Configuration > CFG > Menu de langue sous forme de liens > Langues invisibles du menu ».
Redirection vers la traduction des rubriques
Pour créer un site multilingue, vous pouvez soit laisser les traductions dans les mêmes rubriques que les articles de la langue principale et saisir les traductions des titres de rubriques avec des blocs multilingues :
Rubrique « Fleurs / Flowers » (Fr)
|_ Article « Marguerite » (Fr)
|_ Article « Daisy » (En)
Le titre de la rubrique « Fleurs » sera saisi de la façon suivante : <multi>[fr]télécharger[en]download</multi>.
Soit créer dupliquer les rubriques (une par langue) :
Rubrique « Fleurs » (Fr)
|_ Article « Marguerite » (Fr)
Rubrique « Flowers » (En)
|_ Article « Daisy » (En)
Par défaut, SPIP permet de définir la langue d’une rubrique, mais pas de lier les traductions de rubriques entre elles, comme c’est le cas pour les articles. Pour ajouter cette fonctionnalité vous pouvez installer le plugin Traduction entre rubriques (Tradrub).
Quoi qu’il en soit, ces deux modes de fonctionnement sont supportés par le plugin : Dans le premier cas, si un visiteur change la langue du site sur la page d’une rubrique, le titre de la rubrique s’affichera dans la langue choisie (si elle a été saisie) dans le second cas, le visiteur sera redirigé vers la rubrique qui fait office de traduction.
Fonctionnement du plugin
Le fonctionnement est tout simple. Le menu utilise l’action converser de SPIP pour changer la langue (et le cookie avec) et si on est sur une page article et que ce même article affiché est traduit dans la langue sélectionnée, on redirige sur l’article traduit dans la langue sélectionnée.
Ressources sur le multilinguisme dans SPIP
- SPIP et le Multilinguisme (Blog d’Alexandra Guiderdoni)
- Réaliser un site multilingue (Documentation officielle)



Télècharger le plugin
Vos commentaires
# Le 12 janvier à 15:48, par Rorschach
En réponse à : Menu de langues sous forme de liens
Bonjour,
Je suis sous SPIP 3 et le plugin ne fonctionne pas du tout. tout d’abord il m’affiche une partie du code juste avant le menu
Ensuite quand je veux passer d’une langue à une autre j’ai un « converser : Accès interdit »
# Le 12 janvier à 17:46, par acatonne
En réponse à : Menu de langues sous forme de liens
J’ai eu, mais une fois les caches vidé c’est ok
J’ai bien le changement de langue de l’interface via des liens, par contre je suis renvoyé sur la page login systématiquement.
Sur un spip3betadeux
# Le 12 janvier à 19:50, par Rorschach
En réponse à : Menu de langues sous forme de liens
J’ai toujours le même bug avec le cache vide.
Du coup je n’utilise pas de plugin. Dans mon squelette j’ai :
Sur tous mes templates
Et dans mon template article.html je remplasse par :
Code par Kent1
# Le 12 janvier à 19:55, par ?
En réponse à : Menu de langues sous forme de liens
Bonjour,
C’est noté, je vais regarder.
Jean-Baptiste
# Le 3 février à 09:48, par Jean-Baptiste Pressac
En réponse à : Menu de langues sous forme de liens
Bonjour,
Cédric à résolu le problème dans la version 1.1.1 du plugin postée hier. Merci Cédric !
Cordialement,
Répondre à ce message
# Le 19 janvier 2011 à 10:05, par filnug
En réponse à : Menu de langues sous forme de liens
hello,
Y a t il un moyen pour personnaliser l’affichage ? C-a-d, afficher le mot entier « Français » ou « Deutsch » plutot que « FR » ou « DE ».
Merci pour votre réponse
# Le 19 janvier 2011 à 12:43, par RealET
En réponse à : Menu de langues sous forme de liens
Actuellement, non, mais ce pourrait devenir un paramètre de Configuration.
# Le 19 janvier 2011 à 12:44, par RealET
En réponse à : Menu de langues sous forme de liens
Avec une précision : la langue en clair s’affiche déjà en bulle d’aide.
# Le 20 janvier 2011 à 17:14, par DD
En réponse à : Menu de langues sous forme de liens
J’ai modifié le formulaire en ajoutant « |traduire_nom_langue » aux boucles
exemple :
[<strong class="langue_#LANG" title="[(#LANG|traduire_nom_langue|ucfirst|attribut_html)]">(#LANG|traduire_nom_langue|ucfirst)</strong>]et cela fonctionne !
dd
# Le 6 janvier à 18:13, par v8buzz
En réponse à : Menu de langues sous forme de liens
Bonjour —
Tout d’abord merci pour ce plugin !
Je viens de l’installer et j’ai la même question que filnug — comment faire pour que le choix de langues soit en mot complet au lieu qu’en abréviation ?
J’ai regardé dans /Menu_langue_lien/plugins/formulaires/configurer_menu_lang_liens.html et j’ai trouvé le code que je pense être celui qui contrôle cette option :
mais je ne sais pas comment le manipuler. Y’aurait-il quelqu’un qui saurait m’aider à faire ce changement ?
J’utilise SPIP2.1.10. Je ne suis pas un codeur donc je nage toujours un peu perdue dans le PHP...
Merci d’avance !!
# Le 6 janvier à 18:44, par v8buzz
En réponse à : Menu de langues sous forme de liens
J’ai aussi trouvé le code suivant dans la page /Menu_langue_lien/plugins/formulaires/menu_lang.html :
Peut-être que c’est ici où il faut faire le changement ?
En réponse à DD, je ne sais pas où tu fais ce code, donc je ne sais pas utiliser ta solution... et comme j’écris un ans plus tard, je me demandais si cette solution était toujours valable...
Merci encore !
# Le 6 janvier à 19:11, par v8buzz
En réponse à : Menu de langues sous forme de liens
Ok, messages multiples de ma part et je m’excuse, mais j’ai l’impression que je ne suis pas loin donc j’ai du mal à arrêter la recherche...
Toujours dans le document /Menu_langue_lien/plugins/formulaires/menu_lang.html, j’ai ajouté
|traduire_nom_langueau#VALEURce qui change la ligne 54 deà
Du coup, j’ai le nom de la langue complet — j’avoue que je ne sais pas pourquoi, mais ça semble fonctionner. Après, je voudrais que la première lettre soit en minuscule, et non pas en majuscule mais quand je change le filtre
ucfirstenlcfirstj’ai des erreurs pour usage d’un filtre non-définie. Quand j’enlève le filtre entièrement, rien ne se passe et la première lettre reste en majuscule.Merci de nouveau pour votre aide !
# Le 9 janvier à 16:12, par v8buzz
En réponse à : Menu de langues sous forme de liens
Bonjour —
Du nouveau — j’ai réussi à transformer la première lettre en minuscule en utilisant du CSS ! Ouais !
# Le 9 janvier à 17:36, par Jean-Baptiste Pressac
En réponse à : Menu de langues sous forme de liens
Bonjour,
Ah non, ce n’est pas si compliqué. La configuration du plugin est possible une fois CFG installé (l’installation de CFG n’est plus nécessaire avec SPIP 3). Il suffit ensuite d’aller dans le menu « Configuration > CFG » dans l’espace privé pour accéder à la page de configuration du plugin.
Jean-Baptiste
# Le 11 janvier à 17:23, par v8buzz
En réponse à : Menu de langues sous forme de liens
Bonjour et merci pour ta réponse —
Quand j’ai installé ce plugin j’ai regardé le plugin CFG aussi, mais je ne l’ai pas installé car sur la page qui lui est dédiée, c’était conseillé de ne pas l’installer si on utilisait SPIP 2.1 + SPIP Bonux, ce qui est mon cas.
Par la suite, j’avais regardé dans Bonux mais ne trouvant pas un moyen de le faire, j’ai fait comme susmentionné...
Répondre à ce message
# Le 15 novembre 2011 à 21:25, par Jean-Baptiste Pressac
En réponse à : Menu de langues sous forme de liens
Point sur l’évolution du plugin au mardi 15 novembre 2011
Kent1 a modifié le plugin en mai 2011 (version 1.0.2), pour corriger le problème de redirection vers les traductions de l’article. Il a également rajouté un formulaire de configuration permettant si CFG est installé de choisir les langues ne devant pas apparaitre dans le menu de langue (par défaut, seules les langues affectées à au moins un article ou rubrique sont affichées dans le menu de langue).
Yffic a rajouté une compatibilité du plugin avec la version 2.1 de SPIP.
Je viens de rajouter la redirection vers les éventuelles traductions des rubriques, saisies avec le plugin Tradrub de Matthieu Marcillaud. Ainsi que la dépendance du plugin « Menu de langues sous forme de liens » avec SPIP Bonux et Tradrub.
Ces versions en cours de développement ne sont pas téléchargeables à cette date sous forme d’archive ZIP, mais peuvent être récupérées par SVN sur la Zone.
Répondre à ce message
# Le 26 septembre 2011 à 15:56, par Shawin
En réponse à : Menu de langues sous forme de liens
Bonjour,
je suis à la recherche d’un moyen d’afficher un menu de langue plat pour un de mes sites, qui est en version 2.1.8, et j’aurais une petite question :
Ce plugin fonctionne-t’il correctement avec cette version ?
Ou, il est préférable de ne pas l’installer sur une version en 2.1.x ?
Merci d’avance pour vos réponses ^^.
Répondre à ce message
# Le 17 septembre 2011 à 12:34, par Paulbe
En réponse à : Menu de langues sous forme de liens
Hello,
Peut être un bug ! J’ai installé le plugin et j’ai su l’activer sans que CFG soit installé...
J’ai constaté un comportement bizarre, j’ai donc voulu voir dans CFG si je pouvais éjecter des langues et c’est seulement à ce moment là que j’ai constaté l’oubli de CFG.
J’ai donc installé CFG après coup, je vois bien maintenant l’interface de config pour éjecter les langues mais celle-ci est désespérément vide... désactivation, résintall du plugin, de CFG, ... rien n’y fait.
De plus j’ai eu un message furtif dans le BO comme quoi une requête MySQL n’a pas trouvé ... désolé je ne le sais plus :-(
A mon avis il doit rester une trace dans la table SPIP metas, mais comme il n’y a pas de désinstall propre de ce plugin je coince un peu...
P.S. J’ai bien un article dans une autre langue, ma langue est bien activée, et j’ai bien installé le couteau suisse pour forcer la lang=true
Une idée ?
# Le 17 septembre 2011 à 13:05, par RealET
En réponse à : Menu de langues sous forme de liens
Le formulaire de configuration contient une boucle « POUR ».
Il faut donc aussi Bonux pour que ça marche. tu as Bonux ?
# Le 17 septembre 2011 à 16:37, par Paulbe
En réponse à : Menu de langues sous forme de liens
Hello,
Je l’ai installé mais pas de modif notable ?
# Le 17 septembre 2011 à 16:49, par Paulbe
En réponse à : Menu de langues sous forme de liens
Bon j’ai effacé à l’arrache le dossier plugin, j’ai eu un message d’erreur dans l’interface privée forcément.
J’ai vidé les caches et réinstall le plugin cela a l’air de tenir maintenant...
Ne serait-il pas intéressant dès lors d’y ajouter les dépendances ;-)
Répondre à ce message
# Le 4 juillet 2011 à 23:46, par ?
En réponse à : Menu de langues sous forme de liens
Bonjour et merci pour ce plugin excellent !
Je l’avais utilisé sur un précédent site sous SPIP 2.1.2 mais n’arrive pas à le faire fonctionner sur un nouveau site spip 2.1.10.
Le plugin est installé, le fichier mes_options paramétré et la balise #MENU_LANG insérée mais rien n’apparaît alors que lorsque que je désinstalle le plugin le menu spip par défaut apparaît bien.
Est-ce que vous sauriez d’ou peut venir le problème ?
Merci beaucoup !
# Le 6 juillet 2011 à 11:43, par arriflex
En réponse à : Menu de langues sous forme de liens
Je me réponds pour les autres : le menu ne s’affiche que lorsqu’il existe sur le site un article créé comme traduction d’un autre.
J’utilisais uniquement les blocs multilingues sur le site et ça ne fonctionnait pas....
Répondre à ce message
# Le 12 mai 2011 à 15:18, par Abel
En réponse à : Menu de langues sous forme de liens
Bonjour et merci pour ce plugin.
J’aurai voulu y apporter une petite modification : J’aimerai que le lien, si l’article n’a pas de traduction, pointe, non pas sur la « page courante + cookie de langue », mais plutôt sur la « page d’accueil + cookie de langue », mais je n’y arrive pas.
Savez-vous comment changer ça dans formulaires/menu_lang.html ?
Encore merci !
# Le 12 mai 2011 à 15:35, par Abel
En réponse à : Menu de langues sous forme de liens
Petites précisions :
Si je remplace
#SELFpar#URL_SITE_SPIPj’ai une redirection vers l’espace privé.J’ai essayé d’ajouter ’redirect’ comme le conseillait nicofrand mais ça ne change rien chez moi.
Répondre à ce message
# Le 2 janvier 2011 à 00:14, par Jean-Baptiste Pressac
En réponse à : Menu de langues sous forme de liens
Bonsoir,
J’utilise la version 1.0 du plugin (téléchargée le 1er Janvier 2011) et j’ai remarqué que
[(#INCLURE{fond=formulaires/menu_lang,env})]ne pouvait faire une redirection vers la traduction de l’article dans la langue choisie car il manque une boucle intermédiaire dansformulaires/menu_lang.html.En effet, la boucle :
<BOUCLE_TraductionArticleCourant(ARTICLES){traduction}>#SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_ARTICLE}}
</BOUCLE_TraductionArticleCourant>
doit être encapsulée dans une boucle utilisant le critère
{id_article}pour fonctionner :<BOUCLE_ArticleCourant(ARTICLES){id_article}><BOUCLE_TraductionArticleCourant(ARTICLES){traduction}>
#SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_ARTICLE}}
</BOUCLE_TraductionArticleCourant>
</BOUCLE_ArticleCourant>
Merci pour ce plugin fort utile.
Cordialement,
# Le 2 janvier 2011 à 11:40, par RealET
En réponse à : Menu de langues sous forme de liens
Pourtant, sur Yayin c’est bien ce menu, avec cet méthode d’appel qui est utilisé, et la navigation vers les traductions marche sans problème.
# Le 20 janvier 2011 à 17:21, par DD
En réponse à : Menu de langues sous forme de liens
Pour moi aussi la solution de jean-baptiste a résolu le problème des articles.
d’ailleurs sur le site http://www.yayin.fr/ en allant sur un article et en changeant de langue, je n’ai pas le contenu de l’article traduit, seulement le contexte.
dd
# Le 22 février 2011 à 11:12, par Jean-Baptiste Pressac
En réponse à : Menu de langues sous forme de liens
Hello,
Pour revenir au problème signalé plus haut, ce serait tout de même bizarre que la boucle TraductionArticleCourant puisse fonctionner sans qu’un id_article ne lui soit transmis, non ? Je suis le seul a avoir constaté le problème avec DD ?
# Le 22 février 2011 à 14:57, par Jean-Baptiste Pressac
En réponse à : Menu de langues sous forme de liens
D’ailleurs l’utilisation d’une boucle intermédiaire pour utiliser
{traduction}semble nécessaire si l’on se réfère à cette page de programmer.spip.org.# Le 12 mai 2011 à 14:58, par Abel
En réponse à : Menu de langues sous forme de liens
Pour moi aussi la solution de Jean Baptiste à résolu mon problème.
Merci
Répondre à ce message
# Le 23 octobre 2010 à 13:56, par creu
En réponse à : Menu de langues sous forme de liens
Bonjour,
Quelqu’un a trouvé une solution pour le problème de renvoi vers l’espace privé ?
Ce plugin n’est pas compatible avec la 2.1 ?
Merci !
# Le 27 octobre 2010 à 10:12, par nicofrand
En réponse à : Menu de langues sous forme de liens
J’utilise spip 2.1.2 et ai adapté le plugin de cette façon pour ne plus avoir de redirection vers l’espace privé :
dans le dossier du plugin, dossier formulaires, éditez menu_lang.html et remplacez ceci :
par ceci :
Voilà, en espérant que ça fonctionnera également pour vous !
# Le 27 octobre 2010 à 10:35, par creu
En réponse à : Menu de langues sous forme de liens
Je vais essayer, merci pour votre réponse !
# Le 11 février 2011 à 12:27, par Birdy
En réponse à : Menu de langues sous forme de liens
hello,
j’ai codé directement mon menu dans un squelette (ce plugin n’existait pas à l’époque) :
et j’ai ce problème de redirection vers l’espace privé depuis la mise à jour de SPIP de 2.1.1 vers 2.1.8
Déjà, il semble que URL_ACTION n’existe plus. C’est fort dommage parce que URL_ACTION_AUTEUR produit un hash=XXXXX abominable pour le référencement.
Répondre à ce message
# Le 17 janvier 2011 à 16:42, par filnug
En réponse à : Menu de langues sous forme de liens
hello.
est ce que ce plugin fonctionne pour spip 2.1 ?
depuis que l’ai installé, les liens des langues n’apparaissent plus !
# Le 20 janvier 2011 à 17:15, par DD
En réponse à : Menu de langues sous forme de liens
chez moi c’est bon avec une 2.1.8
Répondre à ce message