同一ページでさくっと単語や文章を翻訳したいと要望があったのでいろいろ探したらだいたい2タイプに分かれてアドオンやグリモンのスクリプトが存在した。
(1)alcサイトや他の翻訳サイトをスクレイピングしてるっぽいやつ
(2)ローカルの辞書を使って翻訳するタイプ
1の場合だと、利用しているサイトのレイアウトやURL変更が発生するとすぐ動かなくなる。
昨年URLの変更があったalcを利用しているアドオンなどは動かなくなっている模様。
各自でソース内部のURL変更して対応しているみたいです。
2の場合はローカル辞書が必要でほとんどの辞書が有料。フリーの辞書は試していないので実力は不明。
大体こんな感じ。
結構よさげな奴もあるのですがもうちょっとさくっと引けたらな~と思い作ってみました。
作るにあたって一番の問題はデータの取得元。
翻訳サイトをスクレイピングするとちょっと問題ありそう。問題なくてもメンドクサイ。
でも今は便利な世の中で翻訳用のAPIを提供しているところがありました。
英語←→日本語の翻訳APIとして使えるYahoo Pipesを作った
http://muumoo.jp/news/2007/05/09/0translationapi.html
タイトル通りYahoo! Pipesで提供されています。
管理人ぷーるさんとYahoo! Pipesに感謝!
これがあれば後はUIだけ考えて2時間くらいで実装終了。
できあがったのがこれ
■機能
・日本語→英語に翻訳できる
・英語→日本語に翻訳できる
■インストール
通常のユーザスクリプト(Greasemonkey)と同じ。
簡単に説明すると
FirefoxのアドオンGreasemonkeyをインストール
https://addons.mozilla.org/ja/firefox/addon/748
下記のリンクをクリックするとユーザースクリプトがインストールされます。
poolmmjp_translation.user.js
■使い方
翻訳には2つの方法があります。
(1)Ctrlキーを押しながら翻訳したい文字列をマウスで選択して反転させます。
画面上部に訳が表示されます。
(2)Ctrlキー+F1キーを押すと入力ボックスが表示されます。
入力ボックスに単語や文章をいれて「OK」ボタンをクリックすると画面上部に訳が表示されます。
画面上部に表示された訳はダブルクリック若しくはCtrlキー+F1で消すことが可能です。
リクエストで作ったユーザースクリプトですが予想外に使い勝手がいい。やっぱり画面遷移やスクレイピングよりは速いからかな。
いままでランチャーにコマンド入れて翻訳サイトに画面遷移させていたんですけどこれに切り替えます。
興味がある方はお試し下さい。
※不具合を見つけた方はコメントでお願いします。
■変更
※2008/01/29 ver0.81 ソースの見直し
■githubにアップしました(2012/2/7)
github:poolmmjp_translation
githubを利用してみた