Ludovic ROLAND

Blog technique sur mes expériences de développeur.

Wordpress : un blog multilingue avec le plugin Multisite Language Switcher

4 octobre 2014

Il est vrai que les derniers articles de mon blog ont été très orientés vers la mobilité et notamment Android.

Je vous propose aujourd’hui un article tournant autour du web et plus particulièrement le célèbre CMS Wordpress. Dans cet article, nous allons voir comment créer un blog multilingue à l’aide du plugin Multisite Language Switcher.

Introduction

En réalité, nous n’allons pas créer un blog multilingue, mais deux blogs que seront étroitement liés :

  • l’un en français ;
  • l’autre en anglais.

A l’aide du plugin Multisite Language Switcher nous aurons alors la possibilité de dire que la page du blog en français à une correspondance sur le blog en anglais et inversement.

Dans le cadre de tutoriel, j’ai choisi de faire un blog en français et un autre anglais, mais techniquement, nous pourrions ajouter d’autres langues.

Dans la suite de ce tutoriel, je pars du principe que vous avez au moins une instance de Wordpress installée. Je ne vais donc pas revenir sur le téléchargement et l’installation de cet outil.

Le réseau de blog

La première étape consiste à créer un blog en français et un blog en anglais. En réalité, nous n’allons pas créer deux blogs Wordpress complètement séparé. Nous allons utiliser une fonctionnalité avancée de Wordpress : le réseau de blog.

Cette fonctionnalité permet de créer plusieurs blogs à partir d’une installation de Wordpress. Si les blogs d’un réseau sont liés notamment par le nom de domaine qu’il partage, ils peuvent également être très dépendants puisqu’ils peuvent, par exemple, avoir leur propre thème, leurs propres plugins et leurs propres utilisateurs.

Autoriser le multisite

Afin de créer un réseau de blog, la première étape consiste à autoriser le multisite sur votre instance de Wordpress. Pour ce faire, il convient de mettre les mains dans le cambouis et d’ajouter la ligne suivante à votre fichier wp-config.php :

define( 'WP_ALLOW_MULTISITE', true );

Idéalement, placez cette ligne juste au-dessus du commentaire :

/* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

Si l’opération a fonctionnée, vous devriez alors découvrir dans le tableau de bord de votre blog l’entrée Création du réseau dans Outils :

Création du réseau

Maintenant que nous avons autorisé la création d’un réseau de blogs, nous allons passer à sa configuration. Dans le tableau de bord, cliquez sur l’entrée Création du réseau dans Outils. Vous devriez alors atterrir sur la page suivante :

Dans cette page on vous demande de configurer le réseau de blog que vous souhaitez créer. Vous devez par exemple choisir si vous souhaitez que chacun des blogs du réseau soit accessible via un sous-domaine ou via un sous-dossier.

On vous demande également de donner un nom à votre réseau et de renseigner l’adresse e-mail de l’administrateur du réseau.

Une fois la configuration terminée, cliquez sur le bouton Installer. Vous devriez alors atterrir sur la page suivante :

Comme vous pouvez le constater, Wordpress vous demande de faire deux opérations.

La première opération consiste à ajouter de nouvelles lignes au fichier wp-config.php de votre blog, juste au-dessus du commentaire :

/* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

Les lignes à ajouter sont les suivantes :

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '****.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Il convient bien évidemment d’adapter la ligne define('DOMAIN_CURRENT_SITE', '****.com'); à votre nom de domaine.

La seconde opération consiste à remplacer la partie concernant Wordpress de votre fichier .htaccess par le contenu suivant :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

# END WordPress

Création d’un second blog

Maintenant que tout est en place au niveau du réseau du blog, nous allons ajouter un nouveau blog à ce réseau. En effet, jusqu’à maintenant nous avons un premier blog, qui sera par exemple la version française de notre blog et il convient d’en créer un second pour la version anglaise.

Pour ce faire, rendez-vous dans le tableau de bord de votre réseau.

Dans le menu, cliquez alors sur Sites puis Tous les sites. Vous devriez alors arriver sur l’écran suivant :

Comme vous pouvez le constater, notre premier blog y figure bien. Nous allons en créer un second en cliquant sur le bouton Ajouter. Vous devriez alors voir s’afficher le formulaire suivant :

Renseignez alors le sous-domaine ou sous-dossier du site, son titre ainsi que l’adresse de messagerie de l’administrateur. Une fois terminé, cliquez sur Ajouter un site.

Votre réseau devrait alors maintenant compter deux sites comme en témoigne la capture d’écran suivante :

Installation du plugin Multisite Language Switcher

Nous allons maintenant installer le plugin Multisite Language Switcher. Pour ce faire, rendez-vous dans l’administration de votre réseau puis dans le menu Extensions puis Ajouter :

Vous devriez alors vous retrouver sur la page suivante :

Dans la barre de recherche tapez Multisite Language Switcher. Vous devriez alors y voir le plugin dans les résultats. Cliquez sur Installer maintenant :

Une fois l’installation terminée, cliquez sur Activer sur le réseau pour activer le plugin sur le réseau afin qu’il soit utilisable sur les différents sites :

Configurer la langue de chacun des blogs

Afin que le plugin Multisite Language Switcher puisse correctement fonctionner, nous allons configurer la langue des sites de notre réseau.

Pour ce faire, rendez-vous dans le tableau de bord de chacun des blogs, puis cliquez sur l’entrée Général des Réglages. Vous devriez alors atterrir sur le formulaire suivant :

Choisissez alors la langue de chacun des sites. Par exemple, Français pour le premier et Anglais pour le second.

Configurer le plugin Multisite Language Switcher

Nous allons terminer ce tutoriel avec la configuration du plugin Multisite Language Switcher sur chacun des sites qui composent le réseau.

Pour ce faire, rendez-vous dans le tableau de bord de chacun des blogs, puis cliquez sur l’entrée Multisite Language Switcher des Réglages :

Vous devriez alors atterrir sur le formulaire suivant :

Reprécisez alors la langue du blog ainsi que les informations que vous souhaitez afficher sur une page ou un article pour accéder à son équivalent dans une autre langue comme par exemple :

  • un drapeau ;
  • un texte ;
  • un drapeau et un texte ;
  • etc.

Conclusion

Finalement, dans tableau de bord de votre blog, dans le formulaire de création/modification d’une page ou d’un article, vous devriez y voir ce petit encart permettant de faire de lier le contenu du blog français à son équivalent sur le blog anglais et inversement :

Commentaires