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
Très bon plug ! Facile à installer.
J’ai été visiter votre site et je serais curieuse de savoir comment vous avez procédé pour gérer vos événements sachant que le plug agenda ne permet pas d’associer plusieurs articles à un événement...
1 article français = 1 événement en français
1 article anglais = le même événémen mais en anglais
J’avoue ne pas trop savoir ce qui serait le plus simple à mettre en place...
Autre question, sachant que les articles traduits sont liés peut-on avoir un même bloc de commentaires (forum) côté français et anglais pour une intéraction internationale ?
Tu te réfères au site muziekpublique, j’imagine.
D’abord agenda permet dans problème d’ajouter plusieurs événement à un seul article. Sur le site en question, afin de diminuer le travail, l’événement est encodé seulement pour l’article de référence.
permet de récupérer l’événement rattaché à l’article de référence. De même les images et logos sont récupéres de l’article de référence, mais peuvent être surchargé.
Oui tout à fait
En faisant un tableau pour récupérer les id_articles des articles liées par traduction et on les utilisant pour la séléction de message tu devrais obtenir ce que tu souhaite. (modifier/surcharger : inclure/forum.html de squelettes_dist)
Est-ce que cela répond à tes questions ?
C’est nickel ! Merci de ta réactivité :)
Ahhh si tout était simple :) Petit soucis pour le switch de langue.
Côté BO
Chaque rubrique française à la racine est liée à une rubrique en anglais (aussi à la racine). Dans les rubriques on peut switcher de la rubrique fr/en sans soucis. Mais !!! Il y a un mais, ces rubriques ont bien entendu un id différent.
Côté FO
Quand je demande depuis ma rubrique 1 de passer à la rubrique anglaise (avec le petit inclure menu_langues), a lieu de passer à la bonne rubrique anglaise, je reste sur ma rubrique en français. En effet, l’adresse m’indique spip.php ?rubrique1&lang=en alors je migre pas au bon endroit.
Infos en plus : j’ai rajouté lang à mes fichiers rubrique.html...
Où cela pêche t’il ?
« Côté BO
Chaque rubrique française à la racine est liée à une rubrique en anglais (aussi à la racine). Dans les rubriques on peut switcher de la rubrique fr/en sans soucis. Mais !!! Il y a un mais, ces rubriques ont bien entendu un id différent. »
C’est normal, chaque traduction d’une rubrique est une nouvelle rubrique
« Côté FO
Quand je demande depuis ma rubrique 1 de passer à la rubrique anglaise (avec le petit inclure menu_langues), a lieu de passer à la bonne rubrique anglaise, je reste sur ma rubrique en français. En effet, l’adresse m’indique spip.php ?rubrique1&lang=en alors je migre pas au bon endroit. »
Est-ce que tu as bien passé l’id_rubrique dans l’inclure ? Si tu as pris les squelettes du plugin, c’est le cas, sinon vérifié bien que
<INCLURE{fond=inclure/header,id_rubrique} ></INCLURE>
passe bien la variable id_rubrique dans le squelette rubrique.htmlSeulement chaque rubrique à la racine a un squelette différent, je suis obligée d’utiliser le rubrique=1.html par exemple afin de customise ma page.
Je me suis peut-être aussi trop précipitée. Le plug utilise sûrement en FO le système natif de SPIP pour le contrôle des langues.
Cela ne devrait pas avoir d’influence, maisas-tu vérifié ce que j’ai mis plus haut ?
Généralement je déconseille d’utiliser des squelettes distincts par rubrique ou articles. Ça devient très complexe à gérér suivant le cas.
Je préfère gérér la plupart des adaptations via des inclure appelé selon le contexte, en utilisant la Balise #ID_TRAD
[(#ID_TRAD|=={1}|oui)<INCLURE{fond=inc/noisette}></INCLURE>]
Ainsi tu peux gérer la plupart de tes adaptations de puis un seul squelette rubrique.html, pareille pour les articles.
Le système de traduction dans le FO et BO est le même, base dur l’id_trad de la rubrique et la variable lang
Oui c’est exact, ça marche à présent en ayant copié-collé le code du plug :) Par contre je n’ai pas trouvé la subtilité qui fait tout marcher :)
Par contre le site que je réalise à titre personnel, est une vraie usine à gaz bourrée d’inclure :D Un p’tit challenge pour moi. D’abord je m’occupe de toute la partie technique, puis le squelette HTML5 puis enfin le CSS3 et de l’animation. Quand tout sera posé et que je serai satisfaite du résultat je pourrai le montrer dans l’herbier !
Il n’y a en fait que 3 grosses rubriques principales avec un squelette propre.
le menu langue produit ces liens en cherchant d’abord s’il on est en présence d’un article(présence de l’id_article) si oui il produit les liens des articles traduites
sinon il teste si c’est une rubrique (présence de l’id_rubrique) si oui il produit les liens des rubriques traduites
sinon il crée les liens de traduction en cherchant les langues du site et en rajoutant la variable lang à l’url actuel
[(SELF|parametre_url{lang,#ENV{lang}})]
Ce qui était ton cas, j’imagine
Répondre à ce message
Est-ce sarka-spip compatible ? car ce sera une bonne chose.
William
Je ne sais pas comment fonctionne Sarkaspip et je n’ai rien fait de spécifique pour ce squelette. Si quelqu’un qui s’y connait a le temps et l’envie ça pourrait se regarder. Moi je n’aurais pas le temps maintenant, désolé
RAiner
Répondre à ce message
Bonjour,
Où est-il possible de voir des exemples de réalisation sous Spip 3.0 ?
Ça serait très pratique pour se faire une idée pour ceux qui comme moi débutent.
Merci par avance.
Voilà un exemple : http://www.muziekpublique.be/
Répondre à ce message
Pour info : le fichier menu_langues.html renvoie un HTML mal balisé : tags non fermés, etc.
Je ne constate pas d’erreur html lié à ce fichier, tu peux détailler les erreurs ?
J’avais des balises non fermées, un mélange de A et SPAN qui faisaient planté l’affichage de ma page. Au final j’ai fait mon fichier custom comme tu le proposes c’était bcp mieux ;-)
Répondre à ce message
On le telechrge comment ? je ne vois pas le lien de telechargement... Merci.
Il avait disparu et le revoilà http://files.spip.org/spip-zone/multilingue.zip
Répondre à ce message
Bonjour,
Est ce que c’est Z-compatible ?
nat33
Oui et non, les modifications des menus de langue et rubrique sans sans doute possible d’intégrer facilement en adaptant les squelettes z, il faut donc pour le moment adapter ces squelettes, je ferai bientôt une adaptation pour z qui n’aurai plus besoin de faire ces manipulations.
je viens d’adapter le plugin pour le rendre compatible avec z, comme je ne connais pas bien z, dis moi si il y a des incohérences
Bonjour,
Je viens de relever une anomalie en l’état le plugin empêche la prise en compte des compositions sur la rubrique.
J’ai repris le fichier rubrique.html de z et la composition est prise en compte normalement.
l’anomalie est observée avec z + composition en spip 2.1
A toutes fins utiles, je remarque que dans le fichier rubrique.html du plugin l’inclure n’est pas positionné dans une boucle rubrique, comme c’est le cas dans celui de Z.
En tout cas merci pour ce plugin.
Nat33
Bonjour,
je viens de corriger les fichiers rubrique.html et article.html afin de mettre des boucles autour des noisettes, ce qui évidemment était nécessaire, merci. Cependant je ne sais pas si cela arrange ton problème
Rainer
Répondre à ce message
Merci Rainer,
Je teste et je reviens vers toi
nat33
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 : |