2012年9月23日日曜日

OmegaT の機械翻訳に Microsoft Translator を追加してみた

前回触れたように、OmegaT の機械翻訳には Microsoft Translator が追加される方向で作業進行中のようなのですが、割と簡単に追加できそうだったので、週末を利用して実際に追加してみました。

OmegaT をソースからコンパイルする方法は、公式サイトに載っているとおりです。

Java は初めてだったので、JDK だの NetBeans だの ANT だの、環境構築にちょっと時間が掛かりました(Win なのでインストーラをダブルクリックしているだけですけれど)。

Microsoft Translator のユーザー登録手順と、使用するライブラリについては、前回の記事でも紹介したとおり、下記を参考にしました。

大変分かりやすかったです。ありがとうございます。

ちょっと引っかかったのは、コンパイルは通るのに実行時に Java.lang.NoClassDefFoundError が発生するという謎の現象。

microsoft-translator-java-api ライブラリの参照に失敗しているらしいのですが、コンパイル時にパスは通っていたでしょうに?

Java のことは知らないので、いろいろ(おそらくマヌケな)試行錯誤の末、結局 manifest.mf に手動でライブラリパスを追加して解決しました。たぶん NetBeans 上からも確認・設定できるんでしょうけれど、その方法を調べるよりテキストエディタで手作業した方が早かった。

というわけで、実際に利用している様子はこんな感じ。

結論から言うと、かなり簡単に実装できるので、本家が機能追加してリリースするのを待ちきれない人は、自分でやってしまうといいと思います。

一般公開するのではなく、完全に自分用であれば、やっつけでも何でも、とりあえず動けばいいレベルで改造しても文句は言われないので、ハードル低いんじゃないでしょうか(この辺は本家の作業に求められるのとレベルが違う)。

自分は断続的に空き時間ちょこちょこ使って金・土・日という感じでしたが、たぶん環境が揃っていて Java 慣れしている人は一時間かからないと思います。

本当はソースファイル添付すると誰かの役に立つのかもしれませんが、Microsoft Translator API のシークレットキーをソースコードにハードコーディングかつ英>日翻訳固定という超手抜き実装なので、ちょっとご勘弁を。どのみち難しいことはしていないので、何らかのプログラミング経験がある方なら、どなたでも大丈夫です。

ちなみに自分はこれが Java 初体験で、それまで触わったことも学習したこともありませんでした。それでも何とかなるくらい、易しいということで。

0 件のコメント:

コメントを投稿