-

Googleの日本語と英語を切り替え

(更新がかつてないブランクに入っておりますが。)

Google の表示言語と検索対象言語 - odz buffer より

Google で表示言語を日本語にしておくと、「ウェブ全体から検索」か「日本語のページを検索」かをラジオボタンから検索できるようになっているけど、「ウェブ全体」を選択していても表示言語を英語にしているときと比べると明らかに日本語のページのほうが高いランキングになるようになっているように見える。おかげで、日本語の情報なんていらないんだよ、というときはこの挙動がかえって邪魔だったりする。

かといって、表示言語を英語にすると、対象言語を選択するラジオボタン自体表示されなくなって、これはこれで面倒なんだよなぁ。

全く同じことを思っていてブックマークレットでやるかと思って書いていたらタイミングよくこの記事を見つけた。(TBしました)

GoogleのUIの言語(hl)を日本語にしていると、「Web全体から検索」(lrなし)にしても、英語で検索したときよりも日本語情報が優先で出てきて、あえて日本語情報いらないとき邪魔なので、hlをen,jaでtoggle、合わせてlrもなし/lang_jaを切り替えるブックマークレットキーワード登録して使ってます。


javascript: リンクが置けないので直接貼ります。)

javascript:var r=RegExp,l=location;if(l.href.match(new r("(http://[^/]+\\.google\\.[^/]+/search)(\\?.+)"))){var u=r.$1,p=r.$2,q=(p.match(/[&\?]q=([^&]*)/))[1];if(q){if(p.match(/[&\?]hl=([^&]*)/))var hl=r.$1;var nhl=(hl=="ja"?"en":"ja");l.href=u+"?q="+q+"&hl="+nhl+"&lr="+{"en":"","ja":"lang_ja"}[nhl];}}

なんかもっとよく書けるかもだけどこれで足りてるからいいや。

元の形

var r=RegExp,l=location;
if (l.href.match(new r("(http://[^/]+\\.google\\.[^/]+/search)(\\?.+)"))) {
    var u=r.$1,p=r.$2,q=(p.match(/[&\?]q=([^&]*)/))[1];
    if (q) {
        if (p.match(/[&\?]hl=([^&]*)/)) var hl=r.$1;
        var nhl=(hl=="ja"?"en":"ja");
        l.href=u+"?q="+q+"&hl="+nhl+"&lr="+{"en":"","ja":"lang_ja"}[nhl];
    }
}


Update: 正規表現一部直しました。[2007/07/20 00:39]