Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

Pipes 開発実績

英→日、日→英を自動的に判断して翻訳してくれるYahoo!Pipesとブックマークレット

投稿日:


ブログのネタを探したり、仕事で調べものをしているとちょっと英日/日英の翻訳したいって事があります。そんな時にブックマークレットかなんかで簡単に変換できると便利です。
単語だけであれば、英辞郎の結果を表示するブックマークレットなんかを使っていて、英日/日英の判断を自動的にしてくれてかなり便利です。ですが、別ウィンドウで開いてしまうし、文章には対応していません。
で、API経由で翻訳結果を受け取ってそのまま表示みたいな事はできないかな?と思って調べてみると例のごとくYahoo!PipesのTranslate機能が便利そうで、英日/日英それぞれをAPI化したものもありました。
英語←→日本語の翻訳APIとして使えるYahoo Pipesを作った(管理人日記) – むぅもぉ.jp
で、このPipesを使えばよさそうなんだけど、英辞郎みたいに日本語か英語か勝手に判断して翻訳結果を出してくれるとすさまじく便利だなー、と思ったのでPipes側で対応してみたのがコレ。
Translate EN/JA
Pipes: Transrate EN/JA
strパラメータに調べたい文字列を渡してやると、英→日、日→英を自動的に判断して翻訳結果を返してくれます。

Pipesの解説

ちょっとだけ解説します。
Pipes 条件分岐
strパラメータを受け取った後、「item Builder」でデータを作ります。
そして、1つ目のポイントですが、「split」関数で2つに分岐させています。
これは、英語の場合と、日本語の場合を別々に処理するための布石です。
Pipes 英語の場合と日本語の場合
英語と日本語用に2つに分かれたデータにそれぞれ処理をします。
まず、英日翻訳用の左側データには「Filter」で「ASCII文字意外があったら拒否」という条件を付けました。これは、マルチバイト文字を英日翻訳しても正しい結果が出ないためです。
逆に、日英翻訳用の右側データには「Filter」で「ASCII文字意外があったら許可」という条件を付けました。これは、マルチバイト文字が含まれている場合のみ日英翻訳させるためです。
正反対の条件を付けているため、左側のデータと右側のデータが両方ヒットする事はありません(多分)。ですので、左右のデータをUnionしてやれば完成です。
マルチバイトが含まれているかどうかの判断は下記の正規表現([\x8E\xA1-\xFE])を参考にさせてもらいました。
Perlメモ

翻訳API(Yahoo!Pipes)を使ったBookmarklet

サンプル代わりに簡単なブックマークレットを作ってみました。
Translate
上記リンクをブックマークに登録して下さい。
調べたい文字列を選択した状態で、ブックマークレットを実行すると翻訳結果がAlertで表示されます。英語を選択した場合は日本語訳が、日本語を選択した場合は英語訳が表示されます。

まとめ

APIとして使えますので、ご自由にどうぞ。

-Pipes, 開発実績

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

no image

YouTube HD Suite更新(2010/12/11 YouTube仕様変更、40万DL達成!)

YouTube HD Suite 公式ページ [C!] YouTube HD Suiteがうまく動かなくなっていたので久しぶりにアップデートしました。といっても、自動更新の機能を導入しているのでインス …

動画を楽しもう!(Ustream.tvで録画した動画「Past Clips」のFLVをダウンロード可能にするブックマークレット)

【2012/01/03:更新】 Ust DLの公式ページができました。今後の最新情報はこちらをご確認ください。 Ust DL 公式ページ 【2010/04/13:追記】 スクリプトをアップデートしまし …

Delicious2.0 の被ブックマーク数画像取得APIを作りました

[2008/08/07 追記] QUERY_STRING(?hoge=1みたいな)が付いているURLの被ブックマーク数が正常に取得できていない問題を修正しました。呼び出し方法には特に変更ありません。 …

no image

【公開停止】TwitterのAPI制限を回避するためのYahoo!Pipes

【2009/10/21:追記】 このエントリーで紹介しているYahoo!PipesはTwitterの規約に違反しているため、公開停止としました。詳しい解説は下記エントリーをご確認ください。 Twitt …

embedで埋め込まれたYouTube動画もダウンロードできる「YouTube HD Everywhere」

コツコツ更新を続けているYouTube HD Suiteの兄弟スクリプトと呼べそうなものを作ってみました。 YouTubeはembedと呼ばれるHTMLコードを貼付ける事で、YouTube以外のサイト …

スポンサードリンク

スポンサードリンク