Éducation, société et technologie
Squelette AHUNTSIC pour SPIP

La gestion de sites multilingues

dimanche 8 janvier 2006

Le fonctionnement, la gestion et la personnalisation des langues de sites multilingues utilisant les squelettes AHUNTSIC.

 Principe général

Le fonctionnement général du multilinguisme retenu pour le présent jeu de squelettes est le suivant :

  • Quand on affiche une page dans une langue, TOUT dans cette page est traduit dans la langue sélectionnée. Point à la ligne. En fait, ce qui est recherché, c’est que le site se comporte comme si on avait un site pour chaque langue. Il n’y a que quelques exceptions : le plan du site et le bloc des articles syndiqués (à revoir).
  • La page d’accueil ne présente QUE les rubriques, articles, brèves, sites, etc... de la langue sélectionnée. Par défaut, lors d’une première visite, c’est la langue principale du site qui est sélectionnées (modifiable dans la Configuration de l’espace privé).
  • Dans l’entête de chaque page est présenté un menu des langues publiées sur le site. Si le site est monolingue, ce menu ne s’affiche pas.
  • Un changement de langue par le menu des langues provoque un retour à la page d’accueil et un changement de langue de toutes les pages, de l’interface usager, du menu de navigation par rubrique, de la liste des articles, des brèves, des sites, etc...
  • L’accès à un article, à une rubrique ou à une brève dans une autre langue provoque aussi un changement de langue pour tout le site.
  • Le menu de navigation déroulant par rubrique (à gauche) est toujours contextuel à la langue en cours et ne liste que les rubriques du contexte de la langue en cours (ce comportement est modifiable en intervenant sur le squelette du menu - voir plus bas).
  • Les articles rendent compte s’il existe un lien de traduction vers le même article dans une autre langue (dans la mesure où ces liens ont été établis lors de la rédaction, de la traduction ou de l’édition d’un article).

 Gestion des langues

Pour exploiter correctement un site multilingue, il faut activer certains réglages dans l’espace privé à Configuration -> Gestion des langues.

Langue principale du site

  • La langue indiquée ici sera celle qui sera affichée par défaut à tout nouveau visiteur du site. Dans le squelette AHUNTSIC, l’interface de navigation sera dans cette langue ; seules les rubriques dans cette langue seront affichées dans les menus de navigation ; de même, seuls les articles, les brèves et les articles des sites syndiqués dans ces rubriques seront affichés en page d’accueil. Le tout, selon le principe d’une stricte séparation des langues. Par contre, en page d’accueil, un menu contextuel présente les 3 derniers articles dans les autres langues disponibles sur le site. De même, pour les articles, s’il existe une traduction dans d’autres langues, leur liste est affichée en entête de l’article en question, si les auteurs de l’article ont activé ce lien entre les traductions d’un même article.
  • En changeant de langue dans le menu, les visiteurs sont conduits en page d’accueil de cette langue et un témoin (cookie) leur est émis. Ils y retrouveront toutes les rubriques, articles, brèves et articles syndiqués disponibles dans cette langue. Tant qu’ils ne changent pas de langue, cette langue sera active, même lors d’une visite ultérieure (grâce au fameux cookie).

 Jeu de caractères du site

  • Bien que ce ne soit pas vraiment obligatoire [1], il est fortement conseillé d’utiliser l’encodage en alphabet universel utf-8 pour l’ensemble de votre site. Pour les langues autres que celles de l’Europe de l’ouest, c’est même obligatoire. L’installation de SPIP 2.0 propose cette option par défaut.
    • Pour les sites existants dans la version 1.8.3 de SPIP, il est préférable de ne pas convertir en UTF-8. Pour les sites en version 1.9 de SPIP et plus, on peut convertir les sites existants en utf-8 sans danger.

 Configuration > Multilinguisme

  • En mode multilingue, dans Configuration > Gestion des langues > Multilinguisme, nous recommandons de faire les réglages suivants :
    • Activer le menu de langue sur les articles ? Non
    • Activer le menu de langue sur les rubriques ? Oui
    • ... seulement pour les rubriques situées à la racine ? Oui
    • Gérer les liens de traduction ? Oui

Ensuite, cochez les langues désirées.

 Organisation des rubriques

Avec le présent jeu de squelettes, deux organisations des rubriques sont possibles :

  1. Une rubrique racine par langue - Créer à la racine de SPIP une rubrique par langue en leur assignant la langue appropriée et y placer tous les articles, brèves et sites référencés de cette langue. Dans ce cas, le TITRE et le DESCRIPTIF (ou le TEXTE) de cette rubrique s’afficheront en page d’accueil sous le bandeau, pour chacune des langues, si vous n’avez PAS renseigné Configuration du site -> Description du site ; sinon, c’est la Description du site qui s’affichera pour toutes les langues. La Description du site peut être rédigée en plusieurs langues en utilisant la balise <multi>...</multi>. Voir la documentation de SPIP sur les Blocs multilingues.
    Exemple :
    • Français
    • English
    • Español
  2. Plusieurs rubriques racine par langue - Créer à la racine autant de rubriques que désiré en leur assignant la langne appropriée et en les numérotant pour les ordonner.
    Exemple :
    • 110. Présentation
    • 120. Actualités
    • [...]
    • 210. About us
    • 220. News
    • [...]
    • 310. B

