Edict

From WikEmacs
Revision as of 22:00, 30 March 2012 by Xophist (Talk | contribs)

Jump to: navigation, search

The elisp package edict.el is an instance of Lookup. It is often referred to simply as edict, which is confusing because it is associated with Edict, the Japanese dictionary. The lisp package can work with other dictionaries.

edict.el allows searching a local dictionary (e.g. Edict, Kanjidic) for character at point or a region. Search results are displayed in an Emacs buffer.


Package availability

Linux

There are SUSE linux RPMs for both edict.el and EDICT (the Japanese-English dictionary). Note that you can create your own dictionary, or use other dictionaries.

<add link to rpmfind here>

  • edict-emacs-0.9.8-972.2 edict.el, an Emacs Front-end for EDICT
  • edict-20060807-136.2 The Japanese Dictionary Files for Jim Breen's EDICT Project

=Windows XP

The Suse RPMs can also be used on Windows XP. Use 7-Zip on the RPM, and then the enclosed cpio archive. It will create a usr/share/emacs/site-lisp/edict hierarchy, but you can move the edict folder or just its contents to anywhere, then add to load-path.

Modifications

Add to .emacs:

; set a variable edictdir to location of edict.el and the other package elisp files
(add-to-list 'load-path edictdir)
; variable edict-dictionaries points to your dictionaries. It is in suse-start.el
(load "suse-start")

The elisp files are in package edict-emacs-xxx.rpm. It is not necessary to get the edict-xxx.rpm which contains dictionaries, but suse-start.el notes that:

;; the following dictionaries should be available when you
;; have installed edict.rpm:
(setq edict-dictionaries
      (list
       "/usr/share/edict/4jwords"
       "/usr/share/edict/aviation"
       "/usr/share/edict/classical"
       "/usr/share/edict/compdic"
       "/usr/share/edict/compverb"
       "/usr/share/edict/concrete"
       "/usr/share/edict/edict"
       "/usr/share/edict/edicth"
       "/usr/share/edict/enamdict"
       "/usr/share/edict/findic"
       "/usr/share/edict/geodic"
       "/usr/share/edict/j_places"
       "/usr/share/edict/jddict.v02"
       (cons "/usr/share/edict/kanjd212"  'euc-jp)
       "/usr/share/edict/kanjidic"
       "/usr/share/edict/lingdic"
       "/usr/share/edict/mktdic"
       "/usr/share/edict/pandpdic"
       ))

I prefer to define dictionary variables in .emacs before loading suse-start. That way I never have to find suse-start.el again, just change the dictionary variable in .emacs. So a possible modification in suse-start.el is:

(setq edict-dictionaries
      (list kanjidict foodict bardict))

By default:

  • edict-search-english is on M-+
  • edict-search-kanji is on M-_

but these can be set with:

(global-set-key (kbd "C-c j") 'edict-search-english)
(global-set-key (kbd "C-c k") 'edict-search-kanji)



Add key bindings for Org-style outline cycling

(add-hook 'outline-minor-mode-hook

 (lambda ()
   (define-key outline-minor-mode-map [(control tab)] 'org-cycle)
   (define-key outline-minor-mode-map [(shift tab)] 'org-global-cycle)))


Now visit any elisp file (say M-x find-library RET outline) and keep pressing [S-TAB] and see what happens. Experiment similarly with [C-TAB].


(will describe modifications later).

Specifying dictionaries

Add lisp for this later.

Usage

  • edict-search-english
  • edict-search-kanji

External Links

where to get edict.el
track this down
Monash dictionary project
Jim Breem's Japanese dictionaries