Mettre à jour les traductions d'un module drupal

Lorsqu'on développe un module drupal, les traductions ajoutées au fur et à mesure ne sont pas prises en compte automatiquement. drupal ne prend en compte les traductions d'un module que lors de l'installation de celui-là. En cours de développement cela peut rapidement devenir pénible (pour rester poli !) de devoir installer/déinstaller le module à chaque mise à jour...

Heureusement il y a une solution pour se faciliter la vie. En fait c'est d'une bêtise insondable : il suffit d'utiliser le mécanisme de mise à jour d'un module. Pour ce faire, dans le fichier mon_module.install, on déclare une fonction mon_module_update_N, où N est incrémenté à chaque nouvelle mise à jour.

Cette façon de faire est généralement utilisé pour mettre à jour le schéma de la base de données mais on peut aussi l'utiliser pour mettre à jour les traductions de la manière suivante :

function mon_module_update_N() {
   $ret = array();
   if (module_exists('locale')) {
      locale_system_update(array('mon_module'));
      $ret[] = array('success' => true, 'query' => 'New translations were imported.');
   }
   
   return $ret;
}

Haut de page