Gérer un site multilingue avec WordPress

WordPress ne propose pas de prise en charge native de la gestion multilingue. Il existe cependant des extensions développées par la communauté WordPress qui vous permettent de créer facilement un site multilingue.

La création d’un site multilingue peut être faite nativement en créant un site par langue et en faisant des liens pour passer d’un site/langue à l’autre. Mais des extensions permettent aussi de réaliser directement un site multilingue sans avoir à maintenir un site WordPress pour chaque langue.

Les différents types d’extensions WordPress de gestion multilingue

Voici les différents types d’extensions de gestion multilingue pour WordPress :

  1. Chaque publication peut être déclinée dans chaque langue du site. C’est le cas d’extensions telles que Polylang, xili-language, Bogo, Sublanguage. Les traductions de chaque publication sont liées les unes aux autres.
  2. Stockage de chaque traduction de chaque publication en tant que métadonnée de la publication. C’est le cas de l’extension WPGlobus.
  3. Gestion des traductions sur la page générée au lieu d’utiliser le contexte de la publication. C’est le cas de Transposh.
  4. Les extensions telles que Multisite Language Switcher et Multilingual Press utilisent une installation multisite sur laquelle chaque langue est un site du réseau de sites.

Haut ↑

Une langue par publication

Les extensions de gestion multilingue qui assignent une langue unique par publication permettent à la personne qui administre le site de sélectionner la langue de la publication et d’ajouter des traduction de celle-ci en créant de nouvelles publications (cela vaut également pour la traduction des catégories, étiquettes, et d’autres types de publications et taxonomies personnalisées).

Ainsi, les différentes versions du même contenu sont liées entre elles pour former des groupes de traductions. Cela permet aux personnes visitant le site de basculer d’une langue à l’autre tout en restant sur la publication ou sur la taxonomie courante.

Avantages :

  1. Le contenu de la base de données de chaque publication demeure intact (cela facilite l’installation et la désinstallation de l’extension).
  2. Tout peut être traduit. Si une publication contient des champs personnalisés, ils sont attachés à leur publication, et sont donc déjà associés à la langue de celle-ci.
  3. Certaines extensions utilisent les fichiers de langue (.mo) livrés avec le thème. Dans WordPress, la localisation est basée sur la technologie GNU gettext (en anglais). Ainsi, lorsqu’un article est par exemple affiché en italien, l’extension va basculer toutes les chaînes de caractères du thème en italien (la langue de l’article actuellement affiché). Ces fichiers peuvent être complétés avec les termes spécifiques au site (titres de catégories, widgets, liens…). Inutile de les traduire à nouveau, ajoutez simplement les termes et traductions spécifiques dans les langues cibles.
  4. Les extensions qui analysent les contenus du site (comme les extensions de remontée de contenus liés) continuent de fonctionner correctement.

Inconvénients :

  1. Une architecture plus complexe. L’extension a besoin de se crocheter sur un grand nombre de fonctions de WordPress et de les filtrer afin de ne renvoyer que le contenu qui correspond à la langue en cours de visualisation.
  2. Certaines extensions anciennes ont besoin d’ajouter des tables à la base de données de WordPress. À noter : ce n’est pas le cas des extensions de ce type que nous avons listées plus haut.
  3. Cela peut causer une croissance excessive de la taille de la base de données et donc réduire les performances d’affichage. Un site basé sur WooCommerce disposant de 100 000 produits aura 500 000 enregistrements en base s’il est disponible en 5 langues. Toutes les métadonnées des produits seront également dupliquées (il peut y en avoir des dizaines par produit), ainsi que les données transitoires, etc.

Haut ↑

Toutes les traductions sont contenues au sein de chaque publication

Les extensions de gestion multilingue qui stockent les traductions de contenu au sein des publications utilisent les balises méta et attributs de langue pour distinguer le contenu de chaque langue. Quand la publication est affichée, ce processus est lancé en premier puis uniquement le contenu de la langue active est affiché.

Avantages :

  1. L’édition de chaque langue se fait au sein de la même publication, chaque langue se trouve côte à côte.
  2. Moins de choses à casser. Il n’y a pas de table de base de données additionnelle et bien moins de choses à modifier sur le fonctionnement de WordPress.
  3. La recherche trouvera toujours les publications, quelle que soit la langue utilisée pour les mots-clés de recherche.
  4. Le nombre d’enregistrements en base de données reste le même.

Inconvénients :

  1. La désinstallation peut être compliquée, car la base de données doit être nettoyée de ses contenus multilingues.
  2. Les permaliens des publications ne seront pas traduisibles.

Haut ↑

Gestion des traductions automatiquement lors de la génération de la publication

