Créer un site multilingue

  • Imprimer

Un tutoriel pour construire un site Joomla! multilingue

Ce tutoriel, accompagné de son site exemple, a pour but de vous guider pas à pas dans la construction de la structure d'un site multilingue Joomla, depuis le frontal et l'administration.

A noter que ce tutoriel n'est pas un guide pas à pas pour reproduire ce site. Suivez-le et consultez ce site pour créer vos propres réalisations.

Accès à l'administration
Pour consulter tous les liens de ce tutoriel, vous devez vous connecter à l'administration du site

  • Identifiant : "testeur"
  • Mot de passe : "testeur"

Informations
Dans sa version en ligne, certaines fonctionnalités de ce site ont été désactivées dans l'administration pour empêcher toutes modifications  :

  • vous pouvez éditer les éléments, mais vous ne pouvez pas enregistrer les modifications ;
  • seul le composant "Contact" du menu "Composants" de l'administration est visible pour l'utilisateur "testeur".

Ces limitations ne sont pas présente dans la version en téléchargement :

Certains liens de ce tutoriel qui conduisent à l'administration du site utilisent le filtre d'affichage par mot clé pour n'afficher que les éléments souhaités d'une liste. Pour réinitialiser l'affichage et visualiser tous les éléments, vous devez cliquer sur "Effacer" comme dans l'image ci-dessous.


Réalisation et droits d'auteur

Ce tutoriel a été réalisé par Infograf768 et adapté par Sarki.
Il est libre d'utilisation et de redistribution sous réserve de conserver les signatures.
Vous pouvez consulter le tutoriel original et son site exemple par ce lien :

Ce site est une réalisation de Joomlatutos.com
Il est libre d'utilisation, notamment comme base pour vos réalisations personnelles.
Il est libre de redistribution, sous réserve de mentionner son origine avec un lien vers Joomlatutos.com.
Il ne contient pas d'extensions tierces hormis le plug-in "mediabox_ck" pour l'affichage des captures en popup.
Vous pouvez le télécharger avec son tutoriel et l'installer comme un Joomla neuf, seul le choix des données exemples n'est pas disponible car elles sont intégrées d'office.

Vous avez des questions ?

N'hésitez pas à venir les poser sur le forum du portail de Joomla.fr :


Joomla 2.5 permet de créer un site multilingue simple

Le multilingue de Joomla n’est pas de type associatif : il ne force pas tout élément à avoir son équivalent dans les autres langues affichées.

On pourrait décrire la fonctionnalité multilingue de Joomla comme la possibilité de créer un multi-site filtré par langues, et non un site où chaque contenu doit être traduit.
La même structure pourrait être utilisée pour un site à langue unique. La différence résiderait en ce que l'interface et l'affichage des différents menus et modules n'y seraient pas déterminés par la langue choisie.

Il est possible d'associer des liens de menus à d'autres liens de menus attribués à d'autres langues (tel les liens de menu de ce site). Lorsque deux liens de menu sont associés, changer de langue depuis la page vers laquelle conduit l'un de ces deux liens conduira vers la page de l'autre lien.

Note
La fonctionnalité multilingue de Joomla n'est pas comparable aux extensions multilingues telles JoomFish pour Joomla 1.5, ou FaLang et Josetta pour Joomla 2.5 qui gèrent les éléments à traduire de manière centralisée. A noter toutefois que FaLang tel JoomFish crée les contenus traduits dans des tables de la base de données qui lui sont propres et non dans les tables classique de Joomla, ce qui rend la suppression de l'extension impossible par la suite, et nécessite le suivi de ses mises à jour.


Création des langues de contenu

Après avoir installé Joomla sans données exemples, il faut tout d'abord créer les langues de contenu pour chacune des langues souhaitées.
Une fois celles-ci définies, leur choix sera possible dans toute l'interface de Joomla pour les attribuer à des contenus, liens, modules, etc.

L'attribution des langues de contenu peut être faite avant même d'avoir installé le paquet de langue désiré.
Par la suite, avant de visionner le site, il suffira de s'assurer que le paquet "site" de la langue en question soit installé et publié.

Pour ajouter des langues de contenu, procédez comme suit :

  • connectez-vous l'administration du site ;
  • accédez à la "Gestion des langues" => onglet "Contenu" ;
  • cliquez sur "Nouveau" et complétez les champs.

  • Saisir les paramètres pour chaque langue de contenu.
  • Le Titre de la langue est utilisé dans le module "Changer de langue".
  • Le code de langue, le préfixe image et le tag de langue doivent être uniques (le préfixe image permet d'afficher des images spécifiques pour chaque langue).
  • Le tag de langue est celui du paquet langue correspondant (exemple : fr-FR pour le français, en-GB pour l'anglais de Grande-Bretagne, de-DE pour l'allemand, etc.).
  • Une langue de contenu peut être dépubliée pour ne pas être visible, mais sera toutefois disponible pour son affectation aux éléments souhaités.
  • Depuis la version 2.5.4 de Joomla, le paramètre "Accès" est implémenté pour  permettre de définir l'accès d'une langue de contenu dans l'interface frontale du site.
    Ceci est utile lors de la préparation d'une nouvelle langue de contenu pour un site en ligne : par défaut, toutes les langues de contenu ont un accès "Public", en assignant l'accès "Spécial" aux langues de contenu dont les éléments ne sont pas complets, ces éléments ne seront accessibles que par les utilisateurs identifiés des groupes liés à cet accès.
    Il est également possible de créer des "Accès" spécifiques pour n'autoriser volontairement l'accès à certaines langues de contenu qu'à des groupes d'utilisateurs donnés.

Options des Métadonnées & Nom du site spécifiques selon la langue

Depuis la version 1.7.3 de Joomla, les Métadonnées du site, sa description et son nom peuvent être spécifiques pour chaque langue de contenu grâce aux paramètres "Options des Métadonnées" et "Nom du site".

Note
L'affichage ou non du nom du site est défini dans la configuration de Joomla, onglet "Site", "Paramètres SEO"=>"Nom du site dans les titres".


Page d'accueil par défaut au paramètre Langue "Toutes"

Il est important de préserver un lien "Page d'accueil" assigné du paramètre Langue "Toutes", même si ce lien n'est pas visible (tel sur ce site).

Pour éviter toute confusion avec les menus que vous allez créer, renommez le menu par défaut (mainmenu) en un titre clair pour vous ("Menu principal" dans ce site). Gardez-y un lien de menu quelconque défini comme page d'accueil et ayant le paramètre Langue "Toutes" (le lien "Page d'accueil" dans ce site).

Lien de menu de la "Page d'accueil" par défaut de ce site
(au paramètre Langue "Toutes")

Dépubliez le module de menu attribué au menu principal "mainmenu" de sorte que ce dernier ne soit plus visible, et assignez-lui le paramètre Langue "Toutes".
Si vous créez une page d'accueil différente pour chaque langue, le menu "mainmenu" ne devra jamais être affiché et ce module pourra être attribué à un autre menu, par exemple celui d'une langue spécifique.

Le module du "Menu principal FR" de ce site
Dans ce site, le module attribué par défaut au menu "mainmenu" (Menu principal) a été réattribué au "Menu principal FR". Cliquez sur ce lien pour éditer ce module...


L'importance de la structure des contenus

Un site multilingue doit être structuré de façon spécifique pour éviter des erreurs 404 lors de la navigation.

  1. Accédez à la "Gestion des catégories".
  2. Créez pour chaque composant à utiliser et chaque langue installée une catégorie racine à laquelle vous attribuez le paramètre Langue correspondant.
  3. Créez des catégories enfants pour chaque catégorie racine ou parente en leur attribuant le même paramètre Langue.
  4. Créez des contenus dans chacune de ces catégories et attribuez-leur le même paramètre langue que celui de la catégorie racine.

Note
Une catégorie racine assignée du paramètre Langue "Toutes" doit être structurée de la même façon qu'une catégorie racine assignée d'un paramètre Langue spécifique.

Astuce
Utilisez les filtres dans les différents gestionnaires de contenu pour afficher les éléments par langue et/ou catégorie.

Filtrer par catégorie et/ou par langue (exemples de ce site)

  


Créer des menus spécifiques et liens pour chaque langue

  • Créez ensuite des liens dans les menus de chaque langue.

Note
Tous les liens de menu créés dans un menu spécifique doivent être assignés du même paramètre Langue ou, du paramètre Langue "Toutes".
Un des liens de menu de chaque langue, dans un seul menu par langue, doit être défini comme "Page d'accueil".
Les liens de menu assignés à une langue spécifique doivent afficher des contenus assignés à la même langue.
Le paramètre Langue "Toutes" doit être considéré comme une langue de contenu spécifique.

Exemple du "Menu principal FR" de ce site...
Le lien de menu avec le drapeau est celui défini comme page d'accueil par défaut pour le français.

Résultat
A ce stade de la construction de la structure de votre site, vous devez avoir au moins :

  • un menu par langue de contenu qui contient un lien de menu défini comme page d'accueil ;
  • un menu assigné au paramètre Langue "Toutes" qui contient un lien de menu défini comme page d'accueil.

Les menus de ce site

 


Créer les modules de menu pour chaque langue

Accédez à la "Gestion des modules" et créez des modules de menu pour tous les menus de chaque langue.

Assigner ces modules à la langue concernée, ou au paramètre Langue "Toutes" si le menu contient des liens vers des contenus devant être affichés dans toutes les langues.

Le module du Menu principal FR

Astuce
Vous pouvez utiliser le module de menu attribué par défaut au menu "mainmenu" (Menu principal au paramètre Langue "Toutes") et lui attribuer le menu d'une langue spécifique en lui assignant le paramètre Langue correspondant.
Vous pouvez ensuite dupliquer ce module, puis adapter dans la copie le menu et le paramètre langue assigné.

Important
Un module de menu ayant le paramètre Langue "Toutes" ne doit afficher qu'un menu dont tous les liens ont également le paramètre Langue "Toutes".
Ce module aurait pour but d'être affiché dans toutes les langues du site.

Sur le même principe que le module précédent, un module de menu attribué à une langue de contenu spécifique doit afficher un menu contenant des liens de menu attribué à la même langue, toutefois, il peut également afficher des liens de menu attribué au paramètre Langue "Toutes".

Note
Dans ce site, le module de menu attribué par défaut au menu "mainmenu" (Menu principal au paramètre Langue "Toutes") a été réattribué au "Menu Principal FR".


Afficher le même contenu dans l'interface de plusieurs langues

Il y a 3 façons d'afficher le même article (ou contenu d'un autre composant) dans plusieurs langues.

L'article doit avant tout avoir le paramètre Langue "Toutes" et être originellement contenu dans la catégorie racine (ou ses catégories enfants) ayant également le paramètre Langue "Toutes" (c'est le cas pour ce tutoriel).

L'article "Tutoriel" de ce site au paramètre Langue "Toutes"

Première solution

  • Créez un menu spécifique ne contenant que des liens de menu ayant le paramètre Langue "Toutes" ;
  • Ajoutez un lien de menu ayant le paramètre Langue "Toutes" vers l'article en question ;
  • Affichez le menu dans un module ayant le paramètre Langue "Toutes" pour qu'il soit visible dans toutes les langues.

Deuxième solution

  • Créez les menus pour chaque langue existante ;
  • Ajoutez un lien de menu vers l'article en question dans les menus de chaque langue avec le paramètre Langue correspondant (voir les liens de ce site vers la page de ce tutoriel) ;
  • Affichez les menus de chaque langue dans un module ayant le même paramètre Langue.

Troisième solution

  • Éditez l'article original, appliquez-lui un paramètre de langue spécifique, attribuez-lui une catégorie de même langue, et enregistrez-le sans fermer ;
  • Changez la catégorie pour lui en appliquer une correspondant à une autre langue, adaptez le paramètre de langue, et cliquer sur "Enregistrer une copie" pour dupliquer l'article ;
  • Répéter l'opération pour chaque langue ;

  • Créez les menus pour chaque langue existante ;
  • Ajoutez les liens vers les articles correspondants dans les menus de chaque langue ;
  • Affichez les menus de chaque langue dans un module ayant le même paramètre Langue.

Assigner une langue de contenu à un module

Un langue de contenu peut-être assignée à chaque module.

Deux cas se présentent...

  1. Certains modules tels mod_articles_categories, mod_articles_category, mod_weblinks ne doivent afficher que des contenus auxquels une langue spécifique est assignée.
    Attention, la langue de contenu doit correspondre à celle assignée au module. Par exemple sur ce site, les modules de menu.

     
  2. Pour d'autres modules plus génériques, la nécessité d'assigner une langue de contenu dépendra de la façon dont est paramétré le module :

A. S'il n'est pas nécessaire d'afficher le titre du module (mod_footer, mod_search, mod_syndicate, etc.), et/ou si certains champs comme le ' ou le 'Texte après' (mod_login, mod_languages, etc.) ne sont pas remplis, et si ces modules doivent être affichés pour toutes les langues de contenu, il est recommandé pour éviter les doublons de n'utiliser qu'un module en lui assignant le paramètre Langue "Toutes". Par exemple sur ce site, le module "Changement de langue" (mod_languages).

Module "Changement de langue" de ce site

B. Dans le cas contraire, assigner la langue de contenu adaptée.

Sur ce site, outre les modules de menu, les modules suivants ont également été adaptés pour chaque langue : "Fil de navigation" (mod_breadcrumbs) pour le texte "Page d'accueil", "Espace clients" (mod_login) pour le titre.

Module "Fil de navigation EN" de ce site


Création des modules de changement de langue

Pour afficher le choix des langues dans la partie frontale du site, vous devez créer au moins un module "Changement de langue" (mod_languages).

Créez un module de ce type par langue de contenu si les champs "Texte avant" et "Texte après" sont remplis ou, dans le cas contraire, un unique module avec le paramètre Langue "Toutes" (tel sur ce site).

Module "Changement de langue" de ce site

Les paramètres du module permettent d'adapter son affichage

Important
Le module "Changement de langue" affiche uniquement les langues de contenu publiées.
Vous devez publier ce(s) module(s) avant d'activer le plugin Système "Filtre de langue".

Note
Si aucun lien de menu n'est associé (voir "Liens de menu associés"), il n'est pas obligatoire d'afficher le(s) module(s) de changement de langue ailleurs que sur les "Pages d'accueil" par défaut de chaque langue : la sélection d'une langue modifiera les modules affichés dont les menus et la navigation.
Sinon, publiez au moins le module sur les pages dont les liens de menu sont associés.


Activer le plug-in système 'Filtre de langue'

Le plug-in système "Filtre de langue" doit être activé pour permettre le fonctionnement multilingue de Joomla.

Pour activer ce plug-in, afficher le Gestionnaire de plug-ins, filtrer le type en choisissant "system" dans la liste déroulante "Choisir un type", et cliquez sur son titre pour l'éditer.

Filtrer l'affichage des plug-ins par type

Le plug-in système "Filtre de langue" doit être activé

3 options sont à considérer :

  1. Sélection de la langue de contenu du site pour les nouveaux visiteurs.
    Le plug-in tentera de détecter la langue du navigateur. Si la langue de contenu est présente et publiée, il affichera le site dans cette langue.
    Il peut être aussi paramétré pour toujours afficher la langue par défaut du site.
  2. Changement de langue automatique.
    Ce paramètre permet de changer automatiquement la langue du site pour un utilisateur qui modifie dans son profil le paramètre "Langue du site". Cette modification n'a pas d'incidence pour les autres utilisateurs.
  3. Association de menus.
    Ce paramètre permet d'implémenter l'association de liens de menu auxquels sont assignés des langues différentes (en savoir plus sur les liens associés...).

Important
Le plug-in système "Filtre de langue" ne doit être activé qu'après s'être assuré que le ou les modules  "Changement de langue" sont publiés.

Réécriture d'URL en clair (SEF)

Depuis la version 1.7.3 de Joomla, le préfixe de la Langue de contenu (le code de langue défini dans ses paramètres) peut ne pas être utilisé dans l'URL pour la langue par défaut du site lorsque le SEF est activé.
Par exemple, si le français (fr-FR) est défini comme langue par défaut du site avec le code langue "fr", le paramètre "fr" ne sera plus ajouté à l'URL : au lieu d'obtenir l'URL "http://www.votre-site.com/fr/" vous obtiendrez l'URL "http://www.votre-site.com/".

Pour activer cette fonctionnalité vous devez :

  • accéder à la gestion des plug-ins (Extensions=>Gestion des plug-ins) ;
  • filtrer l'affichage par le type "system" pour faciliter l'accès au plug-in ;
  • éditer le plug-in nommé 'Système - Filtre de langue' ;
  • activer le paramètre "Enlever le code langue de l'URL".

Alias d'éléments de menu

Quand un site est multilingue et que le plug-in système "Filtre de langue" est activé, il est possible depuis la version 2.5 de Joomla d'utiliser le même alias pour deux éléments de menu du même niveau, pourvu que ceux-ci soient assignés à des langues de contenu différentes.
Il est ainsi possible d'avoir des URL tels :

  • http://www.votre-site.com/fr/news.html
  • http://www.votre-site.com/en/news.html

Les liens de menu associés

Depuis la version 1.7 de Joomla, il est possible d'associer des liens de menu de différentes langues.

Quand un lien de menu d'une langue spécifique est associé à un lien de menu d'une autre langue, cliquer par le  module "Changement de langue" sur le drapeau ou le nom de cette autre langue redirigera vers le lien de menu associé, et réciproquement.
Si le lien de menu n'est pas associé, l'utilisateur sera redirigé vers la page d'accueil par défaut de la langue choisie (seule possibilité jusqu'à la version 1.6 de Joomla).
Il est donc au choix du webmestre d'associer ou non des liens de menus.

Procédure
Pour associer des liens de menu vous devez...

  1. Activer le plug-in "Filtre de langue" et vous assurer que le paramètre "Association de menu" est lui aussi activé, puis sauvegarder les paramètres.
  2. Modifier un lien de menu auquel une langue est assignée et associer des liens de menu.
    Grâce à l'activation du paramètre "Association de menu" dans le plug-in "Filtre de langue", un nouveau panneau déroulant nommé "Associations de liens de menu" est disponible sur la droite en édition d'un lien de menu. Chaque langue de contenu y est présentée avec une liste déroulante qui permet d'associer les liens de menu désirés dans la langue concernée.

Important
Il n'est pas possible d’associer des liens de menu ayant le paramètre Langue "Toutes".

Note
Il n'est pas obligatoire de spécifier une association de lien pour chaque langue, un contenu peut être disponible uniquement pour un nombre limité de langues.

Un lien de menu auquel est assigné une langue de contenu non publiée peut être associé, mais les liens de menu auxquels il est associé n'afficheront pas ce choix tant que la langue de contenu ne sera pas publiée.


Afficher un template différent selon la langue du site

