« Python Developers Camp日記 |Main| 対応づけられたサイトの切り替えをするブックマークレット »

« MTでクリックしたエントリを編集するBookmarklet | JavaScript | 対応づけられたサイトの切り替えをするブックマークレット »

« How to make oneliner in Python? | Python | 続:Pythonドキュメントの日英マッピングをするGreaseMonkey »

Pythonドキュメントの日英マッピングをするGreaseMonkey

追記:これを改良して作った対応づけられたサイトの切り替えをするブックマークレットの方が便利かも知れません。


pyenjamapper。Firefoxを使っていて、GreaseMonkeyをインストールしていれば、このリンクをクリックするだけでインストールしてください。そうすると 2.2 Non-essential Built-in Functionsなどの英文ドキュメントのナビゲータの所に「Japanese」というリンクが表示されます。クリックすると日本語の2.2 非必須組み込み関数 (Non-essential Built-in Functions)へ飛びます。こちらにはEnglishというリンクが追加されていて、クリックすると英語の方のドキュメントに飛びます。

他のブラウザの人でもブックマークレットとして使えるかも。…でも、ブックマークレットにするなら「押したらリンク追加」より「押したらジャンプ」の方がいいですね。

以下ソースコード。

// ==UserScript==
// @name          English-Japanese Mapper
// @namespace     http://www.nishiohirokazu.org/blog/2006/09/pyenjamapper.html
// @description	  mapping English documents and Japanese documents
// @include       http://www.python.org/doc/2.4/*
// @include       http://www.python.jp/doc/release/*
// ==/UserScript==


// mapping
// [from, to, label]
mapping = [
  [
    "http://www.python.org/doc/2.4/",
    "http://www.python.jp/doc/release/", "Japanese"
  ],
  [
    "http://www.python.jp/doc/release/",
    "http://www.python.org/doc/2.4/", "English"
  ],
]

loc = document.location.toString();
anchorTag = "";
for(var i = 0; i < mapping.length; i++){
  var frm = mapping[i][0];
  if(loc.indexOf(frm) == 0){
    var url = loc.replace(frm, mapping[i][1]);
    anchorTag = "<a href = '" + url + "'>" + mapping[i][2] + "</a>";
    break;
  }
}

naviDiv = '<div class="online-navigation">';
document.body.innerHTML = document.body.innerHTML.replace(
  naviDiv, naviDiv + anchorTag
);

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/353

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.