2007年11月06日
[英語学習] , [Macintosh] , [RSS等のXML] , [Unicode等の文字コード] , [辞書] , [仕事術/ライフハック] , [プログラミング]
Leopardの「辞書」アプリで「英辞郎」を使う
先の記事でも書いたように、Mac OS X v10.5 "Leopard"の「辞書」アプリケーション(辞書.app / Dictionary.app)用の辞書はユーザーが追加できるようになっている。そこで、定番の英和辞書「英辞郎」を変換するツールを作ってみた。英辞郎は、現時点で最新のv108を使用している。
使い方は以下の通り。
・Leopardのインストールディスクに含まれる開発ツールをインストールする(「Optional Installs」→「Xcode Tools」→「XcodeTools.mpkg」を実行)
・「/Developer/Exmaples/Dictionary Development Kit/project_templates」フォルダを適当な場所にコピーする
・コピーした「project_templates」フォルダに、英辞郎の英和辞書データ「EIJI-???.TXT」、略語郎「RYAKU???.TXT」をコピー(英辞郎と略語郎は1つの辞書にした方が使い勝手がよいのでこうしている)。???は英辞郎のバージョンによって異なる
・ここから「eiji_conv???.zip」をダウンロードして解凍し、同じく「project_templates」フォルダにコピーする(同じファイル名は「上書き」)
・「ユーティリティ」フォルダの「ターミナル」アプリケーション(Terminal.app)を起動して、「cd」コマンドで(コピーした)「project_templates」フォルダに移動する
・ターミナルで、「ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt」と入力(略語郎内のリンクを英辞郎の表記に合わせている)
・「ruby -Ks cat.rb EIJI-???.TXT Ryaku.txt > Eijiro.txt」と入力(英辞郎と略語郎のファイルを連結して「Eijiro.txt」というファイルを生成)
・「ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml」と入力(2GBのメモリを搭載したMacBook(2GHz)で約20分)
・「make」と入力(同環境で約40分)
・「make install」と入力
※「ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml ; make ; make install」と入力すれば、3つの作業をまとめて実行できる
・「辞書」アプリケーションを立ち上げると、英辞郎(Eijiro)が使えるようになっている。なっていない時は、「環境設定...」で英辞郎にチェックを入れる
control+command+Dを押しっぱなしにしていると、マウスカーソル近くの単語を自動認識して辞書を引いてくれるのでとても快適だ。
出来上がったデータはけっこう大きくなる(略語郎こみで1.36GB)。
アップルが提供するツールでは、他の項目とリンクしうる本文内の箇所について自動的にインデックスを作成する模様。このインデックスがかなり大きくなっているようだ。リンクさせたい箇所を明示的に指定すれば、インデックスは小さくなるだろう。ただ、自動的に作ってくれるインデックスの方が使い勝手がよいのではないかと思う。
(2007年11月9日追記)
いくつかバグ取りと改良を行った。
○v0.01→v0.02の変更点
・品詞が間違って付けられることがあったのを修正
・<→単語>という形式で飛び先が明示されているものにはリンクを張った
・URLをクリックすると、該当ページにジャンプするようにした
※URLの判別ルーチンは、『Ruby Magic―Rubyで極める正規表現』を参考にしている。
(2007年11月12日追記)
○v0.02→v0.03の変更点
・空行処理
○v0.03→v0.04の変更点
・スタイルの指定(品詞、定義の順、ルビ、文例)
表示が見づらかったので、スタイルシートで体裁を整える。一部行間隔がおかしいところもあるが(スタイルシートって難しい……)、けっこう見やすくなった。
スタイルシートを変えたい場合は、「~/Library/Dictionaries/Eijiro.dictionary/Contents/DefaultStyle.css」を修正すればOK。スタイルシートの修正だけならば、辞書データを再作成する必要はなく、辞書アプリを再起動するだけでいい。
(2007年11月12日追記(続き))
○v0.04→v0.05の変更点
・品詞名のついていない項目で、スタイル指定が間違っているのを修正
静的なデータを加工するだけなのに、けっこうバグが出る……。これで問題はなくなったと思いたい。
(2007年11月15日追記)
○v0.05→0.06の変更点
・名詞の複数形や動詞の過去形など、変化形でも引けるように改良。
※ただし、熟語になっているものは変化形では引けない。
(2007年11月20日追記)
日本郵便の郵便番号データの変換ツールを公開。詳しくはこちら。
(2007年11月27日追記)
○v0.06→0.07の変更点
・2通りの変化形に対応。例えば、「evil」の比較級は「eviler」と「eviller」があるが、どちらでも引けるようにした。
・リンク先が2つ以上ある場合にも、きちんとジャンプできるようにした。
・辞書名を「Eijiro」から「英辞郎」に変更。
(2008年2月12日追記)
EPWINGの辞書を使えるようにしてみた。詳しくはこちら。
Mac OS X Leopardビュンビュンテクニック (アスペクトムック)
Amazonで詳しく見るby G-Tools
概要: Leopardの「辞書」アプリで「英辞郎」を使うを参考して、手元にある第3版の英辞郎を変換してみました。が、英辞郎のCDには*.DICしかないので、辞書デ...
発信元サイト: 元タイ人留学生がのぞいたタイランド
発信日:2007.11.18
概要: Mac OS X 純正の「辞書」アプリ (Dictionary.app) は、 ...
発信元サイト: ABlog
発信日:2008.03.30
概要: binWord/blog: Leopardの「辞書」アプリで「英辞郎」を使う Mac OS X v10.5 "Leopard"の「辞書...
発信元サイト: EarlGrey Tearoom
発信日:2008.08.06
早速試させていただきました。MacBook Pro 2.16Gで試したところ1時間以上かかりましたが、簡単に変換することができました。動作もばっちりです。ありがとうございます!とっても便利になりました。
英辞郎も変換できると大変嬉しいのですが、難しそうですか?
Posted by: mac_intel at 2007年11月10日 00:05喜んでいただけたようで、何よりです。
>英辞郎も変換できると大変嬉しいのですが、難しそうですか?
これは「和英辞郎」ということでしょうか? 和英辞郎のデータを見てみたところ、英辞郎と同じデータ形式のようですね。「読み」のデータも持っていませんし、私のツールでそのまま変換できるかもしれません。
Posted by: Tats_y at 2007年11月10日 00:33「和英辞郎」はそのままだと使えませんね……。
和英辞郎のことです。変換方法がすばらしくGJ!なので、期待してしまいました。ぜひご検討ください。
Tigerでは、簡単な辞書引きはEijiro mini、全文検索は英辞郎ビューアを利用していました。これからは辞書.appも便利に利用させていただきます。重ねてありがとうございました。
Posted by: mac_intel at 2007年11月10日 10:02私の勘違いでした(作業ディレクトリを間違っていたという……)。
「和英辞郎」や「略語郎」も変換できます。
これらの辞書を変換する際は、「Makefile」や「MyInfo.plist」の「Eijiro」となっているところを、各辞書の名前にしておいてください。
今日は
Hello.
僕も英辞郎を変換しようとしている。お助け有り難うございます。
I would like to try and convert my eijiro to a usable mac dictionary format. thanks for the help.
でもあなたのダイレクションはちょっと難しいです。それで、あなたが変換したファイルを私のサーバにアプロードしたら嬉しいです。私は少し前えいじろを買って、それだけしか使うからパソコンでも(MACBOOK 2GHZ)使いたい。
I am unable to follow the directions... but if you would kindly upload the converted files to my ftp server I will host it for you. I purchased eijiro a while back and am very pleased with it. it is the best dictionary out there for the price.
upload to
サーバのユサーネムとパスワード:
ftp://mastermindesigns.com
user name: eijiro@mastermindesigns.com
password: eijiro
5GBスペースあるからどうぞ!
I have set aside 5GB of space... and there is unlimited bandwidth....
有り難う!
Posted by: James Vreeken at 2007年11月12日 05:00Sorry, I can't upload converted files because Eijiro is not a free content.
The following explanation is an instruction in English.
1.Install development tools(Xcode)
2.copy "/Developer/Exmaples/Dictionary Development Kit/project_templates" folder to any place
3.copy Eijiro "EIJI-???.TXT" and Ryakugoro "RYAKU???.TXT"(if you need) to the above-mentioned folder.
4.Download "eiji_conv.zip" from here (http://www.binword.com/library/eiji_conv006.zip)
5.Unpack "eiji_conv.zip" to the above folder (Overwrite)
6.Run "Terminal.app"
7."cd (the above folder)"
8."ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt"
9."ruby -Ks cat.rb EIJI-???.TXT Ryaku.txt > Eijiro.txt"
10."ruby -Ku eiji_conv.rb < Eijiro.txt > MyDictionary.xml"
11."make"
12."make install"
13.Run "Dictionary.app"
14.Select "Eijiro" in "Preferences..."
EIJIRO81.TXT しか持っていないので、おなじ要領でやってみたのですが、
ruby eiji_conv.rb MyDictionary.xml
のところで、
>\n" (Iconv::IllegalSequence)"?P
> from eiji_conv.rb:45
というエラーが出て終わってしまいます。
81ではできないのでしょうか?ファイルのフォーマットは同じだと思うのですが...
eiji_conv.rbの45行目というのは、Windows用の文字コード体系からUTF-8に変換するための事前準備を行っているところなので、ここでエラーが出るのはちょっと考えにくいんですが。
使用しているRubyは、Leopard搭載の1.8.6ですか?
また、
>ruby eiji_conv.rb MyDictionary.xml
と書かれていますが、正しくは「ruby eiji_conv.rb < EIJI-108.TXT(あるいは別の英辞郎ファイル) > MyDictionary.xml」です。このあたりの入力に間違いはないでしょうか?
Tats_y 様:お手数かけます.昼間に職場のMacでやってみたので今,確認することはできませんが...
> Rubyは、Leopard搭載の1.8.6ですか?
バージョンまで確認していませんが、LeopardのXcodeをインストールしたものです.
>このあたりの入力に間違いはないでしょうか?
これも,間違いないはずです.カット&ペーストするうちに消えたみたいです.
私の環境でも同様の現象がおきました。ruby 1.8.6, EIJIRO 81です。 48行目のCP932->UTF8の変換に失敗しているようですね。 48行目を以下のようにスキップするようにして、他のツールでEijiro.txtをUTF8に変換してやったらうまく変換できました。rubyには納得のいかない文字コードがはいってるんですかね。
# line1 = iconv.iconv(line) #Shift_JISからUTF-8へ変換
line1 = line
フォローありがとうございます。
ハードディスクの中を探してみたら、v91の英辞郎が見つかったのでちょっと調べてみました。
v91の場合、原因は「moronism」という項目のようです。この項目は「moronity」にリンクしているのですが、ここに不正なキャラクタが入ってますね(シフトJISでEB50)。本来CP932(Windowsで使われている文字コード体系でシフトJISでエンコーディングされている)では使われていない(らしい)領域なので、iconvがエラーを出したようです。
ねるさんがおっしゃっているように、ほかのソフトを使ってUTF-8に変換するという手もありますが、それだと「moronism」の項目が間違ったままなので、英辞郎のデータを
■moronism {名} : =<→moronity>
と修正しておくのがよいのではないでしょうか。
v81でも、v91と同じ項目を修正したらうまくとおりました。
Posted by: ねる at 2007年11月18日 11:17変換ツールを使わせていただきました。ありがとうございます。
また上記のコメントを拝見しました。和英にも適用できそうですね。今度試してみたいと思います。
>ねるさん
それはよかったですね。もしかしたら古いバージョンでは「moronism」以外の項目も間違っているかもしれないと思っていたのですが(不正なキャラクタを含む行を表示するスクリプトを載せた方がよかったですね)。
>ぷーちゃんさん
私は実際に和英辞郎を変換して使っていますよ。MyInfo.plistとMakefileを適当に修正するのをお忘れなく。
あるいは英辞郎と和英辞郎のファイルと連結してから変換スクリプトにかけてもよいでしょう。和英辞郎の優先順位をあまり高くしたくないので、私は別々の辞書として使っていますが。
こんにちは。Googleで英辞郎を辞書.appで使う方法のページを検索してこちらに来てみました。
上の方の説明の中に、
>(英辞郎と略語郎は1つの辞書にした方が使い勝手がよい)
とあるのですが、その方法がわかりません。
皆さんどのようにしていらっしゃるのでしょうか?
ご指南いただけるとありがたく思います。
よろしくお願いいたします。
上の解説記事で、
・ターミナルで、「ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt」と入力(略語郎内のリンクを英辞郎の表記に合わせている)
・「ruby -Ks cat.rb EIJI-108.TXT Ryaku.txt > Eijiro.txt」と入力(英辞郎と略語郎のファイルを連結して「Eijiro.txt」というファイルを生成)
という箇所がありますが、ここで連結しています。
ですから、上の説明の通りに実行すれば、英辞郎と略語郎が1つになった辞書になります。
Posted by: Tats_y at 2007年11月21日 09:37先の投稿をしました、辞めくりです。
申し訳ありませんでした…よく読んでいなかったです。
「(英辞郎と略語郎のファイルを連結して「Eijiro.txt」というファイルを生成)」の文を見落としていました。
謝らないと、と思って今朝は投稿後もこちらにアクセスしていたのですが、こちらのドメインのページのアクセスに何度も失敗してしまい、今になりました。
ところで、しばらく前に「・「ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml」と入力」をターミナルで打ち込んで処理が終わったのですが、その次の「・「make」と入力」をやってみても、「-bash: make: command not found」とでてきて先に進めませんでした。XMLファイルなどの生成に失敗しているのかな…。
とりあえず、この後これから「ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml ; make ; make install」と入力」をやってみます。あるいはひょっとして「command not found」ということだったのでその連続処理もうまくいかないかもしれませんが。だいじょうぶでしょうか。(すみません、コマンドのこともよくわからない人間です。)
とはいえ、変換に成功されている方もいらっしゃいますし、辞書.appで使い慣れてきた英辞郎で検索できるんだと思うと、とてもうれしいです。
変換ツールとその使い方を公表していただき、どうもありがとうございます!!!
「make」で「command not found」が出るということは、開発ツールがうまくインストールされていないのではないでしょうか?
記事にも書いていますが、Leopardのインストールディスクから、Xcodeはインストールされていますか?
早々のご返信、恐れ入ります。
普段Icon ComposerやProperty List Editorなどを使ってカスタマイズしていまして、XcodeはOSをインストールした後に入れてあります。
ただそのときの記憶がうろ覚えなので確認させていただきたいのですが、よろしいでしょうか?
Xcodeのインストールでは、いくつかのパッケージの内容を選んで(チェックマークを入れて)インストールできますが、今回必要とされている「開発ツール」は何のパッケージが必要でしょうか?
こちらで実際にインストール(カスタムインストール)できるパッケージ名をあげると、(XcodeのInstallerウインドウで確認したパッケージ名です。)
Developer Tools Essentials
Developer Tools System Components
UNIX Development Support
Core Reference Library
Mac OS X 10.3.9 Support
WebObjects
があります。
自分の記憶では、Xcodeのユーティリティアプリケーションを使うのがほとんどで最低限のパッケージしかインストールしていなかったかもしれません。
今回の変換作業ではすべてのパッケージが必要となりますでしょうか?
追加になりますが、もう一つ疑問点があります。
和英辞郎と例辞郎を連結したファイルを作りたいのですが、公開されているTats_yさんのツールで可能でしょうか?可能な場合、
>「Makefile」や「MyInfo.plist」の「Eijiro」となっているところを、
>各辞書の名前にしておいてください。
このほかに何か作業はありますでしょうか?また、英辞郎と略語郎を連結する際に行った、
>「ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt」
>と入力(略語郎内のリンクを英辞郎の表記に合わせている)
>「ruby -Ks cat.rb EIJI-108.TXT Ryaku.txt > Eijiro.txt」
>と入力(英辞郎と略語郎のファイルを連結して「Eijiro.txt」という
>ファイルを生成)
という処理とおなじことを和英辞郎と例辞郎の連結処理でも行うために入力するターミナルでの具体的な文字列を教えていただけないかと思っております。
いかがでしょうか?こちらからは質問ばかりで恐縮ですが、ぜひ活用したいと思っております。よろしくお願いいたします。
>今回の変換作業ではすべてのパッケージが必要となりますでしょうか?
私は、「Mac OS X 10.3.9 Support」と「WebObjects」以外のツールはすべてインストールしました。
>このほかに何か作業はありますでしょうか?
特にないと思います。
>和英辞郎と例辞郎の連結処理でも行うために入力するターミナルでの具体的な文字列
和英辞郎と例辞郎では、リンクの表記を変換する必要はありません。和英辞郎と例辞郎を連結したいなら、
「ruby -Ks cat.rb WAEI-???.TXT REIJI???.TXT > 任意のファイル名」(???は英辞郎のバージョン番号)
と入力すればよいでしょう。
こんばんは、ありがとうございます。
こちらの記事を参考にして、ひとまず英辞郎+略語郎の辞書ファイルを作ることができました。
前に書きましたXcodeインストールの件ですが、私の環境では「UNIX Development Support」が足りなかったようです。これの追加インストールでmakeコマンド入力に処理反応してくれました。
具体的に教えていただきましたので、知識のない私にもファイルを作ることができました。ありがとうございました。
Posted by: 辞めくり at 2007年11月21日 21:47和英も作ることができました。ありがとうございます。
ただ僕の環境(macmini c2duo 1.8GHz 2MB ram)ではXMLデータが生成されるまで異様に処理時間が長かったので、eiji_conv.rbを覗いてみました。全くrubyをやったことがないので、全然的外れかもしれませんが、どうも4つのハッシュ(連想配列?)の長さが英辞郎に登録されている単語の数に比例しているので、数が多ければ多いほどメモリがより多く必要になり、結果的に処理時間の大半はメモリの確保時間になってしまうのではないかと思います。
もしループの数を1つにして、一個の単語を抽出して、すぐ出力するようなコードを書き換えたら、どうかなと思っていますが、どうなんでしょうか?
ご教授お願いします。
>もしループの数を1つにして、一個の単語を抽出して、すぐ出力するようなコードを書き換えたら、どうかなと思っていますが、どうなんでしょうか?
最初はそうしようと思っていたんですが、英辞郎では同じ項目が複数のレコードに分かれているんですね。例えば、「take」なら「名-1」「名-2」「名-3」……「自動1」……「他動1」……。これらがすべて別レコードになっています。
別々の項目として立てるのなら、1つのレコードを読み込んだ時点ではき出せばよいのですが、それだと辞典としてちょっと不便ではないですか?
また、複数の定義が確実に連続しているのならよいのですが、別辞書をマージする際には項目が連続しないケースも考えられます。そこで、連想配列(ハッシュ)に全部読み込む、ちょっとお馬鹿なやり方をとっています。
もちろん、テンポラリファイルをうまく活用したりすればいいんでしょうけど(ファイルを連結してソートしてテンポラリファイルに書き出して、ここから読み込んで処理を行う?)、私も素人なのであまり複雑なことはできません……。
こんにちは。Leopard の辞書が使いやすかったので、何か便利な
使い方ができないか調べていたところ、このページにたどり着きました。
さっそく、英辞郎を購入して、現在、スクリプトの実行中です。
まだ処理中で完成していませんが、ともかくありがとうございます。
英辞郎に関する質問ではないのですが、私は、COBUILD の辞書が
かなり気に入っていて、これを Leopard の辞書で使えないかと
考えています。COBUID 等の EPWING 辞書を変換するスクリプトを
作成されるご予定はないのでしょうか。
これらのツールを使うと、EPWING から HTML 作成までは
たどり着けるという情報までは見つけました。
ここから先はまだ誰もたどり着いていないようで情報もありませんでした。
www31.ocn.ne.jp/~h_ishida/EBDump.html
hp.vector.co.jp/authors/VA000022/ebd2html/ebd2html.html
EPWINGの変換には私も興味があります。ebd2htmlの出力をDictionary.app用のXMLに変換するのはそれほど難しくなさそうなので、そのうち試してみようとは思っています。
ただ、実用的に使おうとすると、EPWING辞書に含まれる外字をUnicode文字に変換するためのテーブルを作る必要があるでしょうし、けっこうハードルが高いかもしれませんね。
スクリプト使わせていただきました。ありがとうございました。
当方、英辞郎をネットで最新版を購入し、成功しましたので、レポートさせていただきます。
使用したのは、eiji-111.txtとwaei-111.txtです。
あと、Makefile内の「英辞郎」から「和英辞郎」へ変更し保存する際、エンコードをUTF-8で保存する必要がありました。
Posted by: happa at 2008年02月11日 08:30変換スクリプト使わせていただきました。ありがとうございました。
当方、英辞郎の最新版(v.111)をネットで購入し、問題なかったので、レポートさせていただきます。
使用したのは、EIJI-111.txtとWAEI-111.txtです。
あと、和英辞郎を変換するさい、Makefile内の「英辞郎」から「和英辞郎」へ変更し保存する時、文字エンコードをUTF-8を指定する必要がありました。
ま、当たり前と言えば当たり前ですけどね。細かいことですが、そこで詰まる人もいるかも知れないと思い書き込みました。
英辞郎とは関係ないですが、この辞書引き機能、pdfを表示したプレビューでも使えるようになればいいのにと思いませんか。
Posted by: happa at 2008年02月12日 00:39EPWINGの辞書を使えるようにしてみました。
http://www.binword.com/blog/archives/000588.html
おぉ!こんにちは、ひさしぶりにのぞいてみてビックリしました。
EPWING 対応ありがとうございます。あとでまた試してみます!
(XCODEのインストールと英辞郎の辞書追加でディスク容量が
キリキリになっているので、とりあえずスペースを確保してから
挑戦してみます。きっと EPWING の 50MB とかの辞書でも
LEO の辞書にすると 1GB とかいっちゃうんでしょうね。[汗] )
COBUILDの場合、最終的にできあがったデータは21.4MBでしたよ。
Posted by: Tats_y at 2008年02月19日 23:35こんにちは。
leopardの辞書をさらに便利にしたいと思い、こちらに来ました。
英辞郎v111を購入し実行したところ、以下のような状態でエラーになりました。Rubyの知識が無く対応に困っています。
また私のPowerBookG4, 1.67GHz, 1GB RAMの環境では1週間以上もMyDictionary.xmlファイルを作り続け、ファイルサイズが504.7MBのところでストップしてしまいました。
アドバイスいただけると幸いです。
どうぞ宜しくお願いいたします。
Last login: Tue Feb 12 19:12:39 on console
tyoshida:~ yoshidatakayuki$ cd /Users/yoshidatakayuki/Desktop/project_templates tyoshida:project_templates yoshidatakayuki$ ruby -Ks ryaku_conv.rb < RYAKU111.TXT > Ryaku.txt
tyoshida:project_templates yoshidatakayuki$ ruby -Ks cat.rb EIJI-111.TXT Ryaku.txt > Eijiro.txt
tyoshida:project_templates yoshidatakayuki$ ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml ; make ; make install
"""/Developer/Extras/Dictionary Development Kit"/bin"/build_dict.sh" "英辞郎" MyDictionary.xml MyDictionary.css MyInfo.plist
- Building 英辞郎.dictionary.
- Cleaning objects directory.
- Preparing dictionary template.
http://www.apple.com/DTDs/PropertyList-1.0.dtd:1: parser error : Content error in the external subset
?
^
unable to parse ./objects/dict.plist
Error.
make: *** [all] Error 1
echo "Installing into ~/Library/Dictionaries".
Installing into ~/Library/Dictionaries.
mkdir -p ~/Library/Dictionaries
ditto --noextattr --norsrc ./objects/"英辞郎".dictionary ~/Library/Dictionaries/"英辞郎".dictionary
ditto: can't get real path for source
make: *** [install] Error 1
tyoshida:project_templates yoshidatakayuki$
エラーを出しているのは、eiji_conv.rbではなく、アップルの辞書生成ツールみたいですね。
「ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml ; make ; make install」と連続して実行されていますが、「ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml」だけの実行では問題ないのでしょうか?
あと、ハードディスクの容量は十分にありますか?
アドバイスいただき誠にありがとうございます。
最初に「ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml」のみ実行させましたが、3日たっても完了しないためターミナルを終了させてしまいました。
もう一度チャレンジしてみようと思いますが、私のコンピュータの性能では膨大な時間がかかり参ってしまっています。
なお内蔵ハードディスクは160GBのものを使用しており、残り容量は75GBほどあります。
ターミナルについても初心者ですがどうぞ宜しくお願い致します。
なるほど、エラーがでたのはMyDictionary.xmlが正常に作成されていないからでしょうね。
eiji_conv.rbはメモリをけっこう食ってしまう仕様になっているので、本体メモリが少ないと厳しいかも……。常駐させているソフトウェアがあれば、それらをすべて終了させて実行してみるとよいかもしれません。
このエントリを参考にさせていただいて、英辞郎第三版の内容(v.98?、Dic形式からtxt形式に変換したもの)で変換しようと思ったのですが、eiji_conv.rbの実行中にpre_match(eiji_conv.rb : l.51)が未定義というエラーがでてしまいました。
他の方には、このようなエラーが出ていないようなのですが、なにか原因となることが考えられるでしょうか?
<エラー内容>
>ruby eiji_conv.rb
undefined method `pre_match' for nil:NilClass (NoMethodError)
<エラー部分> eiji_conv.rb : l.51
temp_word = /^■/.match(/\s:\s/.match(line1).pre_match).post_match #見出しと定義に分割
EDPのサイトで公開されている英辞郎とアルクの英辞郎第三版ではフォーマットが異なるようですね。
下記のサイトに対応方法が掲載されていますよ。
・英辞郎をDictionary.appで見られるようになった わーい - hitode909のダイアリー
http://d.hatena.ne.jp/hitode909/20071108/1194527334
早速のご返答ありがとうございました。
調査不足で申し訳ありませんでした。
リンク先の方法もやってみましたがsort内でエラーが出てしまい、うまくはいきませんでしたがまた調べてみます。
ありがとうございました。
「英辞朗をマックの辞書アプリで使えるなんてすごい!」と思い、早速、英辞朗をダウンロードして、Xcodeをインストールしました。
しかし、あまりこのようなコードを書いたり不慣れな(というよりも、初めての)私は、上記に書かれているインストラション通りにやっても、うまくフォロー出来ません。
もう少し私のような本当の初心者向けに一つ一つのステップの説明を詳しく御指南していただくと大変有り難いのですが・・。
どうかよろしくお願いいたします。
どのような作業をされて、どううまくいかないのかということをもう少し詳しく教えていただけますか。
ありがとうございます。
それではお言葉に甘えて質問させていただきます。
しかし、何回か分けて質問させてもらいます。
①「/Developer/Exmaples/Dictionary Development Kit/project_templates」フォルダを適当な場所にコピーする・・・と書かれていますが、これは新規フォルダを作り、この名前のファイルをデスクトップ等適当な場所に作るということですか?
②EDP-111.exeという英辞朗の最新データを購入・ダウンロードしました。これをマックで開くときは、Stuffit Expanderでよろしいのですか?これで開くと最後にエラーメッセージが出て、そのアプリがshut downしますが、何か悪影響等問題ありませんか?なお、抽出されて出来たフォルダ名は「EDP-111.exe1205552058.tmp」です。そのフォルダ内は「PDIC¥TEXT¥BU-?????.HTM」というファイルがたくさんあります。(?????は数字です。)
③「コピーした「project_templates」フォルダに、英辞郎の英和辞書データ「EIJI-???.TXT」、略語郎「RYAKU???.TXT」をコピー(英辞郎と略語郎は1つの辞書にした方が使い勝手がよいのでこうしている)。???は英辞郎のバージョンによって異なる」と書かれていますが、Stuffit Expanderによって抽出されたフォルダー内にはいってるファイル名は「EIJI-???.TXT」ではなく、前述した「PDIC¥TEXT¥BU-?????.HTM」なのですが、問題ありませんか?
④そして、③が正ならば「PDIC¥TEXT¥BU-?????.HTM」の全てのファイルを「/Developer/Exmaples/Dictionary Development Kit/project_templates」という新規フォルダにコピーするのですか?
今回の質問は以上です。何か違うところがあればご指摘願います。
そして、お時間を割いて頂き、まことに有り難うございます。
>(1)「/Developer/Exmaples/Dictionary Development Kit/project_templates」フォルダを適当な場所にコピーする・・・と書かれていますが、これは新規フォルダを作り、この名前のファイルをデスクトップ等適当な場所に作るということですか?
「project_templates」フォルダごと自分のホームフォルダ内にコピー(Finderならoption+ドラッグ)します。場所は、ホームの直下でも、「書類」フォルダの下でもかまいません。
>(2)EDP-111.exeという英辞朗の最新データを購入・ダウンロードしました。これをマックで開くときは、Stuffit Expanderでよろしいのですか?
確か、英辞郎はRarで圧縮されていたと思いましたが、Stuffit ExpanderがRarに対応しているかどうかはわかりません。Rarに対応したフリーソフトウェアとしては、The Unarchiverなどがあるようです。
http://wakaba.c3.cx/s/apps/unarchiver.html
>抽出されて出来たフォルダ名は「EDP-111.exe1205552058.tmp」です。そのフォルダ内は「PDIC¥TEXT¥BU-?????.HTM」というファイルがたくさんあります。(?????は数字です。)
フォルダ名が「EDP-111.exe1205552058.tmp」となっているのを見ると、正常に解凍できていないようです。先述のThe Unarchiverを試してみては?
また、ここで必要なのはテキスト形式のデータです。解凍すると「EIJIRO」と「PDIC」というフォルダができていると思います。「EIJIRO」フォルダの中にある「EIJI-???.TXT」や「RYAKU???.TXT」が必要なファイルです。
①ご回答ありがとうございます。早速、上記のアドバイスに従いました。
結果、exeファイルもUnchirverで上手く解凍できましたし、作業も下記の段階までようやくたどり着きました。
「ユーティリティ」フォルダの「ターミナル」アプリケーション(Terminal.app)を起動して、「cd」コマンドで(コピーした)「project_templates」フォルダに移動する
ここでの指示に従い、ターミナル上では、今、下記のように表示されています。*ご覧の通りフォルダは書類のフォルダの下に入れました。
Last login: Mon Mar 17 21:31:23 on ttys000
Macintosh-6:~ Kenzo$ /Users/Kenzo/Documents/project_templates
②しかし、下記のように次の順序として示されていますが、ここで作業が詰まってしましました。といようりも、ターミナルの使い方がよくわかりません。
・ターミナルで、「ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt」と入力(略語郎内のリンクを英辞郎の表記に合わせている)
これは、・・・project_templatesの後にリターンキーを押して改行して、鍵括弧内をコピペするのですか?それともスペースを全く空けずにコピーするのですか?いずれにせよ、「No such file or directory」のような文言が出てきたりして、結局、何が正しい状態なのかよくわりません。
③上記の問題がターミナル上でうまく解決できれば、下記に書いてある次の手順も同じように処理すればいいのですね?
・「ruby -Ks cat.rb EIJI-108.TXT Ryaku.txt > Eijiro.txt」と入力(英辞郎と略語郎のファイルを連結して「Eijiro.txt」というファイルを生成)
*もちろん、???の部分や、EIJI-108の数字の部分は、私がダウンロードしたバージョンである「111」を挿入しています。
今回は質問は以上です。よろしくお願いいたします。
本当にご協力に感謝申し上げます。
> Last login: Mon Mar 17 21:31:23 on ttys000
> Macintosh-6:~ Kenzo$ /Users/Kenzo/Documents/project_templates
これって、まだcdコマンドを打ち込んでいないのでは?
また、eiji_conv???.zipはこのフォルダに解凍していますか?
Termminal.app起動直後に
cd Documents/project_templates
と入力すれば、コピーした「project_templates」に移動できるはずです。
Mac OS XはUNIXというOSの一種で、ここで述べている作業はUNIXの知識が多少必要になります。といっても、フォルダの移動やリダイレクトといった、ごくごく初歩的なものですが。
「UNIX コマンド」といったキーワードで検索すれば、多くの情報がヒットしますし、ずばりMac OS Xのターミナルについて解説した『Mac OS X ターミナルコマンド ポケットリファレンス』といった書籍も出ています。
これらの情報も参考になるのではないかと思います。
>happaさん
いただいたコメント(2月11日、12日)が未公開になっていました。どうもすみません。
> あと、和英辞郎を変換するさい、Makefile内の「英辞郎」から
> 「和英辞郎」へ変更し保存する時、文字エンコードをUTF-8を
> 指定する必要がありました。
あ、書き忘れてました。ご指摘、どうもです。
> 英辞郎とは関係ないですが、この辞書引き機能、pdfを
> 表示したプレビューでも使えるようになればいいのにと
> 思いませんか。
まったく同感です。ブレビューのテキスト選択で使っているAPIにはDictionary.appが対応してないんでしょうね。
アップルのバグリポートから要望を出しておきました。
http://bugreport.apple.com/
要望が多い案件ほど取り組んでもらえるようなので、がんがん要望を出しましょう!
Dictionaryで、英辞郎を使えるようにできないかなとGoogleしていて、こちらのページを見つけました。
早速、やってみたんですが、powerbook 12inch上でやったせいか、予想以上に時間がかかったんですが、無事に英辞郎が使えるようになりました。ありがとうございます。
英辞郎、和英辞郎、例辞郎、略辞郎を一緒にして使いたいと思って、ディレクトリを変えた後、
ruby -Ks ryaku_conv.rb < RYAKU112.TXT > Ryaku.txt
ruby -Ks cat.rb EIJI-112.TXT REIJI112.TXT WAEI-112.TXT Ryaku.txt > Eijiro.txt
ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml
と、この順番でやってみたんですが、最後のコマンドを入れた後、
eiji_conv.rb:50:in `iconv': "\230%eT?$ɮ?2?\032\205\260"... (Iconv::IllegalSequence)
from eiji_conv.rb:50
エラーが出てきてしまいます。どうしたら良いでしょうか。
よろしくお願いします。
そのエラーが出るということは、英辞郎関係のいずれかのデータファイルが文字化けしている可能性があります。
下記のスクリプトを「check_cp932.rb」というファイル名で、(英辞郎のデータと同じフォルダに)保存してください。
--ここから--
require 'iconv'
iconv = Iconv.new('UTF-8', 'CP932')
num = 0
while line = gets
num = num + 1
begin
line1 = iconv.iconv(line)
rescue
print num.to_s + " : " + line
end
end
--ここまで--
次にターミナルから、「ruby check_cp932.rb < 調べたいファイル名」と入力します。文字化けがあった場合は、該当行が表示されますので、テキストエディタなどで内容を確認して、必要に応じて修正してみてください。
Posted by: Tats_y at 2008年07月08日 10:26こちらで前提の英辞郎ではないので恐縮なのですが、お知恵を拝借したくてお訊ねします。
英辞郎for対訳君2.0 対訳君に付属の英辞郎のデータはEIJIRO V101 フォルダを解凍した中に 英辞郎_V101 - DATA - EIJIRO.TXT と DATA と同じ階層に INDEX(MAC) - MPEG-1ビデオのファイル(backward, backward.tbl, foward, foward.tbl, keyword, keyword.tbl )が 収まっています。略語郎その他データも同様な感じです。
普通の英辞郎 3版などとは仕様が異なっているらしいのですが、これを辞書アプリ、ゆくゆくはiPhoneで使えないかと思って模索してます。
そこでちょっとこちらの方法でなんとかできないかと試してみましたがやはり駄目でした。EIJIRO.TXTをただ名前だけをEIJI-101.TXTにしたり、EIJIRO.TXTを一旦PDICへ変換してそれを DiDi Dictionary Viewerでツール/PDICから他形式へ/英辞郎ビューア用(Shift JIS) で変換してみたりしたんですけど、なまじ知識が足りないせいか、かなり強引に試してみたものの、以下のようなエラーがでてしまい、その先へ進めません。私の方法は見当違いなことをしているんだと思うのですが、やはり通常版のものではないと駄目なんでしょうか。
「辞書」アプリで「英辞郎for対訳君2.0」を使う何かいい方法はないのでしょうか?
エラーでは
ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml
eiji_conv.rb:51: undefined method `pre_match' for nil:NilClass (NoMethodError)
とでてます。
Posted by: MAAR at 2008年07月21日 15:49MAARさん、こんにちは。
「英辞郎 for 対訳君」のページを見ると、
>「英辞郎 for 対訳君」は、英辞郎制作グループEDPから
>最新バージョンの辞書データを受け取り、弊社にて
>「対訳君」で検索できる形式に変換した辞書です。
と書かれていますから、たぶん元の英辞郎とはデータ形式がまったく違うのではないでしょうか。
実は対訳君についている英辞郎のテキストファイルの一部をPDICにしてPalm OSでPAdictを通して使っていたのです。全ての英辞郎データを使っているわけではないのですが、PDICビューアやDiDiで使えるのでもしやそれだけでも移植できないかと…。ちなみに和英辞郎は和英01_V101から和英04_V101と4つのフォルダに分かれてます。
例辞郎だけまったく別のファイル形式なので使えないのですが…
REIJI101フォルダのなかにUNIX実行ファイルの(data、idx、index、table、tdfd、tdfm)とfilesのフォルダ(199809-1、20001141などという4KほどのUNIX実行ファイルが6,610ファイルも入っているので…)
お手間をとらせてすみませんでした。
(※このエントリーに対してトラックバックを送る際は、下記URLをコピーし、自分のエントリーの「TrackBack先のURL」欄に貼り付けてください)
(※この記事へのリンクは、http://www.binword.com/blog/archives/000569.htmlにお願いします。トラックバック用URLとは異なりますのでご注意ください)
以下は、このエントリーに送られたトラックバックです。