SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 252 visiteurs en ce moment

Accueil > Multilinguisme > Navigation multilingue > Formulaire menu_lang plat > Formulaire menu_lang plat sans URL sur la langue sélectionnée

Formulaire menu_lang plat sans URL sur la langue sélectionnée

7 mars 2007 – par vianatalia – 54 commentaires

1 vote

Dans un site multilingue, #MENU_LANG permet aux visiteurs de passer d’une langue à l’autre. Pour cela, il dépose un cookie sur l’ordinateur du visiteur où il indique en quelle langue naviguer. Cette contrib agit exactement pareil, mais n’affiche pas le choix des langues de la même manière.

Il s’agit d’afficher #MENU_LANG mais :
-  une langue à côté de l’autre
-  sans URL pour la langue dans laquelle on navigue

Installation

Configuration site

Vous avez dans un premier temps configuré, dans la partie privée de SPIP (configuration : gestion des langues > multilinguisme), toutes les langues dans lesquelles sera traduit votre site, en cochant / décochant celles-ci dans la longue liste.

Préparation de « mes_fonctions.php »

Si vous n’avez pas encore créé le fichier mes_fonctions.php, créez un fichier et nommez-le mes_fonctions.php dans votre répertoire /squelettes. Collez le code suivant dans un premier temps, en veillant bien à ne pas avoir de caractères (espaces, retour de chariot…) ni avant, ni après :

Puis, entre les deux balises ci-dessus, copiez/collez dans ce fichier la fonction qui suit (fonction mise à jour le 22/05/08) :

Pour afficher les langues en deux lettres (EN - FR) :

Pour afficher les langues en entier (English - Français) :

Utilisation

Squelettes

Dans vos squelettes, appelez le menu avec la balise #CONFIG{langues_utilisees} suivie du filtre url_lang :

