Internationalisation d'un site Drupal

Wed, 12/17/2008 - 23:03 — Serge Rosmorduc

Quelques notes personnelles sur la marche à suivre

Opérations à mener pour faire un site Drupal multilingue:

  1. activer localization (être bien sûr qu'on le fait depuis un compte d'administration, ou qui aura les droits nécessaires)
  2. charger les langues désirées.
  3. activer les parties désirées de i18n
  4. aller dans "Multilingual system"
    • activer "browser language detection".
    • dans les préférences avancées, "Only current language and no language" est intéressant. Ainsi, les parties "non traduites" apparaîtront telles quelles (pas très ergonomique, mais je préfère un site mêlant le français et l'anglais qu'un site où de l'information manque). Par contre, quand une page est disponible en traduction, elle n'apparaîtra pas dans l'autre (ou les autres) langues.
    • régler aussi la partie "translation" de "multilingual system".
    • se donner le droit de traduire les pages ! translate node et translate own nodes
  5. pour chaque content-type à traduire, activer dans Multilingual content l'option "normal"

Pour la page d'accueil. Si elle est fixe, le système de Drupal renverra toujours sur la page d'origine, et pas sur la page traduite. Une solution est de passer par "frontpage", une vue très paramétrable. Dans "Site information", on règle la page d'accueil sur FrontPage (il est suggéré de décocher dans les types de données "published to front page" si on ne veut pas se retrouver avec plein d'information à cet endroit. Autre solution pour ce dernier point: ajouter un filtre qui limite le chargement aux éléments "sticky", dont fait partie votre "vraie" page de titre.

On peut aussi aller placer

<?php print t($site_slogan); >

dans page.tpl.php, histoire que le slogan soit multilingue.

Note: si on active i18n d'abord, le site plante. Pour le remettre d'équerre: déplacer le répertoire i18n pour désactiver le module. Désactivez aussi le cache (on a probablement intérêt à le désactiver de toutes façons quand on procède à des modifications).