上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/Python/Pythonドキュメント
のバックアップソース(No.2)
資料室
開発
/
Python
/
Pythonドキュメント
のバックアップソース(No.2)
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
現在との差分
を表示
開発/Python/Pythonドキュメント
へ行く。
« Prev
Next »
* Pythonのドキュメントの日本語化とヘルプファイル [#j419f555] 私はPython初心者で,''Pythonの公式ドキュメント''をマニュアルとしてよく見る。~ 公式オリジナルの英語版が https://docs.python.org/3/ で公開されていて,その日本語に翻訳されたものが https://docs.python.jp/3/ で公開されている。~ PythonをインストールするとWindowsのヘルプファイルも提供されるが,日本語翻訳したものは公式にはリリースされていないみたい。 一応,[[Python Japanese Environment>https://ja.osdn.net/projects/pythonjp/]]で,Python 2.7の日本語Windowsヘルプファイルがあるのだが,なぜかエラーが毎回表示されてしまう。また,最新のバージョンのものは残念ながら見つからない。 そこで,日本語翻訳されたWindowsのヘルプファイルを作成してみることにした。 [[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]の活動のおかげで,日本語訳のリソースは手に入れることが出来る。~ これを使用して,日本語のPythonのヘルプファイルを作成してみる。 * ソースコードと日本語リソースを用意する [#vb732b95] まず,Pythonのドキュメントから日本語のドキュメント(HTML)を作成してみる。 ** ビルドに必要なツールを用意する [#zeba009d] ドキュメントを作成するのに必要なツールSphinx(Pythonで動作する)やTransifex(翻訳プロジェクト)などを,インストールする。 > pip install sphinx > pip install blurb > pip install transifex-client ** Pythonのソースコードを準備 [#p0d51217] Pythonのドキュメントを作成するのに,Pythonのソースコードにドキュメントのソースも含まれているので必要になる。 Pythonの[[公式サイト>https://www.python.org/]]から,Pythonのソースコードをダウンロードする。これは,日本語翻訳されたドキュメントのリソースを含んではいない。~ 適当な作業ディレクトリで解凍する。 > wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz > tar xvfz Python-3.7.2.tgz > cd Python-3.7.2 別の方法として,[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/cpython-doc-intl]]から,Sphinxの設定が含まれたPythonのソースコードをダウンロード出来る。~ ただ,翻訳作業が終了後にリポジトリが更新されるので,最新バージョンが用意されるまでは時間がかかる。いまのところ用意されている最新版は3.6.5だった。 > git clone https://github.com/python-doc-ja/cpython-doc-intl > cd cpython-doc-intl > git checkout intl-3.6 ** 翻訳済みリソースをTransifexからダウンロードする [#sb5a1327] Pythonの[[公式サイト>https://www.python.org/]]からのソースコードには日本語化したドキュメントが入っていないので, Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] で日本語の翻訳作業が行われているので,そこから日本語訳リソースをダウンロードする。 Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] に参加して,翻訳作業を行うことが出来る。(翻訳作業は大変な労力が必要なので多くの人の協力が必要。参加したい。) Pythonドキュメント日本語訳プロジェクトのリソースを使う場合は,[[transifex>https://www.transifex.com/]]のアカウントを作成する必要はない。 まず,[[transifex>https://www.transifex.com/]] でアカウントを作成する。アカウントが作成できたらAPIキーを作成しておく。(翻訳者として登録しない場合は,アカウントを使用できるのは''15日間''。)~ ''~/.transifexrc''ファイルを以下の内容で作成する。 [https://www.transifex.com] hostname = https://www.transifex.com token = xxxxxxxxxxxxxx username = <ユーザー名> password = <パスワード> tokenには,作成したAPIキーを設定する。 翻訳のチームに参加ボタンを押して参加を表明し,承認されれば(メールで送られてくる),翻訳リソースをダウンロードできるようになる。~ Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] での翻訳作業の成果を, [[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]] に公開しているようだ。~ 翻訳作業を行っている [[transifex>https://www.transifex.com/python-doc/]] から,直接バージョン3.7.2の.poファイルをダウンロード(作業中で未完成だが)する場合は,~ > mkdir locale > cd locale > tx init のようにして,ソースファイル名を入力するところでctrl-Cで止める。 > tx config mapping-remote https://www.transifex.com/python-doc/python-newest/ として,txの設定ファイル''.tx/config''を作成する。~ そして,.tx/configファイルを, awk '/file_filter/{sub("translations/python-newest.","",$3);print $1 " " $2 " " $3;print "source_file = pot/" $3;} !/file_filter/{print $0}' config | awk '/file_filter|source_file/{sub("/<lang>","",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("--","/",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter/{sub("= ","= <lang>/LC_MESSAGES/",$0);print $0;} !/file_filter/{print $0}' | awk '/source_file/{sub(/\.po/,".pot",$3);print $0;} !/source_file/{print $0}' | awk '{sub("type = PO","",$0);print $0;}' | awk '/host/{print $0;print "type = PO";} !/host/{print $0}' > config.1 awk '/file_filter|source_file/{sub("email_", "email.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' config.1 | awk '/file_filter|source_file/{sub("http_", "http.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("logging_", "logging.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("os_", "os.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("tkinter_", "tkinter.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("unittest_", "unittest.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("urllib_", "urllib.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("xml_", "xml.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("xmlrpc_", "xmlrpc.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("glossary_", "glossary",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("dom_", "dom.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("etree_elementtree", "etree.elementtree",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("sax_", "sax.",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' > config.2 awk '/file_filter|source_file/{sub("2_0", "2.0",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' config.2 | awk '/file_filter|source_file/{sub("2_1", "2.1",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("2_2", "2.2",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("2_3", "2.3",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("2_4", "2.4",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("2_5", "2.5",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("2_6", "2.6",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("2_7", "2.7",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_0", "3.0",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_1", "3.1",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_2", "3.2",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_3", "3.3",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_4", "3.4",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_5", "3.5",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_6", "3.6",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' | awk '/file_filter|source_file/{sub("3_7", "3.7",$3);print $1 " " $2 " " $3;} !/file_filter|source_file/{print $0}' > config.3 copy config.3 config del config.1 config.2 config.3 とかして((もっと良い方法があると思うが,わからない。)), [main] host = https://www.transifex.com type = PO [python-newest.about] file_filter = <lang>/LC_MESSAGES/about.po source_file = pot/about.pot source_lang = en [python-newest.bugs] file_filter = <lang>/LC_MESSAGES/bugs.po source_file = pot/bugs.pot source_lang = en [python-newest.c-api--abstract] file_filter = <lang>/LC_MESSAGES/c-api/abstract.po source_file = pot/c-api/abstract.pot source_lang = en : : のような構成に修正する。 修正が終わったら, > tx pull -l ja とすると,現在翻訳作業中の.poファイルがダウンロードできる。 *** Pythonドキュメント日本語訳プロジェクトのリソースを使う場合 [#n16ba263] [[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]のリポジトリに日本語訳されたドキュメントリソースがある。最新はバージョン3.6.5。このバージョンで良ければ,以下のようにして.poファイルをダウンロードする。~ > cd Doc > git clone https://github.com/python-doc-ja/py36-locale locale .poファイルは,Doc/locale/ja/LC_MESSAGES/にダウンロードされる。 バージョン3.7.2の場合は, > cd Doc > git clone https://github.com/python-doc-ja/py37-locale locale とすれば良いと思われるが,残念ながらまだリポジトリにアップされていない。(翻訳作業自体は進んでいる。) * 日本語ドキュメント(HTML)を作成 [#w722d888] Sphinxを使用してHTMLの日本語ドキュメントが出力されるように,''conf.py''ファイルのGeneral configurationを,以下の追加・修正をする。 language = 'ja' locale_dirs = ['locale/'] gettext_compact = False : : #today_fmt = '%B %d, %Y' <-- コメントアウト 翻訳した.poファイルを使用して,ドキュメントファイル(HTMLファイル)をビルドしてみる。~ > make clean html 自分で翻訳を修正したりしたい場合は,Doc/locale/ja/LC_MESSAGES/にある.poファイルを,好みに編集してビルドすれば良い。 これでうまく行けば,''日本語訳されたHTMLのドキュメント''がDoc/build/htmlに作成される。 * Windowsのヘルプファイルchmを作成する [#s57c9c9b] HTMLのドキュメントが作成出来ていれば,Windowsで使われるヘルプファイルである.chmファイルを作成できる。 作成するには,Microsoftの [[HTML Help Workshop>https://www.microsoft.com/en-us/download/details.aspx?id=21138]] が必要になる。 ** .chmファイルを作成する [#a6884bf6] DocディレクトリにMakefile等があるので,それを使ってHTML Help Workshopが使用するプロジェクトファイルを作成する。 > make htmlhelp Doc\build\htmlhelpに,HTMLファイルとpythonxxx.hhp,pythonxxx.hhc,pythonxxx.hhk,pythonxxx.stpが作成されている。 pythonxxx.hhpをダブルクリックしてHTML Help Workshopを起動しコンパイルすれば,Doc\build\htmlにpythonxxx.chmファイルが作成される。 この時,locale以下に翻訳リソースがない場合,''build/htmlhelp''ディレクトリには英語のHTMLファイルがセットされてしまう。当然,HTML Help Workshopでコンパイルしても日本語ヘルプファイルにはならない。~ もし日本語化されたHTMLファイルが''build\html''にある場合,''build\htmlhelp''出来たpythonxxx.hhp,pythonxxx.hhc,pythonxxx.hhk,pythonxxx.stpを,''build\html''にコピーして''build\html''のpythonxxx.hhpをダブルクリックしてHTML Help Workshopを起動しコンパイルすれば,ほぼ日本語化されたpythonxxx.chmファイルが作成することもできる。 * LaTeXを使ってPDFファイルを作成する [#dac558c6] Sphinxでは,[[LaTeX>https://ja.wikipedia.org/wiki/LaTeX]]を使用してTeX日本語ドキュメントを出力出来て,そこからPDFファイルを作成できる。~ この場合,LaTeX([[W32Tex>https://texwiki.texjp.org/?W32TeX]]を使ってる)やその他の周辺ツール,スタイルファイルなどが必要になる。 日本語用のクラスファイルは,pTeXに付属するjarticle, jreport, jbookや,pLaTeX2eのjsarticle, jsbookがある。~ LaTeXでは,article, report, bookは,それぞれ論文,報告書,書籍用というように使い分けするようだ。 ''conf.py''ファイルのOptions for LaTeX outputにある使用するエンジンを''xelatex''をコメントアウトする。 #latex_engine = 'xelatex' Sphinxのクラスでhowto, manualは,howtoが短い文書,manualが長い文書用に利用されるようだ。 ''conf.py''ファイルの''latex_elements['preamble']''に,以下のように追加する。 latex_elements['preamble'] = r''' \authoraddress{ \sphinxstrong{Python Software Foundation}\\ Email: \sphinxemail{docs@python.org} } \let\Verbatim=\OriginalVerbatim \let\endVerbatim=\endOriginalVerbatim \usepackage[utf8]{inputenc} \DeclareUnicodeCharacter{017F}{\={s}} \DeclareUnicodeCharacter{212A}{\={.}} : : ** texファイルを作成して,さらにpdfファイルを作成する [#ab6bf0be] DocディレクトリにMakefile等があるので,それを使ってtexファイルを作成する。 > make latex PAPER=a4 この時,文書サイズをA4かletterか指定できる。~ うまくいくと,build/latexディレクトリに.texファイルが作成されている。 いくつかの.texファイル(library.tex,howto-logging.tex,using.tex)で画像を読み込んでいるがエラーが出るので, \usepackage[dvipdfmx]{graphicx} を \usepackage{sphinx} の前あたりに追加する。 texファイルからPDFファイルに変換してみる。 > cd build/latex > make all-pdf-ja これで,うまく行けばPDFファイルが作成される。 * 作成した日本語ドキュメント [#v8d8ec6c] 作成したバージョン3.7.2の日本語ヘルプファイル:&ref(python372jp.chm);
« Prev
Next »
開発/Python/Pythonドキュメント のバックアップ一覧
開発/Python/Pythonドキュメント のバックアップソース(No. All)
1: 2019-02-15 (金) 08:16:51
yuji
2: 2019-02-15 (金) 08:19:37
yuji
Attached file: python372jp.chm, Deleted an attach file: python372jp.chm at 2019-02-20 (水) 08:35:58
3: 2019-02-19 (火) 23:36:10
yuji
Attached file: python372jp.chm, Deleted an attach file: python372jp.chm at 2019-02-21 (木) 13:46:13
現: 2020-12-26 (土) 15:07:39
yuji
Attached file: python372jp.chm
Counter: 1499, today: 1, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