Développeur WordPress
WordPress mu et BuddyPress

Flux RSS de Fairweb

Adaptation et adoption du plugin Polyglot

publication Vendredi 16 septembre 2005 à 9:34 | par Fairweb | publié dans la catégorie Développement WordPress

On m’a demandé d’adapter le bilinguisme sur un site réalisé avec WordPress. Inutile de réinventer le monde. WordPress est open source et on ne développe des plugins que lorsqu’on ne les trouve pas ailleurs. J’ai testé plusieurs solutions, chacune répondant à différents besoins. Pour cette demande précise, c’est Polyglot qui a le mieux répondu à mon attente. Il permet d’afficher le site dans une langue choisie dans le menu (attention, il faut lire sur le site de l’auteur du plugin pour personnaliser les templates !). Le fonctionnement global est très satisfaisant, l’installation du plugin très aisée. J’ai cependant rencontré deux problèmes que je pense être des bugs que j’ai corrigés pour permettre la fonctionnalité voulue. Les titres de la sidebar ne se traduisaient pas. Voici les modifications que j’ai du apporter dans le fichier polyglot.php :
ligne 72 : ajout de cette fonction
add_filter('wp_list_pages', 'lang_picker_respect_more',1);
vers la ligne 180 : remplacer la ligne
$permalink = get_settings('home') . '/' . get_settings('blogfilename') . '?p=' . $idpost->ID;
par
$permalink = get_settings('home') . '/' . get_settings('blogfilename') . '?page_id=' . $idpost->ID;

Ensuite, mon souci était de faciliter l’utilisation de ce plugin par des personnes n’ayant aucune notion de html et de balises. Sachant que la plupart des utilisateurs mettent en ligne leurs billets au moyen d’un Rich Text Editor, il me fallait rajouter un bouton dans le RTE afin de générer les balises <lang_fr></lang_fr> et <lang_en></lang_en>
J’ai donc utilisé le plugin wysiwygii qui utilise htmlarea.
Dans le fichier wp-content/plugins/wysiwygii.php, ligne 87 j’ai ajouté "formatblock" dans le tableau config.toolbar
Dans le fichier wp-content/plugins/htmlarea/htmlarea.js, this.formatblock = {
"Heading 1": "h1",
"Heading 2": "h2",
"Heading 3": "h3",
"Heading 4": "h4",
"Heading 5": "h5",
"Heading 6": "h6",
"Normal": "p",
"Address": "address",
"Formatted": "pre",
"lang_fr": "lang_fr",
"lang_en": "lang_en"
};

  • Share/Bookmark

Laisser une Réponse

Subscribe without commenting