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に対応しました。