O ficheiro de tradução está correcto, segundo as instruções da equipa de desenvolvimento do SMF. Eles dizem para usar caracteres numéricos para as letras acentuadas.
Login.portuguese.php
// Use numeric entities in the below six strings.
$txt['register_subject'] = 'Bem-vindo ' . $context['forum_name'];
// For the below three messages, %1$s is the display name, %2$s is the username, %3$s is the password, %4$s is the activation code, and %5$s is the activation link (the last two are only for activation.)
$txt['register_immediate_message'] = 'Está agora registado com uma conta no ' . $context['forum_name'] . ', %1$s!' . "\n\n" . 'O seu nome de utilizador é %2$s e a password é %3$s.' . "\n\n" . 'Pode alterar a sua password no seu perfil depois de entrar, ou visitando esta página:' . "\n\n" . $scripturl . '?action=profile' . "\n\n" . $txt[130];
$txt['register_activate_message'] = 'Está agora registado com uma conta no ' . $context['forum_name'] . ', %1$s!' . "\n\n" . 'O seu nome de utilizador é %2$s e a password é %3$s (que pode ser alterada posteriormente.)' . "\n\n" . 'Antes de poder entrar, tem de primeiro activar a sua conta. Para isso, clique por favor no seguinte endereço:' . "\n\n" . '%5$s' . "\n\n" . 'Se tiver alguma dificuldade na activação através deste endereço, por favor use o código "%4$s".' . "\n\n" . $txt[130];
$txt['register_pending_message'] = 'O seu pedido de registo em ' . $context['forum_name'] . ' foi recebido, %1$s.' . "\n\n" . 'O nome de utilizador com que se registou foi %2$s e a password é %3$s.' . "\n\n" . 'Antes de se ligar e poder começar a utilizar o fórum, o seu registo terá de ser aprovado. Quando isso acontecer, você irá receber outro e-mail deste endereço.' . "\n\n" . $txt[130];
// For the below two messages, %1$s is the user's display name, %2$s is their username, %3$s is the activation code, and %4$s is the activation link (the last two are only for activation.)
$txt['resend_activate_message'] = 'Está agora registado com uma conta no ' . $context['forum_name'] . ', %1$s!' . "\n\n" . 'O seu nome de utilizador é "%2$s".' . "\n\n" . 'Antes de poder entrar, tem de primeiro de activar a sua conta. Para isso, clique por favor no seguinte endereço:' . "\n\n" . '%4$s' . "\n\n" . 'Se tiver alguma dificuldade na activação através deste endereço, por favor use o código "%3$s".' . "\n\n" . $txt[130];
$txt['resend_pending_message'] = 'O seu pedido de registo em ' . $context['forum_name'] . ' foi recebido, %1$s.' . "\n\n" . 'O nome de utilizador com que se registou foi %2$s.' . "\n\n" . 'Antes de se ligar e poder começar a utilizar o fórum, o seu registo terá de ser aprovado. Quando isso acontecer, você irá receber outro e-mail deste endereço.' . "\n\n" . $txt[130];
Aqui os acentos aparecem normalmente porque ao enviar a mensagem ele converte as entidades para acentos correctamente.
De qualqeur das formas, vou actualizar o ficheiro de tradução com mais algumas alterações, e depois poderemos ver se o problema foi resolvido ou se é mesmo um bug do SMF quando envia mails com caracteres internacionais.