機械翻訳を使って日本語→英語→日本語…(Bing版)

「翻訳に不動点はあるか—我々は生活の中で美しいを破壊している by Google」では、Google Translate APIを使って「日本語→英語→日本語」や「英語→日本語→英語」を1クリックでできるようにしていました。Google Translate APIが終了してしまうということなので、作り直さなければなりません。

先日で紹介したMicrosoft Translator V2がここでも使えます。翻訳APIを使えるようになるとまず、日本語→英語→日本語…みたいなことを試したくなるものなので、練習にもちょうどいいでしょう。

Open Questions

翻訳エンジン自体が不変のものではないので結論を出せるものではないかもしれませんが、以下のそれぞれに該当するものはあるでしょうか。

  1. 収束しない(測定可能な周期での振動もしない)
  2. 測定可能な周期で振動する

お約束ですが、ボタンを押した時の動作の実装方法やAPIを使う基本的な方法については、拙著『Webアプリケーション構築入門』に書いてあります。

Bingを使ってTwitter上のさまざまな言語のつぶやきをひとつずつ翻訳するユーザーサイドスクリプト

2011年11月末でサービスを終了するGoogle Translate API。これを利用していたアプリその他の対応に追われるという話、その2です。

ある言語で書かれたウェブページをまとめて翻訳するというような場合には、その1で紹介したTranslate Elementで何とかなりそうです(ページのコンテンツが動的に変更される場合には対応できませんが)。

しかし、Twitterのタイムラインに対しては、Translate Elementは無力です。Twitterのタイムラインには複数の言語のつぶやきが同時に存在するため、「ある決まった言語の文書を別の言語に翻訳する」という仕掛けでは対応できないのです。

APIを使ってつぶやきを一つずつ翻訳するというのがよい解決策で、Google Translate APIを使ってそれを実装したのがTwitter上のさまざまな言語のつぶやきをひとつずつ翻訳するユーザーサイドスクリプトでした。一つのつぶやきの中に複数の言語の文章があるときはダメでしたが、たいていの場合はこれで十分でした。

Google Translate APIが使えなくなるということなので、代わりのAPIとしてMicrosoft Translator V2を試すことにします。

GoogleのAPIと違って、まずBing Developer CenterでBing AppIDを取得しなければなりませんが、それさえ済めば。あとはAPIリファレンスを見ながら問題なく使えるでしょう。(お約束ですが、APIを使う基本的な方法については、拙著『Webアプリケーション構築入門』に書いてあります。)

というわけで、Microsoft Translator V2を使ってつぶやきを一つずつ翻訳するユーザーサイドスクリプトを書きました。

FirefoxとChrome 13 betaで動作を確認しています。Chrome 12では動作しません。

インストール方法

  1. Bing Developer CenterでBing AppIDを取得する
  2. (Firefoxの場合)Greasemonkeyをインストールする
  3. Twitter Translator (Bing)をインストールする
  4. Twitterにアクセスする
  5. (最初に利用する時のみ)Bing AppIDを入力する
  6. (最初に利用する時のみ)ブラウザ(あるいはタブ)を一度閉じ、再度Twitterにアクセスする

Bing AppIDをリセットしたい時は、twitter.comの「Bing_AppID」というcookieを削除してください。

Bing AppIDを設定しなければならないので、ちょっと面倒なスクリプトになってしまいましたが、とりあえずはこれでよしとしましょう。

2011/12/10 Twitterの新しいUIに対応しました。