Accueil > INFORMATIQUE > Systèmes de publication web > Joomla, Mambo > Traduire un site avec Mambo et Mambelfish

Traduire un site avec Mambo et Mambelfish

mercredi 16 février 2005, par thierrybo

Depuis la première fois que j’ai mis en ligne mon site personnel en 1997, j’ai souvent pensé plusieurs fois à mettre le contenu aussi en anglais. Non pas que cela soit si important, mais après tout, le web est mondial, et je n’ai pas envie de rester franco-français. De plus, mes « pérégrinations » wargamistiques au début, puis informatiques m’ont amenées rapidement dans la sphère anglophone, et mettre une signature avec un site web en français est un peu ’annoying’ comme on dit en anglais.

Sur mon ancien site, fait avec Frontpage au début, puis avec Dreamweaver, j’ai simplement rajouté à la suite du paragraphe quelques lignes en anglais, mais çà ne fait pas très beau ! Ensuite, avec PHP et une base de données, il y a plusieurs solutions pour avoir un site multi-langue, çà se gère assez facilement, mais pour un site personnel hébergé chez Wanadoo, pas de solutions !

Maintenant avec un site chez OVH permettant enfin PHP/Mysql sans contrainte (par rapport à Free par exemple) et de plus tout frais transféré sur le CMS Mambo, j’avais bien vu qu’il y avait un composant chargé d’aider la traduction d’un site, mais les premiers commentaires que j’ai lus m’ont donné l’impression d’une usine à gaz bogguée.

Mais comme d’habitude, comme le « truc » m’intriguait, je suis retourné voir de plus près, et une fois que je met le nez dedans, je gratte pour passer les premiers écueils (j’aime çà gratter !), en ensuite je découvre le potentiel de l’objet. Ce composant est gé-nial ! Une fois qu’on a passé les écueils de l’installation, tout ce que vous avez à faire, c’est d’aller dans la partie :

/Components/Mambelfish/Translations/.

Ensuite sélectionner à droite :

/Contents/

pour avoir la liste de tous les articles du site. Vous cliquez sur un article, et vous avez à gauche votre article en français et à droite la zone de saisie. Vous avez juste à taper votre article, ou à copier/coller le texte original pour conserver la présentation, puis modifier le texte.

Avant de sauvegarder, il faut penser dans l’onglet paramètres à publier l’article, et à lui dire quelle est la langue du texte traduit. Vous pouvez dès à présent aller voir votre page l’article en français, changer de langue, et la magie opère !

Malheureusement avant d’arriver à cela, il faut passer par l’étape de l’installation, et là il y a quelques écueils à éviter. Au moment ou j’écris, il s’agir de la version : V1.5 (2004-11-05) :

- Faire un BACKUP COMPLET du répertoire d’installation de Mambo
- Il faut installer le composant de fàçon classique
- Ensuite il faut « écraser » un grand nombre de fichiers par les versions patchées. L’archive du patch contient la même structure de dossier que l’installation de Mambo, vous pouvez donc copier l’ensemble d’un coup, cela n’écrasera que les fichiers modifiés sous Linux et Windows. Attention toutefois il semble que sous Mac, l’ancienne structure de répertoire est complètement remplacée par la nouvelle !

En principe, l’installation est terminée, il faut aller dans les écrans de configuration de Mambelfish. C’est sans compter quelques bugs résiduels qui obligent d’abord à effectuer quelques tâches :

- La version tout récemment sortie de Mambelfish vous évite la copie des fichiers corrigés à l’étape précédente, toutefois deux fichiers sont « oubliés » lors de cette copie automatique. Il s’agit des deux fichiers index.php et index2.php qu’il faut recopier manuellement.

- L’écran “about” de Mambelfish est sensé vous indiquer si les fichiers ont été correctement « patchés ». Même si c’est bien le cas, ne vous inquiétez pas un message continuera à vous avertir que ce n’est pas fait !

- Dans le fichier “mambelfish.class.php”, il y a deux corrections à faire :

  • Ajoutez sous la ligne 32 « // XML library » :
    1. // AJOUT GLOBAL SINON ERREUR INSTALL SI SUB DIRECTORY
    2. global $mosConfig_absolute_path;

    Sinon çà ne marchera pas si votre site n’est pas à la racine du serveur web.

  • Sous la ligne 807 originale qui contient :
    1. if ( isset($fieldContent->value) && $fieldContent->value!='' ) {

    ajoutez les lignes :

    1. // patch ------------------------------------------
    2. {
    3. $fieldContent->value=stripslashes($fieldContent->value);
    4. }
    5. //-------------------------------------------------

    sinon des caractères bizarres apparaissent dans les articles traduits.

- Ensuite l’installation et la maigre aide en ligne ne vous disent pas qu’il faut modifier les templates pour qu’ils gèrent la langue. Pour qu’un menu de sélection de langue [1] apparaisse, il faut ajouter la ligne suivante, généralement avant ou après « mosPathWay » :

  1. mosLoadComponent( 'mambelfish' );

- Si on choisit l’apparence du sélecteur de langue utilisant les drapeaux, ceux-ci n’apparaissent pas. Ils ont été « oubliés » par l’installateur. Les fichiers images (en.gif et fr.gif par exemple pour anglais et français) des drapeaux sont a copier manuellement dans le répertoire « _RACINE_SITE_/images ».

Ensuite seulement il est possible de travailler correctement avec ce composant, toutefois il subsiste quelques comportements bizarres :

- Tant qu’on est pas passé par l’écran de configuration et qu’on a pas choisi les langues à gérer, tout clic sur les entrées des menus ramène invariablement à l’écran de configuration. Un peu déroutant car ressemble à un bug quand on est pas prévenu.

- Pour les articles où seule la zone « IntroText » est renseignée, Mambelfish vous indique que la traduction n’est pas à jour même si c’est faut. Un palliatif rapide en attendant un correctif est d’ajouter un espace dans la zone « Fulltext ». Toutefois cela a comme inconvénient de rajouter un lien « Read more » ou « Lisez la suite » sur certaine pages alors que la suite est vide (ne contient que notre espace).

Ne ratez pas également les paragraphes « Language configuration » et « Translation process » de l’aide en ligne. Voici quelques écrans de la “bête”.

PNG - 842 octets
Sur la page d’administration principale de Mambo
PNG - 7.1 ko
Ecran 1 de configuration
Ne pas oublier de saisir toutes les zones de saisie pour que tout fonctionne bien.
PNG - 7.2 ko
Ecran 2 de configuration
Ici vous pouvez choisir le comportement en cas d’abscence de traduction, le texte de remplacement et l’apparence du sélecteur de langue.
PNG - 6.7 ko
L’écran d’entrée des traductions !
C’est à partir de cet écran qu’on va réaliser toutes nos traductions. Le menu déroulant permet de sélectionner TOUT les éléments de Mambo pouvant être traduits. Dans le menu déroulant, « Contents » ne concerne QUE les articles. Les autres options concernent tout le reste du site, des noms des menus aux catégorie, etcc.. Impressionnant !
PNG - 8.4 ko
Liste des articles avec l’état de traduction
La petite ampoule jaune dans la colonne « State » indique que l’article original a été modifié et que la traduction n’est plus à jour.
PNG - 26.4 ko
L’écran de saisie des traductions
Le texte original apparait sur le côté gauche.

Notes

[1L’apparence du sélecteur de langue est configurable dans les écrans de gestion du composant

Répondre à cet article | RétroLiens :0


3 Messages

Répondre à cet article