OmegaT ver3.0で機械翻訳「Microsoft translator」(無料プランで)を使用する方法

翻訳ツールのOmegaTの3.0がリリースされました。非常に嬉しいです。開発者、関係者の皆様に深く感謝します。

しばらくアップデートしてなかったので気づかなかったんですが、、3.0(前から?)で、
機械翻訳Microsoft translatorが追加されてました。

Googleさんは、translate APIが有料になってしまい、一般の方には、使用する敷居が高くなったのですが、
Microsoftさんは、20万字までの無料で翻訳APIが使用できます。英語スキルの低いワタクシには、使わない手はないですね!!

基本的には、自分への備忘録ということで。。。

とりあえず、「Windows Azure Marketplace」に登録する必要があります。
その手順は、こちらを参照してください。
翻訳Webサービス「Microsoft Translator」の概要と登録方法

必要なのは、登録後の上のタブの「マイアカウント」で表示される、
「プライマリ アカウント キー」と「顧客 ID」になります。

さぁ、準備はそろった!!と思うのですが、標準のドキュメントでは、Macのみの記載しか見当たりませんでした。

http://www.omegat.org/en/howtos/ms_translator_mac.html
(他の言語については、見つからなかった。)

Macは、エースが試してくれると思うのと、自分の環境がLinuxメイン(Winサブ)なので、そちらで調べてたら、
ビンゴなページがみつかりました。

http://www.proz.com/forum/omegat_support/241322-linux_omt_microsoft_translator_howto_needed.html

まぁ、そもそもGoogleAPIの使い方もわかってなかったんですが、すべて記載されてますね。

後は、これ通りやるだけです。

For Google, it's:
-Dgoogle.api.key=123456789abcdef

For Microsoft, it's
-Dmicrosoft.api.client_id=yourkey -Dmicrosoft.api.client_secret=123456789abcdef

So, basically, you can launch OmegaT with
java -jar -Dmicrosoft.api.client_id=yourkey -Dmicrosoft.api.client_secret=123456789abcdef OmegaT.jar
(everything on the same line)

さらに、スレッドで詳しく記載されてますね。

#!/bin/bash
# readlink follows any symbolic links to get the real file
REALOMEGATPATH=`dirname $(readlink -nf $0)`
"${REALOMEGATPATH}/jre/bin/java" -jar -Xmx512M -Dmicrosoft.api.client_id=Customer_ID -Dmicrosoft.api.client_secret=Primary_Account_Key "${REALOMEGATPATH}/OmegaT.jar" $*

where one should change Customer_ID and Primary_Account_Key which are personal Primary Account Key and Customer ID available at Azure Marketplace account page after registration

I am sure, if one need to do the same in Windows, one can edit the OmegaT.bat file and change its content to the following:

java -jar -Dmicrosoft.api.client_id=Customer_ID -Dmicrosoft.api.client_secret=Primary_Account_Key OmegaT.jar %* 

client_idが、日本語表示だと、「顧客ID」で、client_secretが「プライマリ アカウント キー」です。

上記では、400 Bad Requestが頻繁に表示されるため、アプリの登録を行なうことが良いと思います。

以下のURLを参照に、アプリの登録をします。
http://web.plus-idea.net/2012/08/api-microsoft-translator-java/

アプリケーションの登録ですが、基本は上記の通りですが、

  • 「クライアント ID」:自由
  • 「名前」:自由(例:OmegaTとか)
  • 「顧客の秘密」:自動生成
  • 「リダイレクト URI」:https://127.0.0.1

としています。

LinuxJREが付属しているOmegaT3.0の起動シェルは、以下になっていました。

#!/bin/bash
# readlink follows any symbolic links to get the real file
REALOMEGATPATH=`dirname "$(readlink -nf $0)"`
"${REALOMEGATPATH}/jre/bin/java" -jar -Xmx512M "${REALOMEGATPATH}/OmegaT.jar" $*

これを、上記アプリケーションで設定した内容にします。

#!/bin/bash
# readlink follows any symbolic links to get the real file
REALOMEGATPATH=`dirname "$(readlink -nf $0)"`
"${REALOMEGATPATH}/jre/bin/java" -jar -Xmx512M -Dmicrosoft.api.client_id=「クライアントID」 -Dmicrosoft.api.client_secret=「顧客の秘密」 "${REALOMEGATPATH}/OmegaT.jar" $*

※上記IDとキーは「」を除き、マイアカウントで表示される英数字を入力してください。

これで、OmegaTを起動します。
そして、「設定」-「機械翻訳」-「Microsoft Translator」を選択し、チェック状態にします。

で、翻訳文節で、「編集」-「機械翻訳に置換」(Ctrl-M)を使用すると、翻訳できました〜ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ

Windows環境では、batファイルに上記を追加するみたいなこと書いているんですが、batファイルはみあたりません。

上記ページのスレッドに以下が追記されていました。

Under Windows, the information is in OmegaT.l4J.ini

java -jar -Dmicrosoft.api.client_id=Customer_ID -Dmicrosoft.api.client_secret=Primary_Account_Key OmegaT.jar %*

There's no need to. Under Windows, one just edits OmegaT.l4J.ini, where the parameters are pre-configured:
# Microsoft Translator credentials
#-Dmicrosoft.api.client_id=xxxxx
#-Dmicrosoft.api.client_secret=xxxxx

It does work (I had to test it before releasing the version).

Didier

で、Windowsの方が、OmegaTがあるプログラムフォルダに、実際に「OmegaT.l4J.ini」というファイルがあり、
コメント化されているので、それを有効にしてしまえば、問題なく稼働できました。

つまるところWindowsのファイルが先に見つかっていれば悩まなかったと。。。

でも、これで便利になりますねー!!