コマンドラインとクリップボードで処理する外国語翻訳

 今日translate.google.comなどの機械翻訳用Webサービスは、外国語で書かれた文章の要旨を確認する際の簡便なツールとして利用されるようになりつつあるが、それでもWebブラウザ上で新規タブを開いてURLを指定し、翻訳対象のテキストをコピー&ペーストするのは手間のかかる作業である。こうした手間を厭うのであれば、ローカル辞書ないしオンラインサービスを用いてLinuxのコマンドラインから直接翻訳を実行させる twandgtw プロジェクトの利用を検討してみるべきだろう。

 同プロジェクトからバイナリパッケージとして提供されているのはFedora 7および8用のものだけであり、その他のディストリビューションの場合は、ソースファイルからのインストールを行う通常の手順「configure; make; sudo make install」を実行する必要がある。

 twandgtw(tw and gtw)という名称が示唆するように、このプロジェクトは2つのプログラムで構成されており、一方のtwがコマンドラインのみで操作する非グラフィカル系の単語翻訳プログラムであるのに対して、もう一方のgtwにはグラフィカルインタフェースが装備されている。例えばtwを用いて英語からスペイン語への単語翻訳をするには、下記の構文にて翻訳用の辞書および翻訳対象の単語を指定すればいい。

$ tw en-es hello
hello : hola

translation_thumb.png
gtw

 そしてgtwツールは、コマンドライン専用ツールのtwとほぼ同機能のプログラムにGTK+ツールキットを用いてグラフィカルインタフェースを装備したものである(右図を参照)。

 なおローカル辞書を使用した場合は1度に1つの単語しか処理できないが、オンラインサービスを利用すれば1つの文章を翻訳させることもできる。ただしtwにてサポートされているオンライン翻訳サービスは www.freetranslation.com および translate.google.com の2つだけである。具体的な操作法としては下記のように、利用するWeb翻訳サービスおよび翻訳対象の文章を1つの引数にまとめてtwに渡せばいい。

$ tw translate.google.com.en-fr  'that looks like a tasty cake'
Qui ressemble à un gâteau savoureux

 KDE3ユーザがこうした翻訳を頻繁に行う場合、klipperを用いてクリップボード操作を最大限に活用することを検討してもいいだろう。それにはklipperで行うアクションの1つにこの方式による翻訳処理を設定しておけばよく、これにより任意のアプリケーションからのテキスト翻訳が簡単に実行可能となる。具体的な設定としては、まずKlipper設定ウィンドウのActionsタブにて「^.」という正規表現を作成しておく。次にこの正規表現を右クリックしてAdd Commandを選択し、「kdialog --passivepopup "$(tw translate.google.com.en-fr "%s")"」というコマンドおよびその説明文を入力する。最後にGlobal Shortcutsタブにて“Manually Invoke Action on Current Clipboard”アクションの起動用ショートカットキーを確認しておく。また5つ以上のボタンを装備する多機能マウスを使用しているユーザの場合は、このアクションを空ボタンの1つに割り当てておくと便利なはずだ。

 以上の設定が完了すると、翻訳対象のテキスト選択後にこのアクションを呼び出せば、クリップボード経由での翻訳が自動的に開始されるようになる。先の設定では、パッシブ型のポップアップウィンドウに翻訳結果のテキストが表示され、このウィンドウは10秒後に自動的にクローズされるが、その他にも使用可能なダイアログのオプションは存在する。詳しくはkdialogのチュートリアルを参照して頂きたい。

 twをインストールしておくと、いちいちWebブラウザに切り替えることなく文章単位の翻訳を簡単かつ迅速に処理できるようになる。またtwはコマンドラインツールであるため、その他のアプリケーションとの組み合わせも簡単に行えるし、さらにklipperなどのクリップボードマネージャを常用しているユーザであれば、クリップボード中のテキストに対する一連の翻訳手順を1つのアクションにまとめることも可能なのだ。

Ben Martinは10年以上にわたってファイルシステムに取り組んでおり、博士課程の取得後、現在はlibferris、ファイルシステム、検索ソリューションを中心としたコンサルティング業に従事している。

Linux.com 原文