実録コンピュータ物語

趣味で使っているコンピュータ&ソフトの情報を発信するブログです。

英辞郎をStarDict形式に直接変換するスクリプト「eiji2sd」

英辞郎をStarDict辞書に変換するスクリプトを作りましたので公開します。StarDict、GoldenDictOmegaTなどで英辞郎が使えるようになります。

ダウンロードリンク(Dropboxeiji2sd_20160307.zip

f:id:bosh:20160301193001p:plain

最初、OmegaT英辞郎を使いたくて方法を調べていたのですが、PDIC用データをエディタで編集する作業が必要だったり、StarDict変換ツールがUnix環境前提だったりと敷居が高く、もっと手軽に変換する方法が必要だと考えました。なので、Windowsでも変換できるようにPowerShell(ついでにPerl)で作成しています。

この手のツールはGo言語で作りたかったのですが、まだ習得中なので・・・

不具合修正

eiji2sd_20160307:PowerShell版で辞書ファイル未作成の状態だとResolve-Pathがエラーになることがわかり、Join-Pathを使うように変更した(YU-TANGさんより)

使い方(PowerShell版)

変換スクリプトはeiji2sd-text.ps1(StarDict用)とeiji2sd-html.ps1(GoldenDict、OmegaT用)があり、使う前にセキュリティ設定の変更が必要です。エクスプローラのメニューで「ファイル」→「Windows PowerShell を開く」からコンソールを起動し、「Set-ExecutionPolicy Unrestricted」と入力してスクリプトを実行できるようにする必要があります。

f:id:bosh:20160301204442p:plain

英辞郎のテキストデータ(EIJI-140.TXT、数字はバージョンによる)をスクリプトと同じ場所に保存し、「.\eiji2sd-html.ps1 .\EIJI-140.TXT」と入力すると変換が行われます。

f:id:bosh:20160301205823p:plain

stardict.idx、stardict.dict、stardict.ifoという3つのファイルが作成されるので、適当な名前のフォルダー(EIJIROなど)に入れて各ソフトの辞書保存場所にフォルダーごとコピーしてください。(OmegaTの場合はプロジェクトのdictionaryフォルダーに保存)

さらに、dictzipというツールを使えばdictファイルを圧縮することができます。 https://github.com/Tvangeste/dictzip-win32/releases

課題

  • Go言語で作りなおして速度と移植性を向上させる
  • .synファイルも作成する

参考リンク