No meu caso, usei o POEdit, disponível via APT:
# apt-get install poedit
Baixe o código-fonte do programa que deseja traduzir. Eles sempre vêm dentro de .tar.gz ou .tar.bz2. Nesse caso, baixei o morphixinstaller.
Extraia o pacote. Você vai ver um diretório com o nome de po. Entre nela e pegue um arquivo com o nome de .pot. Se quiser alterar uma tradução do português de Portugal, por exemlo, pegue o pt.po. Coloque esse arquivo no seu diretório pessoal.
Abra o POEdit. Na primeira vez que o abrir ele pedirá informações. Selecione a opção de salvar arquivos .mo junto.
Vá em Arquivo / New catalog from POT file, se estiver abrindo um POT, ou Arquivo / Novo catálogo, se abrir um PO. Se você abrir um POT, que é o recomendado, o POEdit pedira informações suas. Na codificação, deixe tudo como utf-8.
Agora é a parte da tradução. Note no screenshot que postei acima. Daqueles 4 espaços em brancos, usaremos o superior esquerdo e inferior esquerdo.
Agora, vá clicando nas tags. O texto original aparece no superior esquerdo, e o local para a tradução no inferior esquerdo.
Depois de acabar, salve. No local onde está o arquivo .po, verá um .mo. Renomeie esse .mo para o mesmo nome do POT, ou seja, se o POT se chama morphixinstaller.pot, o MO chamará de morphixinstaller.mo. Coloque esse arquivo em /usr/share/locale/pt_BR/LC_MESSAGES.
Pronto!
Esse procedimento pode ser feito à mão, via um editor de textos qualquer. Você deve traduzir todas as mensagens onde estiver a linha msgstr. Depois de preencher tudo, rode o comando:
# msgfmt -vv exemplo.po /usr/share/locale/pt_BR/LC_MESSAGES/exemplo.mo
Lembrando que, ao editar manualmente, a possibilidade de erros é bem maior.
Espero ter ajudado.