Introduction
Même si le multilinguisme est nativement intégré dans spip, réaliser un site multilingue n’est pas toujours évident. Ce plugin a pour objectif de faciliter cette tâche en permettant de mettre en place en quelques clics un site multilingue avec une langue par secteur. [1]
Principe
Le plugin rassemble plusieurs plugins déjà existants et apporte quelques modifications aux squelettes.
Installation
Le plugin s’installe comme n’importe quel plugin.
Il nécessite toutefois les plugins suivants :
- Langue préférée par l’internaute
V2 - Interface de traduction pour objets
- Secteur par langue
V1 - Traductions de rubriques autrement
- Traductions d’articles autrement
Sous Spip >= 3 l’installation de ces plugins requis se fait automatiquement en installant le présent plugin.
Sous Spip 2 ou 2.1 il est recommandé d’installer auparavant le plugin Step pour installer « Site multilingue facile » et de forcer ainsi l’installation automatique de tous les plugins nécessaires.
Le plugin modifie également quelques squelettes (sommaire.html, rubrique.html et article.html) et quelques noisettes.
Une fois installés les plugins nécessaires, il vous suffit de déterminer les langues du site dans « Configuration »->« Mulilinguisme »->« Gestion des langues » et voilà votre site est multilingue ; vous pouvez maintenant commencer à rédiger vos contenus.
Squelettes
Le plugin surcharge les squelettes sommaire.html, article.html et rubrique.html afin de les adapter à la structure « une langue par secteur »[1].
Évidemment vous pouvez les surcharger à votre tour en copiant les fichier d’origine depuis le dossier squelettes-dist dans votre dossier squelettes, mais vous perdriez les adaptations spécifiques à la structure « langue par secteur »[1]. Vous pouvez également réutiliser les adaptations proposé par ce plugin.
Modifications des squelettes proposés par le plugin
Si vous voulez maintenir la redirection automatique vers le bon secteur de langue [1], veuillez ne pas surcharger le fichier sommaire.html, car il contient la balise #LANGUE_PREFEREE_SECTEUR_REDIRECTION
du Plugin « Langue préférée par l’internaute » provoquant la redirection vers le secteur de la bonne langue.
Concernant les squelettes article.html et rubrique.html, si vous souhaitez les modifier, copiez les fichier correspondant à votre version dans votre dossier squelettes, puis renommez-le correctement :
Pour la version spip 2 et 2.1 copiez les fichiers « rubrique_spip2.html » et « article_spip2.html » dans votre dossier squelettes, puis renommez les en leur enlevant « _spip2 ».
Pour la version spip 3 et plus procédez de la même manière en prenant les fichiers contenant « _spip3 ».
Le logo
Ce qui suit est valable pour les versions de Spip inférieurs à 3.2. [2]
Les Balises #LOGO_objet
comme par exemple #LOGO_ARTICLE
permettent maintenant de chercher le logo de l’objet d’origine si l’objet traduit ne dispose pas de logo. Donc si l’article 2, traduction de l’article 1 n’ait pas de logo attaché, la Balise #LOGO_ARTICLE
affichera le logo de l’article 1.
Cette fonctionnalité peut-être désactivé dans le panneau de configuration du plugin.
Le menu de langue
vous pouvez utiliser la noisette
<INCLURE{fond=inclure/menu_langues,env}/>
qui est inclue d’office si vous utilisez ce plugin dans Spip3 et +.
Pour Spip2 et 2.1 vous devriez copier le fichier inc-entete.html dans votre dossier squelettes et remplacer
#MENU_LANG
par <INCLURE{fond=inclure/menu_langues,env}/>
Le menu de navigation
Si vous utilisez les squelettes par défaut ou ceux de Zspip, ce plugin inclut directement un menu de rubriques adapté à la structure langue par secteur [1].
Sinon vous pouvez insérer la noisette <INCLURE{fond=inclure/nav,env}/>
à l’endroit ou vous voulez faire apparaitre le menu de navigation
Le plugin est compatible avec Zspip
Discussions par date d’activité
27 discussions
Bonjour, j’aimerais mettre le menu_langue en liste déroulante.
J’ai fait des modifications avec les select options... dans le inclure/menu_langues.html mais aucun changement.
Que devrais-je faire pour afficher une liste déroulante ?
Merci
Apparemment mon deuxième message ne c’est pas envoyé.. J’ai trouver le fichier menu_langues_select.html donc pour la liste déroulante c’est bon, mais petite question.
Comment choisir le texte correspondant ? Car je préférerais juste EN et FR.. Surtout qu’il me met English et français, sans maj.. ça fait moyen ^^
Merci
Bonjour,
dans « formulaires/inc-options-langues_multi.html » il faut remplacer
[(#LANG|traduire_nom_langue)]
par#LANG
Rainer
Répondre à ce message
Bonjour et merci pour ce plugin formidable.
Auparavant, déjà utilisé avec succés en SPIP3, je me retrouve à l’utiliser avec ennuis sur un SPIP2.1 à jour…
En effet au niveau du menu de langues, le choix proposé dans les autres langues n’intègrent pas dans l’url les autres rubriques mais au contraire indique tout le temps : redirect=RUBRIQUEENCOURS
En effet ça indique en redirect que la rubrique en cours, mais non l’url appartenant aux langues.
Du coup ça ne fais rien (à part si je rajoute dans le couteau suisse forcer langue, et là ça me change au moins le menu du site)
Je ne sais pas si j’ai été assez clair… Vous me direz ;) Merci !
Bonjour,
est-ce que vous avez bien un structure avec secteur par langue et chaque rubrique est traduite ?
Pourriez vous me copier le lien que produit le menu ?
Cordialement
Rainer
Avec beaucoup de retard, merci j’avais fait une erreur bête…
Répondre à ce message
Bonjour,
Je souhaite traduire un site sous spip et j’ai quelques problèmes ! J’ai téléchargé ce plugin et inclus la barre qui permet de choisir la langue ... puis j’ai traduit un article et une rubrique, mais quand je vais dans cette rubrique en version FR et que je clique sur la traduction, ça m’affiche seulement « lang=nl » dans l’url, mais la traduction n’apparait pas ! J’ai loupé quelque chose ? :)
Merci beaucoup !
Est-ce que vous avez créé un site avec une langue par secteur ? Pourriez vouz mettre le lien de traduction ?
Bonjour,
Une langue par secteur ? Je ne sais même pas ce que c’est :/
du menu (que j’ai caché en css) est la traduction de http://www.parapente-puy-mary.com/-inscriptions-.htmlVoilà le lien : http://www.parapente-puy-mary.com/
Le 3e
Mais quand on clique dans la barre de langue (que j’ai aussi cachée, elle est en bas du header, c’est la classe « traductions »), l’article reste en Français
Merci pour votre réponse, en tout cas !
Bonjour,
Pour la langue par secteur regardez ici.
Il me semble que vous avez surchargez les squelettes rubriques, articles et sommaires. Donc le bon fonctionnement du menu ne peut pas être garantie. Veuillez lire ci-haut sous squelettes par rapport à ce sujet.
En surchargeant le squelette sommaire.html, la redirection automatique vers le bon secteur de langue est désactivé. Pour les articles et rubriques : id_article et id_rubrique ne sont plus passé à la noisette inclure/menu_langues et le menu ne peut donc plus fonctionner correctement.
Assurez que les variables nécessaires sont bien passées à la noisette.
Cordialement
Rainer
Cordialement
Rainer
le bon lien pour les secteurs par langue
Répondre à ce message
Bonjour et merci pour ce plugin formidable.
J’ai installé le plugin et les plugins associés. qunad j’insere la noisette , mon menu de langue ne s’affiche pas !
Quand je le remplace par #MENU_LANG il m’affiche seulement la langue en cours ! SVP aidez moi
Bonjour,
est-ce que vous avez activez les langues de votre site sous : Configuration »->« Mulilinguisme »->« Gestion des langues ?
Cordialement
Rainer
Répondre à ce message
Bonjour,
Je souhaite réaliser un site multilingue.
le site est actuellement en ligne en version statique : http://hydrofluidtechnologies.com/
Je le passe en format dynamique, j’ai donc installé les différents plugins multilingue.
J’ai créé une rubrique fr et une en, dans lesquelles on retrouve les rubriques et articles.
Après avoir lu les différentes questions/reponses apportées sur le site, je suis un peu perdue !
je ne sais pas où positionner mes boucles, comment utiliser les plugins, Quelqu’un peut m’aider à y voir plus clair ?
Merci d’avance
Bonjour,
pour la prise en main des boucles, squelettes voici la doc officiel
Rainer
Bonjour,
merci pour le lien.
j’avais déjà réalisé le squelette de la version française. pas de problèmes
je voudrais savoir si il faut mettre les boucles à chaque article ou si je dois refaire tout un squelette [en] ou bien si les boucles suffisent à appeler l’article ou la rubrique qui convient ?
c’est bon j’ai trouvé, ça fonctionne.
par contre j’aimerais savoir comment faire pour que la traduction se fasse pour la page sur laquelle je suis , sans me faire revenir a l’accueil à chaque fois
tu veux dire que le menu de langue te renvoie chaque fois à l’accueil ? Quel menus utilise tu ? Essaie avec
je voulais dire
<INCLURE{fond=inclure/menu_langues,env}></INCLURE>
j’ai mis ça :
a href=« #URL_SITE_SPIP/ ?lang=fr »
a href=« #URL_SITE_SPIP/ ?lang=en »
mais j’imagine que c’est normal du coup que ça me fasse ça. j’ai pas utilisé d’inclure pour le menu langue non....
oui, tes liens pointent vers la page principale, si tu utilise l’inclure mentionné il te créera un menu (liens ou dropdown selon choix) pour toutes les pages du site (y compris les articles) et créera des cookies langues utilisé pour la détection de la langue du navigateur
ok je vais essayé ça. merci !
Génial, ça fonctionne, merci encore !
Par contre, une dernière question....
je voudrais remplacer le nom de la langue par les drapeaux correspondant.
comment faire ?
j’ai essayé en ajoutant mon deavant (#LANG
mais du coup j’avais 2 fois le mm drapeau...
ou via css en ajotant une amga background ou en copiant l’inclure inclure/menu_langues depuis le plugin dans ton squelettes en y ajoutant les images
dans le deuxième cas je les ajoute à quel endroit les images ? sinon j’ai voulu testé en ajoutant un logo à mes 2 rubriques.. .
tjrs pareil je ne dois pas mettre la boucle au bon emplacement
en remplaçant
[(#LANG|traduire_nom_langue)]
par un truc comme<img src="[(#CHEMIN{images/drapeau_[(#LANG)].png})]"/>
et tu mettras alors des images drapeau_fr.png, drapeau_en.png,... dans squelettes/imagesPARFAIT ! merci
Répondre à ce message
Bonjour, j’ai récemment installé votre plugin Site multilingue facile ainsi que tous les plugins nécessaires à celui-ci. J’ai également le plugin Menus (et donc zpip) installé. Je suis sous Spip 2.1.1.
J’ai donc créé des doubles en anglais de mes rubriques et de mes articles, que j’ai ensuite liés avec les articles originaux en français.
Ca marche super bien sur le menu, quand je clique sur un article j’ai la possibilité de voir la version anglaise et j’ai même le select pour choisir la langue.
Le seul (et gros) problème c’est que le menu, lui ne s’adapte pas ! Il ne prend pas en compte le linkage des rubriques françaises et anglaises et donc même si tout le reste est en anglais, mon menu reste en français.
J’ai fait ce que vous aviez dit concernant le menu à la fin de votre article, mais j’ai peur que ce ne soit pas valable avec le plugin Menus.
Auriez-vous une piste afin de régler le problème ?
merci d’avance.
Bonjour,
si vous voulez simplement un menu des rubriques de votrre secteur de langue, vous n’avez pas besoin du plugin menu. Avec Zspip, il vous suffit de créer une noisette « barre_nav.html » dans squelettes/inclure/ avec le seul contenu
Cela qui inclut le menu de ce plugin
Rainer
Ouah, ça fait plaisir de voir quelqu’un réagir aussi vite !
J’ai créé la noisette et l’ai mise dans le dossier squelettes/inclure/, je vois bien avec skeleditor que spip la prend bien en compte ainsi que menu_langues du plugin, mais il ne m’affiche pas le menu, il ne l’affiche pas ou n’a pas pu le créer.
Vous m’avez parlé de secteurs et cela m’intrigue, je n’ai pas de secteurs à l’intérieur desquels se trouvent mes rubriques, j’ai tout simplement 10 rubriques les unes à cotés des autres, 5 en français, 5 en anglais.
Cela explique que le menu ne montre rien, il est fait pour une structure ou chaque langue a son secteur.
Cad, à la racine se trouve une rubrique pour chaque langue, puis dedans on mets les rubriques correspondantes.
Dans votre cas ça serait une rubrique fr et sa traduction en (on peut donner un autre nom, mais avec des urls arborescence cela donne une url explicatif) et ’a l’intérieur on met maintenant les rubriques correspondantes.
Je viens donc de créer 2 rubriques, l’une appelée « fr » et l’autre « en » (provisoire), à l’intérieur desquelles j’ai placé mes sous-rubriques correspondantes.
J’ai bien vérifié, tous les liens de traductions sont bons.
Maintenant, j’ai l’affichage des rubriques sur la gauche (un espèce de menu juste au dessus de la barre de recherche), mais je n’ai toujours pas le menu horizontal principal en haut de la page.
Bonjour et pardon,
je crois que j’étais fatigué vendredi passé.
D’abord la noisette dois s’appeler « barre-nav.htm » et non « barre_nav.htm »
Puis son contenu doit être
je viens d’ailleurs de mettre cet inclure directement dans le plugin, pour l’inclure directement
Rainer
Bonjour, j’avais effectivement remarqué pour le nom de la noisette et je l’avais donc corrigé moi-même.
Avec le nouveau code de la noisette, cela marche parfaitement !
Merci beaucoup pour votre aide et pour le temps passé sur mon cas. :)
Pas de problème, cela a contribué à amélioration de l’intégration dans Zspip
Répondre à ce message
Bonjour,
J’utilise le plugin Site multilingue facile (0.2.1 - test) et je le trouve très bien conçu.
Pas de problème jusqu’ici dans son fonctionnement normal.
Hier, suite à une fausse manip, j’ai voulu changer la langue d’un article et bleng : « une erreur technique a empéché l’enregistrement du champ lang » qui prend la valeur « http://www ».
J’hésite à fourrer mon nez dans les sources, parce qu’il y a beaucoup de choses (donc, au passage, merci beaucoup pour ce travail...).
Vous avez déjà vu ce problème ? une idée ?
mon site : SPIP 3.0.7 installé ce WE ; autres plusgins couteau_suisse, crayons, jquery_menu_superfish, minibando-dev ; squelettes très simples (feuilles de style et quelques boucles standards) qui ne devraient pas poser problème...
Bien cordialement,
Dominique
Oui, il s’agit d’un ancien bug corrigé entre temps(70378)
En fait la noisette « formulaires/inc-options-langues » est utilisée autant par le menu langue de l’espace publique que celui de l’espace privé. Si tu actualise le plugin cela devrait se corriger. Sinon regarde si tu n’as pas un « formulaires/menu_lang » dans ton dossier squelettes, si oui, remplace le par celui du plugin.
OK
C’est fait (j’ai rechargé la dernière version du plugin) et ça fonctionne.
Merci
Dominique
Répondre à ce message
Bonjour,
merci pour ce plugin très précieux pour mon projet.
j’ai un site avec 5 secteurs de langues.
tout serait plus simple s’il était possible de faire apparaître facilement un article (ou une rubrique ?) dans la langue d’origine quand sa traduction n’est pas présente... mais comment faire ?
Merci !
Eric
Bonjour,
quand je veux afficher la traduction d’un article et à defaut, son origine je fais une boucle du genre .
La première boucle cherche l’article en cours, puis on cherche une traduction de cet article correspondante à la langue du contexte, si inexistant, on affiche l’article d’origine.
Tu peux utiliser la même logique pour afficher ou la traduction de la rubrique ou la rubrique originale, est-ce que cela répond à ta question ?
Rainer
Merci pour la réactivité !
je comprends la boucle, mais non, ça ne marche pas. peut-être parce que je suis dans un cas particulier : je n’ai qu’un article par rubrique (pour l’instant, mais dans un certain nombre de cas, ça n’évoluera pas). Donc j’ai un lien brisé : quand j’appelle la rubrique, Spip cherche a la dépasser pour afficher l’article unique, et ne trouve rien. ta boucle ne peut servir dans ce cas.
mince...!
Donne moi l’exemple de ta boucle
je liste mes rubriques, simplement :
mais dans chaque rubrique je n’ai qu’un article en français, traduit en anglais mais pas en allemand par exemple.
quand je sélectionne une rubrique dans ce menu,
- si je suis en lang=fr, tout va bien, l’article unique s’affiche – la page « plan de la rubrique » est ignorée.
- idem en lang=en, la traduction s’affiche.
- mais si je suis en lang=de, j’ai un lien brisé...
comme la page « article », dans laquelle j’ai mis ta boucle avec
n’est en fait jamais appelée, ça ne peut pas marcher... non ?
je regarderai ça plus tard, je n’ai pus le temps pour le moment
Et si tu enlève le critère lang de la boucle rubrique ?
Répondre à ce message
Bonjour,
J’ai installé le squelette rubrique dans mon répertoire squelettes/contenu. Je souhaite ajouter des noisettes car j’ai besoin de réaliser des adaptations sans perdre les fonctionnalités du plugin.
Ainsi pour le contenu du [(#REM) Articles de la rubrique ], je voudrais que ce soit ce code qui s’affiche à la place lorsque la rubrique est la 1 (version française) ou la 3 (version anglaise). J’ai placé cette boucle dans un fichier inc/rubriqueaccueil.
Pour appeler la rubrique, j’ai ce code mais je ne sais pas où le placer dans le fichier squelettes/contenu/rubrique. :
[(#ID_TRAD|=={1}|oui)<INCLURE{fond=inc/rubriqueaccueil}></INCLURE>]
Je ne peux pas montrer d’exemple car je suis en local sous spip3. Avez-vous des pistes pour m’aider ?
Merci.
Hanabi.
Bonjour,
Si tu veux utiliser par défaut le code qui affiche les articles et à défaut les rubriques et ta noisette pour les rubriques avec id_trad 1, met le code actuelle (ligne 24 à 63) dans un inclure « inc/rubriquedefaut » p.ex
puis mais ceci à la place de l’ancien code
Est-ce que cela répond à ta question ?
Bonjour,
Merci de la rapidité de ta réponse.
Pour le code voici celui dans squelettes/contenu/rubrique.html
Les appels se font correctement. J’ai vérifié avec
spip.php?rubriqueX&var_mode=inclure
. Et dans les autres rubriques, c’est bien rubriquedefaut qui s’affiche avec les articles des rubriques. C’est parfait de ce côté là !Mais tout change lorsqu’on est dans le contexte de la rubrique 1. Pour la rubriqueaccueil, les articles ne s’affichent pas. Et si je remplace le contenu de la rubriqueaccueil par celui de la rubriquedefaut les articles ne s’affichent pas non plus. C’est comme si les boucles articles ne fonctionnaient pas ou n’étaient pas prises en compte..
etn si tu mets
<INCLURE{fond=inc/rubriqueaccueil,id_rubrique,env}></INCLURE>
Cela ne fonctionne toujours pas. Je ne comprends pas. J’ai vidé le cache et de l’espace privé et du navigateur pour m’en assurer. J’ai vérifié les liens. Le fichier est bien appelé mais les boucles n’opèrent pas.
J’ai même placé l’ensemble des fichiers dans le même répertoire squelettes/ inc sauf rubrique.html qui est toujours dans squelettes/contenu.
Et le code est placé ainsi
Est-ce que tu as des articles dans les rubriques avec id_trad 1 ? car sinon tu sois mettre le critère
{tout}
dans la Boucle rubrique de squelettes/contenu/rubrique.htmlRépondre à ce message
Bonjour,
J’ai installé tous les plugins sans problème. J’ai ensuite fait « visiter » pour voir si mon site n’avait pas changé d’aspect, et là :
aaaaaahhhhhhhhhh ! toute ma charte graphique a disparue et je me suis retrouvé avec le graphisme basique de spip :(
Seule solution désinstaller tous vos plugins. Heureusement j’ai pu revenir à mon site d’origine :)
Ma question : comment instaler vos plugins sans impacter l’aspect graphique du site et sans surcharger les plugins Giseh ?
Merci d’avance
Désintalle unqiement le plugin multilingue car c’est le seul qui surcharge des squelettes et il n’est pas nécessaire pour le bon fonctionnement des autres plugins. Puis tu peux adapter si nécessaire, ton squelettes avec les noisettes fournis par le plugin, regarde ci-haut sous « Squelettes »
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |