
Tengo un diccionario en formato StarDict sin un archivo *.ifo.
Sé cómo debería verse el archivo, pero no sé cuántas palabras tiene exactamente el diccionario, ni cómo verificarlo sin contar manualmente [sic].
Pasé un par de horas buscando la respuesta pero no encontré ninguna.
He instalado stardict-tools desde el Centro de software, pero aparentemente no está equipado con la opción "stardict-repair", que se menciona aquí:http://code.google.com/p/stardict-3/wiki/RepairStarDictDicts, en la página del proyecto StarDict.
Entonces mi pregunta es doble: 1. cómo obtener stardict-repair en Ubuntu 12.10 y ejecutarlo; 2. (quizás un poco fuera de tema) cómo crear convenientemente un archivo ifo correcto si no hay ninguno.
Respuesta1
Las herramientas están instaladas en /usr/lib/stardict-tools/
. stardict-index
y stardict-verify
ambos están ahí. Dado que están ubicados fuera de su configuración de RUTA actual, el terminal no puede encontrarlos para ejecutarlos.
Para ejecutarlos desde la terminal, tienes varias opciones:
Abra una terminal y use el nombre completo que incluye la ruta:
/usr/lib/stardict-tools/stardict-verify
Busque el directorio stardict-tools y use el
./
prefijo:cd /usr/lib/stardict-tools
, luego usa./startdict-verify
Si descubre que usa mucho las herramientas, puede agregar el directorio a la RUTA o agregar alias, archivos .desktop o crear sus propios scripts contenedores, etc. Pero esas cosas probablemente no valga la pena en este momento.
stardict-repair
, sin embargo, no está incluido en el directorio. El paquete de Ubuntu no es la versión actual, por lo que esa podría ser la razón, o podría haber otra razón.
Para crear sus propios diccionarios, consulteStarDict Crear diccionario
Para obtener detalles sobre el formato .ifo, consulteFormatos StarDict
Si debe tener la herramienta de reparación, deberá compilar e instalar el paquete desde la fuente.
Cómo compilar el paquete
Descarga el código fuente
Abra una terminal en ~/Downloads
. La descarga irá al directorio en el que se encuentra cuando ejecute el comando de descarga.
Ejecute hg clone https://code.google.com/p/stardict-3/
para descargar el código fuente.
Pasos previos a la compilación
Hay un error en 2 de los archivos que debe corregirse. Debido a cambios en una de las bibliotecas requeridas, cada archivo tiene una línea que debe cambiarse antes de compilarse.
Los 2 archivos son libcommon.h
y libcommon.cpp
, pero puedes descargar los archivos actualizados.
Las descargas están enhttp://code.google.com/p/stardict-3/issues/detail?id=31. Desplácese hacia abajo hasta que vea la publicación con los archivos de reemplazo adjuntos.
Descargue cada archivo en ~/Downloads/stardict-3/lib/src
, respondiendo que sí cuando se le pregunte si desea reemplazar el archivo existente.
Una instalación estándar de Ubuntu no tendrá automáticamente instaladas herramientas para compilar, además cada aplicación tendrá sus propias bibliotecas requeridas.
Para las herramientas stardict, necesita:
sudo apt-get install build-essential automake libtool libmysqlclient-dev libpcre3-dev
Compilando
cd ~/Downloads/stardict-3/
La mayoría de los paquetes tienen un archivo listo para usar configure
que debería ejecutar en este momento. Con este paquete, necesita ejecutar una utilidad para crear el configure
archivo.
Asegúrese de estar en el stardict-3
directorio (hay varios archivos autogen en la estructura y necesita ejecutar el correcto), luego:
./autogen.sh
Ahora ejecute el archivo de configuración con la --disable-dict
opción de compilar solo las herramientas.
./configure --disable-dict
Compile el paquete con make
(tenga en cuenta que esta vez no hay ./
)
make
Generalmente va seguido de make install
, pero no creo que queramos hacer eso aquí, ya que copiará los archivos instalados desde el repositorio de Ubuntu. En cambio, cd tools/src
donde encontrará los binarios que acaba de compilar.
En la terminal, los binarios serán los archivos verdes y no tendrán extensión. (Los archivos con el mismo nombre que terminan en .o
son archivos intermedios que ya no son necesarios, los archivos que terminan en .cpp
son el código fuente original y también se pueden ignorar.
Copia stardict-repair
y cualquier otro archivo que no se haya incluido antes en /usr/lib/stardict-tools
. Sólo necesitas copiar el archivo binario. Recuerda ./
cuándo ejecutarlos.
Una nota: compilamos la versión más reciente. Es posible, aunque no creo que sea muy probable, que haya alguna incompatibilidad entre esta versión de stardict-repair y el resto del paquete que tienes. Si es así, debería ser posible compilar una versión anterior de la herramienta.