Accueil du site > INFORMATIQUE > Systèmes de publication web > SPIP > Guide pour un site multilingue sous SPIP

Guide pour un site multilingue sous SPIP

Retour d’expérience

jeudi 1er septembre 2005, par Thierry Bothorel

Un exemple d’internationalisation de SPIP dans le cadre d’un site simple (blog,…)

 ETAPE 1 : OBJECTIFS

SPIP offre un certain nombre de possibilités pour réaliser un site multilingue, toutefois l’information est assez dispersée (confuse ?), car pour se faire une bonne idée de ce qu’il est possible de faire et de quelle manière, il faut parcourir un certain nombre de pages de références, ainsi que les forums. Tant que c’est frais dans mon esprit, j’espère faire une synthèse de tout cela.

Ce guide ne prétend pas être LA façon de faire un site multilingue avec SPIP. Il existe plusieurs manières de le faire avec SPIP, qui dépendent surtout de la taille et du type de site, et la suite de l’article ne présente qu’UNE méthode. Mon approche est plutôt pour un site personnel. Venant d’un autre Système de Publication de Contenu (Mambo ou Joomla) j’ai voulu reproduire ce que j’ai réalisé en multilingue pour mon site personnel sous Mambo (Joomla). Mambo (Joomla) ne possède AUCUN support du multilinguisme dans sa distribution officielle. Toutefois par l’adjonction d’un composant enfichable spécialisé, Mambo (Joomla) devient en matière de multilinguisme à mon avis plus puissant que ce qu’offre SPIP. Malheureusement ce composant modifie beaucoup de fichiers du noyau Mambo (Joomla), rendant toute mise à jour difficile. On va voir qu’on va "presque" obtenir les même fonctionnalités sous SPIP.

Pour un exemple de ce que je veux réaliser, regarder l’image suivante :


et une fois qu’on clique sur le drapeau anglais on voit ceci par exemple :

Mambo vous proposera la même page avec la traduction du texte ou, si elle n’est pas disponible, un texte vous prévenant que la traduction n’est pas disponible. Les titres des rubriques sont également traduits.

A la fin de ce guide, vous obtiendrez quelque chose de similaire, avec ces différences :

- Il n’y aura pas de symétrie entre la version traduite et non traduite. En visualisant un article, pour passez à la traduction, il faudra cliquer sur le lien correspondant, s’il existe.
- Cliquer sur le menu de langue ne changera que l’interface du site, mais l’article affiché restera dans sa langue d’origine.
- En dehors des pages affichant le contenu même des articles, le menu de langue permettra d’afficher UNIQUEMENT dans les listes les articles et les brèves dans la langue sélectionnée.
- Sur le ’Plan du Site’ uniquement, j’ai maintenu l’affichage de tout le contenu, quelque soit la langue du menu, ce qui permet de voir l’intégralité des articles et brèves. Je n’ai pas modifié non plus les boucles Auteurs, car je trouve plus pertinent de laisser tous les articles d’un auteur, quelque soit sa langue. Cela reste évidemment un choix personnel.

Retour au Menu


 ETAPE 2 : MODIFIER LE SQUELETTE

Pour cet exemple on partira du squelette par défaut de SPIP 1.8.2b. On va copier uniquement les fichiers du squelette que que nous allons modifier.

- Créer un dossier /squelettes/ à la racine de votre site SPIP s’il n’existe pas.
- Créer le dossier /squelettes/spip_multilingue/

Ensuite on va copier tous les fichiers HTML que nous allons modifier, et uniquement ceux là.

- Dans votre dossier /dist/, copiez les fichiers article.html, breve.html, plan.html, resume.html, rubrique.html et sommaire.html et collez les dans /squelettes/spip_multilingue/
- Copiez également les 3 fichiers de feuille de style habillage.css, impression.css et typographie.css dans ce même dossier, ils doivent s’y trouver même si on ne les modifie pas.

Nous allons maintenant modifier chaque fichier html pour qu’ils gèrent le multilinguisme. En résumé, cela consiste à ajouter une balise SPIP spécifique, #MENU_LANG, qui permet d’afficher un menu de sélection de langue, et d’ajouter aux boucles un critère ( {lang?} ) permettant d’afficher uniquement les éléments dans la langue sélectionnée par le menu. Allons y pour les modifications :

- Modification du fichier /squelettes/spip_multilingue/article.html  :

On va ajouter une balise (dans tous les fichiers html du squelette) qui affichera la un menu déroulant avec sélection de la langue. A insérer à la ligne 41 :