Une variation sur le choix des langues et de l’aspect de l’URL engendrée
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 :
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 !!!
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_urllang,#ENVlang pour les liens en question.
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 :
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 1ère fois dans le lien langue.
Je continue à chercher mais je ne suis pas très à l’aise en php.
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 ?
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.
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] ? j’ai juste ?
Tout a fait
Mais pour le conflit avec fckeditor, je ne sais pas... Essaye
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)
ensuite je procede par traduction d’articles.
ça marche niquel !
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] ? j’ai juste ?
sais tu s’il rentre en conflit avec fckeditor ?
Voilà j’ai des milliers d’autres questions parceque je démarre juste mais c’est plutot super bien foutu spip !.
Merci de ton aide
Fourmy
[ j’ai biensur répondu à l’alerte mail (ce qu’il ne fallait pas faire !) avant de capter le lien vers le forum- Désolé]
Une lettre d’information avec SPIP - SPIP-listes permet la gestion et l’envoi de lettres d’information (newsletters) au moyen d’un courriel au format html ou texte. Il est possible d’envoyer des messages aux abonnés qui se sont formellement inscrits à une ou plusieurs lettres (...)
Le plugin Barre Typographique V2 vient remplacer la barre typographique standard de SPIP et en y ajoutant différents outils d’aide à la rédaction. Ce plugin ne modifie pas les raccourcis standard de (...)
Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur (...)