Certains template proposent des paramètres, tel le titre ou la description du site à afficher, qu'il peut s'avérer nécessaire d'adapter selon la langue de contenu.

Paramètres avancés du template par défaut de ce site (Bezz 2)

En assignant une Langue à un template, celui-ci devient le template par défaut pour cette langue.

Il suffit donc de dupliquer le template voulu dans le nombre de langue existantes et d'assigner à ces copies la langue souhaitée.

Les templates de ce site avec les trois copies du template Bezz 2

Note
Il n'est pas obligatoire de dupliquer le template pour la langue de base, sauf si vous créez un ou des menus assignés au paramètres de Langue "Toutes" et que vous souhaitez que le template affiché par ces liens ait des paramètres spécifiques.

Deux solutions sont disponibles pour dupliquer un template :

  1. effectuer des copies du template uniquement dans la base de données ;
  2. effectuer des copies physiques du template.

1. Effectuer des copies du template uniquement dans la base de données

Cette solution est adéquate si seuls les paramètres disponibles en édition du template depuis l'administration doivent être adaptés.

  • Accédez à la "Gestion des template" ;
  • Sélectionnez le template à copier et cliquez sur "Dupliquer" ;
  • Répétez l'opération le nombre de fois correspondant au nombre de langues disponibles, en préservant le template original pour le paramètre Langue "Toutes" ;
  • Éditez chacune des copies :
    • assignez-leur un paramètre de Langue ;
    • adaptez les autres paramètres souhaités.

2. Effectuer des copies physiques du template

Cette solution doit s'appliquer si vous souhaitez modifier des fichiers du template.

  • Accédez à l'onglet "Templates" du gestionnaire de templates ;
  • Cliquez sur le titre du template que vous souhaitez dupliquer physiquement ;
  • Dans le champ du paramètre "Nom du nouveau template", indiquez le nom souhaité en utilisant uniquement des lettres, chiffres, tirets et traits de soulignement sans espace. Les fichiers langue du template sont également copiés et renommés avec le nom que vous indiquez.
    Cliquez sur le bouton "Copier le template" ;
  • Répétez l'opération le nombre de fois correspondant au nombre de langues supplémentaires ;
  • Éditez chacun des nouveaux templates :
    • assignez-leur une Langue ;
    • adaptez les autres paramètres souhaités ;
  • Modifiez les fichiers souhaités.

Note
Vous pouvez assigner un template spécifique à un lien de menu même si ce lien est lié à un autre template de par son paramètre Langue. Vous pouvez le faire soit par l'édition du lien, soit par l'édition du template.

Détails d'un lien de menu


Le module "Statut multilangue"

Un nouveau module a été introduit dans la version 1.7.1 de Joomla pour aider les utilisateurs à vérifier le statut de divers aspects d'un site multilingue.

Pour afficher ce module, vous devez le publier.

  • Accédez à la "Gestion des modules".
  • Affichez les modules d'administration en sélectionnant "Administration" dans la première liste déroulante.
  • Cliquez sur l'icône de publication.
  • Recharger la page pour afficher le module.

Le module est désormais présent dans la barre de statut et cliquer sur son nom/icône ouvrira une fenêtre popup avec des informations diverses, ainsi que les erreurs possibles.

Fenêtre popup du module "Statut multilangue" de ce site

Note
Si vous avez verrouillé l'accès public du site dans la configuration de Joomla (conseillé lors d'un développement visible), vérifier une dernière fois tous les paramètres avant de le déverrouiller.


Effectuer les ultimes vérifications

Avant de publier votre site, vérifier les points suivants :

  1. Les langues de contenu désirées sont-elles publiées ?
  2. Les langues correspondantes sont-elles installées et activées ?
  3. Les éléments de menu "Pages d'accueil" par défaut pour chaque langue de contenu publiée existent-ils et sont-ils publiés ?
  4. Un menu spécifique contenant un élément de menu "Page d'accueil" par défaut auquel est assigné le paramètre Langue "Toutes" existe-t-il, et son module de menu est-il non publié ou inexistant ?
  5. Les modules de menu contenant les "Pages d'accueil" par défaut des différentes langues existent-ils et sont-ils publiés ?
  6. Le ou les modules  "Changement de langue" existent-ils et sont-ils publiés ?
  7. Le plugin système "Filtre de langue" est-il activé ?

Si vous pouvez répondre par l'affirmative à ces différentes questions, en ce qui concerne sa structure multilingue, votre site peut être publié.


Index des astuces


Convertir un site en langue unique en un site multilingue

Il est facile de créer un site en langue unique, de le mettre en ligne puis, plus tard, de le modifier en un site multilingue.

Toutefois, pour faciliter cette procédure, il est conseillé d'observer les étapes suivantes :

  1. Installez Joomla sans données exemples.
  2. Créez une langue de contenu. Il est inutile de la publier
  3. Structurez les contenus pour cette langue de contenu.
    Exemple: si la langue de contenu est fr-FR, créer une catégorie racine à laquelle vous assignez fr-FR comme à ses sous-catégories si vous en créer ; tous les articles de cette catégorie racine et de ses sous-catégories devront également avoir le paramètre Langue fr-FR !
  4. Créez une "Page d'accueil" par défaut auquel est assigné le paramètre Langue "Toutes" dans un menu de votre choix.
  5. Créez un module de menu pour afficher ce menu, assignez-lui le paramètre Langue fr-FR et publiez-le.
  6. Assignez le paramètre Langue fr-FR à tous les nouveaux menus que vous créez et qui seront disponibles par la suite dans une autre langue.
  7. Assignez le paramètre Langue fr-FR à tous les liens de menu de tous les menus fr-FR.
  8. Assignez le paramètre Langue fr-FR à tous les modules qui seront disponibles par la suite dans une autre langue.
  9. Ne publier aucun module de changement de langue !
  10. N'activez pas le plug-in "Filtre de langue" !

Le site ignorera la langue de contenu et se comportera comme si aucune langue n'était assignée.

Note
Lorsque plus tard vous adapterez votre site en multilingue, il vous faudra créer un nouveau menu contenant un lien de menu défini comme page d'accueil par défaut auquel vous assignerez le paramètre Langue  "Toutes", et assigner la langue fr-FR au lien de menu qui était défini auparavant comme page d'accueil par défaut.
Pour la suite de la mise en place, il vous suffira de suivre ce tutoriel.


Convertir un site multilingue en un site en langue unique

Il est facile de convertir un site multilingue en un site en langue unique, appliquez la procédure suivante :

  1. Mettez le site hors ligne.
  2. Désactivez le plug-in système "Filtre de langue".
  3. Dépubliez ou supprimez les modules "Changement de langue".
  4. Supprimez le statut de "Page d'accueil" par défaut aux liens de menu auxquels une langue de contenu est assignée.
  5. Si existant, supprimez le module de menu (non publié) contenant le lien de menu "Page d'accueil" par défaut auquel est assigné le paramètre Langue "Toutes".
  6. Définissez un nouveau lien de menu "Page d'accueil" par défaut dans l'un des menus conservés.
  7. Supprimez le menu qui contenait le lien de menu "Page d'accueil" par défaut auquel est assigné le paramètre Langue "Toutes".
  8. Supprimez, si nécessaire, les liens de menu, les catégories, les contenus et les modules qui ne seraient plus nécessaires.
  9. Changer/adapter si nécessaire les titres et les alias.

Choix de la langue dans le "Traitement par lot"

Depuis la version 1.7.3 de Joomla, le choix de la langue de contenu a été implémenté dans le traitement par lot des divers gestionnaires de l'administration.

Il est ainsi possible de changer la langue d'éléments choisis lors de la modification d'accès, de copie, ou de déplacement en lot. Ceci est très utile lorsque vous créez une structure pour une nouvelle langue de contenu.

