自分の言語を翻訳して外国を簡単に検索:Search with Your Word
まとめ (TL;DR)
入力した言語の検索ワードを指定した言語に翻訳したうえで検索することができます。 検索エンジンの切り替え及び地域の指定も可能です。
バックグラウンド
知らない言葉は検索できない。
何かを知りたい場合、何らかの言葉に換えて、検索する必要があります。母国語でもそれが時には難しいこともあります。調べようとしていることを思い浮かべて、適切な言葉にしないと結果は悪いものになります。まさにガーベッジ・イン・ガーベッジ・アウト、ごみを入れたら、ごみが出てくる、というわけです。それでも多くの人は母国語でそれをすることができます。予測変換もとても便利です。知りたいことはみんな同じなのでしょう。
それが外国語の場合はどうでしょうか?知りたいことが外国にある場合はどうでしょうか? 簡単に翻訳できるようになっていますが、ちょっとだけ手間です。地域の指定ももちろんできますが、それもやっぱり少し手間です。 ほんの少しだけ便利にしてみようというのがこの記事でできる機能になります。
使い方について
検索窓に検索ワードを入力してください。言語は Google 翻訳に対応しているものに限ります。
入力した言語を選択してください。
翻訳したい言語を入れてください。翻訳が必要ない場合は矢印ボタンを押すと同じ言語が設定されます。
必要があれば、検索エンジンや地域を変更してください。それぞれの検索エンジンに合わせた地域を選ぶことができます。何も指定しない場合は全地域になります。
🔍 ボタンを押すか、エンターキー(リターンキー)を押してください。自動で翻訳されて、別タブで検索結果が表示されます。
機能について
- Google 翻訳可能な文字を選択できます。
- Google Suggestion が機能しています。元の言語として設定された言語をベースに表示します。
- 検索エンジンとして Google と DuckDuckGo を選択できます。
- それぞれの検索エンジンに対応した地域を選択できます。
- 検索ワードを除く入力値はブラウザに記録されます。ただし当サイトでは何を検索したのかなどの記録は残しません。検索した内容の扱いについては各検索エンジンに従います。
利用されている技術について
Google Suggest API or Autocomplete API
入力された文字に対して、確からしい候補を表示し選択できるオートコンプリートを実装するために利用されています。
API は下記のようになります。
http://suggestqueries.google.com/complete/search
または
https://www.google.com/complete/search
パラメータは以下の通りです。
パラメータ 説明 オプション q 検索ワード client レスポンスのタイプ firefox: JSON, toolbar: XML hl 検索対象の言語 ISO 639-1 こちらのページが参考になります。
例えば、USA Preという検索ワードで検索し、結果を JSON で受け取りたい場合はこのようになります。
Google Apps Script & Google 翻訳 翻訳については Google Apps Script で Google 翻訳の API を呼び出し、結果を返す API を作ることで対応しています。
Google アカウントの作成
Google Apps Scriptにアクセスし、新規プロジェクトを作成
下記のようにコードを作成。ただし、API ははっきり言って遅いことと正しいリクエストであっても仕様上の理由により結果を返さないこともあります。詳しくは仕様を確認してください。
function doGet(e) { var p = e.parameter; var translatedText = LanguageApp.translate(p.text, p.source, p.target); var body; if (translatedText) { body = { code: 200, text: translatedText, }; } else { body = { code: 400, text: "Bad Request", }; } var response = ContentService.createTextOutput(); response.setMimeType(ContentService.MimeType.JSON); response.setContent(JSON.stringify(body)); return response; }
API として公開する。
さいごに
ごくごく簡単なものになります。 何かのお役に立てれば幸いです。