Emacs からも英辞郎 on the web から検索したい

英和辞書ひきまくる Greasemonkey スクリプトみたいなことを Emacs(Meadow) でもできたら便利そうだと思っているのだけどどうだろうか。
screenshot

ローカルにあるデータを使って Emacs から辞書を引く方法としてsdicがある。
でもこれは中で grep 使ってて英辞郎クラスの辞書データを扱うと速度が全然出ないらしい。
なので実際には、sufarysaryを使うようだ。


だけど sufary や sary を使うにはそれなりのサイズのインデックスが必要になる。
チープ革命なこの時代に何をと言われるかもしれないが、インデックスの作成に時間はかかるし、導入が面倒なのは事実だ。
それに時代の話が出てくるなら、こういうデータはインターネット経由で持ってきた方がいいんじゃね?とも思える。
データの内容的にも、ローカルの英辞郎よりも英辞郎 on the webの方が例文とかたくさんのってて便利だしね。


今は英語の辞書を引くときは PDIC を使ってるので、分からない英語が出てくると MeadowPDIC を Alt + TAB でいったりきたりしてる。
PDICインクリメンタルサーチができるし、結果も見やすいのでかなり便利なのだけど、やっぱり全部 Meadow の上でできたらそっちの方が幸せだよなぁと思う。


これを実装するとしたら何が必要なんだろう?

  • Emacs Lisp はもちろん必要だよね
    • そういえば結果を表示させるときの UI はどうしよう。Emacs ってポップアップみたいにポコッと出したりするのってどうやってやるんだろう。ミニバッファじゃスペースがなさすぎるし、かといってウィンドウ分割してそっちに表示っていうのはうざったそうだ。
  • Web からデータ持ってくるのはなんだ? w3m とか使えばいいんだろうか。あ、curl の方がいいのかな?

とりあえずは curl の使い方を調べないとかなぁ。

追記

Emacs でテキスト翻訳をする elisp - とりあえず暇だったし何となく始めたブログが僕のやりたいことに近いのかも。
とりあえず導入してみた。

;;; text-translator の設定
;; Emacs でテキスト翻訳をする elisp - とりあえず暇だったし何となく始めたブログ
;; http://d.hatena.ne.jp/khiker/20070503/emacs_text_translator
(setq load-path (cons (expand-file-name "~/site-lisp/text-translator/") load-path))
(require 'text-translator)
(global-set-key "\C-x\M-t" 'text-translator)
(global-set-key "\C-x\M-T" 'text-translator-translate-last-string)
;; プリフィックスキーを変更する場合.
;; (setq text-translator-prefix-key "\M-n")

そして、デフォルトの設定(google 翻訳)で scratch バッファを翻訳してみた。

英文
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.
和文
; ;このバッファは、メモを保存したい場合はありませんし、評価のためのLISP 。 
 ; ;場合は、ファイルを作成するには、ファイルを訪問することにcx cf 、 
 ; ;次にそのファイルにテキストを入力して独自の緩衝剤です。Arabic to EnglishChinese to EnglishChinese (Simplified to Traditional)Chinese (Traditional to Simplified)Dutch to EnglishEnglish to ArabicEnglish to Chinese (Simplified)English to Chinese (Traditional)English to DutchEnglish to FrenchEnglish to GermanEnglish to GreekEnglish to ItalianEnglish to JapaneseEnglish to KoreanEnglish to PortugueseEnglish to RussianEnglish to SpanishFrench to EnglishFrench to GermanGerman to EnglishGerman to FrenchGreek to EnglishItalian to EnglishJapanese to EnglishKorean to EnglishPortuguese to EnglishRussian to EnglishSpanish to EnglishSuggest a better translationThank you for contributing your translation suggestion to Google Translate.

翻訳された。
でも後ろの方に何か色々付いてる。
あと2行目以降の行頭にある空白もちょっと気になる。
ソース読んでみよう。