落穂拾い

Gleanings in my life

Emacs上で翻訳

2010年09月13日 22時24分51秒 | Linux
英文を書く際に、英和・和英辞書、そして機械翻訳機能はあれば便利な機能だ。

Emacs では、lookup を使って edict, epwing 形式などの辞書にアクセスできるので、辞書を使うには不便はない。ただ、翻訳となると辞書があればいいというものではなく、翻訳ソフトウェアが必要となる。

Linux用の翻訳ソフトといえば、太古の昔には「翻訳魂」なるものがオムロンから販売されていた。同じオムロンのWnnと同じようにサーバー&クライアント方式で、クライアントとしてはEmacs Lispも存在しており、Emacs内でも英和・和英翻訳ができたものだ。10年くらい前のソフトで、今となってはどうしようもなく古い。翻訳魂のサーバーを動作させるには最近のLinuxディストリビューションは新し過ぎるため、古い Linux (glibc-2.2くらいだったかな)環境を作り、chroot してその古い環境でサーバーを動作させるなどしなければ使うことができない。翻訳性能は、当時としては標準的だったのだろうが、やはり今のポータルサイト等で無料で使える翻訳機能と比較すると、質的な低さは否めない。結局、最近ではウェブを通して翻訳機能を利用するようになってしまった。

ただ、Emacs で文書を書いているのに、いちいちウェブブラウザにコピペするのも面倒である。そこで探してみると、先人は素晴らしい emacs-lisp を開発していた。

emacs translatorである。これは Emacs からウェブ上の翻訳サイトの機能を直接利用できる優れもので、選択範囲をキー一つで翻訳できる。おまけに、翻訳サイトを複数から選択することも可能で、同じ文章を次々と異なる翻訳エンジンにかけることで、いろいろと確認しやすくなっている。

導入方法は、上記ページの通り。3つのemacs lisp をダウンロードし、パスの張ってあるところに置いた上で、~/.emacs.el に下記を加えるのみ。
;;; For text-translator ------------------------------
(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-auto-selection-func
      'text-translator-translate-by-auto-selection-enja)
; グローバルキーを設定
(global-set-key "\C-xt" 'text-translator-translate-by-auto-selection)


翻訳エンジンは、デフォルトでは google の英和モードになっている。
規定の翻訳エンジンで翻訳するには、文章を選択した上で C-x M-t とする。
翻訳エンジンを切り替えて翻訳するには、文章を選択した上で、C-x M-T とする。たとえば excite の和英とかに変更できる。

一番多用するのは、C-x t だ。
この場合、選択範囲が英語か日本語かを自動で判別し、適宜英和か和英翻訳してくれる。



C-x M-t とするとデフォルト形式で翻訳される。
C-x M-T とすれば、翻訳サイト、翻訳モード(和英、英和など)を選んでから翻訳できる。

コメントを投稿