Formulaire menu_lang plat sans URL sur la langue sélectionnée - commentaires Formulaire menu_lang plat sans URL sur la langue sélectionnée 2009-06-20T08:29:32Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment417539 2009-06-20T08:29:32Z <p>pour les utilisateurs de spip 2.0, il y a également cette page à consulter qui apporte des éléments de réponse :<br class="autobr"> <a href="http://www.spip-contrib.net/MenuLangSurClic" class="spip_out" rel='nofollow external'>http://www.spip-contrib.net/MenuLangSurClic</a></p> Bandeau langues façon Spip.net et n'afficher les langues que s'il en existe plusieurs 2009-06-17T22:22:02Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment417470 2009-06-17T22:22:02Z <p>Je mets le résultat de la discussion sur le forum <a href="http://forum.spip.org/fr_208821.html" class="spip_out" rel='nofollow external'>Bandeau langues façon Spip.net</a></p> <p>En rajoutant le critère <code class="spip_code spip_code_inline" dir="ltr">{fusion lang}</code> (qui me sauve<small class="fine d-inline"> </small>!) et un test sur la balise <code class="spip_code spip_code_inline" dir="ltr">#TOTAL_BOUCLE</code> , j'y suis arrivé à ce code :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><p class="langues"> <span class="invisible"><:info_langues:> : </span> <BOUCLE_langues(RUBRIQUES){racine}{fusion lang}{par lang}> [(#TOTAL_BOUCLE|>{1}|?{<span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR"[ (#LANG|=={#ENV{lang}}|?{class="on",''})]>[&#91;<a href="#URL_SITE_SPIP/?lang=#LANG" rel="alternate" title="[(#LANG|traduire_nom_langue)]">(#LANG|unique{langues})</a>&#93;] </span>})] </BOUCLE_langues> </p></code></pre></div> <p>Le menu des langues apparaît seulement s'il y a au moins deux langues.</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2009-05-29T21:26:39Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment416845 2009-05-29T21:26:39Z <p>je n'arrive pas à integrer la fonction de traduction des articles en même temps que celle du site, j'ai essayé cette contrib ainsi que celles proposées dans le forum mais rien n'y fait , j'ai l'impression que c'est une question de version, n'y a t-il pas quelqu'un qui aurait la solution<small class="fine d-inline"> </small>?<br class="autobr"> <a href="http://anglais.maternelle.free.fr/spip.php?article9&lang=en" class="spip_url spip_out auto" rel="nofollow external">http://anglais.maternelle.free.fr/spip.php?article9&lang=en</a></p> <p>audedo</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2009-03-23T10:30:52Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment414649 2009-03-23T10:30:52Z <p>Finalement le plus a jour est là je crois :<br class="autobr"> <a href="http://programmer.spip.org/Forcer-un-changement-de-langue-d" class="spip_out" rel='nofollow external'>http://programmer.spip.org/Forcer-un-changement-de-langue-d</a></p> A voir 2009-03-17T13:05:38Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment414496 2009-03-17T13:05:38Z <p>un complément ici :<br class="autobr"> <a href="http://www.spip-contrib.net/MenuLangSurClic" class="spip_out" rel='nofollow external'>http://www.spip-contrib.net/MenuLangSurClic</a></p> Liens non créés 2009-03-04T04:48:38Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment414059 2009-03-04T04:48:38Z <p>Bonjour, et merci pour cette contrib.</p> <p>J'essaie d'utiliser sur un site SPIP 2.O.3<br class="autobr"> Les liens s'affichent biens, mais sans l'url elle même<small class="fine d-inline"> </small>!</p> <p>Ca me génère le lien suivant : <br class="autobr"> href=«<small class="fine d-inline"> </small>http://127.0.0.1/RAS2/spip.php?action=cookie&var_lang=fr<small class="fine d-inline"> </small>» qui m'envoie dans l'espace privé.</p> <p>Est ce du à Spip 2<small class="fine d-inline"> </small>? Que puis je faire<small class="fine d-inline"> </small>? Je ne comprend rien à la partie php... je suppose que c'est là<br class="autobr"> parametre_url(self(true), '&')<br class="autobr"> que réside le problème, mais...<small class="fine d-inline"> </small>?</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2009-02-03T14:59:28Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment412981 2009-02-03T14:59:28Z <p>Bonjour, je vous conseille de regarder de ce côté-là :<br class="autobr"> <a href="http://www.spip-contrib.net/Traduction-d-un-article-ET-de-l" class="spip_out" rel='nofollow external'>Traduction d'un article ET de l'interface d'un clic</a></p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2009-02-03T14:46:54Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment412980 2009-02-03T14:46:54Z <p>Y-a-t'il un moyen, au clic sur le lien anglais, de renvoyer sur une page entièrement traduite<small class="fine d-inline"> </small>?<br class="autobr"> Car la traduction marche essentiellement pour les éléments spip, et j'aimerais que ma propre page traduite soit affichée.</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2009-01-07T09:05:10Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment411884 2009-01-07T09:05:10Z <p>Bonjour,</p> <p>J'utilise ce script sur mon <a href="http://www.maloya.org/" class="spip_out" rel='nofollow external'>site</a> mais il y a un petit disfonctionnement.</p> <p>En effet, l'url généré n'est pas du tout (80% des cas) celui de la page courante. Je suis sous SPIP 1.9.2g</p> <p>Avez-vous des suggestions<small class="fine d-inline"> </small>?</p> Pb dû au cache<small class="fine d-inline"> </small>? 2008-05-24T13:20:44Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment406327 2008-05-24T13:20:44Z <p>Bonjour,</p> <p>Cela à l'air de marcher parfaitement :-) ... si on n'oublie pas de vider le cache ds la partie admin.<br class="autobr"> Je vous remercie de votre intervention... et de cette contrib<small class="fine d-inline"> </small>!!!</p> <p>Meilleures salutations</p> <p>Vin.</p> Menu plat - compatibilité 1.9.3 2008-05-23T07:29:08Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment406298 2008-05-23T07:29:08Z <p>En fait, en cherchant un peu les différent propositions de code je me suis bricolé celui ci</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><?php function url_lang ($langues) { $texte = ''; $tab_langues = explode(',', $GLOBALS['meta']['langues_multilingue']); while ( list($clef, $valeur) = each($tab_langues) ) if ($valeur == $GLOBALS['spip_lang']) { $texte .= '<li> | '.traduire_nom_langue($valeur).'</li>'; } else { $cible = str_replace('&amp;', '&', parametre_url(self( /* racine */ true), 'lang', ''.$valeur.'','&')) ; $texte .= '<li> | <a href="'.parametre_url(generer_url_action('cookie'), 'url', $cible, '&').'">'.traduire_nom_langue($valeur).'</a></li>'; } return $texte; } ?></code></pre></div> <p>Si ce code crée bien les liens de langue (fonctionnant aussi avec les URLs propres)il ne paraît pas poser le cookie de langue ce qui oblige a faire parametre_url<i>lang,#ENV<i>lang</i> pour les liens en question.</i></p> <p>Quelqu'un pourrait me dire ce qui cloche<small class="fine d-inline"> </small>?</p> <p>Merci<br class="autobr"> Rainer</p> Pb dû au cache<small class="fine d-inline"> </small>? 2008-05-22T18:11:39Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment406288 2008-05-22T18:11:39Z <p>Bonjour, a priori si l'on rajoute à la ligne « else » du fichier mes_fonctions.php <code class="spip_code spip_code_inline" dir="ltr">$GLOBALS['delais'] = 0;</code> ça marche bien. Merci de me dire s'il y a encore des problèmes. Ce qui donne :</p> <p><code class="spip_code spip_code_inline" dir="ltr"> else { $GLOBALS['delais'] = 0;</code></p> <p>Le code est mis à jour dans l'article ci-dessus.</p> Menu plat - compatibilité 1.9.3 2008-05-22T17:57:50Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment406287 2008-05-22T17:57:50Z <p>Je ne pense pas travailler sur la question avant la sortie effective de la 1.9.3...</p> <p>Si vous avez des idées, n'hésitez pas<small class="fine d-inline"> </small>!</p> Menu plat - compatibilité 1.9.3 2008-05-09T09:22:06Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment405807 2008-05-09T09:22:06Z <p>Bonjour,</p> <p>Je viens d'essayer ce menu avec un spip 1.9.3 dev [11578] et chaque fois que je clique sur le lien je suis renvoié à l'espace interne.</p> <p>Comment faire pour faire cette contrib compatible avec 1.9.3</p> <p>Merci<br class="autobr"> Rainer</p> Pb dû au cache<small class="fine d-inline"> </small>? 2008-05-06T13:00:38Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment405730 2008-05-06T13:00:38Z <p>Bonjour,</p> <p>Tout d'abord merci de votre réponse.<br class="autobr"> La piste semble plausible.<br class="autobr"> J'ai fait l'essai en rajoutant : <code class="spip_code spip_code_inline" dir="ltr">#CACHE{0}</code> au début des squelettes : sommaire, rubrique et article.html<br class="autobr"> Résultat : aucun changement notoire malheureusement<small class="fine d-inline"> </small>!<br class="autobr"> Le changement de langue s'effectue toujours correctement mais cela ne renvoie pas sur la bonne page.</p> <p>Cela <strong>fonctionne</strong> si, dans une page je clic sur le bouton « Recalculer la page » : Là le lien se fait parfaitement.</p> <p>Mais après : tous les changement de langue ramène à cette dernière traduction : comme si le numéro de l'article ou de la rubrique étais « scotché » une 1<sup class="typo_exposants">re</sup> fois dans le lien langue.</p> <p>Je continue à chercher mais je ne suis pas très à l'aise en php.</p> <p>Salutations</p> <p>Vin.</p> Pb dû au cache<small class="fine d-inline"> </small>? 2008-05-05T20:39:34Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment405704 2008-05-05T20:39:34Z <p>J'ai remarqué récemment un dysfonctionnement mais apparemment pas le même : je suis sur la page accueil en EN. Je vais à la page recherche. Je change la langue : FR. Je navigue vers des pages que je n'ai pas encore visité : tout va bien. Je reviens à la page accueil, elle s'affiche en EN.</p> <p>Dans les deux cas je crois que c'est lié au cache de SPIP. Si jamais je mets le cache à 0 dans le squelette, le problème disparaît. Non<small class="fine d-inline"> </small>?</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2008-05-01T13:23:25Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment405603 2008-05-01T13:23:25Z <p>Bonjour,</p> <p>J'ai utilisé ce menu de mon site.<br class="autobr"> Il s'affiche correctement<br class="autobr"> Il se trouve que le lien de traduction se retrouve « fixer » : je m'explique : <br>- Je vide le cache ds l'interface admin <br>- je vais sur le site... et navigue... je demande un changement de langue pour l'article X : ça fonctionne <br>- si je continue à naviguer et redemande une traduction d'un autre article... le lien me renvoie toujours sur la traduction de l'article X, et cela même si je me connecte avec une autre machine.<br class="autobr"> ... ds l'urgence je l'ai fait sur la homepage... mais c'est pas très pratique.</p> <p>Avez-vous une idée<small class="fine d-inline"> </small>?</p> <p>Merci de votre collaboration</p> <p>Vin.</p> menu_lang plat une langue par secteur<small class="fine d-inline"> </small>? 2007-12-20T12:32:20Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment401396 2007-12-20T12:32:20Z <blockquote class="spip"> <p>Pour le plugin dont tu me parles. Il permettrait donc aux utilisateurs du back office de creer des rubriques et sous rubriques sans avoir a saisir les balises multi et [es][fr][en]<small class="fine d-inline"> </small>? j'ai juste<small class="fine d-inline"> </small>?</p> </blockquote> <p>Tout a fait</p> <p>Mais pour le conflit avec fckeditor, je ne sais pas... Essaye</p> menu_lang plat une langue par secteur<small class="fine d-inline"> </small>? 2007-12-20T11:19:20Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment401394 2007-12-20T11:19:20Z <p>Bonjour et merci,</p> <p>J'ai lu un peu tout ce qui existe sur le sujet mais suis parfois un peu flippé de lire des articles plus adaptés à la version 9.2 de spip. Quoi qu'il en soit j'ai effectivement mis en place une arborescence via les blocs multi ( donc sans duplication de l'arbo par secteur langue)<br class="autobr"> ensuite je procede par traduction d'articles.<br class="autobr"> ça marche niquel<small class="fine d-inline"> </small>!</p> <p>Pour le plugin dont tu me parles. Il permettrait donc aux utilisateurs du back office de creer des rubriques et sous rubriques sans avoir a saisir les balises multi et [es][fr][en]<small class="fine d-inline"> </small>? j'ai juste<small class="fine d-inline"> </small>?</p> <p>sais tu s'il rentre en conflit avec fckeditor<small class="fine d-inline"> </small>?</p> <p>Voilà j'ai des milliers d'autres questions parceque je démarre juste mais c'est plutot super bien foutu spip<small class="fine d-inline"> </small>!.</p> <p>Merci de ton aide</p> <p>Fourmy</p> <p>[ j'ai biensur répondu à l'alerte mail (ce qu'il ne fallait pas faire<small class="fine d-inline"> </small>!) avant de capter le lien vers le forum- Désolé]</p> menu_lang plat une langue par secteur<small class="fine d-inline"> </small>? 2007-12-19T22:20:13Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment401390 2007-12-19T22:20:13Z <p>Tu peux d'abord lire ca si tu ne l'a pas encore fait :</p> <p><a href="http://www.spip.net/fr_rubrique467.html" class="spip_out" rel='nofollow external'>http://www.spip.net/fr_rubrique467.html</a></p> <p>Apres, y'a un super plugin basé sur l'utilisation des blocs multi. Qui permet donc de garder une seule arborescence : extension_multilingue_pour_BTV2</p> menu_lang plat une langue par secteur<small class="fine d-inline"> </small>? 2007-12-17T14:53:21Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment401316 2007-12-17T14:53:21Z <p>Bonjour,<br class="autobr"> j'essaie de mettre en place un site multilingue fr-en-es. <br class="autobr"> J'ai du mal à comprendre et ma logique actuelle serait de traduire les rubriques.<br class="autobr"> par exemple rubrique 1 présentation [en français] puis une traduction de la rubrique en espagnol et une autre traduction pour l'affichage de la rubrique 1 en anglais<br class="autobr"> Seulement acuellement je n'ai pas la possibilité de traduire les rubriques. Pourtant j'ai bien configuré la gestion des langues sur « Activer le menu de langue sur les rubriques »</p> <p>ou alors une langue par rubrique<small class="fine d-inline"> </small>?</p> <p>merci de vos éclaircissements.</p> <p>Fourmy</p> merci + contrib à jour 2007-11-30T00:17:13Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400654 2007-11-30T00:17:13Z <p>Merci beaucoup pour ta contribution Michael, ça marche impec. <br class="autobr"> A priori je trouve ça plutôt safe, on verra à l'usage<small class="fine d-inline"> </small>!</p> <p>J'ai mis à jour la contrib, du coup :-)</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-11-29T13:24:27Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400632 2007-11-29T13:24:27Z <p>Bravo cette modification me donne parfaitement satisfaction et j'obtiens enfin un menu de langues plat dans un site multiligue qui n'utilise que la gestion des différentes traductions avec les balise « multi ». Gestion très facile avec le plugin « extension_multilingue_pour_BTV2 ».<br class="autobr"> J'espère aussi que ce code, qui marche apparemment bien, est fiable et sans effet négatif sur le fonctionnement général de Spip.<br class="autobr"> Merci beaucoup<br class="autobr"> Antoine</p> URL<small class="fine d-inline"> </small>? site local pour l'instant<small class="fine d-inline"> </small>! 2007-11-29T04:35:54Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400621 2007-11-29T04:35:54Z <p>Merci de ton retour dans le débat Natalia<small class="fine d-inline"> </small>!</p> <p>Voici la méthode de contournement trouvée ce matin. Il suffit de remplacer la déclaration de la variable $tab_langues</p> <p><code class="spip_code spip_code_inline" dir="ltr">$tab_langues = explode(",",$langues);</code></p> <p>par</p> <p><code class="spip_code spip_code_inline" dir="ltr">$tab_langues = explode(',', $GLOBALS['meta']['langues_multilingue']);</code></p> <p>Avantage de la méthode : elle fonctionne aussi au niveau des articles et des brèves avec l'appel proposé dans la contrib :</p> <p><code class="spip_code spip_code_inline" dir="ltr">[<div class="menu_langues">(#CONFIG{langues_utilisees}|url_lang)</div>]</code></p> <p>Comme je en suis pas un codeur, pas même un patcheur, je m'inquiète d'éventuelles conséquences imprévues. Une idée sur le sujet<small class="fine d-inline"> </small>? Est-ce <i>“safe”</i><small class="fine d-inline"> </small>?</p> URL<small class="fine d-inline"> </small>? 2007-11-28T21:08:41Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400612 2007-11-28T21:08:41Z <p>Bonjour, merci à Michael d'avoir « sonné » ma boîte mail pour que je vienne faire un tour ici :-)</p> <p>Avant toute chose j'ai besoin de l'URL du site qui pose problème<small class="fine d-inline"> </small>?<br class="autobr"> Et de celle du plugin « multilingue » que je ne connais pas et que je soupçonne un peu.</p> <p>Voilà une URL où ça marche avec Spip 1.9.2c : <a href="http://www.new-school-of-athens.org/" class="spip_out" rel='nofollow external'>http://www.new-school-of-athens.org/</a></p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-11-28T17:25:20Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400611 2007-11-28T17:25:20Z <blockquote class="spip"> <p>Sur la page «<small class="fine d-inline"> </small>config_multilang<small class="fine d-inline"> </small>» le «<small class="fine d-inline"> </small>Français<small class="fine d-inline"> </small>» (lien vert) est affiché mais pas le lien «<small class="fine d-inline"> </small>Anglais<small class="fine d-inline"> </small>» alors que cette langue est cochée plus bas dans la liste.</p> </blockquote> <p>Le français apparaît ainsi car c'est la langue principale du site. Les langues de traduction sont simplement cochées dans la liste.</p> <blockquote class="spip"> <p>Cependant, quand j'utilise un menu PLAT pour le choix entre l'anglais et le français, toutes les formules ne donnent que le français.</p> </blockquote> <p>Nous en sommes au même point : j'obtiens exactement le même comportement sur mon site. J'ai testé un double affichage (#MENU_LANG et menu_lang plat) dans ma page sommaire. Résultat : le français est affiché seul à plat alors que le menu local me propose bien les deux langues.</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-11-26T21:58:56Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400544 2007-11-26T21:58:56Z <p>Cela ne donne toujours rien (même avec les bons fichiers « options.. » et « fonctions.. » au bon emplacement). Sur la page « config_multilang » le « Français » (lien vert) est affiché mais pas le lien « Anglais » alors que cette langue est cochée plus bas dans la liste. Il n'y a pas de traduction d'articles en anglais, mais les titres et les textes sont présents dans les articles en français et en anglais avec les balises , et le changement de langue fonctionne bien dans le site public et privé avec la balise #MENU_LANG. <br class="autobr"> Cependant, quand j'utilise un menu PLAT pour le choix entre l'anglais et le français, toutes les formules ne donnent que le français, car c'est la seule langue reconnue comme étant utilisée dans le site, pourquoi<small class="fine d-inline"> </small>?</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-11-23T07:29:37Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400435 2007-11-23T07:29:37Z <p>Tout petit détail complémentaire : vérifie que tu as bien un fichier mes_fonction<strong>s</strong>.php dans squelettes/ et pas mes_fonction.php comme écrit dans ton message<small class="fine d-inline"> </small>;-)</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-11-23T07:25:50Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400434 2007-11-23T07:25:50Z <p>Une source d'erreur certaine : le fichier mes_options.php se range désormais dans config/ avec la version 1.9.2. Pour plus de détails : <a href="http://www.spip.net/fr_article3567.html" class="spip_url spip_out" rel='nofollow external'>http://www.spip.net/fr_article3567.html</a>, paragraphe sur la réorganisation des répertoires<small class="fine d-inline"> </small>!</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-11-15T17:32:23Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment400234 2007-11-15T17:32:23Z <p>Dans un site (SPIP 1.9.2c [10268]) configuré en multilingue, avec un menu de langue activé sur les articles et les rubriques, tous les titres : du site, des rubriques et des articles sont bien gérés au changement de langue avec les balises (utilisation du plugin : extension_multilingue_pour_BTV2). L'affichage des bons textes des différentes traductions se fait bien aussi dans toutes les pages. L'option : $forcer_lang = true<small class="fine d-inline"> </small>; est présente dans mes_options.php (dossier ecrire) et filtre <i>lang</i> est utilisé sur les boucles.<br class="autobr"> Pourtant ce script présent dans mes_fonction.php (dossier squelettes) et bien appelé dans les squelettes ne donne RIEN.<br class="autobr"> J'ai sans doute oublié quelque chose, mais quoi<small class="fine d-inline"> </small>?<br class="autobr"> Antoine</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-09-23T21:27:45Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment398363 2007-09-23T21:27:45Z <p>Les répertoires d'Alternatives ont été remaniés. Voici le bon lien : <br>- <a href="http://zone.spip.org/trac/spip-zone/browser/_squelettes_/alter/alternatives/inc/inc-bas_menu-lang.html" class="spip_out" rel='nofollow external'>inc-bas_menu-lang.html</a></p> <p>Pour information : ce menu de langues fonctionne mieux si on indique dans <strong>mes_options.php :</strong> <code class="spip_code spip_code_inline" dir="ltr">$forcer_lang = true ;</code></p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-09-19T07:59:42Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment398156 2007-09-19T07:59:42Z <p>Comment récupérer le menu lang : <a href="http://zone.spip.org/trac/spip-zone/browser/_squelettes_/alter/themes/alternatives/inc/inc-bas_menu-lang.html" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/browser/_squelettes_/alter/themes/alternatives/inc/inc-bas_menu-lang.html</a> l'url ne marche plus.<br class="autobr"> Merci beaucoup.</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-08-06T08:56:33Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment396703 2007-08-06T08:56:33Z <p>Mais vous parlez le FRANCAIS, il est donc normal pour symboliser le FRANCAIS de mettre un drapeau FRANCAIS, au même titre que de mettre un drapeau ESPAGNOL pour l'ESPAGNOL, même s'il est parlé dans d'autres pays.</p> Mise à jour de la contrib en 1.9.2 2007-07-30T16:24:38Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment396549 2007-07-30T16:24:38Z <p>Après test des 2 modifications proposées pour la fonction <strong>url_lang()</strong> sur un spip version 1.9.3 [9398] utilisant les <strong>url_propres</strong>, seul le code de la première mise à jour (celle du 16 mars) semble fonctionner.</p> <p>Pour compléter, si on veut afficher les langues en entier (English - Français...) cette fonction donne donc :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function url_lang ($langues) { $texte = ''; $tab_langues = explode(",",$langues); while ( list($clef, $valeur) = each($tab_langues) ) if ($valeur == $GLOBALS['spip_lang']) { $texte .= ''.traduire_nom_langue($valeur).' '; } else { $cible = str_replace('&', '&', parametre_url(self(true), 'lang', ''.$valeur.'')); $texte .= '<a href="'.parametre_url(generer_url_action('cookie'), 'url', $cible, '&').'">'.traduire_nom_langue($valeur).' </a>'; } return $texte; }</code></pre></div> <p>Ne pas oublier de paramétrer la variable de personnalisation <strong>$forcer_lang</strong> à <strong>true</strong> dans le fichier <strong>mes_options.php</strong> si on souhaite que l'intégralité de la navigation passe dans la langue souhaitée lors du clic sur un lien de traduction.</p> <p>Merci pour cette contrib très pratique<small class="fine d-inline"> </small>!</p> Pourquoi il ne faut pas toujours passer par des boucles SPIP 2007-06-19T14:49:12Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment395180 2007-06-19T14:49:12Z <p>Je vais nuancer quand même mon propos :</p> <p>La requete générée par la boucle d'Alternative utilise en fait le champ « lang » qui est un champ indexé dans les tables MySQL. La consommation est donc assez faible.</p> <p>Cependant, ce calcul a déjà été fait par SPIP (via la fonction <a href="http://doc.spip.org/@calculer_langues_utilisees" class="spip_out" rel='nofollow external'>calculer_langues_utilisees</a>).</p> <p>Conclusion : c'est pas trop grave de refaire la même chose, mais on consomme un peu quand même..</p> Pourquoi il ne faut pas toujours passer par des boucles SPIP 2007-06-19T14:34:33Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment395179 2007-06-19T14:34:33Z <p>la contrib utilise un tableau PHP qui est alimenté à chaque appel de page par SPIP. Il n'y a donc aucun parcours dans la base. L'avantage est que la construction du menu est très rapide.</p> <p>A l'inverse, le menu tel qu'il est calculé dans le squelette Alternative à l'inconvénient majeur de reparcourir l'ensemble des rubriques à chaque fois qu'il est reconstruit. Il n'y a rien de pire côté perfs que des boucles qui parcourent la totalité d'une table : derrière, c'est des requetes SQL qui tournent et un parcourt complet ne permet aucune optimisation (utilisation des index, etc..). Pour peu que le site présente un grand nombre de rubriques, avec une mauvaise mise en cache du menu, la chute des perfs devient vite sensible.</p> <p>Au passage le fichier <a href="http://trac.rezo.net/trac/spip-zone/browser/_squelettes_/alter/themes/alternatives/inc/inc-bas_menu-lang.html?rev=9677" class="spip_out" rel='nofollow external'>inc-bas_menu-lang.html</a> ne possède pas d'instruction #CACHE{} ...</p> <p>Pour ma part, je préfère avoir un côté pragmatique, lorsque la beauté du code ne se justifie pas. Cette contrib est à mes yeux nettement meilleure .</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-23T19:51:42Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment392359 2007-03-23T19:51:42Z <p>C'est sympa comme approche, mais qu'est-ce qu'on fait avec les url_propres<small class="fine d-inline"> </small>?</p> <p>FDM</p> Mise à jour de la contrib en 1.9.2 (+ toutes versions<small class="fine d-inline"> </small>?) 2007-03-17T15:18:26Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment392134 2007-03-17T15:18:26Z <p>Fonction simplifiée qui devrait marcher sur toutes les versions de spip.... (à confirmer) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>// menu_lang plat sans URL sur la langue sélectionnée function url_lang ($langues) { $texte = ''; $tab_langues = explode(",",$langues); while ( list($clef, $valeur) = each($tab_langues) ) if ($valeur == $GLOBALS['spip_lang']) { $texte .= '<span class="languencours">'.$valeur.'</span> '; } else { $texte .= '<a href="spip.php?action=cookie&url=%2Fspip.php%3Frubrique11&var_lang='.$valeur.'">'.$valeur.' </a>'; } return $texte; } //fin</code></pre></div> <p>J'ai ajouté une classe sur la langue en cours, afin de la personnaliser. Remplacez la fonction + ajoutez une classe nommée « languencours » à votre feuille de styles.</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-17T00:38:23Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment392119 2007-03-17T00:38:23Z <p>Ce que je me dis : #Menu_LANG sert à changer la langue de l'interface, et non pas des articles. Les langues des articles sont gérées par les boucles de traduction...</p> <p>... mais il y a pas mal de combinaisons possibles, alors si ça peut être utile dans l'une ou l'autre, tant mieux :-)</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-17T00:01:50Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment392118 2007-03-17T00:01:50Z <p>Cela peut être utile lorsque l'on a décidé de ne pas appliquer le multilinguisme aux rubriques mais seulement aux articles, non<small class="fine d-inline"> </small>?</p> Mise à jour de la contrib en 1.9.2 2007-03-16T20:09:01Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment392110 2007-03-16T20:09:01Z <p>Mise à jour de la fonction suite au passage en 1.9.2a :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function url_lang ($langues) { $texte = ''; $tab_langues = explode(",",$langues); while ( list($clef, $valeur) = each($tab_langues) ) if ($valeur == $GLOBALS['spip_lang']) { $texte .= ''.$valeur.' '; } else { $cible = str_replace('&', '&', parametre_url(self(true), 'lang', ''.$valeur.'')); $texte .= '<a href="'.parametre_url(generer_url_action('cookie'), 'url', $cible, '&').'">'.$valeur.' </a>'; } return $texte; }</code></pre></div> <p>Il faut juste remplacer la fonction de l'article par celle-ci dans le fichier mes_fonctions.php</p> Url bizarre et variable bloquée 2007-03-13T13:11:16Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391993 2007-03-13T13:11:16Z <p>J'ai eu ce même problème et j'ai pu le corriger en modifiant légèrement la fonction :<br class="autobr"> Il faut remplacer la ligne :</p> <p>$cible = str_replace('&', '&', parametre_url(self( /* racine */ true), 'lang', ''.$valeur.''))<small class="fine d-inline"> </small>;</p> <p>par :</p> <p>$cible = str_replace('<strong>& amp<small class="fine d-inline"> </small>;</strong>', '&', parametre_url(self( /* racine */ true), 'lang', ''.$valeur.''<strong>,'&'</strong>))<small class="fine d-inline"> </small>;</p> <p>Bien entendu il faut enlever l'espace entre « & » et « amp<small class="fine d-inline"> </small>; »</p> <p>A+++</p> Url bizarre et variable bloquée 2007-03-11T17:09:22Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391942 2007-03-11T17:09:22Z <p>Je vais bientôt passer le site sur lequel j'ai dû mettre en place cette contrib sur 1.9.2, je vous tiens au courant...</p> Url bizarre et variable bloquée 2007-03-11T16:56:11Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391940 2007-03-11T16:56:11Z <p>La dernière version : 1.9.2</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-11T12:02:48Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391936 2007-03-11T12:02:48Z <p>Je l'ai cherchée cette contrib<small class="fine d-inline"> </small>!! Merci<small class="fine d-inline"> </small>!!</p> <p>Mais ça ne me satisfait pas sur un point : les langues changent d'ordre en fonction de la langue choisie... et sur mon cahier des charges l'ordre ne doit pas bouger :-(....</p> Url bizarre et variable bloquée 2007-03-11T11:59:21Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391935 2007-03-11T11:59:21Z <p>Quelle version de spip<small class="fine d-inline"> </small>?</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-10T15:38:10Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391915 2007-03-10T15:38:10Z <p>Mais un exemple où les drapeaux ont leur sens : je gère des sites franco-allemands au sens France-Allemagne. Donc ils ne concernent ni l'Autriche, ni la Suisse, ni la Belgique...</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-09T20:55:04Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391882 2007-03-09T20:55:04Z <p>Et pourquoi pas une solution purement SPIP, sans PHP, ni de fichier <i>mes_fonctions.php</i><small class="fine d-inline"> </small>?</p> <p>- Une BOUCLE de <a href="http://zone.spip.org/trac/spip-zone/browser/_squelettes_/alter/themes/alternatives/inc/inc-bas_menu-lang.html" class="spip_out" rel='nofollow external'>Menu de langues</a></p> <p>- <a href="http://www.stages.alternatives.ca" class="spip_out" rel='nofollow external'>Exemple d'application</a></p> Url bizarre et variable bloquée 2007-03-09T17:27:47Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391868 2007-03-09T17:27:47Z <p>Bon, j'ai utilisé la fonction telle quelle, mais ça ne marche pas. L'url ne correspond pas au lien et la variable langue n'est pas transmise. On dirait qu'il y a des « amp » qui se perdent et le n° de la rubrique ou de l'article reste bloqué...</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-09T16:13:00Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391863 2007-03-09T16:13:00Z <p>Fausse alerte, j'ai parlé trop vite. La variable transmise pour le néerlandais est bien NL. Donc tout est ok Natalia. Désolé pour les chipos inutiles...</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-09T16:00:28Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391861 2007-03-09T16:00:28Z <p>C'était un exemple, mais moi non plus je n'aime pas les drapeaux. Ici, en Wallonie, on parle français et nous sommes en Belgique...</p> <p>Par contre pour le problème NL à la place de NE pour le néerlandais, il suffit à mon avis d'ajouter un condition en php qui redéfinit la variable $texte en NL si elle est égale à NE...</p> <p>Je vais essayer...</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-09T11:56:14Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391854 2007-03-09T11:56:14Z <p>Je n'aime pas beaucoup les drapeaux dans les choix des langues... l'espagnol est parlé aussi bien en Argentine qu'en Espagne, pourquoi mettre un drapeau espagnol<small class="fine d-inline"> </small>? Etc...</p> <p>Après, tout est possible pour le menu de choix des langues, cette contrib ne fait que répondre à une demande bien spécifique : ne pas mettre de lien sur la langue en cours dans le type de sites où une rubrique n'a pas de langue spécifique.</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-07T22:01:56Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391785 2007-03-07T22:01:56Z <p>Peut-être qu'avec des drapeux dont le nom seraient fr.png, en.png, ... cela devrait fonctionné tel quel</p> Formulaire menu_lang plat sans URL sur la langue sélectionnée 2007-03-07T21:11:14Z https://contrib.spip.net/Formulaire-menu-lang-plat-sans-URL#comment391780 2007-03-07T21:11:14Z <p>Intéressant, mais si c'est basé sur les deux premières lettres de la langue, ça ne marche pas pour le néerlandais. En effet, on symbolise cette langue par NL et non NE...<br class="autobr"> Il faudrait plutôt un système basé sur des symboles textes ou images préencodés dans l'interface privée. On pourrait y mettre des lettre, mais aussi des drapeaux,...</p>