長かった.この二日間くらい英辞郎を goldendict (もしくは stardict)で
読める形式に変換するのに四苦八苦していた.
具体的には以下の理由による:
- 英辞郎(txt ファイル)が,stardict-tools の duplicate(重複)バグがあるせいで変換できない
- stardict-tools 3.0.2-4 をバグを修正してビルドしようにも,make が通らない
- バグがない古いバージョン (3.0.1) の make も通らない
しかし,解決策は案外単純で,2.4.8 を使えばよかったのだった.
(環境)
- Linux Mint 17.2 cinammon
- 英辞郎第八版
(手順)
基本的には,参考サイトとほとんど同じ:
- 英辞郎のファイルをあらかじめ解凍しておく
(EIJI-141.TXT, WAEI-141.TXT, REIJI141.TXT, RYAKU141.TXT) -
stardict と goldendict をインストール
[py]
sudo apt-get install stardict
sudo apt-get install goldendict
[/py] - ftp.br.debian.org/debian から stardict-tools 2.4.8 をダウンロード
- 解凍後,以下を実行
(途中でエラーが出る場合は,必要なものを apt-get install する)[py]
cd stardict-tools_2.4.8-0.1_amd64.deb
sudo ./configure
sudo make
sudo make install
[/py] - @dr_taka_n 氏作成の以下のスクリプトを pdic1line2tab.rb という名前で保存
[py]
# -*- coding: utf-8 -*-
ARGF.each do |line|
line.gsub!("■・", "\\n・")
line.gsub!(/■/, ”)
attr = nil
line.sub!(/ \{(.+?)\}/) do |e|
attr = $1
”
end
key, content = line.split(‘ : ‘)
content = "【#{attr}】" << content if attr
puts [key, content].join("\t")
end
[/py] -
以下を実行
[py]
cat EIJI-141.TXT | nkf -Lu -w8 | ruby pdic1line2tab.rb > EIJI-141.tab
[/py] -
以下を実行
[py]
/usr/lib/stardict-tools/tabfile EIJI-141.tab
[/py] - WAEI-141.TXT, REIJI141.TXT, RYAKU141.TXT についても 6〜7 を行なう
-
生成された辞書ファイルを移動
[py]sudo mv *.dict.dz *.idx *.ifo /usr/share/stardict/dic/[/py]
-
goldendict を起動して,索引が作られるのを待つ
以上.
(参考)