Convertendo os dicionários do Babylon para o Stardict

Publicado por Diego Medeiros em 25/05/2007

[ Hits: 18.296 ]

 


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

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Vídeo aula da planilha eletrônica Gnumeric

Montando partição FTP localmente

Wireless broadcom bcm43xx no Slackware Linux

Netflix no Debian Wheezy

Mudando e editando imagens no Skydome do Beryl

  

Comentários
[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

[5] Comentário enviado por SuporteTecnicoID em 12/01/2008 - 11:00h

Acrecentando:
Varios dicionarios prontos !
www.indexdata.com.br/Linux/Pacotes/Dicionarios/Dicionarios-Stardict-ID-1.0.deb">http://www.indexdata.com.br/Linux/Pacotes/Dicionarios/Dicionarios-Stardict-ID-1.0.deb

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...

[13] Comentário enviado por SuporteTecnicoID em 20/03/2009 - 09:50h

Aparentemente esta faltando arquivos nesta pasta:

Os dicionários devem ter os arquivo:

.dz
.idx
.oft
.ifo

Vc não deve ter usado o meu pacote:
www.indexdata.com.br/Linux/Pacotes/Dicionarios/Dicionarios-Stardict-ID-1.0.deb

ou o mais completo, com mais dicionários:
http://www.indexdata.com.br/Linux/Pacotes/Dicionarios/Convertidos.zip

atenciosamente...

SuporteTecnicoID


[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts