Rendre un site Joomla multilingue

Joomla est un CMS de qualité qui offre beaucoup de possibilités d’ajout de fonctionnalités et de personnalisation de votre site. Aujourd’hui nous allons voir comment, en installant un simple module, nous pouvons traduire un site joomla en plusieurs langues.

Le module que nous allons utiliser s’appelle Joom!Fish. Actuellement disponible en version 2.0.4, il est compatible avec Joomla 1.5 (la version compatible 1.6 est en développement) et nécessite l’utilisation de la version 5 de PHP. Avant toute chose, il faut bien comprendre que Joom!Fish n’est pas un module de traduction automatique ! Il ne traduira pas vos articles pour vous. C’est à vous de fournir la traduction pour vos articles dans les différentes langues que vous souhaitez proposer. Joom!Fish s’occupe de gérer les langues et les traductions disponibles pour chacun de vos articles. Il génère également un encadré sur votre site, permettant à l’utilisateur d’accéder aux différentes traductions de l’article d’un simple clic de souris.

Il existe bien sûr des modules de traduction automatique tels que GTranslate qui utilise le moteur de Google mais l’avantage de Joom!Fish, c’est que vous avez un contrôle total sur votre traduction et sur les pages que vous voulez traduire.

L’installation

Pour commencer, téléchargez Joom!Fish sur son site officiel : www.joomfish.net. Vous devez également ajouter à la liste des langues gérées par Joomla toutes celles que vous souhaitez proposer àvos utilisateurs. Rendez-vous sur la page des traductions Joomla pour télécharger celles qui vous intéressent.

Une fois fait, connectez-vous sur votre interface d’administration Joomla et naviguez dans le menu Extensions > Installer/Désinstaller. Dans l’onglet Installation, cliquez sur Parcourir… et sélectionnez l’archive Joom!Fish puis cliquez sur Transfert de fichiers et installation… Si tout se passe bien, vous devriez avoir un écran vous indiquant que tous les composants ont bien été installés.

succès de l'installation de Joom!Fish pour Joomla

Faites de même pour installer les différentes traductions que vous aurez téléchargées. Une fois tous les modules installés, cliquez sur le menu Composants, un sous-menu Joom!Fish est apparu. Cliquez sur Control Panel pour accéder au panneau principal de Joom!Fish.

sous-menu du composant Joom!Fish

L’utilisation

Maintenant que votre composant Joom!Fish est prêt, il va falloir le configurer et traduire vos premiers articles. Commencez par cliquer sur le bouton Paramètres en haut à droite du panneau Joom!Fish. Une liste d’options s’offre à vous. Vous pouvez choisir quoi afficher dans le cas ou la traduction pour une langue ne serait pas disponible. Personnellement, j’aime bien afficher un message personnalisé. Afficher le contenu original sans information peut laisser croire à l’utilisateur que le module ne fonctionne pas.

paramètres du composant Joom!Fish

Cliquez ensuite sur le bouton Languages du panneau de configuration Joom!Fish et cochez les cases de la colonne Active pour toutes les langues que vous souhaitez proposer à vos visiteurs. Cliquez sur Sauver pour enregistrer les modifications.

Cliquez ensuite sur l’onglet Translation. Cet onglet propose un tableau récapitulatif de toutes les traductions existantes pour vos articles ainsi que leur état. Pour créer une traduction anglaise d’un article écrit en français, sélectionnez English dans la liste déroulante Languages puis choisissez Contents dans la liste déroulante Content elements. La liste de vos articles s’affiche.

tableau des traductions joomfish

Pour chaque contenu, le module affiche la langue de la traduction, son nom, la date de sa dernière édition, son état (non disponible, incomplète, complète) et si elle est publiée ou non.

Cliquez sur le titre de l’article pour commencer sa traduction. Tous les éléments du contenu qui peuvent être traduits disposent d’un champs texte traduction. Il vous suffit de les remplir un à un. Si les éléments ne changent pas (comme la date de publication) vous pouvez utiliser le bouton Copier pour aller plus vite.

En bas de page, vous pouvez modifier les métadonnées de votre article. Pensez à bien changer la valeur de l’option Content Language. L’original est en français mais la traduction doit être en anglais. Pour terminer, remontez en haut de page et dans la colonne de droite, cochez la case published, vérifier que la langue sélectionnée est bien English et cliquez sur Sauver.

Si tout s’est bien passé, le tableau des traductions indique que votre traduction est bien ‘up-to-date‘ et qu’elle est publiée.

La mise en page

Avant de pouvoir vérifier que tout a bien fonctionné et que votre traduction est bien disponible en ligne, vous devez positionner le module qui affiche les langues disponibles sur votre site web. Cliquez sur le menu Extensions > Gestion des Modules. Vérifiez que le module Language Selection est bien activé et vérifiez sa position par rapport à votre template.Pour la modifier, cliquez sur le titre du module et jouez avec les options disponibles.

configuration du module Language Selection Joom!Fish

Maintenant, tout est prêt. Connectez-vous sur votre site pour vérifier que la traduction de votre article fonctionne !

L’article en version française :

version originale française d'un article

L’article traduit en anglais :

traduction anglaise d'un article via Joom!Fish

C’est terminé. Vous voyez maintenant que rendre son site multilingue est très facile avec Joomla et le composant Joom!Fish. À vous de jouer ! =)

