なげやりろぐ

フテイキコウシン

Google翻訳をアクションで利用する

アクション化しなくても十分使えるんですけどね。
まぁそこはほら、ネタですから♪


Sleipnirには標準機能としてExcite翻訳を利用したページ翻訳機能が備わってはいますが、GoogleマンセーなワタシとしてはやはりGoogle翻訳をデフォで使っていきたいなと。
で、Exciteの代わりにメニューへ登録するのではなく、アクションにして利用した方が使い勝手が良いかもなとおもったのでいつもの方法でブックマークレットをアクション化してみました。

Google翻訳は同じページでサイト全体だけでなく選択テキストの翻訳も処理してくれるあたりがお気に入り♪ これはブックマークレットでも同様です。*1
Google翻訳ブックマークレットこちらのページの下に用意されていますので、利用したい言語のリンク上で右クリメニューから『ショートカットのコピー』を利用してクリップボードへ取り込み、適当なテキストエディタへ貼り付けます。
ここでは当然、日本語翻訳用のブックマークレットを選択。対象言語は自動判定されますので楽ちんです♪

javascript:var t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));var e=(document.charset||document.characterSet);if(t!=''){location.href='http://translate.google.com/?text='+t+'&hl=ja&langpair=auto|ja&tbb=1&ie='+e;}else{location.href='http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&hl=ja&langpair=auto|ja&tbb=1&ie='+e;};
  • 最初の方にある『javascript:』をいったん削除し、いつものおまじないを追加してアクションとして使えるようにします
URL = "javascript:(" + function(){  //追加部分その1
var thisPageTitle = document.title;window.googl_callback = function(response){if(response.error_message){alert("An error occured: " + response.error_message);}else{clipboardData.setData("Text",response.short_url);}};var s = document.createElement("script");s.src = "http://ggl-shortener.appspot.com/?url=" + encodeURIComponent(window.location.href) + "&jsonp=googl_callback";void(document.body.appendChild(s));
} + ")()";  //追加部分その2

あとは適当な名前をつけてSleipnirのインストールフォルダ>plugins>scriptsへ拡張子jsをつけて保存します。
ここではとりあえずGoogle_E_to_J_Translate.jsという名前を付けました。つまりアクション名はGoogle_E_to_J_Translateということになるわけですね。

Sleipnir本体を再起動してやるとGoogle翻訳のアクションが先ほど付けたファイル名で登録されていますので、Sagittarius Dockとかメニューエディタをつかってブラウザ標準およびブラウザテキスト選択へ登録してやります。

  • Sagittarius Dockへ適当なアイコンをでっち上げて登録♪
    右の画像はdefaultスキンのactionsフォルダへ今回のアクション名に変更して保存すれば利用出来ます*2

  やっつけですけどよければどうぞ→  

このアクションに用いたスクリプト(ブックマークレット)はページ全体に対して実行するとそのページ全体の翻訳になり、テキストを選択して実行すると選択テキストのみの翻訳を行ってくれますのでとっても便利♪
SuperDrag Extensionなどに登録してやるとさらに使い勝手がよくなるかも。


メニューエディタへ登録する際の一例。登録時の名前は自分のわかりやすいものにすればいいです。

  • 【ブラウザ標準】へ登録してページ全体の翻訳に利用


  • 【ブラウザ テキスト選択】へ登録して任意のテキストの翻訳に利用


  • SuperDrag Extensionへの登録例


ちなみにアクション化しなくてもブックマークレットのままで右クリメニューに登録することも可能です。しかしコレはメニューエディタからは行えず、直接当該ファイルを編集しなくてはいけないのが手間ですし、管理もメンドクサイ。


…てなわけでたいしたうまみも何もないネタでしたけど、Google翻訳がお気に入りの方にはなにげに使いやすいかもですよ♪


※スクリプトの記述にlocation.hrefが利用されている関係で元のページを上書きしてしまうのがアレですが、この挙動が気にくわない場合にはあらかじめポップアップブロックの許可サイトにtranslate.google.comを登録しておけばlocation.hrefをwindow.openへ書き換えてやることで新規タブでの翻訳表示が利用出来るとおもいます。

*1:単純にブックマークレットとしてお気に入りに登録してもいいのですが、それだとアイコン(ファビコン)が指定できませんのでテキストを表示してやることになってしまいますので、今回はあえてこんなことをしています。まぁリンクバーにフォルダ作ってその中に突っ込めばすむ話ではありますけどね(笑)

*2:仕事の休憩時間中に車の中でPhotoshop立ち上げてやっつけでつくりましたw