
Eu tenho um dicionário no formato StarDict sem um arquivo *.ifo.
Sei como deve ficar o arquivo, mas não sei quantas palavras exatamente o dicionário tem, nem como verificá-lo sem contar manualmente [sic].
Passei algumas horas procurando a resposta, mas não encontrei nenhuma.
Instalei o stardict-tools do Software Center, mas aparentemente ele não está equipado com a opção "stardict-repair", mencionada aqui:http://code.google.com/p/stardict-3/wiki/RepairStarDictDicts, na página do projeto StarDict.
Portanto, minha pergunta é dupla: 1. como obter o reparo stardict no Ubuntu 12.10 e colocá-lo em execução; 2. (talvez um pouco fora do assunto) como criar convenientemente um arquivo ifo correto, se não houver nenhum.
Responder1
As ferramentas são instaladas em /usr/lib/stardict-tools/
. stardict-index
e stardict-verify
ambos estão lá. Como eles estão localizados fora da configuração PATH atual, o terminal não consegue encontrá-los para execução.
Para executá-los a partir do terminal, você tem várias opções:
Abra um terminal e use o nome completo que inclui o caminho:
/usr/lib/stardict-tools/stardict-verify
Navegue até o diretório stardict-tools e use o
./
prefixo:cd /usr/lib/stardict-tools
, então use./startdict-verify
Se você achar que usa muito as ferramentas, poderá adicionar o diretório ao PATH ou adicionar aliases, arquivos .desktop ou criar seus próprios scripts de wrapper, etc.
stardict-repair
, no entanto, não está incluído no diretório. O pacote Ubuntu não é a versão atual, então esse pode ser o motivo, ou pode haver outro motivo.
Para fazer seus próprios dicionários, consulteStarDict Criar Dicionário
Para obter detalhes sobre o formato .ifo, consulteFormatos StarDict
Se você precisar da ferramenta de reparo, precisará compilar e instalar o pacote a partir do código-fonte.
Como compilar o pacote
Baixe o código fonte
Abra um terminal em ~/Downloads
. O download irá para o diretório em que você está quando executar o comando de download.
Execute hg clone https://code.google.com/p/stardict-3/
para baixar o código-fonte.
Etapas de pré-compilação
Há um bug em dois dos arquivos que precisa ser corrigido. Devido a alterações em uma das bibliotecas necessárias, cada arquivo possui uma linha que precisa ser alterada antes de ser compilado.
Os 2 arquivos são libcommon.h
e libcommon.cpp
, mas você pode baixar os arquivos atualizados.
Os downloads estão emhttp://code.google.com/p/stardict-3/issues/detail?id=31. Role para baixo até ver a postagem com os arquivos de substituição anexados.
Baixe cada arquivo em ~/Downloads/stardict-3/lib/src
, dizendo sim quando perguntado se deseja substituir o arquivo existente.
Uma instalação padrão do Ubuntu não terá automaticamente ferramentas de compilação instaladas, além de cada aplicativo ter suas próprias bibliotecas necessárias.
Para ferramentas stardict, você precisa de:
sudo apt-get install build-essential automake libtool libmysqlclient-dev libpcre3-dev
Compilando
cd ~/Downloads/stardict-3/
A maioria dos pacotes possui um arquivo pronto configure
que você executaria neste momento. Com este pacote, você precisa executar um utilitário para criar o configure
arquivo.
Certifique-se de estar no stardict-3
diretório (existem vários arquivos autogen na estrutura e você precisa executar o correto) e então:
./autogen.sh
Agora execute o arquivo de configuração com a --disable-dict
opção de compilar apenas as ferramentas.
./configure --disable-dict
Compile o pacote com make
(Observe que não há ./
desta vez)
make
geralmente é seguido por make install
, mas não acho que queremos fazer isso aqui, pois copiará os arquivos instalados do repositório do Ubuntu. Em vez disso, cd tools/src
onde você encontrará os binários que acabou de compilar.
No terminal, os binários serão os arquivos verdes e não terão extensão. (Arquivos com o mesmo nome que terminam em .o
são arquivos intermediários que não são mais necessários, os arquivos que terminam em .cpp
são o código-fonte original e também podem ser ignorados.
Copie stardict-repair
e qualquer outro arquivo que possa não ter sido incluído antes para /usr/lib/stardict-tools
. Você só precisa copiar o arquivo binário. Lembre-se de ./
quando você os executa.
Uma observação: compilamos a versão mais recente. É possível, embora eu não ache muito provável, que haja alguma incompatibilidade entre esta versão do stardict-repair e o restante do pacote que você possui. Nesse caso, deverá ser possível compilar uma versão anterior da ferramenta.