Créer un site multilingue est un processus compliqué et qui nécessite d'ajouter une ou plusieurs extensions et d'y consacrer de nombreuses heures en configuration et optimisation. Sauf si votre site est propulsé par Joomla !

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

La gestion des langues dans Joomla 4

Les langues sont peut-être 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 incluses 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 traduites très facilement.

Les langues sont gérées par un gestionnaire à part entière qui est accessible depuis le bloc Gestion à partir de Système :

Créer un site multilingue avec Joomla 4

Les langues de contenu

Les langues de contenu sont les langues installées dans Joomla et vous y acccéder en cliquant directement sur Langues de contenu.

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 une autre langue : l'espagnol.

Dans le menu haut, cliquez sur le bouton Installation de langues.

Cliquez sur le bouton Installer en face de la langue à ajouter :

Création d'un site multilingue avec Joomla 4

Et après quelques secondes de patience, la nouvelle langue de contenu est ajoutée à Joomla.

Revenez sur le gestionnaire des langues pour publier la nouvelle langue :

Liste des langues installées dans Joomla 4

Pour vérifier que tout s'est bien déroulé, ouvrez n'importe quel article ou module pour constater que les trois langues sont bien disponibles :

Langues disponibles d'un site multilingue

Les menus pour un site multilingue

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

Ensuite et pour éviter une éventuelle confusion, nous allons renommer le menu principal qui n'accueillera que cette page d'accueil.
Ouvrez Menus puis cliquez sur Gestion des menus.
Dans la liste des menus, cliquez sur Menu principal puis changez le nom de manière à pouvoir l'identifier aisément par la suite (par exemple : menu global).

Créer un site multilingue avec Joomla 4

Il faut maintenant créer un menu principal pour chaque langue de contenu :

Mise en place d'un site multilingue

Chacun de ces menus doit comporter au moins un lien de menu configuré dans sa langue et avoir une page d'accueil par défaut. Vous devez donc obtenir ceci pour chaque menu :

Créer un site multilingue avec Joomla 4

Mise en place d'un site multilingue

Créer un site multilingue avec Joomla 4

Voilà une bonne chose de faite !


Maintenant, nous allons nous occuper des modules puisque les menus sont affichés par le biais de ces extensions. Depuis le panneau d'administration, cliquez sur Modules dans la rubrique Site.

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

Enfin, dépubliez le module affichant le menu principal de départ. Vous devriez obtenir ceci :

Mise en place d'un site multilingue

Le contenu dans un site multilingue

Vous vous en doutez mais créer un site multilingue nécessite d'avoir des contenus parfaitement structurés afin d'éviter les erreurs de navigation. La structure que je vous propose est la plus lisible et la plus simple à gérer par la suite. Libre à vous de l'adopter ou de l'adapter à vos besoins.

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

Catégories articles 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.

Ajoutez ensuite vos articles en leur assignant la même langue de contenu qu’à la catégorie à laquelle ces contenus seront rattachés.

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

Les liens de menu d'un site multilingue

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 multilingue :

  • les liens de menus créés dans un menu spécifique doivent être assignés à la même langue de contenu que le menu (ou éventuellement à "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,

Je vous propose de mettre tout ceci en pratique pour y voir plus clair !

Ouvrez Menus et en face du menu de votre choix, cliquez sur l'icône pour ajouter un nouveau 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 de sélectionner la langue de contenu dans les paramètres du lien de menu.

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

Les templates d'un site multilingue

Cette étape n'est pas obligatoire pour créer un site multilingue mais elle peut vous être utile si vous avez besoin d'adapter le logo, les textes et le style général de votre site en fonction de la langue de contenu choisie.

Nous avons vu lors de l'étape Modification avancées d'un template, comment dupliquer un tempalte dans Joomla 4. Aussi, je ne redétaillerai pas les étapes ici.

Une fois dupliqués autant de fois que nécessaire, vous pouvez modifier vos nouveaux templates.

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

Templates d'un site multilingue

Le module "Sélecteur de langue"

Avant dernière étape de la mise en place d'un site multilingue : la création du module de changement de langue.

Pour que les visiteurs puissent afficher les contenus dans leurs langues, il faut afficher le sélecteur de langues en frontend. Pour cela, nous allons créer un nouveau module Sélecteur de langue depuis le gestionnaire des modules.

Module sélecteur de langues d'un site multilingue

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

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

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 terminer la création de notre site multilingue.

Nous allons voir quels sont les différents paramétrages possibles pour 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 langue du site automatiquement lorsqu'un utilisateur enregistré se connecte,
  • Associations d’éléments : permet d'associer des éléments lors d'un changement de langue,
  • 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.
  • Langue du x-default : si vous avez activé le paramètre précédent, vous pouvez définir ici la langue du x-default parmi les langues disponibles sur votre site,
  • Enlever le code de langue de l’URL : permet de ne pas afficher le code de langue dans l'URL lorsque le SEF est activé,
  • Durée des cookies : choix possible entre "Année" ou "Session",

Créer un site multilingue avec Joomla 4

En association de ce plugin, je vous recommande é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 multilingue et affiche les éventuelles erreurs.

Le frontend

Voilà, vous avez réussi à créer votre site multilingue. les trois drapeaux ES, FR et GB sont bien affichés dans la position voulue.

Cliquez sur les différents drapeaux pour voir votre site changer automatiquement de langue.
Bien sur, cela ne traduit pas automatiquement les contenus d'une langue à l'autre. Pour cela, vous devez rédiger et ajouter vos contenus dans les langues respectives.

Votre progression :

48,65%

web-eau.net

29800 Landerneau

06 74 50 27 99

daniel@web-eau.net