Lookup is a great dictionary searching tool for GNU Emacs.
To enable starting lookup-el in GNU Emacs for each language search independently, having Lookup only offer the dictionaries valid for the particular language, edit your ~/.emacs file and use the following text as example for your particular language configuration, assuming you have a ~/dic directory, with subdirectories for the respective languages:
<pre>;; Lookup configuration (define-key ctl-x-map "l" 'lookup) ;C-x l - lookup (define-key ctl-x-map "y" 'lookup) ;C-x y - lookup region (define-key ctl-x-map "C-y" 'lookup-pattern) ;C-x C-y (define-key ctl-x-map "w" 'lookup-word) ;C-x w - lookup word ;; Lookup for Japanese dictionaries (defun lj()(interactive) (setq lookup-search-agents '( (ndeb "~/dic/epwing/edict_en") (ndeb "~/dic/epwing/eijiro") (ndeb "~/dic/epwing/enamdict") (ndeb "~/dic/epwing/kanjidic_en") (ndeb "~/dic/epwing/pdd") (ndeb "~/dic/epwing/pddj") ) ) (lookup) ) ;; Lookup for Chinese dictionaries (defun lch() (interactive) (setq lookup-search-agents '( (ndeb "~/dic/epwing/cedict") ) ) (lookup) ) ;; Lookup for Czech dictionaries (defun lc() (interactive) (setq lookup-search-agents '( (ndic "~/dic/dict/czech/") ) ) (lookup) ) ;; Lookup for Russian dictionaries (defun lr() (interactive) (setq lookup-search-agents '( (ndic "~/dic/dict/russian/") ) ) (lookup) ) ;; Lookup for Ukrainian dictionaries (defun lu() (interactive) (setq lookup-search-agents '( (ndic "~/dic/dict/ukrainian/") ) ) ) ;; Lookup for Polish dictionaries (defun lp() (interactive) (setq lookup-search-agents '( (ndic "~/dic/dict/polish/") ) ) (lookup) ) ;; Lookup for German dictionaries (defun lg() (interactive) (setq lookup-search-agents '( (ndic "~/dic/dict/german/") ) ) (lookup) )</pre>
Now, when wishing to search for a Japanese translation, run: M-x lj
When finished: Q y
Then for a Russian search: M-x lr
When finished: Q y
And so on, lookup-el will always start, offering only the dictionaries for the respective language to be searched from.