しょんぼり技術メモ

まいにちがしょんぼり

EmacsからYahoo翻訳を使う

国際会議の論文を書いていて、ある程度固まってきたので英訳する作業を始めたものの、いちいち書いてはYahoo翻訳にかけてチェック、書いてはチェックを繰り返すのは非常にめんどくさいので、なんとかならないかと思ってやってみた。

・できること
Emacsで範囲選択してコマンドを呼ぶと、その領域を翻訳した結果がミニバッファに出てくる

モノはこちら:use Yahoo! Translation via STDIN and utilize from Emacs for editing LaTeX · GitHub

Gist:

Emacsのshell-command-on-regionを使うと、範囲選択した部分のデータをコマンドの標準入力に渡すことができます。
region2trans.rbに"en2ja"や"ja2en"を渡すと、標準入力から読んだデータを日本語に/英語に翻訳したモノが出力されます。
これの組み合わせで実現しています。

論文はLaTeXで書いているので、いくつか前処理したい表記(\citeとかは無視して欲しい)ので、そのフィルタを噛ませてから呼んでます。latex_filter.rbがそれで、今のところものすごく手抜きです。。。

翻訳の使い方についてのガイドラインがはっきりしないので断言はできませんが、http://help.yahoo.co.jp/help/jp/honyaku/honyaku-18.htmlを見る限り、二次的に提供するようなサービスをしなければ大丈夫でしょう。たぶん。まあ個人的に使って下さい。

・Yahoo翻訳について
翻訳APIを叩く際、_crumbというパラメータがないと怒られるようです。この_crumbは、翻訳ページを開いた際のhiddenな要素から値を取得しているので、このスクリプトでも同じような動作を行わせています。これさえなければもっと短時間で書けたのに…

・免責事項
なにがどうなってもぼくはしらないよ。

・ライセンス
修正BSDライセンスでお願いします。好きにしてください。