
*.ifo 파일이 없는 StarDict 형식의 사전이 있습니다.
파일이 어떻게 생겼는지 알지만 사전에 정확히 몇 개의 단어가 있는지도 모르고 수동으로 계산하지 않고 확인하는 방법도 모릅니다[sic].
나는 답을 찾기 위해 몇 시간을 보냈지만 아무것도 찾지 못했습니다.
소프트웨어 센터에서 stardict-tools를 설치했지만 여기에 언급된 "stardict-repair" 옵션이 없는 것 같습니다.http://code.google.com/p/stardict-3/wiki/RepairStarDictDicts, StarDict 프로젝트 페이지에서.
그래서 내 질문은 두 가지입니다. 1. Ubuntu 12.10에서 stardict-repair를 얻고 실행하는 방법; 2. (아마도 약간 주제에서 벗어난 것일 수도 있지만) 올바른 ifo 파일이 없는 경우 편리하게 만드는 방법.
답변1
도구는 에 설치됩니다 /usr/lib/stardict-tools/
. stardict-index
그리고 stardict-verify
둘 다 거기 있어요. 현재 PATH 설정 외부에 있으므로 터미널에서 실행할 항목을 찾을 수 없습니다.
터미널에서 실행하려면 다음과 같은 몇 가지 옵션이 있습니다.
터미널을 열고 다음 경로를 포함하는 정규화된 이름을 사용합니다.
/usr/lib/stardict-tools/stardict-verify
stardict-tools 디렉터리로 이동하여
./
다음 접두사를 사용합니다.cd /usr/lib/stardict-tools
, 그런 다음 사용./startdict-verify
도구를 많이 사용하는 경우 PATH에 디렉터리를 추가하거나 별칭, .desktop 파일을 추가하거나 자신만의 래퍼 스크립트 등을 만들 수 있습니다. 그러나 이러한 작업은 현재로서는 문제를 일으킬 가치가 없을 것입니다.
stardict-repair
그러나 디렉토리에는 포함되지 않습니다. 우분투 패키지가 현재 버전이 아니어서 그런 이유일 수도 있고, 다른 이유가 있을 수도 있습니다.
자신만의 사전을 만들려면 다음을 참조하세요.StarDict 사전 만들기
.ifo 형식에 대한 자세한 내용은 다음을 참조하세요.스타딕트 형식
복구 도구가 있어야 하는 경우 소스에서 패키지를 컴파일하고 설치해야 합니다.
패키지를 컴파일하는 방법
소스 코드 다운로드
에서 터미널을 엽니다 ~/Downloads
. 다운로드 명령을 실행할 때 현재 있는 디렉터리로 다운로드가 이동됩니다.
실행 hg clone https://code.google.com/p/stardict-3/
하여 소스코드를 다운로드합니다.
사전 컴파일 단계
수정해야 할 파일 중 2개에 버그가 있습니다. 필수 라이브러리 중 하나가 변경되었기 때문에 각 파일에는 컴파일하기 전에 변경해야 하는 줄이 있습니다.
2개의 파일은 libcommon.h
및 libcommon.cpp
이지만 업데이트된 파일을 다운로드할 수 있습니다.
다운로드 위치는 다음과 같습니다.http://code.google.com/p/stardict-3/issues/detail?id=31. 대체 파일이 첨부된 게시물이 나타날 때까지 아래로 스크롤합니다.
각 파일을 로 다운로드하고 ~/Downloads/stardict-3/lib/src
기존 파일을 교체할지 묻는 메시지가 나타나면 예라고 대답합니다.
표준 Ubuntu 설치에는 컴파일 도구가 자동으로 설치되지 않으며 각 앱에는 자체 필수 라이브러리가 있습니다.
stardict 도구의 경우 다음이 필요합니다.
sudo apt-get install build-essential automake libtool libmysqlclient-dev libpcre3-dev
컴파일 중
cd ~/Downloads/stardict-3/
configure
대부분의 패키지에는 이 시점에서 실행할 미리 만들어진 파일이 있습니다 . 이 패키지를 사용하면 유틸리티를 실행하여 configure
파일을 생성해야 합니다.
현재 디렉터리 에 있는지 확인한 후 stardict-3
(구조에 여러 개의 자동 생성 파일이 있고 올바른 파일을 실행해야 함) 다음을 수행합니다.
./autogen.sh
--disable-dict
이제 도구만 컴파일하는 옵션을 사용하여 구성 파일을 실행하십시오 .
./configure --disable-dict
다음을 사용하여 패키지를 컴파일합니다 ( 이번에 make
는 없음 )../
make
일반적으로 뒤에는 가 붙지 make install
만 여기서는 그렇게 하고 싶지 않다고 생각합니다. 우분투 저장소에서 설치된 파일을 복사하기 때문입니다. 대신 cd tools/src
방금 컴파일한 바이너리를 찾을 수 있습니다.
터미널에서 바이너리는 녹색 파일이며 확장자가 없습니다. (같은 이름으로 끝나는 파일은 .o
더 이상 필요하지 않은 중간 파일이며, 로 끝나는 파일은 .cpp
원본 소스 코드이므로 무시해도 됩니다.
stardict-repair
이전에 포함되지 않았던 파일 및 기타 파일을 /usr/lib/stardict-tools
. 바이너리 파일만 복사하면 됩니다. ./
실행할 때를 기억하십시오 .
한 가지 참고 사항: 최신 버전을 컴파일했습니다. 실제로는 그럴 가능성이 거의 없다고 생각하지만 이 버전의 stardict-repair와 나머지 패키지 사이에 약간의 비호환성이 있을 수 있습니다. 그렇다면 이전 버전의 도구를 컴파일하는 것이 가능해야 합니다.