Blog ENI : Toute la veille numérique !
🚀 PROLONGATION : Jusqu'à -30% sur tous les
livres en ligne, vidéos & e-formations. Cliquez ici
💥 Interessé(e) par un accès illimité à
tous nos livres & vidéos, sur l'IA, le dev, les réseaux... ? Cliquez ici
  1. Livres et vidéos
  2. Drupal 10
  3. Langues et localisation
Extrait - Drupal 10 Le guide complet pour le développement de solutions web robustes
Extraits du livre
Drupal 10 Le guide complet pour le développement de solutions web robustes Revenir à la page d'achat du livre

Langues et localisation

Introduction

Drupal 10, grâce à ses fonctionnalités avancées de gestion multilingue, offre des outils puissants pour transformer n’importe quel site en une plateforme accessible et personnalisée pour des utilisateurs du monde entier.

Avant de commencer à configurer votre site pour une audience multilingue, il est essentiel de comprendre les modules du cœur de Drupal qui permettent la localisation et la traduction. Chacun de ces modules joue un rôle crucial dans différents aspects de la gestion multilingue.

Ces modules sont conçus pour fonctionner en harmonie les uns avec les autres, garantissant une intégration transparente des différentes couches de traduction. Comprendre et configurer correctement ces modules est essentiel pour tirer pleinement parti des capacités multilingues de Drupal 10.

images/11EI01.png

Tout au long de ce chapitre, nous aborderons les différentes fonctionnalités et bonnes pratiques autour de ces modules dont voici une courte présentation :

Language

Le module Language est la base de toute fonctionnalité multilingue dans Drupal. Il permet aux administrateurs de configurer les langues disponibles pour leur site.

Ce module est indispensable pour ajouter de nouvelles langues et définir une langue par défaut, ainsi que pour ajuster les paramètres linguistiques selon les besoins du site.

Interface Translation

Le module Interface Translation fournit les outils nécessaires pour traduire le texte de l’interface utilisateur. Il permet également aux utilisateurs de basculer entre les langues de l’interface, facilitant ainsi la navigation pour les administrateurs et les visiteurs du site qui préfèrent utiliser différentes langues.

Ce module capte les chaînes de caractères traduisibles dans le code et offre la possibilité d’utiliser des fichiers de traduction pour appliquer les traductions en plus d’une interface d’administration dédiée.

Content Translation

Avec le module Content Translation, il est possible de traduire le contenu du site, y compris les articles, les pages basiques et d’autres types de contenu personnalisés.

Ce module active la traduction pour chaque entité de contenu, permettant une gestion détaillée de la manière dont chaque élément apparaît dans...

Traduire l’interface

La traduction de l’interface utilisateur est essentielle pour fournir une expérience utilisateur cohérente dans différentes langues. Drupal 10 rend cela possible grâce au module Interface Translation.

Suivez ces étapes pour activer le module Interface Translation :

 Allez dans le menu Extend depuis le menu d’administration.

 Recherchez le module Interface Translation dans la liste des modules disponibles. 

 Cochez la case à côté du module Interface Translation et cliquez sur le bouton Install.

images/11EI08.png

Vous pouvez aussi activer le module via Drush en utilisant la commande suivante :

drush en locale 

Une fois le module activé, vous pouvez récupérer automatiquement les traductions pour Drupal et les modules communautaires installés de deux manières :

Soit en vous rendant dans Reports - Available translation updates :

images/11EI11.png

Soit via la commande Drush suivante :

drush locale:update 
images/11EI09.png
images/11EI10.png

Une fois les traductions mises à jour, vous pouvez consulter le site en français en définissant « fr » comme préfixe d’URL ou bien en utilisant le bloc de changement de langue vu précédemment.

images/11EI12.png

Par souci de cohérence, nous rebasculerons sur l’interface en anglais dans la suite de cet ouvrage.

1. Administrer la traduction d’interface

Une fois que le module Interface Translation est activé et que les traductions initiales sont importées, il est important de savoir comment gérer ces traductions au quotidien. Drupal offre une interface pour administrer ces traductions de manière efficace.

