かみのメモ

コンピュータビジョン・プログラムな話題中心の勉強メモ

Googleの検索言語をサクッと切り替えるためのブックマークレット

あけましておめでとうございます。

年内に何か書こうと思ってたんですが、課題だの研究だので結局年を超えてしまいました…。

今回はタイトル通り、検索言語を入れ替えるブックマークレットを書いてみたお話です。

以前から手軽に検索言語を切り替える方法を探していたのですが、先日Twitterブックマークレットでやったという話を見かけて(どなたのツイートかは忘れてしまいました…)「確かに便利そう〜」と思い、自分でも試してみました。

スポンサーリンク

もくじ

1. やりたいこと

今回やりたいのはGoogleの検索言語をスムーズに切り替えることです。

技術系の話題について検索するときはできるだけGitHubリポジトリや公式ページのような一次ソースが上位に来てほしいわけですが、検索対象に日本語を含めているとQiitaやその他のブログ記事が上位に来てもどかしい思いをすることがあります。 Regionを日本に設定しているために日本語の記事が優先されるのだと思うのですが、これを海外に設定してしまうとマップ検索の結果やタイムゾーンに影響するのでそのままにしておきたいところです。

こういう事態を回避するため、私は検索言語に英語に指定しています。 するとおおよそ

  1. 英単語のみで検索 -> 英語の記事がヒットする
    • 例 :「react tutorial」
  2. 日本語を含めて検索 -> 日本語の記事がヒットする
    • 例 :「react 入門」

といった挙動になり使いやすくなります。

ただ、ここで問題が残るのがアルファベットキーワードで日本語記事を検索したいケースです。

例えば検索言語を英語にした状態で「amazon」と検索すると英語版サイトであるamazon.comの方がヒットします。 これでは表示される商品・ショップが全て海外のものになってしまうので、きちんと日本語版のamazon.co.jpを検索結果に表示してほしいところです。

今回の記事は、こうしたケースで使える一時的に検索言語を日本語に入れ替えるブックマークレットを書いてみた、というお話です。

f:id:kamino-dev:20200108030403p:plain:w500
ブックマークをクリックすれば検索言語が切り替わる

2. ブックマークレットを作成する

ブックマークレットはブラウザのブックマーク(お気に入り)にプログラムを登録しておき、ワンクリックでそれを実行できるようにする機能です。

今回はjavascriptブックマークレットを利用します。 挙動としては今開いているページで登録したjavascriptが実行される、という単純なものなので、深いことは考えずにコードを書いていきましょう。

Google検索ではクエリにパラメータを付与することでいくつかのオプションを指定できます。 今回はその中からhlという検索言語を指定するオプションを利用します。

使い方は単純で、たとえば

https://www.google.com/search?q=amazon&hl=ja

とすればamazonにヒットする日本語記事の検索結果を表示してくれますし、

https://www.google.com/search?q=amazon&hl=en

とすれば英語記事の検索結果を表示してくれます。

そこで、現在表示されている検索結果をhlパラメータだけ切り替えて再表示させるスクリプトを書いてみます。

if(location.host=='www.google.com'&&location.pathname=='/search') {
  var params = new URLSearchParams(location.search);
  params.set('hl', params.get('hl')=='ja'?'en':'ja');
  location.search=params.toString();
}

Google検索結果の画面でこのスクリプトを実行すれば、検索結果が英語・日本語で交互に入れ替わります。

あとはこれをブックマークレットの記法に則って

javascript:(()=>{if(location.host=='www.google.com'&&location.pathname=='/search'){var params=new URLSearchParams(location.search);params.set('hl', params.get('hl')=='ja'?'en':'ja');location.search=params.toString();}})()

とすれば完成です。

3. ブラウザに登録する

作成したブックマークレットをブラウザに登録します。

大抵のブラウザではCtrl + Shift + bでブックマーク一覧が開くので、そこで新しいブックマークを作成しましょう。 適当な登録名を決め、URLの部分に先ほどのブックマークレットを貼り付ければ完了です。

f:id:kamino-dev:20200108030325p:plain:w400
Chromeのブックマーク登録画面

あとはGoogle検索結果の画面でこのブックマークをクリックするだけで検索言語が切り替わるはずです。

ちなみに、日本語に切り替わった状態でページ内のGoogle検索バーから検索し直すと日本語検索の状態がキープされます。 一方、ブラウザの検索バーから検索し直すと英語検索の状態に戻ります。


以上、ネットサーフィンを快適にするための小ネタを紹介しました。