Le multilinguisme

RAforum est un site fortement multilingué mais avec des articles différents d’une langue à l’autre. Il nous a donc semblé intéressant de proposer à nos visiteurs des articles d’autres langues.

Une langue par secteur

L’important est, au départ, d’isoler les langues afin de ne pas dérouter le visiteur. Pour cela, nous allons gérer un secteur (une rubrique-mère) par langue.
Ces secteurs sont divisés en sous-rubriques et la structure du site est différente d’une langue à l’autre. Tout cela parce que les articles sont différents, les thèmes aussi.
Il y a donc une navigation hiérarchique par langue, de façon tout à fait classique dans ce genre de sites.

Le choix de la langue de navigation

Une nouvelle possibilité de SPIP permet de proposer à nos utilisateurs de choisir leur langue de navigation.
Par défaut, SPIP utilise la langue du contexte : si on est dans une rubrique en français, la langue de navigation est le français ; si on visualise un article en anglais, la langue est donc l’anglais.
Donc, un visiteur français qui a désire lire un article anglais, verra son environnement passer du français à l’anglais.
Nous avons donc décidé de laisser le visiteur choisir sa langue de navigation et, n’importe où il se trouve sur le site, il verra les constantes affichées dans la langue de son choix.

Navigation transversale par mots-clés

Les rubriques apportent une classification figée et hiérarchique. Un article se trouve donc à un seul endroit dans le site, ce qui limite la navigation.
Les mots-clés sont donc là pour permettre de naviguer autrement sur ce site et ouvrir des combinaisons quasi-illimitées.
Par contre, il nous a semblé intéressant d’offrir à nos visiteurs la possibilité d’accéder à d’autres articles que ceux de la langue. Pour chaque article et chaque mot-clé, nous aurons :
 tous les articles pour ce mot-clé, dans la langue de navigation
 un extrait des articles du mot-clé dans d’autres langues

La page des mots-clés / le dictionnaire des personnes

Dans les deux cas, il s’agit de mots-clés. Nous avons décidé là-aussi de faire référence à toutes les langues. Et, quand on veut accéder à un mot-clé ou une personne en particulier, nous affichons tous les articles liés, présentés par langue :
 la langue de navigation
 puis toutes les autres langues

Un peu de SPIP pour aller plus loin

Cette partie est réservée aux spécialistes de SPIP.
Pour gérer correctement tout cela, nous avons dû partir de la version 1.8 CVS de SPIP.
 au niveau de l’administration, nous avons activé la gestion du multilinguisme et choisi les langues de notre site
 nous avons préparé des fichiers de traduction (cf. Dictionnaire des traductions)
 au niveau de la traduction des mots-clés, nous utilisons les balises
<multi> de la façon suivante

(par défaut, on affichera "North America", sauf pour le français où on aura "Amérique du Nord") (cette méthode pose des problèmes au niveau du tri des mots-clés : la solution est ici)
 sur tous les squelettes, nous avons ajouté le formulaire #MENU_LANG pour laisser au visiteur le choix de la langue
 nous ajouterons $forcer_lang=true dans le fichier ecrire/mes_options.php3
 ensuite, au niveau des boucles, il est possible d’activer le critère {lang?} si on souhaite afficher des objets dans la langue du visiteur.
 ne pas oublier de passer le critère {lang} dans l’appel des squelettes : <INCLURE (pied.php3){lang}>
Il suffit donc de peu de choses pour avoir quelque chose de très dynamique !
Tous les squelettes sont ici.