Formation Logo Joomla Joomla!


Mise en place d'un site multilingue


Nous avons vu au cours du chapitre consacré à la prise en mains de Joomla qu'il était possible de créer un site web multi-langues dès l'installation de Joomla, que ce soit en serveur local ou sur un serveur distant. Cependant, si vous n'aviez pas retenu cette option au démarrage de votre projet, nous allons voir qu'il est possible de le faire postérieurement à cette installation.


Les langues

Les langues sont probablement le type d'extension le plus fondamental et surement le plus important de Joomla.
Les langues sont fournis soit comme un pack de langue ou soit inclus dans une extension. Ces packs se composent de fichiers INI qui contiennent des paires clé / valeur. Ces paires clé / valeur fournissent la traduction des chaînes de texte statiques dans le code source de Joomla! (et de ses extensions). Cela permet à Joomla! et aux extensions tierces de pouvoir être internationalisés plus facilement.

Les packs de langue de base comprennent également un méta fichier XML qui décrit la langue et fournit également des informations sur les polices à utiliser pour la génération des fichiers PDF.

Les langues sont gérées par un gestionnaire à part entière, accessible depuis le menu Extensions :


Mise en place d'un site multilingue



Les langues de contenu

Les langues de contenu déjà installées dans Joomla sont visibles en cliquant sur Langues de contenu dans le menu latéral gauche :


Mise en place d'un site multilingue


Pour l'instant, seules l'anglais et le français sont installées. L'ordre des langues dans le gestionnaire définit l'ordre d'affichage des langues sur le frontend.
Nous allons rajouter l'allemand et le russe.

Dans la barre d'outils, cliquez sur Installation de langues.

Mise en place d'un site multilingue


Remplissez les différents champs comme ceci :

  • Titre : nom de la langue (par exemple : German),
  • Titre natif : nom de la langue dans la langue natale (par exemple : Deutsch),
  • Tag de la langue : code de la langue sous la forme fr-FR (par exemple : de-DE pour la langue allemande et ru-RU pour la langue russe),
  • Code de langue : préfixe qui apparaotra dans les URL de votre site : http://mon-site-web.com/fr/ ou http://mon-site-web.com/de/ sur SEF est activé dans les apramètres de configuration,
  • Préfixe d'images : sélectionnez dans la liste déroulante, l'image correspondante à la langue à installer,
  • Statut : vous pouvez ici définir le statut d ela langue : publiée, dépubliée, dans la corbeille,
  • Accès : pour cette langue, vous pouvez définir un niveau d'accès.

Notez que dans l'onglet Nom du site, vous pouvez définir un nom de site spécifique pour chaque langue de contenu.


Mise en place d'un site multilingue


Une fois votre saisie terminée, vous n'oubliez pas de cliquer sur Enregistrer et Fermer.

Sur la page des langues de contenu, nous avons bien nos quatre langues d'affichées.
Ouvrez n'importe quel article ou module pour constater que les quatre langues sont maintenant disponibles :


Mise en place d'un site multilingue



Dans le cas d'un site multi-langues, une bonne connaissance du système des menus est primordiale si l'on veut mener à bien cette opération.
Tout d'abord, il est impératif que la page d'accueil du site soit configurée sur Toutes pour les langues.


Mise en place d'un site multilingue


Afin d'éviter une éventuelle confusion ultérieure, nous allons renomer ce menu principal qui n'accueillera que cette page d'accueil.
Ouvrez Menus et sélectionnez le menu principal actuel. Modifiez le nom de manière à pouvoir l'identifier aisément par la suite (ici : menu général).

Nous allons également devoir créer un menu principal par langue.


Mise en place d'un site multilingue


Chaque menu doit comporter au moins un lien de menu configuré dans sa langue et avoir une page d'accueil par défaut.


Mise en place d'un site multilingue


Nous allons maintenant intervenir sur les modules puisque les menus sont affichés par ces extensions. Ouvrez Extensions puis Modules.

  1. Créez un module de type Menu pour chaque langue en spécifiant la langue par défaut dans les paramètres :

    Mise en place d'un site multilingue


  2. Ensuite, dépublier le module affichant le menu général (dans notre exemple).

    Mise en place d'un site multilingue



Vous devez obtenir maintenant cet affichage pour vos menus :


Mise en place d'un site multilingue


Le contenu

Comme nous allons le voir maintenant, un site multi-langues doit être parfaitement structuré afin d'éviter les erreurs de navigation. La structure que je vous propose est la plus "lisible" et la plus simple à gérer ensuite.

Pour chacune des langue de contenu, créez une catégorie principale de contenu. Elle sera configurée avec sa langue assignée par défaut.


Mise en place d'un site multilingue


Pour chacune des ces catégories, créez autant de catégories enfants que nécessaire en spécifiant à chaque fois la langue par défaut.

Une catégorie (parent ou enfant) ayant comme langue Toutes devra être configurée comme les autres catégories.

Créez ensuite votre contenu (les articles) en leur assignant la même langue de contenu qu’à la catégorie à laquelle ces contenus seront rattachés.


Mise en place d'un site multilingue


Grâce à Joomla, vous avez la possibilité de filtrer chaque gestionnaire (extensions, contenu, etc) par la langue de contenu.


