Création d'un menu langue plat pour SPIP 2.0 - commentaires Création d'un menu langue plat pour SPIP 2.0 2013-06-16T22:21:26Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment468818 2013-06-16T22:21:26Z <p>J'ai eu le même souci. Bon, la question date un peu mais ça peut peut-être aider quelqu'un qui passe par là<small class="fine d-inline"> </small>!</p> <p><strong>ligne 12, remplacer #URL_ARTICLE par #SELF</strong></p> <div class="precode"><pre class="spip_code spip_code_block language-html4strict" dir="ltr" style="text-align:left;" data-language="html4strict"><code> <BOUCLE_menulangue(ARTICLES){id_article}> [(#REM) un menu langue plat qui redirige vers la traduction de l'article si elle existe ... sinon sur l'article en cours mais en ayant changé de langue pour l'interface] [(#REM) on boucle sur les langues disponibles dans le public grâce à spip-bonux] [(#SET{langues,[(#CONFIG{langues_multilingue}|explode{','}|serialize)]})] <BOUCLE_langue_possibles(POUR){tableau #GET{langues}}> [(#REM) on récupère la traduction "potentielle" de l'article en cours] <BOUCLE_article_traduit(ARTICLES){traduction}{lang=#VALEUR}> [(#ENV{lang}|=={#VALEUR}|non)<a href="[(#URL_ACTION_AUTEUR{'converser',#VALEUR&var_lang=#VALEUR,[(#URL_ARTICLE|parametre_url{lang,'','&'})]})]">[(#VALEUR|traduire_nom_langue)]</a>] </BOUCLE_article_traduit> [(#REM) Si pas de traduction, on change bien la langue mais le lien reste sur la même page] [(#ENV{lang}|=={#VALEUR}|non)<a href="[(#URL_ACTION_AUTEUR{'converser',#VALEUR&var_lang=#VALEUR,[(#SELF|parametre_url{lang,'','&'})]})]">[(#VALEUR|traduire_nom_langue)]</a>] <//B_article_traduit> </BOUCLE_langue_possibles> </BOUCLE_menulangue></code></pre></div> Création d'un menu langue plat pour SPIP 2.0 2012-02-05T00:06:31Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment454211 2012-02-05T00:06:31Z <p>Salut</p> <p>Quelque peut m'aider à déselectionner une langue dans la partie <strong>Langues invisibles</strong> du menu dans la configuration du plugin</p> <p>Merci</p> Création d'un menu langue plat pour SPIP 2.0 2011-11-08T09:13:57Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment451622 2011-11-08T09:13:57Z <p>Merci,</p> <p>j'avais constaté ce problème quand j'utilisai bandeau et j'avais simplement désinstallé bandeau, mais maintenant sous spip3 j'étais bien forcer d'attaquer le problème.</p> <p>donc le lien complet qui marche également sous spip3 est :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#URL _ACTION_AUTEUR{'converser',#VALEUR&var_lang=#VALEUR,[(#SELF|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]</code></pre></div> Création d'un menu langue plat pour SPIP 2.0 2011-10-19T10:26:35Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment450997 2011-10-19T10:26:35Z <p>Même bug chez moi<small class="fine d-inline"> </small>;<br class="autobr"> j'ai trouvé la solution sur une mailing list<small class="fine d-inline"> </small>;<br class="autobr"> je partage :</p> <p>J'ai eu exactement le même changement de comportement + bug associé, mais en 2.1.2, alors que tout allait bien en 2.1.1. <br class="autobr"> Après avoir constaté que personne ne semblait avoir le même problème, et passé des plombes à chercher en vain d'où ça pouvait venir, j'ai fini par contourner le problème en ajoutant un « &arg= » dans les URLs générées. <br class="autobr"> En termes de codes, il suffit de rajouter :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>|parametre_url{arg,''} juste après l'accolade fermante de #URL_AUTEUR{...}. --</code></pre></div> <p>merci. davux</p> Création d'un menu langue plat pour SPIP 2.0 2011-08-30T09:24:10Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment448990 2011-08-30T09:24:10Z <p>Bonjour,</p> <p>Grand merci pour cette contribution simple à mettre en oeuvre.</p> <p>J'ai un problème sur le lien, quand il n'y a pas d'article traduit, on ne reste pas dans l'article de la langue en cours mais on est dirigé vers la page 404.<br class="autobr"> Y a t-il une astuce particulière<small class="fine d-inline"> </small>?</p> <p>Merci d'avance</p> Création d'un menu langue plat pour SPIP 2.0 2011-01-05T13:26:21Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment438871 2011-01-05T13:26:21Z <p>En distant c'est pareil. J'ai essayé sur d'autres serveurs et ça plante de la même façon. Dans une version antérieur de SPIP, avec le même code, je n'ai pas de problème pour accéder à « converser ». Serait-ce lié à la version de SPIP<small class="fine d-inline"> </small>?</p> Création d'un menu langue plat pour SPIP 2.0 2011-01-03T09:57:54Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment438743 2011-01-03T09:57:54Z <p>C'est un code identique : Le fichier menu_lang.html du plugin fait aussi appel au fichier converser. J'ai tenté de paser en chmod 777 et aussi de passer le safe mode à off comme c'est indiqué dans d'autres discutions. Je ne sais pas en quoi cela pouvait jouer. Rien n'y a changé. On tombe toujours sur la même problématique en local. Je vais essayé en distant des fois que...</p> Création d'un menu langue plat pour SPIP 2.0 2011-01-03T08:19:53Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment438736 2011-01-03T08:19:53Z <p>Aïe. Je ne peux malheureusement pas t'aider là-dessus. Je n'ai jamais eu ce type de problème.</p> <p>Néanmoins, je tenterais une autre solution. Regarde ces 2 contribs qui pourraient t'aider :<br class="autobr"> <a href="http://www.spip-contrib.net/Menu-de-langues-sous-forme-de-liens" class="spip_url spip_out auto" rel="nofollow external">http://www.spip-contrib.net/Menu-de-langues-sous-forme-de-liens</a><br class="autobr"> <a href="http://www.spip-contrib.net/Multilang" class="spip_url spip_out auto" rel="nofollow external">http://www.spip-contrib.net/Multilang</a></p> <p>J'espère que ça t'aidera...</p> Création d'un menu langue plat pour SPIP 2.0 2011-01-01T12:13:59Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment438675 2011-01-01T12:13:59Z <p>Hello</p> <p>J'obtiens un vilain « converser : Accès interdit » lors du clic sur le bouton de langue.<br class="autobr"> Quelqu'un a déjà eu ça<small class="fine d-inline"> </small>? Merci de vos réponses. +</p> Création d'un menu langue plat pour SPIP 2.0 2010-04-08T21:53:00Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment428849 2010-04-08T21:53:00Z <p>bonjour, j'aimerais savoir s'il y a quelque chose à faire pour que cela marche sous 1and1<small class="fine d-inline"> </small>?</p> <p>en local, aucun problème. sur le distant, j'ai testé la boucle, et elle fonctionne. (donc spip-bonux, ok)</p> <p>quelqu'un a une idée<small class="fine d-inline"> </small>? merci d'avance :)</p> Création d'un menu langue plat pour SPIP 2.0 2010-04-08T16:56:17Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment428837 2010-04-08T16:56:17Z <p>Attention ta version ne changera pas la langue dans le cookie de SPIP et donc posera forcément problème à un endroit où un autre</p> Création d'un menu langue plat pour SPIP 2.0 2009-11-12T04:00:15Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment422969 2009-11-12T04:00:15Z <p>Oui c'est vrai Kent1 que mon cas est un peu particulier.</p> <p>Il s'agit en fait d'un site complètement traduit dans toutes les langues, et donc chaque article a forcément sa traduction dans les autres langues, et le titre de chaque rubriques est un multi.</p> <p>Je n'avais pas fait gaffe à cette nuance de cas effectivement, mais en tout cas ça m'a bien sauvé la vie et je me suis dit que ça pouviat servir ^^</p> Création d'un menu langue plat pour SPIP 2.0 2009-11-12T03:50:49Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment422968 2009-11-12T03:50:49Z <p>Cela marchera dans un cas optimal ou tu as au moins un article dans la chaque langue ce qui n'est pas obligatoire (cas complexes ou site pas encore traduits dans toutes les langues mais l'interface si ... site utilisant des multi dans les articles uniquement)...</p> <p>Donc pas valable dans tous les cas ...</p> <p>Dans le cas présent en plus on est sensé tomber sur la traduction de l'article et non pas l'article en cours il me semble par exemple</p> Création d'un menu langue plat pour SPIP 2.0 2009-11-12T03:31:59Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment422967 2009-11-12T03:31:59Z <p>Bonjour,</p> <p>en cherchant je suis finalement tombé sur une méthode qui fonctionne sans plugin, la solution ayant été donné par Fil :</p> <p>ça fonctionne quel que soit le nombre de langues :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_langues(ARTICLES){fusion lang}{par lang}> [<span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR"[(#LANG|=={#ENV{lang}}|?{class="on",''})]> <a href="[(#URL_ACTION{'converser'}|parametre_url{var_lang,#LANG}|parametre_url{redirect,#SELF})]" rel="alternate" hreflang="(#LANG|unique{langues})" title="[(#LANG|traduire_nom_langue)]"><img src="images/flag_#LANG.gif" height="13" width="21" alt="#LANG" /></a> </span>] </BOUCLE_langues></code></pre></div> <p>Pour en savoir plus, rendez vous sur le Wiki : <a href="http://www.spip-contrib.net/MenuLangSurClic" class="spip_out" rel='nofollow external'>http://www.spip-contrib.net/MenuLangSurClic</a></p> Création d'un menu langue plat pour SPIP 2.0 2009-10-14T16:15:28Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment421681 2009-10-14T16:15:28Z <p><i>les « a » sont remplacés par des « e » pour pouvoir passer « nospam »...</i></p> Création d'un menu langue plat pour SPIP 2.0 2009-10-14T16:13:40Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment421680 2009-10-14T16:13:40Z <p>Bonjour à tou(te)s,</p> <p>Je propose une très légère variante, utilisant #ENV<i>url</i> et qui change seulement le style de la langue en cours, sans la supprimer :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><div class="langues"> [(#SET{langues,[(#CONFIG{langues_multilingue}|explode{','}|serialize)]})] <BOUCLE_langues(POUR){tableau #GET{langues}}{' | '}> <e href="#ENV{url}&amp;var_lang=#VALEUR" class="[(#ENV{lang}|=={#VALEUR}|?{'on','off'})]">[(#VALEUR|traduire_nom_langue)]</e> </BOUCLE_langues> </div></code></pre></div> <p>Et voici le résultat :</p> <div class="langues"> عربي | français | Deutsch | English | Español </div> <p>Bonne utilsation,<br class="manualbr">Cyril</p> Création d'un menu langue plat pour SPIP 2.0 2009-10-01T07:57:39Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment421200 2009-10-01T07:57:39Z <p>MERCI Kent 1 et Romain<small class="fine d-inline"> </small>; )</p> <p>Serge</p> Création d'un menu langue plat pour SPIP 2.0 2009-09-23T14:07:22Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment420881 2009-09-23T14:07:22Z <p>Merci pour la suggestion.</p> <p>Effectivement c'est plus propre. Je n'avais pas réussi à le faire fonctionner donc je n'avais pas insisté vu que j'étais un peu pressé<small class="fine d-inline"> </small>!</p> <p>Alors maintenant que ça fonctionne, j'en profite pour transmettre le code complet... avec parenthèses et crochets et le rollover en plus...</p> <p><code class="spip_code spip_code_inline" dir="ltr"><img src="[(#CHEMIN{images/[(#VALEUR)].gif})]" onMouseOver="this.src='[(#CHEMIN{images/[(#VALEUR)]_f2.gif})]'" onMouseOut="this.src='[(#CHEMIN{images/[(#VALEUR)].gif})]'" alt="[(#VALEUR|traduire_nom_langue)]" border="0" width="20" height="19"/></code></p> Création d'un menu langue plat pour SPIP 2.0 2009-09-23T13:23:08Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment420879 2009-09-23T13:23:08Z <p>Une solution a été donnée par un autre utilisateur ... Tu ne peux utiliser un logo de rubrique à moins de reboucler sur les rubrique racines qui ont un logo de drapeau et qui ont la langue qui correspond à la balise <code class="spip_code spip_code_inline" dir="ltr">#VALEUR</code> mais c'est assez contraignant ...</p> Création d'un menu langue plat pour SPIP 2.0 2009-09-23T13:21:01Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment420877 2009-09-23T13:21:01Z <p>Hello</p> <p>Tu as fait :</p> <div class="precode"><pre class="spip_code spip_code_block language-SPIP" dir="ltr" style="text-align:left;" data-language="SPIP"><code><img src="squelettes/images/[(#VALEUR)].gif" alt="[(#VALEUR|traduire_nom_langue)]" border="0" width="20" height="19"/></code></pre></div> <p>qui marche sans aucun doute ...</p> <p>mais quelque chose comme ceci est peut être plus propre...</p> <div class="precode"><pre class="spip_code spip_code_block language-SPIP" dir="ltr" style="text-align:left;" data-language="SPIP"><code><img src="#CHEMIN{images/#VALEUR.gif}" alt="[(#VALEUR|traduire_nom_langue)]" border="0" width="20" height="19"/></code></pre></div> <p>Si un jour ton squelette devient un plugin squelette ou que tu changes le nom de ton répertoire squelette cela devrait continuer à fonctionner ... avec ta solution non ...</p> <p>C'était juste pour info sinon la solution de départ est bonne.</p> Création d'un menu langue plat pour SPIP 2.0 2009-09-23T09:19:41Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment420870 2009-09-23T09:19:41Z <p>Bonjour,</p> <p>J'ai intégré mes drapeaux de la manière suivante :</p> <p>J'ai remplacé <code class="spip_code spip_code_inline" dir="ltr">[(#VALEUR|traduire_nom_langue)]</code></p> <p>par :<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr"><img src="squelettes/images/[(#VALEUR)].gif" alt="[(#VALEUR|traduire_nom_langue)]" border="0" width="20" height="19"/></code></p> <p>VALEUR correspond aux deux lettres de la langue. Je nomme donc mon image en.gif pour l'anglais par exemple et je la place dans le dossier images du dossier squelettes...</p> Création d'un menu langue plat pour SPIP 2.0 2009-09-10T10:24:10Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment420394 2009-09-10T10:24:10Z <p>Bonjour</p> <p>Merci pour la contrib<small class="fine d-inline"> </small>!</p> <p>Est-il possible d'insérer un logo pour les langues affichées<small class="fine d-inline"> </small>? (ce serait pour mettre un drapeau)</p> <p>Je ne trouve pas comment insérer un #LOGO_RUBRIQUE ...</p> <p>Merci pour une piste,</p> <p>Serge</p> Création d'un menu langue plat pour SPIP 2.0 2009-08-06T16:31:44Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment419021 2009-08-06T16:31:44Z <p>Corrigé. Merci<small class="fine d-inline"> </small>!</p> Création d'un menu langue plat pour SPIP 2.0 2009-08-06T16:03:20Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment419017 2009-08-06T16:03:20Z <p>erreur code pour le sommaire</p> <p>a href="</p> <p>au lieu de</p> <p>a href=</p> ne marche pas sur la page sommaire.html.... 2009-07-05T18:11:07Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment417978 2009-07-05T18:11:07Z <p>Excellente idée. Je viens de l'ajouter à mon site en construction avec le squelette <a href="http://www.spip-contrib.net/Squelette-Median" class="spip_out" rel='nofollow external'>median</a>. Par contre, les liens 'français' et 'english' renvoient sur une page 'erreur 404' à partir de la page sommaire.html. Une idée d'où pourrait venir le problème et comment le résoudre<small class="fine d-inline"> </small>? J'ai installé SPIP 2 et je découvre SPIP depuis très peu.</p> <p>D'avance merci beaucoup<small class="fine d-inline"> </small>!</p> Création d'un menu langue plat pour SPIP 2.0 2009-07-01T11:55:19Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment417829 2009-07-01T11:55:19Z <p>Une adaptation du #MENU_LANG est effectivement possible... avec un peu de php etc</p> <p>L'utilisation de SPIP-BONUX reste nécessaire pour le faire uniquement en boucles spip</p> <p>Là l'intérêt était aussi de montrer que tout cela était faisable uniquement à partir de boucles SPIP... donc sans réelles connaissances de php... par tout un chacun, stylable comme il le souhaite etc ....</p> Création d'un menu langue plat pour SPIP 2.0 2009-06-29T14:34:30Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment417765 2009-06-29T14:34:30Z <p>Dans ce cas il faudra bien préciser cette nécessité d'avoir un site symétrique dans ses traductions.</p> <p>Pourquoi ne pas adapter la balise <code class="spip_code spip_code_inline" dir="ltr">#MENU_LANG</code><small class="fine d-inline"> </small>? Le plugin SPIP-Bonux est-il véritablement indispensable<small class="fine d-inline"> </small>?</p> Création d'un menu langue plat pour SPIP 2.0 2009-06-29T14:17:28Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment417763 2009-06-29T14:17:28Z <p>Le #MENU_LANG est efficace, mais cette balise génère un menu déroulant qui ne correspond pas toujours à l'esthétique souhaitée. Aussi, comme tu l'as bien compris, l'intérêt de cette contribution est effectivement de permettre de pointer directement vers l'article traduit lors du changement de langue. Cela implique que le site est traduit de manière symétrique. <br class="autobr"> Lorsque l'article orignal n'a pas de traduction, celui renvoie à une erreur 404... ce qui n'est pas normal. Je vais voir comment améliorer ceci. Merci pour ton message.</p> Création d'un menu langue plat pour SPIP 2.0 2009-06-29T12:03:35Z https://contrib.spip.net/Creation-d-un-menu-langue-plat#comment417753 2009-06-29T12:03:35Z <p>J'ai du mal à comprendre l'intérêt de cette contrib...</p> <p>Il me semble que SPIP met à disposition un menu de langue qui propose automatiquement les langues utilisées sur le site, et que l'on appelle très simplement par la balise <code class="spip_code spip_code_inline" dir="ltr">#MENU_LANG</code>... À vérifier...</p> <p>Deuxio, je réalise chose semblable, sans plugin, sur <a href="http://www.kazuko-wakayama.com" class="spip_out" rel='nofollow external'>ce site trilingue</a> par exemple, où le code utilisé tient en une ligne, grâce au critère <code class="spip_code spip_code_inline" dir="ltr">{fusion}</code> : <code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_langues(ARTICLES){!par lang}{" | "}{fusion lang}><a href="[(#URL_SITE_SPIP|parametre_url{lang,#LANG})]">[(#LANG|traduire_nom_langue)]</a></BOUCLE_langues></code></p> <p>Ce n'est pas dit dans l'article ci-dessus, mais... l'intérêt de cette contrib est-il qu'en changeant la langue, on pointe non pas vers la page d'accueil, mais vers la traduction de l'objet en cours<small class="fine d-inline"> </small>? Cela suppose que le site est traduit de façon parfaitement symétrique, n'est-ce pas<small class="fine d-inline"> </small>? Que se passe-t-il lorsqu'on demande l'anglais depuis un article français non traduit<small class="fine d-inline"> </small>? Idem, quand on demande l'anglais depuis une rubrique qui ne contient que des articles français<small class="fine d-inline"> </small>? Comment l'internaute est-il prévenu de ces comportements différents et désagréablement imprévisibles<small class="fine d-inline"> </small>?</p>