Cette deuxième option est de loin plus souple et préférable.

 Modifier le menu de navigation des rubriques

Ici, il faut se mettre les mains dans le cambouis et modifier le code des squelettes.

  • Par défaut, le menu affiche uniquement les rubriques de la langue en cours. Pour afficher toutes les rubriques de toutes les langues, copier le fichier ... / inc / inc-menu.html dans votre dossier de personnalisation (voir : Personnalisation avancée ; puis chercher et remplacer la ligne suivante :
    <BOUCLE_sommaire(RUBRIQUES){racine}{lang}{par num titre}>
    par
    <BOUCLE_sommaire(RUBRIQUES){racine}{par num titre}>
  • Cette dernière modification sera plus particulièrement intéressante dans le cas où on aura retenue une organisation des rubriques selon le principe : une rubrique racine par langue (voir plus haut).

 Personnalisation des langues

  • Les présents squelettes utilisent PARTOUT des chaînes de caractères multilingues pour les bouts de texte statique, c’est à dire les bouts de texte écrits directement dans les squelettes. Ils sont écrits sous cette forme <:breves:> qui sera traduit, selon le contexte de la langue du site, de la rubrique ou de l’article par « Brèves » en français ou « News items » en anglais.
  • La liste des chaînes de caractères dans les squelettes AHUNTSIC, sont celles livrées avec SPIP se trouvant dans les fichiers de langue situés dans le répertoire .../ecrire/lang/. Vous y trouverez pour chaque langue, trois fichiers, en français, par exemple, nous avons :
    • ecrire_fr.php
    • public_fr.php
    • spip_fr.php
  • Aucun autre fichier de langue n’est requis pour le bon fonctionnement des présent squelettes. Ne modifiez pas directement les fichiers de langue dans /ecrire/.
  • Pour ajouter des chaînes de caractères multilingues ou modifier la traduction de celles existantes, SPIP propose de placer dans votre dossier /squelettes/lang/ un fichier nommé local_xx.php (ou xx correspond à la langue affectée). Ce fichier sera reconnu et pris en compte par SPIP. Dans notre dossier ../ahuntsic/langues-exemples/ vous trouverez des exemple de tels fichiers où sont listées toutes les chaînes de caractères multilingues utilisées par le squelette ALTERNATIVES.

Maintenant, prenons pour hypothèse que nous désirons renommer la chaîne de caractères <:breves:> qui produit Brèves (en français) et News items (en anglais).

  • Nous créons un fichier local_fr.php et local_en.php dans notre dossier de personnalisation (ou dans le dossier /squelettes/) à la racine de SPIP.
  • Dans local_fr.php nous inscrivons :
  1. Dans local_en.php nous inscrivons :
  • Attention : pour que vos squelettes puissent éventuellement supporter tout changement ou type d’encodage, il est impératif de toujours utiliser des entités HTML dans les textes statiques utilisés dans des squelettes. Exemple : écrire Br&egrave;ves plutôt que Brèves.
  • Pour obtenir la liste des chaînes de caractères multilingues utilisées pour le jeu de squelettes d’AHUNTSIC, vous pouvez consulter ../ahuntsic/langues-exemples/local_fr.txt et pour une liste complète de toutes les chaînes de caractères de SPIP pour lesquelles il existe des traductions, voir dans l’espace privé : Configuration > Gestion des langues > Fichiers des langues.

Il existe maintenant aussi un plugin permettant de grandement faciliter la tâche de personnalisation des chaînes de caractères multilingues dans SPIP, du moins pour les chaînes de l’espace public du site. Voir Raper.

Au besoin, vous pouvez faire une copie de /ahuntsic/langues-exemples/local_fr.txt et le renommer dans /squelettes/lang/local_fr.php. Dans ce cas, le plugin RaPer prendra en compte toutes les chaînes de langues de SPIP utilisées dans le squelette AHUNTSIC, dont certaines sont issues de l’espace privé de SPIP.

FORUM des utilisateurs

[1Les squelletes peuvent fonctionner correctement avec tout encodage, dont iso-8859-1. Mais si vous désirez utiliser d’autres langues que les langues ouest européennes, il vous faudra de toute façon convertir votre base de données en utf-8. De plus, le jeu de caractères utf-8 est beaucoup plus riche, même en français, en anglais ou en espagnol. Pourquoi s’en passer.


Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 14380 / 1789534

Suivre la vie du site fr  Suivre la vie du site Ressources  Suivre la vie du site Squelette AHUNTSIC   ?    |    titre sites syndiques OPML   ?

Site réalisé avec SPIP 3.1.4 + AHUNTSIC

Creative Commons License

Visiteurs connectés : 2