Pular para o conteúdo

Convertendo os dicionários do Babylon para o Stardict

Dica publicada em Linux / Introdução
Diego Medeiros xeolhades
Hits: 19.223 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Convertendo os dicionários do Babylon para o Stardict


Instale o stardict e stardict-tools:

# apt-get update
# apt-get install stardict startdict-tools


Para converter os dicionários do Babylon é necessário instalar o dictconv, parte do projeto KTranslator (http://sourceforge.net/projects/ktranslator/).

$ wget http://optusnet.dl.sourceforge.net/sourceforge/ktranslator/dictconv-0.2.tar.bz2
$ tar -jxvf dictconv-0.2.tar.bz2 ; cd dictconv-0.2
$ ./configure
$ make
# checkinstall


Baixe o dicionário 'Inglês para Português' (disponível em http://www.babylon.com/category/20/Portuguese.html).

$ wget http://info.babylon.com/glossaries/38C/Babylon_English_Portuguese.BGL

Aqui o dicionário do Babylon, com extensão .BGL, é convertido para .dic.

$ dictconv -o Babylon_English_Portuguese.dic Babylon_English_Portuguese.BGL

Após a conversão alguns caracteres desnecessários são gerados no arquivo do dicionário. Remova-os com o comando abaixo.

$ cat Babylon_English_Portuguese.dic | sed 's/\$[0-9][0-9]*\$\t/\t/' > Babylon_English_Portuguese_novo.dic

Agora converta o dicionário .dic para o formato utilizado pelo Stardict.

$ /usr/lib/stardict-tools/tabfile Babylon_English_Portuguese_novo.dic

Mova os arquivos gerados para a pasta de dicionários do Stardict:

# mv Babylon_English_Portuguese_novo.dict.dz /usr/share/stardict/dic/
# mv Babylon_English_Portuguese_novo.i* /usr/share/stardict/dic/


Para adicionar demais dicionários é só repetir os passos acima.

Abraço a todos,
Diego Medeiros

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

Não tem como errar: Instalando e configurando o Apache

Instalando o flash player do Mozilla Firefox no Slackware Linux

Instalando o Plone 4 core-dev

FreePascal Compiler no Fedora

Criando Dispositivos de Blocos

#1 Comentário enviado por fdavid em 25/05/2007 - 07:42h
Putz cara... sua dica desbanda o meu artigo (que esta em espera)
Mas meus parabens, muito bom.
#2 Comentário enviado por SuporteTecnicoID em 04/06/2007 - 11:35h

Legal, segue a minha contribuição:
Instalador do StarDict:
http://www.indexdata.com.br/Linux/Pacotes/Dicionarios/StarDict-Install/StarDict-Install.sh
Pacote que compilei do conversor Dictconv para o Debian:
http://www.indexdata.com.br/Linux/Pacotes/Dicionarios/dictconv_0.2-1_i386.deb
Meu script de Instalador e conversor dos dicionarios do Babylon no StarDict: ( vou melhorar ele depois pra podermos instalar varios de uma vez ao inves de um a um )
http://www.indexdata.com.br/Linux/Pacotes/Dicionarios/DictConv.sh
Mais dicionários gratuitos:
http://www.babylon.com/category/20/Portuguese.html
atenciosamente...
SuporteTecnicoID
msn.: suporte@indexdata.com.br
#3 Comentário enviado por Asterion em 15/06/2007 - 18:43h
Sua dica é fantástica e muitíssimo útil!
Parabéns
#4 Comentário enviado por SuporteTecnicoID em 15/06/2007 - 19:14h
Em resumo, todos as dicas são dadas por um fim comum, ou seja ajudar.....então tudo que fazemos é sempre somente pra somar e com o maior prazer em comunidade que foi a finalidade deste seu tópico, então parabéns a todos que deram inicio e a todos que apreciam tb.

atenciosamente...

www.indexdata.com.br
Depto de Suporte Tecnico
#6 Comentário enviado por abacate em 30/05/2008 - 20:36h
Fiz um programinha em Bash para automatizar a tarefa de conversão de vários dicionários. Espero que gostem!! ;-)

Para funcionar, vocês precisam atualizá-lo com o caminho onde está instalado o dictconv e tabfile.

#!/bin/bash

if [ -e CAMINHO_DO_DICTCONV/dictconv ] && [ -e /usr/lib/stardict-tools/tabfile ]; then
DICTCONV=CAMINHO_DO_DICTCONV/dictconv
TABFILE=/usr/lib/stardict-tools/tabfile
else
echo "Arquivos necessário não encontrados."
exit 1
fi

if [ $# -eq 0 ]; then
echo "Uso: `basename $0` [ARQUIVO]..."
echo "Converte dicionários Babylon para StarDict."
else
for i in $@; do
echo -n "Convertendo dicionário $i..."
$DICTCONV -o temp-$$.dic "$i" > /dev/null
DIC=`echo "$i" | sed -r 's/.((bgl)|(BGL))$/.dic/' | xargs -0 basename`
sed 's/\$[0-9][0-9]*\$\t/\t/' temp-$$.dic > $DIC
rm temp-$$.dic > /dev/null
$TABFILE $DIC > /dev/null
rm $DIC
echo OK
done
fi
#7 Comentário enviado por removido em 25/08/2008 - 10:24h
Eu preciso de usar esses dicionários em ambiente intranet para serem acessados por uma página php.

Alguém sabe como usar o stardict ou qualquer outro com essa base do babylon no console, pois se existir algum outro via console eu poderia pegar por grep e processar no php.

De antemão obrigado a todos...
#8 Comentário enviado por brunodavidg em 19/03/2009 - 12:42h
Depois de instalar o stardict e colocar os dicionários já converdidos no formato dict.dz na pasta dic de /usr/sharing/stardict/dic ainda aparece apenas a tradução para o chinês, o que tá faltando?
#9 Comentário enviado por SuporteTecnicoID em 19/03/2009 - 20:04h
pode ser problemas de permissões,,,verifique.....
#10 Comentário enviado por brunodavidg em 20/03/2009 - 08:23h
Eu já tinha resolvido o problema de permissão através do chmod e não pode ser isso porque os arquivos já estão lá dentro da pasta dic.
#11 Comentário enviado por SuporteTecnicoID em 20/03/2009 - 08:49h
Problemas de permissões referem-se a por ex:

Vc é um usuário.
O dono da pasta onde estão os arquivos é outro.

ls -la /usr/sharing/stardict/dic

( lembrando que o nome padrão da pasta é: /usr/share )

E poste os resultados....

Caso seja necessário, por usuário estar diferente do atual do Stardict:

#chown -R usuário:usuário /usr/sharing/stardict/dic

( lembrando que o nome padrão da pasta é: /usr/share )

usuário=o seu usuário do momento logado que esta usando o stardict

Se mesmo assim ainda não resolver, remova todas as proteções da pasta:

#chmod -R 777 /usr/sharing/stardict/dic

( lembrando que o nome padrão da pasta é: /usr/share )

atenciosamente...

SuporteTecnicoID

#12 Comentário enviado por brunodavidg em 20/03/2009 - 09:34h
Tem razão, é share mesmo... Na primeira vez que dei o comando ls -la /usr/share/stardict/dic mostrou que o root era o dono da basta. O usuário é brunodavid aí dei o comando: #chown -R brunodavid:brunodavid /usr/share/stardict/dic (antes eu tirei todas as proteções da pasta com o comando chmod... para garantir) e quando eu dei novamente o comando ls -la /usr/share/stardict/dic apareceu a seguinte tela:

drwxrwxrwx 2 brunodavid brunodavid 4096 2009-03-19 11:59

drwxr-xr-x 6 root root 4096 2009-03-19- 11:56

-rwxrwxrwx 1 brunodavid brunodavid 2597783 2008-11-16 23:29 Babylon_English_Portuguese_novo.dict.dz

-rwxrwxrwx 1 brunodavid brunodavid 876729 2009-11-16 23:49 Babylon_Portuguese_English_novo.dict.dz

O problema é que ainda só aparece a definição em chinês...
#14 Comentário enviado por brunodavidg em 20/03/2009 - 09:55h
Era isso então!!!!!!! Olha muito obrigado!!! Agora não vou ter que ir ao ruindows para traduzir textos off-line!!!!


Contribuir com comentário

Entre na sua conta para comentar.