Pour plus de détail (en anglais) :


Optimisation pour les moteurs de recherche

La version 2.5 de Joomla propose un nouveau plug-in système "Code langue" qui permet de changer à volonté le tag de langue dans le code source des pages sans avoir à changer le paquet de langue ou les fichiers langue des extensions tierces.
Exemple : Un site basé au Québec, en Belgique, en Suisse et utilisant le paquet de langue français fr-FR peut ainsi changer l'affichage de la langue de fr-FR en fr-CA, fr-BE, fr-CH dans le code source.

  • <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-fr" lang="fr-fr" dir="ltr" >
    deviendra par exemple
  • <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-ch" lang="fr-ch" dir="ltr" >

Un autre exemple est l'utilisation du paquet de langue arabe de Joomla! dont le tag est ar-AA. Il s'agit d'un paquet en arabe classique. Il est évidemment impossible de proposer des paquets différents pour tous les pays utilisant l'arabe. Il suffira donc de choisir le code ISO du pays dans le plugin pour optimiser les résultats pour ar-DZ (Algérie), ar-EG (Égypte), ar-SA (Arabie Saoudite), etc.


Meta tags de remplacement

Un nouveau paramètre est disponible dans le plugin système "Filtre de langue" depuis la version 2.5 de Joomla : "Ajout de meta tags de remplacement".
Ce paramètre permet d'ajouter des références alternatives dans le <head> de la page affichée pour tout menu associé ainsi que pour les pages d'accueil.

Exemple :
<link href="http://www.votre-site.com/fr/" rel="alternate" hreflang="fr-FR" />
<link href="http://www.votre-site.com/de/" rel="alternate" hreflang="de-DE" />
<link href="http://www.votre-site.com/it/" rel="alternate" hreflang="it-IT" />
<link href="http://www.votre-site.com/es/" rel="alternate" hreflang="es-ES" />
<link href="http://www.votre-site.com/mk/" rel="alternate" hreflang="mk-MK" />
<link href="http://www.votre-site.com/ta/" rel="alternate" hreflang="ta-IN" />



Migrer un site Joomla 1.5 multilingue vers un site Joomla 2.5 multilingue

Si vous possédez un site multilingue en Joomla 1.5 réalisé avec JoomFish et que vous souhaitez le migrer vers Joomla 2.5, comme cette extension n'est pas disponible pour cette version, il existe deux solutions :

  • L'extension Josetta est un système de gestion multilingue pour Joomla 2.5. Son auteur propose un utilitaire sous forme de composant pour Joomla 1.5 qui permet d'exporter les sections, catégories, articles et liens de menu d'un site multilingue réalisé avec JoomFish ; cet utilitaire corrige même les liens internes dans les contenus afin de correspondre au nouveau standard de Joomla 2.5.
    Une fonction d'importation est disponible dans le composant pour Joomla 2.5 qui permet d'importer ces données.
    Les contenus créés par Josetta sont des contenus propres à Joomla, ils ne sont donc pas dépendants de l'extension qui peut être désinstallée à tout moment.
    Josetta est disponible en version commerciale par ce lien...
  • L'extension FaLang est également un système de gestion multilingue pour Joomla 2.5, mais avec ses contenus propres.
    Basé sur l'extension JoomFish, la structure est la même, mais les tables ont un nom différents.
    Pour ceux qui savent traiter des fichiers de base de données, il est possible d'exporter les tables JoomFish d'un site multilingue Joomla 1.5, de les adapter pour qu'elles correspondent aux tables de FaLang, et de les importer dans la base de données d'un site Joomla 2.5.
    Attention, ne désinstallez jamais FaLang d'un site multilingue en production, les contenus créés par celui-ci ne seraient plus disponibles !
    FaLang est disponible en version gratuite et en versions commerciales par ce lien...