[<div class="menu_langues">(#CONFIG{langues_utilisees}|url_lang)</div>]

Feuilles de styles

Dans vos CSS, vous pouvez personnaliser la balise avec la classe « .menu_langues » et « .languencours »

Exemple

Exemple de résultat visible ici.

Dernière modification de cette page le 22 mai 2008

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 20 juin 2009 à 10:29, par fil En réponse à : Formulaire menu_lang plat sans URL sur la langue sélectionnée

    pour les utilisateurs de spip 2.0, il y a également cette page à consulter qui apporte des éléments de réponse :
    http://www.spip-contrib.net/MenuLangSurClic

    Répondre à ce message

  • Le 18 juin 2009 à 00:22, par damazone En réponse à : Bandeau langues façon Spip.net et n’afficher les langues que s’il en existe plusieurs

    Je mets le résultat de la discussion sur le forum Bandeau langues façon Spip.net

    En rajoutant le critère {fusion lang} (qui me sauve !) et un test sur la balise #TOTAL_BOUCLE , j’y suis arrivé à ce code :

    Le menu des langues apparaît seulement s’il y a au moins deux langues.

    Répondre à ce message

  • Le 29 mai 2009 à 23:26, par ? En réponse à : Formulaire menu_lang plat sans URL sur la langue sélectionnée

    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 ?
    http://anglais.maternelle.free.fr/spip.php?article9&lang=en

    audedo

    Répondre à ce message

  • Le 23 mars 2009 à 11:30, par ? En réponse à : Formulaire menu_lang plat sans URL sur la langue sélectionnée

    Finalement le plus a jour est là je crois :
    http://programmer.spip.org/Forcer-un-changement-de-langue-d

    Répondre à ce message

  • Le 17 mars 2009 à 14:05, par acatonne En réponse à : A voir

    Répondre à ce message

  • Le 4 mars 2009 à 05:48, par ? En réponse à : Liens non créés

    Bonjour, et merci pour cette contrib.

    J’essaie d’utiliser sur un site SPIP 2.O.3
    Les liens s’affichent biens, mais sans l’url elle même !

    Ca me génère le lien suivant :
    href=« http://127.0.0.1/RAS2/spip.php?action=cookie&var_lang=fr » qui m’envoie dans l’espace privé.

    Est ce du à Spip 2 ? Que puis je faire ? Je ne comprend rien à la partie php... je suppose que c’est là
    parametre_url(self(true), ’&’)
    que réside le problème, mais... ?

    Répondre à ce message

  • Le 3 février 2009 à 15:59, par vianatalia En réponse à : Formulaire menu_lang plat sans URL sur la langue sélectionnée

    Bonjour, je vous conseille de regarder de ce côté-là :
    Traduction d’un article ET de l’interface d’un clic

    Répondre à ce message

  • Le 3 février 2009 à 15:46, par ? En réponse à : Formulaire menu_lang plat sans URL sur la langue sélectionnée

    Y-a-t’il un moyen, au clic sur le lien anglais, de renvoyer sur une page entièrement traduite ?
    Car la traduction marche essentiellement pour les éléments spip, et j’aimerais que ma propre page traduite soit affichée.

    Répondre à ce message

  • Le 7 janvier 2009 à 10:05, par Teddy Payet En réponse à : Formulaire menu_lang plat sans URL sur la langue sélectionnée

    Bonjour,

    J’utilise ce script sur mon site mais il y a un petit disfonctionnement.

    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

    Avez-vous des suggestions ?

    Répondre à ce message

  • Le 1er mai 2008 à 15:23, par Vinchoz En réponse à : Formulaire menu_lang plat sans URL sur la langue sélectionnée

    Bonjour,

    J’ai utilisé ce menu de mon site.
    Il s’affiche correctement
    Il se trouve que le lien de traduction se retrouve « fixer » : je m’explique :
    -  Je vide le cache ds l’interface admin
    -  je vais sur le site... et navigue... je demande un changement de langue pour l’article X : ça fonctionne
    -  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.
    ... ds l’urgence je l’ai fait sur la homepage... mais c’est pas très pratique.

    Avez-vous une idée ?

    Merci de votre collaboration

    Vin.

    • Le 5 mai 2008 à 22:39, par vianatalia En réponse à : Pb dû au cache ?

      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.

      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 ?

    • Le 6 mai 2008 à 15:00, par ? En réponse à : Pb dû au cache ?

      Bonjour,

      Tout d’abord merci de votre réponse.
      La piste semble plausible.
      J’ai fait l’essai en rajoutant : #CACHE{0} au début des squelettes : sommaire, rubrique et article.html
      Résultat : aucun changement notoire malheureusement !
      Le changement de langue s’effectue toujours correctement mais cela ne renvoie pas sur la bonne page.

      Cela fonctionne si, dans une page je clic sur le bouton « Recalculer la page » : Là le lien se fait parfaitement.

      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 1re fois dans le lien langue.

      Je continue à chercher mais je ne suis pas très à l’aise en php.

      Salutations

      Vin.

    • Le 22 mai 2008 à 20:11, par vianatalia En réponse à : Pb dû au cache ?

      Bonjour, a priori si l’on rajoute à la ligne « else » du fichier mes_fonctions.php $GLOBALS['delais'] = 0; ça marche bien. Merci de me dire s’il y a encore des problèmes. Ce qui donne :

              else { $GLOBALS['delais'] = 0;

      Le code est mis à jour dans l’article ci-dessus.

    • Le 24 mai 2008 à 15:20, par Vinchoz En réponse à : Pb dû au cache ?

      Bonjour,

      Cela à l’air de marcher parfaitement :-) ... si on n’oublie pas de vider le cache ds la partie admin.
      Je vous remercie de votre intervention... et de cette contrib !!!

      Meilleures salutations

      Vin.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Adaptive Images

    15 novembre 2013 – 69 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Social tags

    8 septembre 2008 – 428 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Module de Paiement Stripe

    17 octobre – commentaires

    Stripe est un prestataire de paiement externe https://stripe.com/fr qui propose une API moderne et une interface de paiement extrêmement conviviale et efficace. Ce module permet les paiements à l’acte et les paiement récurrents. Configuration (...)

Ça spipe par là