Nexus 7 で英語のPDF書籍を読みたい。英語論文を読みたいので、辞書は英辞郎を使いたい。
長押しするとポップアップで訳を表示してほしい。
と思っていろいろやりましたが、答えにたどり着くために手間取ったのでメモしときます。
参考にしたサイト
http://fisheater-uk.blogspot.jp/2011/03/stardict-android.html
http://d.hatena.ne.jp/aaa555/mobile?sid=5e78fece023e7557&date=20120630
有用なスクリプトを公開してくれた fisheaterさん、aaa555さんに感謝します。
作業環境 windows7 SP1
Android端末 Nexus7 32gb
[1]英辞郎データを購入
http://www.eijiro.jp/
今回は手持ちの Eiji-131.txt を使用した。
なおPCに perl がインストールされてなければ、ActivePerlをインストールしておく。
[2]aaa555 さんの perl スクリプトで辞書データの順序入れ替え。
たとえばスクリプトを reorder.pl として保存し、コマンドプロンプトから
reorder.pl EIJI-131.txt > EIJI-131-ro.txt
と打って実行する。
※スクリプトは utf-8で保存する必要あり。今回は terapad で文字コードを指定して保存した。
※最初これをやらずに [3]を実行したところ、stardict editor でデータ重複の
エラーがでてはまった。
[3] fisheaterさんの公開されている perl スクリプトで、[2]で作った順序入れ替え済み辞書データを Stardict editor用に変換する。
perl eiji2sd.pl EIJI-131-ro.TXT > EIJI-131-sd.txt
[4]辞書データを stardict 形式に変換する。変換には linux 環境で stardict tools を使う方法がときどき紹介されているが、今回は windows環境で完結させたい。
今回は stardict-3のサイトから stardict のポータブル版を入手、手持ちのUSBメモリにインストールした(USBメモリのドライブレターはE)
E:\PortableApps\StarDictPortable-stardict.sourceforge.com\App\StarDict\stardict-editor.exe
を実行、[2]で作ったファイルを読み込んで "compile" を押す。
※最初、fisheaterさんのサイトから下記に飛んで stardict editor を入手したが、エラーがいろいろ出てうまくいかないので断念した。
http://code.google.com/p/stardictproject/downloads/detail?name=stardict-editor-3.0.1.rar
[4]すると stardict editorの画面でいくつか警告が表示される。
無視しても良いとおもわれるが一応対応する。
辞書を引いたときに "\" を表示したいとき(たとえば 100 円の意味で \100)、辞書ファイルの中ではエスケープの\ をくっつけて \\ と表記しなければならない。が数カ所 \ のままのところが残っている。stardict editor の警告で表示された行番号を見ながらテキストエディタで辞書ファイルを開き、\1 -> \\1, \_ -> \\_ などと編集する。数カ所なので手作業で問題なし。
編集済みの辞書データを再度 stardict-editor.exe で読み込みコンパイルする。
警告なしで終了、.dict, .idx, .ifo の3種類のファイルが生成される。
[5]android端末に colordict をインストール。
[4]で生成された3種類のファイルを android端末の/sdcard/dictdataフォルダにコピーし colordictから認識されるようにしておく(colordictを再起動)
[6]android端末に moon reader pro をインストール。colordictを認識させる。