« 選択して文末移動 | Main | わかりにくい原文 »

2014.12.14

AHKによるテキスト受け渡し

長くて入り組んだ文章は構造がわかりにくく、翻訳をしている際に訳抜けも起きかねない。従って複雑な文章は、別の用紙(ワードやテキストエディター)に一度転記して、そこで原文を解析しながら訳文を作る必要が出てくる。

その文章の構造解析を正規表現を利用して行う方法については既に紹介している(こちら)。

ところで大量の翻訳を仕事として行うときには翻訳メモリーと言われる翻訳ソフトが欠かせない。そこで転記元も翻訳ソフトになるし、訳文を作り終え戻す先も翻訳ソフトになるが、このような転記を一文ずつするとかなりキーストロークが多くなる。これを省力化するために異なるアプリケーションをまたがって使えるマクロがないかと探していた。

それを可能にするのがAutoHotKey (AHK)である。これはキー入力の情報を個別のアプリケーションに渡す前に捉えて操作するユーティリティソフトで、マクロ機能も備え一連の操作を自動化できる。そのため異なるアプリケーション間でのテキストの自動受け渡しも可能で、翻訳ソフトからワードやテキストエディターにテキストを渡すときに役立つ。

コピーする原文テキストのある場所は翻訳ソフトだけではなく、ブラウザーでも構わない。それを受け取る側はワードでもテキストエディターでもいい。以下ではテキストエディターの秀丸を使って説明している。

実現したいのは、1つのキー操作で翻訳ソフトから原文テキストを秀丸に渡し、或いはその逆に秀丸から訳文を翻訳ソフトに戻すことである。

(1)翻訳ソフトからテキストを秀丸に渡すとき。この場合には単に秀丸に貼り込むだけではなく、併せて構造解析まですることにする。そこで操作を分解すれば次のようになる。

翻訳ソフト(またはブラウザー)内でテキストを選択しておいて、AHKで指定済のショートカットキー(ホットキー)を押すと、
(i) 選択テキストのコピー
(ii) 秀丸マクロ(構造解析準備)起動
(iii) 作業用秀丸ファイルにテキスト貼込
(iv) 秀丸マクロ(構造解析)実行
という一連の操作を行うというものである。

#InstallKeybdHook
#UseHook
F1::
clipboard =
Send, ^c
ClipWait, 1
if ErrorLevel <> 0
return
Run, C:\Program Files\Hidemaru\Hidemaru.exe /h /x構造解析準備マクロ.mac
Return

注意すべきことがいくつかある。
○秀丸マクロ(構造解析準備)の中で、さらに作業用秀丸ファイルへのテキスト貼込と秀丸マクロ(構造解析)の実行をしていて、入れ子の構造になっている。
○/hはhidemaru.exeが起動されたとき瞬間的に無題の秀丸エディタの画面が表示されないようにする起動オプションである。
○/x構造解析準備マクロ.macと書いてあるのは、このマクロを起動するときのコマンドである(/xがないとそのマクロのファイルが開くだけである)。
○構造解析準備の秀丸マクロの中身は以下のとおり。
setcompatiblemode 0x0F;
//秀丸ファイル白紙原文をアクティブにする
#org= hidemaruhandle(0);
openfile "/m3 C:\\Users\\Masaomi Yanagisawa\\AppData\\Roaming
\\Hidemaruo\\Hidemaru\\Macro\\白紙原文.txt" ;
closehidemaru #org;
selectall;
delete;
paste;
//翻訳
execmacro "構造解析英文.mac";
endmacro;


(2)次に出来上がった訳文を秀丸から翻訳ソフトに戻す操作である。これはその訳文をコピーしておいて以下のAHKのスクリプトを動かせば実現できる。

#InstallKeybdHook
#UseHook
F2::
WinActivate, XXXXX
Send, ^v
Send, {Enter}
Return

ここでXXXXXには戻す翻訳ソフトで動かしているファイル名やアプリケーションソフト名を指定する。指定は各ウィンドウの最上部にある帯状のタイトルバーの部分に表示されている名称で行う。名称の一部のみの記載でも、動かしている他のウィンドウの名称と重複しなければ、指定は有効である。

今は文章を書くときにパソコンは欠かせない。そのときの打鍵を考えると、純粋に文章を書くための打鍵数よりも、実は文書をコピーし貼り付け、一部を移動させ順番を入れ替えるといった機械的作業の打鍵数の方が多くなる。

仕事として翻訳をするときには、同じ操作を数多く繰り返すことになるので、キーストロークを1つでも削る努力を惜しんではならない。またその前後の作業手順まで捉えて全体の省力化を工夫する必要がある。以上に紹介したのは、そのような機械的な作業を少しでも減らす工夫の一つである。

尚すべての文章について、別の用紙で訳文を作る必要はない。簡単な文章ならそのまま翻訳メモリーソフトの中で処理してしまう方が簡単である。目的はいかに省力化するかであって、別の用紙に移すことや、このAHKマクロを動かすことはその手段である。何も使わない方が早ければ、それに越したことはない。

これを作るに当たっては松本明彦さんに大変にお世話になりました。御礼申し上げます。

|

« 選択して文末移動 | Main | わかりにくい原文 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/20048/60811272

Listed below are links to weblogs that reference AHKによるテキスト受け渡し:

« 選択して文末移動 | Main | わかりにくい原文 »