Ce site est doublement multilingue ! (Excusez du peu). Alors comment jongler avec les langues ?
En avant !
Dès le début, nous avons voulu que ce site soit multilingue, c’est réalisé. Mais à bien y regarder, il l’est à double titre...
Il faut d’abord considérer la langue principale du site. C’est dans cette langue que la navigation s’effectue, et tous les articles multilingues se présenteront d’abord dans cette langue.
Il s’agit de la structure du site.
Elle est déterminée par le menu langues en haut à gauche du site.
Un internaute ayant un ordinateur en français sera dirigé automatiquement vers le français, un ordinateur en anglais verra le site s’afficher en anglais, et ainsi de suite en indonésien. Toutefois, un internaute peut choisir sa langue, et pour peu que son navigateur soit suffisamment récent, ce choix reste enregistré dans ses préférences.
Dans une langue donnée, seuls les articles dans cette langue sont disponibles dans les menus de navigation. Si je ne parle que français, je n’ai pas de désir d’être pollué par d’autres langues incompréhensibles... Ceci en est la raison.
Cette langue principale est gérée de deux manières dans un site SPIP :
La structure immuable
Le socle immuable des messages de SPIP est enregistré dans les fichiers «langues». Ces messages sont codées dès la conception du site par les développeurs de SPIP, et l’utilisateur aussi bien que l’internaute n’y ont pas accès. (même si le webmestre peut les personnaliser...) « Articles - Rubriques - Mots-clé - Envoyer un message - Contacter l’auteur - Répondre à cet article etc », sont des expressions internes à SPIP et sont affichées dans la langue choisie par l’internaute.
La structure personnelle
Ensuite, il y a la structure du site, celle imaginée par l’utilisateur qui crée lui même ses rubriques, ses mots clés etc. C’est une structure imaginée avant même qu’un seul article ne vienne «remplir» le site.
Pour ce site, il s’agit de « Artistes, Peintures et Photographies etc », pour les rubriques ; et « Expositions, Passages, Duality etc » pour les mots-clé. Comment afficher ces expressions dans la bonne langue puisqu’elles sont créées par l’utilisateur (elles n’existent pas dans un fichier langue quelconque) ?
C’est ici qu’intervient la balise <multi>
. Elle permet de traduire les titres des rubriques et mots-clé.
syntaxe :
<multi>[fr]titre en français[en]titre en anglais[id]titre en indonésien[ja]日本語の題名</multi>
Entre crochets, on inscrit l’identité de la langue, suivie du texte dans cette langue, et ainsi de suite dans toutes les langues disponibles dans le site. le tout entouré des balises <multi>
et </multi>
.
Il faut retenir que :
Toutes les expressions de SPIP inscrites dans les fichiers langues en interne ainsi que les expressions personnelles de structures du site codées avec la balise <multi>
sont toutes mise en œuvre par les commandes du menu Langue et uniquement par ce menu.
Dit autrement : le menu langues gère la langue principale du site et tout ce qui est codée par la balise <multi>
.
Donc le menu langue gère la structure du site en orientant la navigation de l’internaute dans sa langue.
La structure constitue le premier mode multilingue, géré par le menu langues.
Et le deuxième mode ?
C’est celui du contenu !
Dans ce site, le contenu est uniquement géré par les articles. (Il n’y a pas de brèves, ni de sites syndiqués...) Lorsqu’un internaute navigue dans sa langue, il n’a accès qu’aux articles disponibles dans sa langue. D’où la nécessité de traduire chaque article dans les trois langues si possible. A priori, le choix de la langue principale suffit. Cependant nous avons ajouté une fonctionnalité qui permet à l’internaute, tout en restant dans sa langue principale de lire un article traduit dans une autre langue, si elle existe. Cette possibilité n’est offerte que dans l’espace des articles puisqu’elle n’intervient que sur le contenu.
Cette fonctionnalité n’est pas une nécessité absolue : on peut considérer que l’internaute doit rester dans sa langue. C’est juste un plus.
Mais ceci nous amène à comprendre comment fonctionnent les traductions d’un article.
L’idée, c’est qu’il y a un article original, duquel sont tirées des traductions. On peut voir sur les deux images qui suivent les deux manières d’écrire un article qui sera la traduction d’un autre.
L’astuce ici, c’est de comprendre qu’à chaque article est attribuée une langue. Et que le fait de déclarer que l’un et la traduction d’un autre permet de les regrouper. Sur ce site, ils vont donc trois par trois. SPIP décidera d’afficher tel ou tel en fonction de la langue de l’internaute.
Ici, il n’est nullement question d’utiliser la balise <multi>
puisque chaque traduction est un article unique : nous sommes dans le domaine du contenu !
Il n’est pas nécessaire de réimporter les documents dans les traductions d’un article : il suffit d’insérer l’identifiant du document dans la traduction : <doc123|left|lyteboxhor2>
par exemple dans les trois articles. Cependant, on peut utiliser la balise <multi>
(petite entorse à la règle) dans les titres et descriptifs de ces documents, puisqu’ils sont utilisés dans toutes les traductions. Ainsi, les titres et légendes s’affichent dans la langue principale du site.