Les liens de menu

Nous allons maintenant relier nos différents contenus à des liens menus assignés aux différents menus en fonction de la langue de contenu.

Avant d'aller plus loin, il est bon de préciser certaines régles en matière de lien de menu dans le cadre d'un site multi-langues :

  • les liens de menus créés dans un menu spécifique doivent être assignés à la même langue de contenu (éventuellement à langues "Toutes",
  • un des liens de menu doit être désigné comme page d’accueil pour une langue de contenu,
  • les liens de menu assignés à une langue spécifique doivent afficher uniquement des contenus assignés à la même langue,

Mettons tout ceci en pratique pour y voir plus clair !

Ouvrez Menus puis le menu de votre choix et enfin Ajouter un lien de menu.

Comme nous avons placé nos articles dans des catégories (pour chaque langue de contenu), nous allons afficher pour chaque langue, les articles de cette catégorie sous forme de blog.
N'oubliez pas d'iniquer la langue de contenu dans les paramètres de droite.


Mise en place d'un site multilingue


Répétez cette opération pour chaque langue de contenu sans oublier d'enregistrer la création de chaque lien de menu.

A titre d'exemple, voici à quoi ressemble le menu FR avec ses liens de menus et sa page d'accueil FR par défaut :


Mise en place d'un site multilingue



Le template

Même si cette étape n'est pas obligatoire, elle est fortement conseillée car cela vous permet d'adapter le logo et les textes mais également le style en fonction de la langue de contenu choisie.

Ouvrez Extensions puis Templates. Sélectionnez le template par défaut puis cliquez sur Dupliquer dans la barre d'outils.


Mise en place d'un site multilingue


Une fois dupliqué, vous pouvez modifier ce nouveau style.
Pour le paramètre Défaut, choisissez la langue de contenu du template. Enregistrez votre modification.

Répétez l'opération pour chacune de vos langues de contenu, en veillant à laisser un style de template non assigné à une langue en particulier.


Mise en place d'un site multilingue


Vous pouvez maintenant personnaliser chaque template en fonction des langues de contenu qui seront affichées pour tenir compte d'éventuelles particularités locales.


Le module "Changement de langue"

Avant dernière étape : la création d'un ou plusieurs modules de changement de langue.

Il ne nous reste plus qu'à afficher le sélecteur de langues en frontend afin de pouvoir passer d'une langue de contenu à une autre. Pour cela, il faut créer et ajouter un nouveau module Changement de langue depuis le gestionnaire des modules.


Mise en place d'un site multilingue


Si vous n'utilisez pas les options Texte avant et Texte après et que vous assignez la langue par défaut sur Toutes, vous n'aurez besoin de créer qu'un seul module. Autrement, il faut créer autant de modules que de langue de contenu.


Réglez les autres paramètres selon vos besoins.
Dans la colonne de droite, n'oubliez pas de d'activer le module, de définir la position dans laquelle il sera affiché en frontend et d'assigner la langue par défaut sur Toutes.


Mise en place d'un site multilingue


Pensez à cliquer sur Enregistrer et fermer pour sauvegarder votre saisie avant de fermer la page !


Le plugin "Système - Filtre de langue"

Il ne nous reste plus qu'à paramétrer ce plugin et à l'activer pour avoir un site web parfaitement multilingue.

Nous allons apsser en revue lesdifférents paramétrages possibles de ce plugin :

  • Sélection de la langue du site pour les nouveaux visiteurs : choix possible entre "Langue du site" ou "Paramètre du navigateur",
  • Changement de langue automatique : permet de changer la la,gue du site automatiquement lorsqu'un utilisateur enregsitré se connecte,
  • Associations d’éléments : permet d'associer des éléments lors d'un changement de langue,
  • Enlever le code de langue de l’URL : permet d ene pas afficher le code de langue dans l'URL lorsque le SEF est activé,
  • Durée des cookies : choix possible entre "Une année" ou "Session",
  • .
  • Ajout de méta tags de remplacement : ajoute des meta tags de remplacement pour les éléments de menus associés à d'autres de différentes langues.


Mise en place d'un site multilingue


En complément de ce plugin, il est recommandé également d'activer le module administration Statut Multilangue. En effet, ce module permet de vérifier certaines variables importantes dans le cas d'un site multi-langue et affiche les éventuelles erreurs possibles.


Mise en place d'un site multilingue


Il ne nous reste plus qu'à afficher le frontend et voir comment s'affichent nos différentes pages.


Le frontend

Voilà, vous avez réussi à paramétrer un site parfaitement multilingue. Nos quatres drapeaux FR, GB, DE et RU sont bien affichés dans la position voulue.


Mise en place d'un site multilingue


Cliquez sur les différents drapeaux, votre site change automatiquement de langue.
Attention, cela ne traduit pas automatiquement le contenu d'une langue à l'autre. Pour cela, vous devez rédiger vos contenus dans les langues respectives :)


Quizz

Dans le prochain article, nous verrons comment définir ses différents types de pages. Mais avant cela, je vous invite à répondre à une question portant sur l'article que vous venez de lire.


Combien de langues, mon site Joomla peut-il contenir ?





Please answer the question.


Et ensuite...

 

web-eau.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! name and logo is
used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.