Pour les pressés : ce site possède un secteur par langue. Il y a, en plus, un secteur « partagé » qui contient des articles destinés à être visibles depuis les menus de toutes les langues du site. Les sous-rubriques thématiques sont reliées avec les sous-rubriques correspondantes des autres langues par des mots-clés. Visitez la démo en ligne et regardez le code source des squelettes.
D’abord un coup d’œil à la démo
La démo, qui n’est pas bien belle visuellement, se trouve ici : http://files.taize.fr/demos/multi2/
L’intérêt de cette démo par rapport à la contrib précédente consiste en la notion d’articles « partagés » par plusieurs langues.
La contrib précédente construit un site qui est, en fait, deux sites en parallèle : un site en français, l’autre en anglais. Les liens de traduction entre les articles constituent des passerelles pour passer d’une langue à l’autre. Mais quand le sélecteur de langue [1] est réglé sur « français », on ne voit que des articles en français, et quand le selecteur est sur « anglais », on ne voit que des articles en anglais.
Pour comparer cela avec la démo présente, allons à la page « Quelques images ». Notez : nous sommes à l’article 9. Maintenant en changeant le sélecteur de langues à « English » on arrive sur la page avec un URL presque identique : nous sommes toujours à l’article 9. L’URL a juste &lang=en
en plus. Cela a suffit pour :
- faire afficher « English » dans le sélecteur de langues ;
- montrer le menu gauche en anglais ;
- changer la langue du titre de l’article et de la légende de la première photo.
Pour une galerie de photos il serait fatiguant d’avoir à dupliquer l’article pour chaque langue du site comme il contient très peu de texte. C’est ce que j’appelle un article « partagé ».
Un article partagé est visible depuis le menu de chaque langue. Il peut y avoir divers motifs pour vouloir créer des articles partagés :
- quand l’article est d’intérêt général et contient plus de documents joints (images, multimédia) que de texte ;
- quand il est d’intérêt général mais d’un contenu qui change souvent, et on n’a pas les forces de maintenir plusieurs traductions de la page. Voilà un exemple.
- quand il s’agit d’un article que l’on désire publier tout-de-suite et pour tous ceux qui visitent le site, sans avoir à attendre qu’il soit traduit dans les différentes langues.
Un exemple de ce dernier cas sur le site démo est l’article « Au sujet de ce site ». Cet article paraît dans chaque langue. Les traducteurs polonais et arabes n’ont pas encore traduit l’article, mais une traduction en anglais existe déjà. Dans le menu en anglais l’URL vers ...id_article15&lang=en
a disparu pour laisser la place a la traduction ...?article16
. Ce sont les boucles du squelette qui détectent automatiquement lorsqu’une traduction existe et ne montre plus l’URL de l’article partagé.
La page d’accueil du site offre le choix entre 4 langues. Par contre, ailleurs dans le site, le sélecteur de langues peut montrer un choix entre moins de langues, voire disparaître complètement, selon les traductions disponibles pour l’article en cours. « Translating SPIP », par exemple, existe seulement en anglais. Nous ne voulons pas en faire un article « partagé » car il a de l’intérêt seulement pour les anglophones. Donc il se trouve dans le menu en anglais et « basta ».
Comment ça marche
Pour fonctionner, les squelettes de ce site exigent une organisation particulière de l’espace privé ; cela veut dire surtout la séparation des langues par secteur.
Pour comprendre le fonctionnement il est conseillé de :
- regarder la structure des rubriques dans l’espace privé ; voir aussi les mots-clés, et comment les champs
<multi>
sont utilisés dans les articles du secteur « _partage ». Il est nécessaire donc d’installer la démo quelque part pour pouvoir regarder l’espace privé (voir « Pour installer le site démo » ci-dessous). - lire les commentaires dans les squelettes [2]. Ils sont nombreux et constituent la partie la plus importante de cette contrib. Lire
rubrique.html
avantarticle.html
: les mécanismes qui se répètent dans le deuxième squelette ne sont pas commentés une deuxième fois. - remarquer que
mes_options.php
contient cette ligne :if (isset($_GET['lang'])) $forcer_lang = true;
. Autrement dit, si l’URL qui appelle un article contient une variablelang
, alors$forcer_lang
est activée, sinon, par défaut, elle ne l’est pas [3].
Avantages et désavantages
Il y a différentes manières d’utiliser Spip pour gérer un site multilingue. Le système que montre cette démo ne sera pas utile pour tous les sites. Voici une listes des avantages et désavantages pour que vous puissiez décider si cette démo est d’intéret pour votre site [4] :
Désavantages
La navigation (menu) et le sélecteur de langues impliquent une structure assez rigide dans l’espace privé :
- un secteur par langue, plus le secteur partagé ;
- les « chapitres » (c’est-à-dire les rubriques juste en dessous des secteurs) devraient être les mêmes dans toutes les langues et être répétés aussi dans le secteur partagé ;
- il n’est pas possible de faire des sous-rubriques en-dessous de ces chapitres [5] ;
- les boucles dans les squelettes sont assez compliquées à écrire.
Avantages
- En publiant un article l’équipe de rédaction a un choix simple : s’agit-il d’un article pour une langue seulement ou est-ce qu’on veut qu’il soit visible depuis les menus de toutes les langues ? Dans le premier cas, le rédacteur place l’article dans le secteur d’une langue, dans le deuxième cas il le met dans le secteur partagé. C’est tout, c’est automatique, les squelettes s’occupent du reste.
- Dès qu’un traducteur publie une traduction d’un article partagé, dans le menu de la langue en question l’article partagé disparaît au profit de cette nouvelle traduction. Là aussi, les squelettes s’en occupent.
Pensez que dans un site avec beaucoup de lecteurs et beaucoup de rédacteurs, la facilité de trouver un article et d’écrire/traduire un article est le plus important. Il ne faut pas toujours privilégié la simplicité des boucles et se retrouver avec une gestion rédactionelle complexe qui déroutera rédacteurs et visiteurs.
Pour installer le site démo
- Installer un SPIP 2.0 (ou 1.9.x) vierge.
- Recopier les fichiers contenus dans demomulti2.zip (pour SPIP 2) par-dessus ; prendre l’autre zip pour SPIP 1.9.x.
- Sur la page
.../ecrire/ ?exec=admin_tech
cliquer sur "restaurer la base" et suivre les instructions pour restaurer le dump ...xml.gz. - Après avoir restauré la base, les codes d’accès à l’espace privé sont :
- Login : webadmin
- Mot de passe : demo2009 (pour SPIP 1.9.x : demo2007)
- Regardez l’organisation des rubriques et les mots-clés. Cette organisation est exploitée par les boucles des squelettes.
Configuration manuelle (en cas de problème)
Avec les versions « modernes » de SPIP (en tout cas 1.9.2 et 2.0) les étapes suivantes ne sont pas nécessaires. A vérifier en cas de problème. Avant de restaurer la sauvegarde :
- Dans l’espace privé, activer l’interface complète.
aller à .../ecrire/ ?exec=config_lang
et changer le jeu de caractères du site à
Alphabet universel (utf-8) - Aller à
.../ecrire/ ?exec=config_multilang
et choisir :- Activer le menu de langue sur les articles ? [Non]
- Activer le menu de langue sur les rubriques ? [Oui]
et cliquer sur Valider
Ensuite : - ... seulement pour les rubriques situées à la racine ? [Oui]
- Gérer les liens de traduction ? [Oui]
Aucune discussion
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 : |