Site Meter

Como forçar o Drupal atualizar as novas traduções do módulo?

Se você trabalha com desenvolvimento Drupal, você deveria traduzir seus módulos utilizando o sistema de internacionalização do Drupal.


Manter as traduções de um módulo não é tão difícil, mas quando você atualiza as traduções, o Drupal não sabe que existem atualizações de tradução. Sempre quando instalamos novas versões de módulos precisamos executar o script update.php. O problema é que as traduções somente são importadas quando novos módulos ou temas são instalados ou habilitados. O Drupal ignora as atualizações de traduções. Isso é um grande problema para desenvolvedores e usuários que usam a língua inglesa como idioma principal.


A solução é utilizar um  hook_update_N() ino seu arquivo .install. O objetivo principal do  hook_update_N() é atualizar esquemas do banco de dados, mas em alguns outros casos  podemos utilizá-lo para outros tipos de atualização.

No seu hook_update_N() faça uma chamada a função locale_system_update() e suas traduções serão atualizadas.

Siga o exemplo abaixo:

/**
 * Importa novas traduções.
 */
function meu_modulo_update_6001() {
  $ret = array();

  if (module_exists('locale')) {
    locale_system_update(array('meu_modulo'));
    $ret[] = array('success' => TRUE, 'query' => 'Novas traduções foram importadas.');
  } 

  return $ret;
}


funciona perfeitamente!

Trackback URL for this post:

http://www.tutolivre.net/br/trackback/163