Como o Coifman avisou, tivemos uma tremenda dor de cabeça com o Bluehost e um dos problemas foi a “quebra” da tradução dos projetos baseados no Wordpress.
Depois de tentar, por diversas vezes, entrar em contato com o suporte (via ticket de suporte ou por um live chat que nunca funcionava) vi no Twitter que os caras atualizaram as versões do Apache e do PHP no servidor e não mandaram aviso pra ninguém!
Algumas noites mal dormidas depois, consegui falar com alguns atendentes do suporte e depois de muitas sugestões furadas (como alterações no php.ini e reinstalação da tradução) encontrei a resposta num forum do próprio bluehost.
De acordo com o post, o upgrade fez a biblioteca gettext do Wordpress ter problemas com máquinas rodando a 64 bits. A solução encotrada foi alterar o arquivo wp-includes/gettext.php.
Na altura da linha 105 encontre o código:
// Caching can be turned off
$this->enable_cache = $enable_cache;
// $MAGIC1 = (int)0x950412de; //bug in PHP 5.0.2, see https://savannah.nongnu.org/bugs/?func=detailitem&item_id=10565
$MAGIC1 = (int) - 1794895138;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = (int) - 569244523;
// 64-bit fix
$MAGIC3 = (int) 2500072158;
$this->STREAM = $Reader;
$magic = $this->readint();
if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {
$this->BYTEORDER = 1;
} else {
$this->error = 1; // not MO file
return false;
}
E substituir por:
// Caching can be turned off
$this->enable_cache = $enable_cache;
// $MAGIC1 = (int)0x950412de; //bug in PHP 5.0.2, see https://savannah.nongnu.org/bugs/?func=detailitem&item_id=10565
$MAGIC1 = (int) - 1794895138;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = (int) - 569244523;
// 64-bit fix
$MAGIC3 = (int) 2500072158;
$this->STREAM = $Reader;
$magic = $this->readint();
if ($magic == $MAGIC1 || $magic == $MAGIC3) { // < - 64 BIT FIX: CHANGE THIS LINE!
$this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2)) {
$this->BYTEORDER = 1;
} else {
$this->error = 1; // not MO file
return false;
}
Clique aqui para baixar o arquivo já corrigido.
Com isso, o Wordpress volta a reconhecer o arquivo .mo da tradução. Agora é só você fazer isso em TODAS as suas instalações do Wordpress no servidor. Sorte sua se não forem muitas
Nota de Usuário Revoltado
Seria somente um problema corriqueiro de atualização de versão se não fosse o descaso e dificuldade de atendimento do Bluehost. Até hoje não responderam nenhum dos tickets de suporte que eu mandei e só consegui falar com alguém no live chat depois de inúmeras tentativas durante a madrugada.
Fica aqui a minha reclamação e aceito sugestões de outros hostings que tenham um atendimento ao usuário decente. :\