Pesquisa personalizada

2008/07/16

Stardict: A alternativa Linux para o Babylon

Babylon

Não sei você, mas eu não vivo sem o Babylon. Para quem não sabe o Babylon, em minha opinião, é o programa mais versátil de tradução que existe para Windows. Acredite, ou não, eu pago por ele desde a versão 3.2. E já adquiri alguns glossários premium, como o Michaelis e os da Oxford. A questão é que em meu notebook, eu só uso Linux, mais propriamente o Kubuntu e só tenho Windows via VMWare - que só uso quando extritamente necessário. Apesar de já usar Linux diariamente desde 2005, tem certos programas que realmente fazem falta: Adoro o Dreamweaver, por exemplo; e em contrapartida odeio (queimem vivos os desenvolvedores dele) o Quanta Plus. Mas se tem um programa que realmente faz falta para mim, é o Babylon.

A cada seis meses eu pesquiso por alguma solução de dicionário semelhante ao Babylon, não quero nada diferente. Se igual, melhor. Quero com um simples clique selecionar uma palavra ou texto e ver a tradução imediatamente, tudo de forma simples, rápida e sem me atrapalhar.
Até ontem, desconhecia tal solução, mas hoje, eis que descobri o Stardict.

Bem, agora sim meu nix está completo! (Ou quase... mas ainda chega lá!)

Stardict

Stardict - dicionário em um clique para Linux

O Stardict é um programinha que é bem similar ao bem afamado Babylon, só que o Stardict é open source e gratuito! Funciona em Linux, (a galera é boazinha) Windows e Mac OSX.

Para instalá-lo no Ubuntu ou Kubuntu, use:

sudo apt-get install stardict stardict-common stardict-gnome stardict-plugin stardict-plugin-espeak stardict-plugin-festival stardict-plugin-spell stardict-tools

Eu imagino que nem todos os pacotes acima sejam necessários, mas da primeira vez eu instalei somente os pacotes que eu julguei necessário, e após instalar os dicionários, a definição do termo não aparecia, ao invés era exibida a seguinte mensagem: "HTML data parsing plug-in is not found". Por isso, instalei todos os pacotes, conforme dica que segui no forum do Ubuntu italiano.

Há uma versão online do Stardict, tanto html, quanto AJAX, em: www.stardict.org.

Dicionários

O Stardict permite usar glossários oriundos de várias fontes, tanto de arquivos locais, quanto via TCP (usando o dictd, por exemplo). Além disso, há vários utilitários que podem ser usados para converter glossários em outros formatos que não os usados diretamente pelo Stardict. É possível (e usual) até converter glossários inteiros do próprio Babylon para o Stardict.

Há vários glossários para stardict, prontos para serem usados. Acho interessante a seguinte série: stardict-dict-babylon - dicionários já convertidos do Babylon para o Stardict.
Quer ter a Wikipedia inteira e usá-la quando bem entender, mesmo offline? Bem, tá lá. Tem a Wikipedia e muito, muito, muito mais. São centenas de dicionários prontos para serem usados. Acesse o repositório de arquivos do Stardict no Sourceforge.net.

O processo de instalação dos dicionários Stardict, é bem simples (obviamente falo para o padrão Linux... e não Windows), veja:

  1. Baixe o dicionário que deseja;
  2. Descompacte o arquivo e você terá um diretório com arquivos de extensão, como: .ifo, .dict.dz, .syn, .idx, não necessariamente todos estes.
  3. Cópie o diretório do passo anterior, para: /usr/share/stardict/dic/.
Exemplo:

cd /tmp
wget http://sourceforge.net/project/downloading.php?groupname=stardict&filename=stardict-babylon-Concise_Oxford_Thesaurus-2.4.2.tar.bz2&use_mirror=ufpr
cd /usr/share/stardict/dic
tar -xvvjf /tmp/stardict-babylon-Concise_Oxford_Thesaurus-2.4.2.tar.bz2

Após instalar os dicionários, é necessário reiniciar o Stardict para que ele reconheça os dicionários que foram instalados.

Convertendo dicionários do Babylon

Para realizar a conversão de um dicionário qualquer do Babylon, você vai precisar de uma ferramenta chamada dictconv - ela realiza a conversão dos dicionários no formato Babylon (.BGL) para o Stardict. Você terá que baixá-la e compilá-la. Siga:

cd /tmp
wget http://downloads.sourceforge.net/ktranslator/dictconv-0.2.tar.bz2
tar -xvvjf dictconv-0.2.tar.bz2
cd dictconv-0.2
./configure
make
sudo make install

No exemplo abaixo, nós iremos baixar um dicionário no formato Babylon, extrair seus dados, corrigir o arquivo gerado, criar o dicionário para o Stardict, corrigir a flag de html e copiá-lo para o diretório de dicionários do Stardict. Veja:

cd /tmp
mkdir convertdict
cd convertdict

wget http://www.babylon.com/files/premium/michaelis/michaelis_ptg_ptg.bgl
dictconv -o michaelis_ptg_ptg.dic michaelis_ptg_ptg.bgl
cat michaelis_ptg_ptg.dic | sed 's/\$[0-9][0-9]*\$\t/\t/' > michaelis_ptg_ptg_fixed.dic
/usr/lib/stardict-tools/tabfile michaelis_ptg_ptg_fixed.dic
cat michaelis_ptg_ptg_fixed.ifo | sed 's/sametypesequence=m/sametypesequence=h/' > michaelis_ptg_ptg_fixed.ifo.html
mv michaelis_ptg_ptg_fixed.ifo.html michaelis_ptg_ptg_fixed.ifo

