Drupal 7 multilingue

Lecture de 2 minutes

Voici la manière la plus efficace de construire un site multilingue fonctionnel avec Drupal 7.

1. Installer les modules additionnels

Ces modules sont utilisés (de près ou de loin) dans la traduction :

entity, entity_path, entity_token, entity_translation, entity_translation_i18n_menu, i18n, i18n_block, i18n_field, i18n_node, i18n_translation, i18n_menu, i18n_path, i18n_taxonomy, i18n_string, i18n_variable, title, translation, transliteration, pathauto

2. Activer les langues nécessaires et importer les traductions

  1. Activer les langues (/admin/config/regional/language/add)
  2. Importer les traduction à partir des traductions de Drupal (https://localize.drupal.org/download) sur votre site (/admin/config/regional/translate/import)

3. Détection et sélection

  1. Aller à la page de configuration de la détection de langue (/admin/config/regional/language/configure)
  2. Dans la section User interface, activer dans l'ordre URL et Browser.
  3. Dans la section Content, activer dans l'ordre Interface, URL et Browser.
  4. Faire Save pour enregistrer les modifications et rafraichir les variables.

4. Préfixes de langues

  1. Aller à la page de configuration des langues (/admin/config/regional/language)
  2. Pour chacune des langues, ajouter un préfix de chemin. De cette manière, la redirection est plus claire et toutes les langues paraissent être traitées également.

5. Préfixes de langues

  1. Aller à la page de configuration des langues (/admin/config/regional/language)
  2. Pour chacune des langues, ajouter un préfix de chemin. De cette manière, la redirection est plus claire et toutes les langues paraissent être traitées également.

6. Entity translations

Le module entity_translation permet de créer des traductions des nodes sans dupliquer les entités. Les traductions partagent le même nid. Pour bien le configurer, utilisez les paramètres suivants (/admin/config/regional/entity_translation) :

  1. Désactiver Allow language fallback.
  2. Dans la section Translatable entity types, activer les traductions pour Content et Taxonomy term. Ne pas l'activer pour Field collection item.

7. Field collections

Si vous utilisez field collections, la manière la plus efficace de configurer le module est la suivante.

  1. Rendre le champs de type field collection traductible (Enable translation)
  2. Laisser chacun des champs à l'intérieur du field collection non-traductible.

8. Nom de champs

Pour rendre le tout plus facile à gérer, nous suffixons avec _i18n les champs qui sont traductibles. Ceux qui n'ont pas ce suffixe sont non-traductible par défaut.

9. Optionnel : Global redirect

  1. Télécharger et installer le module Global redirect (https://www.drupal.org/project/globalredirect).
  2. Aller à la page de configuration de Global redirect (/admin/config/system/globalredirect)
  3. Activer l'option Language Path Checking.