21 Comments

  1. Bonjour j’ai tout installer cela marche le seul problème que j’ai c’est que je n’ai pas de drapeau j’ai seulement écris français anglais allemand etc

    Répondre

    1. Bonjour stagiaire ^^

      Est-ce que tu as bien activé le module langage selection dans la gestion des modules de joomla et l’as tu bien placé dans une partie de ton template qui s’affiche bien ? Vérifie celà en éditant le code html de ton template :)

      Répondre

  2. oui oui je l’ai bien fais justement je peux choisir une liste déroulante avec les différentes langues. une liste normale ou les drapeau.
    Tout marche mais lorsque je met les drapeau il n’y a pas de drapeau qui s’affiche

    Répondre

  3. Bonjour,
    J’ai le même soucis. Dans le code source de la page, je constate une erreur au niveau du chemin d’accès aux images: « /components/com_joomfish/images%5Cflags/fr.gif » au lien de « /components/com_joomfish/images/flags/fr.gif ». Savez-vous vous où apporter la correction pour corriger cette erreur de slash?

    Répondre

    1. Je pense qu’il faudrait regarder dans le code du module qui permet d’afficher les drapeaux. Il doit se trouver dans les sources du plugin joomfish mais je ne saurais pas te dire ou exactement.

      Répondre

  4. Bonjour,
    Je viens de faire la manip d’installation et je n’ai pas eu la page montrée dans la première image… Mais j’ai quand même eu un message de bonne installation.
    J’ai poursuivi le tuto et je me suis vite rendu compte que je n’avais pas d’onglé Joom!fish dans le menu composant :/
    Que faire? Comment faire pour le réinstaller? (Lorsque j’essaye de le réinstaller, il me dit que ce truc existe deja).
    Merci.

    Répondre

    1. Il faudra peut être supprimer le dossier du module à la main. AS-tu téléchargé la dernière version de joomfish? Peut-être est-ce dû à un problème de compatibilité avec ta version de Joomla. Je t’invites à te renseigner sur le forum joomla. Je n’ai pas fait de nouvelle installation depuis ce tutoriel, donc je ne suis pas l’évolution du module. :)

      Répondre

  5. Apparement pour ceux ton les langues n’affichent pas d’images il faudrait tester le site en ligne. J’ai le meme probleme sous Firefox en local (wamp server) mais IE affiche bien.
    Moi j’ai pu installer et definir 3 langues (FR, EN, DE)mais quand je clique sur EN ca me renvoie sur FR je comprends pas, quelqu’un peut m’aider.??? merci

    Répondre

  6. Merci beaucoup pour ce tutoriel !
    Très bien expliqué et facile d’utilisation !
    J’aimerais juste rajouter des petits drapeaux à côté d’où est stipulé « French » ou « English »… sinon tant pis, c’est déjà tip top! ;)

    Répondre

  7. Merci beaucoup pour ce tutoriel très bien réalisé !

    Pour ma part j’ai eu le même problème de drapeau qui n’étaient tout simplement pas présents. Mais ceci s’est réglé très simplement en se rendant dans la configuration des langues et en modifiant le nom du fichier d’images vers un autre fichier.

    J’ai cependant deux autres soucis :
    – Mon choix de langues s’affiche en bas de page, ce que je trouve gênant pour la visibilité et l’ergonomie. Je n’ai pas encore trouvé où changer ça, et je me demande si je dois modifier le code du template, ou bien si c’est en option dans JoomFish.
    – J’aurais souhaité avoir le choix de ne pas afficher du tout les articles non traduits, ce qui ne parait pas possible avec cette extension.

    Merci.

    Répondre

    1. Il est possible de modifier l’emplacement des drapeaux mais pour celà, il faut effectivement changer le code php du template de ton site :) Ce n’est pas très compliqué mais je n’ai pas le code en tête et ça fait un petit moment que je n’ai pas touché à Joomla. D’après mes souvenirs, il faut modifier la configuration des modules pour que les drapeaux soient affichés dans un des placeholders définis sur ton template (un bloc pré-défini dont j’ai oublié le nom). Il faut ensuite modifier le code source de ton template pour positionner le placeholder à l’endroit souhaité et lui attribuer une classe css pour peaufiner l’affichage :)

      Concernant la possibilité de ne pas afficher les articles traduits, tu as, d’après mes souvenirs, un menu dans les options de configuration de Joomfish qui te permet de définir quoi faire en cas d’absence de traduction. Tu peux afficher l’article original mais tu peux aussi afficher un message par défaut qui explique que la traduction n’est pas disponible par exemple :)

      Répondre

  8. Bonjour,
    Tout d’abord, merci pour ce tutoriel.
    J’ai essayé d’installer le module tel qu’indiqué. Suite au clic sur le bouton « Transfert des fichiers », il y a désormais un bug d’accés sur le site affichant :
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /homez.139/tradibal/www/administrator/components/com_joomfish/classes/JoomfishManager.class.php on line 52

    Sauriez vous , s’il vous plaît, comment revenir en arrière? Et pourquoi pas identifier le problème.

    Merci de vos conseils.

    Tradi’Balade

    Répondre

    1. Bonsoir :)

      Je vois plusieurs possibilités quant à l’origine du problème :

      • ton serveur n’utilise pas php 5
      • l’archive de joomfish était corrompue
      • il y a eu un problème de connexion pendant le transfert des fichiers

      Dans ce genre de situation, il y a peut-être plusieurs étapes à suivre comme supprimer toute trace du module joomfish dans ton installation (supprimer le répertoire du module via ftp, supprimer la table du module dans ta base de données) ou réinstaller les fichiers de base de joomla pour supprimer les fichiers potentiellement corrompus.

      Je te conseille de poster ton problème sur le forum de Joomfish (si tu te débrouilles en anglais) ou bien sur le forum joomla (Fr). Ils seront sûrement plus aptes à t’aider :)

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *