Convertendo os dicionários do Babylon para o Stardict

Publicado por Diego Medeiros em 25/05/2007

[ Hits: 18.496 ]

 


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

Ubuntu - Como remover arquivos inúteis do sistema

Classe QApplication - Descrição e Aplicação

Script pessoal para uso em firmware de access point para conexão automática de PPPOE

Slax - Linux para micros fracos, inclusive 32 bits

NumLock na inicialização

  

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