sudo mkdir /usr/share/stardict/dic/michaelis_ptg_ptg
sudo cp michaelis_ptg_ptg_fixed.* /usr/share/stardict/dic/michaelis_ptg_ptg/

O exemplo acima já modifica o arquivo .ifo setando a flag que informa se há ou não html no texto do dicionário. Em se tratando de dicionários do Babylon, sempre há html em meio ao texto e nós iremos querer renderizá-la adequadamente. Por isso, setamos a flag de forma que fique, assim sametypesequence=h. O default (que não queremos) é sametypesequence=m e torna bastante desagradável a leitura do dicionário.

Festival: Habilitando TTS Sintetizado

Se você instalou o Festival e ainda não consegue sintetizar o som, talvez seja melhor você forçá-lo a usar ALSA ao invés de OSS. Eu não conseguia reproduzir sons com o Festival (ele é usado pelo Stardic) e recebia a seguinte mensagem de erro:
Linux: can't open /dev/dsp
Após muito pesquisar, encontrei a solução num forum. Use o seguinte comando:

cd ~ && printf ";use ALSA\n(Parameter.set 'Audio_Method 'Audio_Command)\n(Parameter.set 'Audio_Command \"aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE\")\n" > .festivalrc

RealPeopleTTS

O Stardic permite que se utilize um banco de wavs com sons pronunciados (falado e gravado) por pessoas reais, ao invés da sintetização. São mais de 21000 palavras, cada uma gravada em um arquivo .wav correspondente.

Para instalar esse banco de wavs, use:
cd /tmp
wget http://ufpr.dl.sourceforge.net/sourceforge/stardict/WyabdcRealPeopleTTS.tar.bz2
cd /usr/share
sudo tar -xvvjf /tmp/WyabdcRealPeopleTTS.tar.bz2

Eu estou usando o Kubuntu Hardy e tive que perder um pouco de tempo até descobrir o porquê do Stardic não estar reproduzindo as wavs com os sons das palavras. Era por causa do esd, conforme observei num forum. O Stardic utiliza-o em sua reprodução e por isso ele deve ser iniciado juntamente com a sessão do KDE - coisa que não estava sendo feita. Portanto, antes de iniciar o Stardic, certifique-se de que o esd está rodando.
Eu optei por colocá-lo para rodar automaticamente quando do início de uma sessão do KDE, e para isso, fiz:

cd ~/.kde/Autostart
ln -s /usr/bin/esd esd

Babylon ou Stardict?

Ainda não usei o Stardict no meu Vista (odeio Vista, prefiro XP), mas posso dizer que em todos os quesitos estou satisfeito com o Stardict; em nada fica devendo ao Babylon. Quer ver? Olhe as vantagens do Stardict:

  • Extensibilidade: suporte a plugins, e já sai do forno com vários;
  • TTF sintetizado e real;
  • Possibilidade de se usar qualquer TTF que se queira;
  • Pode-se usar qualquer banco de wavs;
  • Várias opções de pesquisa: simples, full text, parcial, curingas, fuzzy;
  • Sugestões fonéticas;
  • Rápido - até muito mais rápido que o Babylon - tanto para iniciar, quanto para pesquisar;
  • Tradução de textos inteiros ou de palavras;
  • Disponibilidade: pode ser usado em várias plataformas;
  • Imensurável número de dicionários: dos melhores e mais conhecidos aos mais específicos;
  • Integrável: compatível com webservices e com tecnologias já existentes, como o dict;
  • Farta disponibilidade de ferramentas para conversão de dicionários já existentes, inclusive os da própria Babylon, bem como de vários outros formatos, além, claro, da criação e edição de seus próprios dicionários;
  • open source;
  • gratuito;
Janela principal do Stardict

tee = Smartphones || Java Programmers

Para desenvolvedores Java, há um porte do Stardic de potencial interesse: TeeDict (AKA jStarDict). Há versões do jStarDict para diversos smartphones, Palms e desktop. E, acredite, você irá gostar de tê-lo instalado em seu celular. Tudo de graça e open source!

Babylon/Windows com Cleartype

O Babylon não funciona quando o ClearType está habilitado. O ClearType pode ser habilitado no Windows XP e já é padrão no Windows Vista. Portanto, onde é necessário que o Babylon utilize o OCR, ele irá falhar se o ClearType estiver ativo.

Outra lastima (ao menos para mim que sou um trouxa e pagou pelo Babylon 3/4 e 7) é que ele não captura textos do Firefox e uma tonelada de outros programas. Para mim, está quase imprestável! Pois sou obrigado a todas as vezes digitar manualmente o texto. Horrível!

Qualquer hora dessas me aventuro a dar uma melhorada no Stardict e não será difícil ter algo melhor que o Babylon no meu Windows Vista 64.

Referências

Labels: ,

4 Comments:

Anonymous Anonymous said...

Agora possa usar uma alternativa melhor para o Babylon: GoldenDict

10 March, 2009 11:52  
Blogger Arkadi Viner said...

StarDict is free but not an open source.
Thank you for the great guide.

16 April, 2009 11:29  
Blogger marciowb said...

Hello, Arkadi.
First, thanks for visiting this blog.
Sorry, you are mistaken about Stardict. Stardict is 100% open sourced and you can download the full source, from StardictProject at Google Code. The Stardict licence is GNU General Public License v3.

My best regards,
Marcio Wesley Borges

16 April, 2009 11:44  
Anonymous Anonymous said...

Salve!
ara, eu instalei a versão do repositório do Ubuntu e o Stardict me dá as definições em alguma língua oriental estranha para mim. Já virei as configs e preferences do programa mas não achei onde mudar isso.
Alguma ideia?
Valeu!

08 October, 2009 19:10  

Post a Comment

<< Home