はじめに
私は英語があまり得意ではないのですが
英文を書く機会がちょいちょいあり、Google翻訳で調べながらやっています。
Google翻訳は賢く文脈を読んでいい感じに翻訳してくれのですが
ただ期待の変換と間違う時も多く、別の翻訳ツールでの結果も見たくなるので
フリーの翻訳APIを利用して何か作ろうと思いました。
そこで月200万文字まで無料で使わせてくれるMicrosoft Translator APIを利用しました。
Microsoft Translator API 利用にあたって
Microsoft Translator APIを利用するにはclient用のTokenを発行する必要があります。
以下の手順になります
-
Windows Azure Marketplaceアカウントを新規登録して、サインインします。
https://datamarket.azure.com/home/ -
以下からMicrosoft Translatorを利用します
https://datamarket.azure.com/dataset/bing/microsofttranslator -
開発者のアプリケーションの登録を行います。
https://datamarket.azure.com/developer/applications
登録画面が出てきますので次の項目を入力して登録ボタンを押します。
項目 | 説明 |
---|---|
クライアントID | アプリケーションの識別子なる文字列でユニークにする必要があります |
名前 | ユーザーに表示するアプリケーション名です |
顧客の秘密 | アプリケーションのパスワード。トークンで利用します |
リダイレクトURI | 同意フローの最後にリダイレクトする URL。利用しませんで無効なURLを入力します |
サブドメインアクセスを有効にする | この設定はオフのままにします。 |
説明 | アプリケーションの説明(省略可能)。 |
クライアントID(client-id)と顧客の秘密(client-secret)は、APIを利用するときTokenになります。
Emacs 設定
以下から、microsoft-translator.elを落してelispのload-path先へ配置します
https://github.com/fujimisakari/microsoft-translator
(require 'microsoft-translator)
(setq microsoft-translator-client-id "fujimisakari")
(setq microsoft-translator-client-secret "xxxxxxxxxxxxxxxxxxxxxxxx")
(setq microsoft-translator-use-language-by-auto-translate "Japanese")
使い方
M-x microsoft-translator-auto-translate で英文か日本語を入力すると翻訳結果が表示されます。
また、文字列をリジョン選択した状態で実行するとその文字列の翻訳結果になります。
感想
Microsoft Translator APIのレスポンスはGoogle Translateよりかなり遅いです。
Google Translateレスポンスは1秒かかりませんが、Microsoftは2秒ほどかかってしまいます。
ただ、Google翻訳は複雑な文を賢く翻訳するのですが、すごい単純な英文をよく失敗します。
たとえば、I will show to you Program that I made.を翻訳すると
(google)私は私が作ったあなたのプログラムに表示されます。
(microsoft)私が作成したプログラムを紹介します。
個人的には、読む時の翻訳にはgoogle、書く時のチェックはmicrosoft、
単語を調べるときは英辞郎という用途で利用する感じです。
google翻訳: google-translate.el
英辞郎: このサイトを参考にしました
明日は sanryuu さんです。