Pour accéder aux traductions de l’interface utilisateur, procédez comme suit :

 Depuis le menu d’administration, naviguez vers Configuration - Region and language - User interface translation.

images/11EI16.png

Depuis cette page, vous pouvez rechercher des chaînes de texte spécifique et voir comment elles sont traduites dans différentes langues. Vous pouvez également effectuer ces actions :

  • Rechercher des traductions : utilisez la barre de recherche pour trouver des chaînes spécifiques. Vous pouvez filtrer les résultats par langue pour voir comment une chaîne est traduite dans différentes langues.

  • Modifier des traductions : cliquez...

Traduire les contenus

La capacité de présenter le contenu de votre site dans plusieurs langues est essentielle pour atteindre un public international. Drupal offre une solution robuste avec le module Content Translation. Contrairement à la traduction d’interface, qui s’occupe des chaînes de textes statiques du système et des modules, la traduction de contenu est destinée à gérer des articles, des pages et d’autres types de contenu dynamiques.

Lors de la configuration de la traduction pour chaque type de contenu, vous pouvez sélectionner précisément quels champs sont traduisibles. Cela vous permet de choisir si des éléments tels que les titres, corps de texte, ou images doivent être traduits ou rester constants à travers les langues.

Le module offre également la possibilité de traduire des entités personnalisées. Pour que ces entités soient traduisibles, elles doivent être configurées comme telles lors de leur création via Drush (voir le chapitre Entités personnalisées) :

drush generate entity:content 

 Définissez l’option Make the entity type translatable? à Yes.

images/11EI62.png

1. Activer la traduction des contenus

Pour activer le module Content Translation, procédez comme suit :

 Naviguez dans Extend depuis le menu d’administration.

 Recherchez Content Translation dans la liste des modules disponibles, cochez la case à côté du module et cliquez sur le bouton Install.

images/11EI25.png

Vous pouvez également activer le module via Drush en utilisant la commande suivante :

drush en content_translation 

Après avoir activé le module, vous devez configurer les types de contenu que vous souhaitez rendre traduisibles.

 Depuis le menu d’administration, allez à Configuration - Region and language - Content language and translation.

 Sélectionnez les types de contenu pour lesquels activer la traduction, par exemple Content qui correspond aux nodes.

images/11EI26.png

 Plus bas, vous pouvez également sélectionner les types de contenu ainsi que les champs spécifiques à traduire. De plus, vous avez la possibilité de personnaliser le comportement du formulaire lors de la traduction.

Personnalisez le comportement du formulaire lors de la traduction...

Traduire les configurations

La traduction des configurations couvre les textes utilisés dans la configuration du site, tels que les noms de blocs, les étiquettes (label) et les descriptions de champ, les configurations de Views et les paramètres d’affichage.

Pour commencer à traduire des configurations, vous devez d’abord activer le module Configuration Translation.

 Naviguez dans Extend depuis le menu d’administration.

 Recherchez Configuration Translation dans la liste des modules disponibles, cochez la case à côté du module et cliquez sur le bouton Install.

images/11EI46.png

Vous pouvez également activer le module via Drush en utilisant la commande suivante :

drush en config_translation 

Une fois le module activé, traduire les configurations pourra s’opérer sur différentes échelles :

  • Traduire les noms et les descriptions des entités : cela inclut les blocs, types de contenu, vocabulaires de taxonomie, rôles d’utilisateurs, etc.

  • Traduire les champs des types de contenu ou des entités personnalisées.

  • Traduire des configurations spécifiques : comme la page d’accueil, le nom du site, des configurations personnalisées, Views, etc.

Ces opérations visent à traduire des informations qui seront présentées aux personnes ayant des droits suffisant pour gérer certains aspects du site (créer des blocs, des contenus, etc.). Elles ne seront que très rarement (voire jamais) présentées à de simples visiteurs.

1. Traduire la configuration d’entités

Pour traduire les configurations des entités telles que les types de contenu, les blocs et les taxonomies, accédez à la configuration de traduction :

 Depuis le menu d’administration, allez dans Configuration - Region and language - Configuration translation.

 Ici, choisissez le type d’entité...