対応づけられたサイトの切り替えをするブックマークレット
Pythonドキュメントの日英マッピングをするGreaseMonkeyの続編。enjamapper。 これをブックマークしておいて、 http://www.python.org/doc/2.4/* か http://www.python.jp/doc/release/* のどちらかで実行すると、もう片方のサイトにジャンプします。
実行されると即ジャンプするブックマークレットにすることで、HTMLを書き換えないでよくなるので、ターゲットのHTMLに対する依存性がなくなりました。サイトの対応付けの設定を書き換えるだけで、ファイルの配置が同じサイト間ならPythonのドキュメントに限らずジャンプできます。
サイトの対応付けをカスタマイズしたい場合や、僕のサイトに誰かが進入してスクリプトを有害な物に差し替えてしまう危険性を避けたい場合は enjamapper.js をダウンロードして自分の好きなところにおいてください。
使い方の具体例。 例えばPythonドキュメントの和訳中に 「positional arguments」はどう訳すのだろうと思ったとします。まず、Googleのsite:オプションを利用して「positional arguments site:http://www.python.org/doc/2.4/」と検索します。そうすると英文Pythonドキュメント中の「6.21.1.3 What are positional arguments for?」という項目がヒットします。これを開いて、enjamapperブックマークを実行すると、これに対応する日本語のページ「6.21.1.3 固定引数とは何か」にジャンプします。「positional arguments」は「固定引数」と訳せば他のドキュメントと統一できるということがわかりました。
ソースコードは以下。
// English-Japanese Mapper Bookmarklet
// see http://www.nishiohirokazu.org/blog/2006/09/enjamapper.html
mapping = [
[
"http://www.python.org/doc/2.4/",
"http://www.python.jp/doc/release/"
]
]
loc = document.location.toString();
for(var i = 0; i < mapping.length; i++){
var url1 = mapping[i][0];
var url2 = mapping[i][1];
if(loc.indexOf(url1) == 0){
document.location = loc.replace(url1, url2);
}else if(loc.indexOf(url2) == 0){
document.location = loc.replace(url2, url1);
}
}