Les extensions de gestion multilingue qui utilisent le contenu des pages générées par WordPress réalisent la traduction automatiquement lorsque chaque page est affichée par la personne visitant le site. Généralement, ces extensions créent directement les traductions. La traduction générée peut ensuite être modifiée si besoin.

Avantages :

  • L’installation est simple et les traductions de chaque publication sont directement fournies.
  • La modification des traductions est facile à faire.

Inconvénients :

  1. Les traductions automatiques ne sont pas de très bonne qualité, ce qui rend les contenus du site difficiles à lire (ou à comprendre) dans les langues traduites.
  2. Il y a un lien fort entre le contenu et sa traduction, donc les modifications sur le contenu d’origine risquent de casser ses traductions.

Haut ↑

Les extensions qui vous connectent à des services de traduction externes

Ces extensions de gestion multilingue affichent généralement un widget permettant de lancer un outil de traduction en ligne (comme par exemple Google Traduction). Le contenu est alors traduit automatiquement par le moteur de traduction.

Avantages :

  1. L’installation est simple et les traductions de chaque publication sont directement fournies.
  2. Il est assez clair pour la personne qui visite le site que les traductions seront automatisées donc ses attentes seront sans doutes moins grandes en termes de qualité de traduction.

Inconvénients :

  1. Les traductions automatiques ne sont pas très bonnes, ce qui rend les contenus du site difficile à lire et à comprendre dans les langues traduites.
  2. Sans la possibilité de modifier les traductions générées, ces extensions limitent la possibilité de la personne qui a rédigé le contenu de fournir du contenu traduit de qualité.

Haut ↑

Chaque langue dans son propre site au sein d’un réseau multisite

Un site dédié est créé pour chaque langue dans laquelle vous voulez le traduire, au sein d’une installation multisite. Tous les sites vont utiliser la même extension, qui permettra de connecter les publications de chaque site entre elles. Le système dispose d’une table de base de données permettant de gérer les correspondances entre les publications de chaque site.

Avantages :

  1. Chaque langue est un site WordPress normal avec des publications classiques.
  2. Si vous désactivez l’extension, chaque site continue de fonctionner, vous ne perdez que le lien entre la langue de chaque publication.

Inconvénients :

  1. La séparation des sites crée davantage d’activité de gestion car il faut se connecter à chaque site indépendamment pour en gérer le contenu.

Haut ↑

Négociation des langues

La négociation des langues est un terme utilisé pour décrire la façon dont la langue à afficher à chaque personne visitant le site est déterminée.

Sans parler de la façon dont le contenu est géré et stocké, les extensions de gestion multilingue doivent aussi être capables de choisir la langue à afficher pour chaque personne visitant le site.

Généralement, l’URL indique la langue à afficher. Les différentes stratégies pour y passer l’information de langues sont les suivantes :

  • Ajout du nom de la langue en tant que paramètre : example.com/?lang=fr pour le français et example.com/?lang=en pour l’anglais.
  • Ajout de la langue en tant que « sous-répertoire virtuel » : example.com/fr/ pour le français et example.com/en/ pour l’anglais.
  • Utilisation de différents domaines ou sous-domaines pour chaque langue : www.example.com pour le français et de.example.com pour l’allemand ; ou www.example.fr pour le français et www.example.de pour l’allemand.

Haut ↑

Comment choisir la solution multilingue qui vous conviendra

Choisir l’extension multilingue qui répondra à vos attentes peut prendre du temps. Consultez le répertoire officiel des extensions WordPress pour obtenir une liste de la plupart des extensions de gestion multilingue disponibles.

Il n’y a pas qu’une seule manière de gérer du contenu multilingue avec WordPress mais plusieurs, chacune étant adaptée à une stratégie de contenu, à un modèle de données, au nombre de publications de votre site, ou encore au comportement ou à l’expérience attendue par les personnes qui visitent votre site. Et pour certaines solutions comme la gestion multilingue en multisite, des compétences techniques en administration serveur seront sans doute nécessaires.

Dans tous les cas, l’installation d’une extension multilingue est un changement important pour un site. Nous vous conseillons de créer d’abord un site de test pour vous assurer que votre site fonctionne bien avec l’extension multilingue choisie avant de l’installer sur votre site en ligne.

Comme la plupart des extensions de gestion multilingue impactent la base de données de façon significative, il est nécessaire de faire une sauvegarde de la base de données avant toute expérimentation.

Haut ↑

Contenus liés

Traduit par Jb Audras
Relu par Patrick Olivaud & Jenny Dupuy
Dernière mise à jour le 31 décembre 2021

Contribuer à la documentation en français de WordPress