Emacs でテキスト翻訳をする elisp

注意: メンテナンスしていないため、動作しなくなっています (2017/10/01)


text-translator は, テキスト翻訳サービスを提供するウェブサイトを利用して
Emacs 上で文字列の翻訳を行う elisp パッケージです.

ダウンロード


友人鯖の復旧がちょっとすぐにはできそうにないので、EmacsWikiに置きました。お手数ですが、1つ1つ落として下さい。すみません(2009,7/4)。

また、開発は、Launchpad 上で行っています。開発版は以下におかれますので、EmacsWiki に置いてあるものより新しく、そして buggy です。

下記リンクは現在利用できないと思われます。申し分けありません。

使用法

0.5.0 以降では, ダウンロードの項目から圧縮ファイルをダウンロードしてきて,
そのファイルを解凍し,
中にある text-translator.el と text-translator-vars.el を Emacs のロードパスの通った所へ置いてください.


0.5.0 未満ならば, ダウンロードしてきたファイル text-translator.el をそのまま
ロードパスのとおった所へ置けば終了です.


ロードパスにファイルを置いたら, 以下のような設定を .emacs に書いてください.
この式を Emacs を再起動するなりして, 評価すれば完了です.

;; require でも autoload でもおすきな方をどうぞ.
;; 最近だと, require の方が推奨されているとのことです.

;;(autoload 'text-translator "text-translator" "Text Translator" t)
(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")

ここで C-xM-t に割り当てている関数 text-translator は, リージョンの選択が行われている範囲を翻訳します.
リージョンの選択が行われていないと, 翻訳する文字列の入力を促します.
C-u などの接頭辞を付けて関数を起動することで, 使用する翻訳サイトを選択できます.
デフォルトで使用する翻訳サイトは, google の英語から日本語への翻訳です.
2回目以降は, 前回使用した形式で翻訳を行います.


ここで C-xM-T に割り当てている関数 text-translator-translate-last-string は,
前回使用した文字列を使用して翻訳を行います.
関数を起動すると, 使用する翻訳サイトの選択が促されます.


text-translator 用メジャーモードのプリフィックスキーは, 最初は, C-c となっています.
変更したい場合は, 上記例にあるように記述してください.
上記例のように書くと, M-n がプリフィックスキーとなります.


このプリフィックスキーの変更は, 最初に関数 text-translator や関数
text-translator-translate-last-string が実行されたときに行われます.
一度それらを実行した後にこのプリフィックスキーを変更しても, 変更は有効になりません.


また, 0.5.0 以降では, 日本語と英語の場合のみ, 以下の設定を .emacs に書くことで,
英語から日本語に翻訳するのか, 日本語から英語に翻訳するのかを自動選択して翻訳することができます.

;; 自動選択に使用する関数を設定
(setq text-translator-auto-selection-func
      'text-translator-translate-by-auto-selection-enja)
;; グローバルキーを設定
(global-set-key "\C-xt" 'text-translator-translate-by-auto-selection)

ここで C-xt にキーを割り当てている text-translator-translate-by-auto-selection は,
変数 text-translator-auto-selection-func の値にある関数を使って,
翻訳サイトの自動選択をしています.
ここでは, 自動選択をする関数に text-translator-translate-by-auto-selection-enja を使っています.
この関数は, 翻訳したい文字列に含まれるアルファベットの割合を見て,
英語から日本語か, 日本語から英語かを振り分けています.


その他, 使用できるキーなど, 詳しくは README ファイルを参照してください.
0.5.0 未満ならば, text-translator.el の頭にあるコメントを参照して下さい.

使用できる翻訳サイト


翻訳サイトは, デフォルトで以下のものが利用できます.

基本的に, そのサイトが使える全ての形式を使えるようにしたはずです.
もし追加漏れがあったら, 教えて頂けると幸いです.

コメント

プロキシに対応しており, デフォルトで環境変数 HTTP_PROXY を参照します.
また, 上記以外にも使用できる関数があります.
詳しくは, README ファイルを参照して下さい.
0.5.0 未満ならば, text-translator.el の頭にあるコメントを参照して下さい.


また, バグを発見した場合やこのパッケージへの意見やコメント, 要望がある場合は,
ファイル先頭の方に書いてある私(khiker)のメールアドレスに向けてメールするか,
このエントリや関連するエントリにコメントして下さい.
遠慮なくして下さって結構です.
返事が遅くなる場合もあるかもしれませんが, ご了承下さい.

最新版での変更点

0.6.6での変更点

  • fresheye
    ソースHTMLから翻訳結果を抜き出す正規表現を修正.
  • livedoor
    POSTする値を修正.
  • altavista
    廃止.yahoo.comに.
  • plusさんのパッチをとりこみ
    • docstringの書式修正
    • ファイルのコーディングシステムの修正
    • 英文コメントの修正
    • elispの修正
    • text-translator-get-engine-type-or-siteの追加.

0.6.6.1での変更点
  • freetranslation.com
    ソースHTMLから翻訳結果を抜き出す正規表現を修正(全部の形式).
  • fresheye
    ソースHTMLから翻訳結果を抜き出す正規表現を修正(日本語←→英語相互のみ)
0.6.6.2での変更点

正規表現文字コードの修正のみです。機能に変更はありません。

  • freetranslation.comが動かなくなっていた件を修正。
  • fresheye.comが動かなくなっていた件を修正。
  • excite.co.jpが動かなくなっていた件を修正。
  • livedoor.comが動かなくなっていた件を修正。

更新時刻

  • 1かいめ 2007年, 5月4日, 6:40
  • 2かいめ 2007年, 5月16日, 2:30
  • 3かいめ 2007年, 6月30日, 4:36
  • 4かいめ 2007年, 7月4日, 2:40
  • 5かいめ 2007年, 7月5日, 0:25
  • 6かいめ 2007年, 7月5日, 23:5
  • 7かいめ 2007年, 7月8日, 1:33
  • 8かいめ 2007年, 7月14日, 2:50
  • 9かいめ 2007年, 11月18日, 23:22
  • 10かいめ 2007年, 11月23日, 4:57
  • 11かいめ 2008年, 1月29日, 22:59
  • 12かいめ 2008年, 2月20日, わせた
  • 13かいめ 2008年, 2月20日, 17:36
  • 14かいめ 2008年, 4月5日, 14:08
  • 15かいめ 2008年, 6月12日, 23:24
  • 16かいめ 2008年,11月14日,22:15
  • 17(?)かいめ 2009年,7月4日,23:55
  • 18 かいめ 2011, 4月2日, 21:35