• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:Java API Doc の「日本語、英語」をブックマークレットで切り替える
#navi(../)
*Java API Doc の「日本語、英語」をブックマークレットで切り替える [#x21bc488]
#adsense2
>編集者:[[Terai Atsuhiro>aterai]]~
作成日:2011-03-02~
更新日:&lastmod;
---
title: Java API Doc の「日本語、英語」をブックマークレットで切り替える
author: aterai
pubdate: 2011-03-02
description: Javascriptで、Java API Docの「日本語、英語」を切り替えるBookmarkletを作成する
---
#contents

#contents(none)
* 概要 [#summary]
`Java`の`API`ドキュメントをブックマークレットを使って、日本語と英語で切り替えます。

**概要 [#j3d7e5b3]
JavaのAPIドキュメントをブックマークレットを使って、日本語と英語で切り替えます。
* サンプルコード [#sourcecode]
- `Java API JP<>EN`

**サンプルコード [#ufcab025]
- Java 6 API JP<>EN

#code{{
javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api[^+]+|technotes[^+]+)");if(m)l.href=m[1]+(/\/jp\//.test(m[2])?'docs.oracle.com/javase/6/docs/':'docs.oracle.com/javase/jp/6/')+m[3];}());
javascript:(function(){var%20l=location,m=l.href.match('^https?://(.+)((?:api|technotes)[^+]+)'),n=m[1].match('/([0-9]+)/');if(m)l.href='https://docs.oracle.com/javase/'+(/\/jp\//.test(m[1])?n[1]+'/docs':parseInt(n[1])>=8?'jp/'+n[1]+'/docs':'jp/'+n[1])+'/'+m[2];}());
}}

- Java 7 API JP<>EN
* 解説 [#explanation]
適当に(`Java API Doc JP<->EN`とか)を名前を設定し、アドレスに上記の一行を貼り込んだブックマークを作成して使用します。例えば英語版の`Javadoc`を表示中にこのブックマークをクリックすると日本語版の`Javadoc`に移動することができます(逆も可能)。

#code{{
javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api[^+]+|technotes[^+]+)");if(m)l.href=m[1]+(/\/jp\//.test(m[2])?'docs.oracle.com/javase/7/docs/':'docs.oracle.com/javase/jp/7/')+m[3];}());
}}
- `/jp/6/`と`/6/docs/`を切り替えているだけなので、フレーム有りでは`URL`が以下のような形式の場合のみ有効
-- https://docs.oracle.com/javase/6/docs/api/index.html?javax/swing/JTable.html
- `Java 8`の場合は、`javase/jp/8/docs/`と`javase/8/docs/`を切り替えているように変更 -- &user(aterai); &new{2015-03-09 (月) 14:50:59};
-- [http://yoshio3.com/2015/03/10/java-se-8-api-jp-doc-new-url/ 日本語 Java SE 8 API ドキュメント URL 変更につきまして | 寺田 佳央 - Yoshio Terada]

//- dlc.sun.com.edgesuite.net 版?
//#code{{
//javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api.+|technotes.+)$");if(m)l.href=m[1]+(/\/ja\//.test(m[2])?'docs.oracle.com/javase/6/docs/':'dlc.sun.com.edgesuite.net/jdk/jdk-api-localizations/jdk-api-ja/builds/latest/html/ja/')+m[3];}());
//}}
意味がよく分からない翻訳がある場合、日本語版と英語版を切り替えながら見比べると結構便利です。

**解説 [#j41ed46f]
適当に(Java API Doc JP<->ENとか)を名前を設定し、アドレスに上記の一行を貼り込んだブックマークを作成して使用します。例えば英語版のJavadocを表示中にこのブックマークをクリックすると日本語版のJavadocに移動することができます(逆も可能)。

-%%/ja/を取ったり付けたりしてるだけなので、%% Web上のJDK 6 版APIドキュメント専用
//-フレーム無しで使用しないと役に立たないと思います。
-フレーム有りで使用する場合は、URLが以下のようになっている必要がある
-- http://docs.oracle.com/javase/6/docs/api/index.html?javax/swing/JTable.html

よく分からない翻訳がある場合に、日本語版と英語版を切り替えながら見比べると結構便利です。

-個人的には[[Javadoc 日本語翻訳>Javadoc]]のメモを作成する場合によく使用中
- [https://docs.oracle.com/javase/jp/9/docs/api/overview-summary.html 概要 (Java SE 9 & JDK 9)]からは、マウスカーソルのある文章の原文がポップアップ表示されるようになった
- 個人的には[[Javadoc 日本語翻訳>Javadoc]]のメモを作成する場合によく使用中
-- %%JavaDoc の翻訳などに関する修正提案などは http://java.net/projects/jdk-api-ja/ にメールするのが良さそう%% もう活動していないかも?
--- via: [https://blogs.oracle.com/katakai/entry/jdk_japanese_docs_project_on JDK 日本語ドキュメントプロジェクト on java.net (Masaki Katakai's Weblog)])
//--- 「現在可動しているか?」、また「JDK 7 はどうなるか?」などは不明

**変更履歴 [#yd6fdea5]
- httpからhttps?に修正
- technotesに対応
* 変更履歴 [#changelog]
- `http`から`https?`に修正
- `technotes`に対応
- %%webnotes対応%% あまり使用しないので削除
- docs.oracle.comに対応
- `docs.oracle.com`に対応
- %%日本語版は dlc.sun.com.edgesuite.net/jdk/jdk-api-localizations/jdk-api-ja/builds/latest/html/ja/ を見るように変更%%

**メモ [#b2b13194]
- URLがJavaのAPI doc 風?なら、Java 7 英語版(Oracle)に移動
#code{{
javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api[^+]+|technotes[^+]+)");if(m)l.href=m[1]+'download.oracle.com/javase/7/docs/'+m[3];}());
}}
* メモ [#b2b13194]
- 検索結果などに`Java 6`などの古いドキュメントが上位表示される場合が多いので、`URL`が`Java`の`API doc`風?なら、`Java 8`英語版(`Oracle`)に移動するブックマークレット

- URLがJavaのAPI doc 風?なら、Java 6 日本語版(Oracle)に移動
#code{{
javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api[^+]+|technotes[^+]+)");if(m)l.href=m[1]+'docs.oracle.com/javase/jp/6/'+m[3];}());
}}
#gist(9755681)
// javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api[^+]+|technotes[^+]+)");if(m)l.href=m[1]+'docs.oracle.com/javase/8/docs/'+decodeURIComponent(m[3]).replace(/\+.*$/,'').replace(/\[\]/g,':A').replace(/, |\(|\)/g,'-');}());

- guide には未対応。日本語版と英語版で、docs の有無が異なるので。
-- http://docs.oracle.com/javase/1.3/docs/guide/swing/JTreeChanges.html
-- http://docs.oracle.com/javase/jp/1.3/guide/swing/JTreeChanges.html
** Java 8 [#java8]
- `Java 8`のドキュメントでは、各メソッドなどへのアンカーにある空白や`(,)`などが`-`に置換された
-- 空白を`%20`などと`URL`エンコードする必要が無くなった

- URLがJavaのAPI doc 風?なら、Java 7 日本語版に移動
#code{{
javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api[^+]+|technotes[^+]+)");if(m)l.href=m[1]+'docs.oracle.com/javase/jp/7/'+m[3];}());
}}
** Java 10 [#java10]
- `Java 10`から`Java 8`以前の`(,)`(ただし空白は除く)なども使用可能に戻った
-- 混在は不可

**参考リンク [#x4ed11a1]
//- http://jdk-api-ja.dev.java.net/
* 一覧 [#ed06c777]
** 英語版 [#r25e2ede]
- https://docs.oracle.com/en/java/javase/11/
- https://docs.oracle.com/javase/10/
- https://docs.oracle.com/javase/9/
- https://docs.oracle.com/javase/8/
- https://docs.oracle.com/javase/7/
- https://docs.oracle.com/javase/6/docs/

----
- `Java 11`から`en/java`が追加されている
-- https://docs.oracle.com/javase/11/ は https://docs.oracle.com/en/java/javase/11/ にリダイレクトされる
-- https://docs.oracle.com/jp/java/javase/11/ は`404`

** 日本語版 [#y7fcedd1]
- https://docs.oracle.com/javase/jp/11/
- https://docs.oracle.com/javase/jp/10/
- https://docs.oracle.com/javase/jp/9/
- https://docs.oracle.com/javase/jp/8/
- https://docs.oracle.com/javase/jp/7/
- https://docs.oracle.com/javase/jp/6/

* API Documentation の例 [#eb272225]
** 英語版 [#i0aec398]
- https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Color.html
- https://docs.oracle.com/javase/10/docs/api/java/awt/Color.html
- https://docs.oracle.com/javase/9/docs/api/java/awt/Color.html
- https://docs.oracle.com/javase/8/docs/api/java/awt/Color.html
- https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html
- https://docs.oracle.com/javase/6/docs/api/java/awt/Color.html

----
- https://docs.oracle.com/javase/11/docs/api/java.desktop/java/awt/Color.html はリダイレクトされず`404`になる

** 日本語版 [#v64a28b0]
- https://docs.oracle.com/javase/jp/11/docs/api/java.desktop/java/awt/Color.html
- https://docs.oracle.com/javase/jp/10/docs/api/java/awt/Color.html
- https://docs.oracle.com/javase/jp/9/docs/api/java/awt/Color.html
- https://docs.oracle.com/javase/jp/8/docs/api/java/awt/Color.html
- https://docs.oracle.com/javase/jp/7/api/java/awt/Color.html
- https://docs.oracle.com/javase/jp/6/api/java/awt/Color.html

* 参考リンク [#reference]
- http://java.net/projects/jdk-api-ja
-- %%via: [http://blogs.sun.com/katakai/entry/jdk_japanese_docs_project_on JDK 日本語ドキュメントプロジェクト on java.net]%%
-- %%java.net に繋がらないけど、まだ今はメンテナンス中? それとも遅いだけ?%%
-[http://d.hatena.ne.jp/ymorimo/20070719/1184847240 ymorimoの日記 - Googleの日本語と英語を切り替え]
- [http://d.hatena.ne.jp/ymorimo/20070719/1184847240 ymorimoの日記 - Googleの日本語と英語を切り替え]

**コメント [#pcd07d68]
- 日本語版は docs.oracle.com/javase/jp/6/ を見るように変更 -- [[aterai]] &new{2012-04-11 (水) 19:15:42};
- %%googleなどの検索エンジンのキャッシュから移動できるように変更(検索結果に表示された java.sun.com のドキュメントが、http://www.oracle.com/technetwork/java/index.html に転送されてしまうようになったので) -- [[aterai]] &new{2012-09-18 (火) 22:59:31};%%
//#comment
* コメント [#comment]
#comment
- 日本語版は docs.oracle.com/javase/jp/6/ を見るように変更 -- &user(aterai); &new{2012-04-11 (水) 19:15:42};
- %%googleなどの検索エンジンのキャッシュから移動できるように変更(検索結果に表示された java.sun.com のドキュメントが、http://www.oracle.com/technetwork/java/index.html に転送されてしまうようになったので) -- &user(aterai); &new{2012-09-18 (火) 22:59:31};%%
- `Java 8`のドキュメントは、まだ英語版のみなので未対応。ただ、`7`に比べると無駄?な装飾も減って、文字サイズも`6`並の大きさに戻っているので見やすくなっている。 -- &user(aterai); &new{2014-03-24 (月) 19:05:08};
-- `Java 8`のドキュメントでは、各メソッドなどへのアンカーにある空白や`(,)`などが`-`に置き換わっている? 空白を`%20`などと`URL`エンコードしなくても良いのは便利そう(メモ: 詳しい変更内容を探すこと)。 -- &user(aterai); &new{2014-03-24 (月) 19:37:54};
-- 配列は、`[]` [https://docs.oracle.com/javase/7/docs/api/java/awt/geom/AffineTransform.html#transform(double%5B%5D,%20int,%20double%5B%5D,%20int,%20int) %5B%5D]から[https://docs.oracle.com/javase/8/docs/api/java/awt/geom/AffineTransform.html#transform-double:A-int-double:A-int-int- :A]。 -- &user(aterai); &new{2014-03-24 (月) 20:00:03};
-- メモ: [http://en.wikipedia.org/wiki/Template_talk:Javadoc:SE Need help in converting this template to Java 8] 仕様が見つからない・・・。 -- &user(aterai); &new{2014-03-24 (月) 21:04:40};

 // Java 8 用に、(、)、, 、[]だけ?対応
 javascript:(function(){var l=location,m=l.href.match("^(https?://)(.+)(api[^+]+|technotes[^+]+)");if(m)l.href=m[1]+'docs.oracle.com/javase/8/docs/'+decodeURIComponent(m[3]).replace(/\+.*$/,'').replace(/\[\]/g,':A').replace(/, |\(|\)/g,'-');}());

#comment