1: 2019-02-15 (金) 08:16:51 yuji ソース 現: 2020-12-26 (土) 15:07:39 yuji ソース
Attached file: python372jp.chm
Line 1: Line 1:
* Pythonのドキュメントの日本語化とヘルプファイル [#j419f555] * Pythonのドキュメントの日本語化とヘルプファイル [#j419f555]
-Pythonを使っている人は''Pythonの公式ドキュメント''がマニュアルとなります。~+私はPython初心者で,''Pythonの公式ドキュメント''をマニュアルとしてよく見る。~
公式オリジナルの英語版が https://docs.python.org/3/ で公開されていて,その日本語に翻訳されたものが https://docs.python.jp/3/ で公開されている。~ 公式オリジナルの英語版が https://docs.python.org/3/ で公開されていて,その日本語に翻訳されたものが https://docs.python.jp/3/ で公開されている。~
-Pythonのドキュメントには,WindowsのHELPファイルがリリースされているが,日本語翻訳したものは公式にはリリースされていない。+PythonをインストールするとWindowsのヘルプファイルも提供されるが,日本語翻訳したものは公式にはリリースされていないみたい。
-一応,[[Python Japanese Environment>https://ja.osdn.net/projects/pythonjp/]]で,Python 2.7の日本語Windows HELPファイルがあるが,なぜかエラーが表示されて正常に表示されない。~ +一応,[[Python Japanese Environment>https://ja.osdn.net/projects/pythonjp/]]で,Python 2.7の日本語Windowsヘルプファイルがあるのだが,なぜかエラーが毎回表示されてしまう。また,最新のバージョンのものは残念ながら見つからない。
-また,最新のバージョンのものは残念ながら無い。+
-そこで,日本語翻訳されたWindowsのHELPファイルを作成してみることにした。+そこで,日本語翻訳されたWindowsのヘルプファイルを作成してみることにした。
[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]の活動のおかげで,日本語訳のリソースは手に入れることが出来る。~ [[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]の活動のおかげで,日本語訳のリソースは手に入れることが出来る。~
-これを使用して,日本語のWindows HELPファイルを作成してみる。+これを使用して,日本語のPythonのヘルプファイルを作成してみる。
-* ソースコードからHTMLドキュメントを作成する [#vb732b95] +* ソースコードと日本語リソースを用意する [#vb732b95] 
-まず,Pythonのドキュメントから日本語のドキュメント(HTML)を作成する。+まず,Pythonのドキュメントから日本語のドキュメント(HTML)を作成してみる。
** ビルドに必要なツールを用意する [#zeba009d] ** ビルドに必要なツールを用意する [#zeba009d]
ドキュメントを作成するのに必要なツールSphinx(Pythonで動作する)やTransifex(翻訳プロジェクト)などを,インストールする。 ドキュメントを作成するのに必要なツールSphinx(Pythonで動作する)やTransifex(翻訳プロジェクト)などを,インストールする。
 > pip install sphinx  > pip install sphinx
 + > pip install sphinx-intl
 > pip install blurb  > pip install blurb
 > pip install transifex-client  > pip install transifex-client
** Pythonのソースコードを準備 [#p0d51217] ** Pythonのソースコードを準備 [#p0d51217]
-Pythonのドキュメントを作成するには,Pythonのソースコードが必要になる。+Pythonのドキュメントを作成するのに,Pythonのソースコードにドキュメントのソースも含まれているので必要になる。
-Pythonの[[公式サイト>https://www.python.org/]]から,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  > tar xvfz Python-3.7.2.tgz
 > cd Python-3.7.2  > cd Python-3.7.2
-別の方法として,[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]から,日本語翻訳ドキュメントが含まれたPythonのソースコードをダウンロード出来る。+別の方法として,[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/cpython-doc-intl]]から,Sphinxの設定が含まれたPythonのソースコードをダウンロード出来る。
-ただ,翻訳作業が終了後リポジトリが更新されるので,最新バージョンが用意されるまでは時間がかかる。02/08/2019時点での最新版は3.6.5だった。+ただ,翻訳作業が終了後にリポジトリが更新されるので,最新バージョンが用意されるまでは時間がかかる。いまのところ用意されている最新版は3.6.5だった。
 > git clone https://github.com/python-doc-ja/cpython-doc-intl  > git clone https://github.com/python-doc-ja/cpython-doc-intl
 > cd cpython-doc-intl  > cd cpython-doc-intl
 > git checkout intl-3.6  > git checkout intl-3.6
-この場合,ディレクトリ構成は以下のようになる。 +** Sphinxの設定ファイルを修正 [#e1844232] 
- cpython-doc-intl/        <- cpython-doc-intl をチェックアウトしたもの +Sphinxを使用して日本語ドキュメントが出力されるように,''conf.py''ファイルの''General configuration''のどこかに,以下の追加・修正をする。 
-    : + language = 'ja' 
-    : + locale_dirs = ['locale/'] 
-   Doc/                  <- 原文に日本語版用の差分を加えたもの + gettext_compact = False 
-       locale/             <- py36-locale をチェックアウトしたもの +   
-          .tx/config      <- Transifex プロジェクトの設定ファイル +   
-          ja/LC_MESSAGES/  <- Transifex からダウンロードした翻訳ファイル (.po ファイル) + today_fmt = '%m/%d/%Y'
-    : +
-    : +
- +
-[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]からダウンロードした場合は,以下の翻訳ドキュメントのリソースをダウンロードする必要はない。+
** 翻訳済みリソースをTransifexからダウンロードする [#sb5a1327] ** 翻訳済みリソースをTransifexからダウンロードする [#sb5a1327]
-Pythonの[[公式サイト>https://www.python.org/]]からのソースコードには日本語化したドキュメントが入っていないので, Pythonドキュメント日本語訳プロジェクト [[transifex>https://www.transifex.com/]] で翻訳作業を行われているので,そこから日本語訳リソースをダウンロードする。+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/]] に参加して,翻訳作業を行うことが出来る。(翻訳作業は大変な労力が必要なので多くの人の協力が必要。参加したい。)+Pythonドキュメント日本語訳プロジェクトのリソースを使う場合は,[[transifex>https://www.transifex.com/]]のアカウントを作成する必要はない。
-まず,Pythonドキュメント日本語訳プロジェクト [[transifex>https://www.transifex.com/]] でアカウントを作成する。+まず,[[transifex>https://www.transifex.com/]] でアカウントを作成する。アカウントが作成できたらAPIキーを作成しておく。翻訳者として登録しない場合は,アカウントを使用できるのは''15日間''。
-アカウントが作成できたら,''~/.transifexrc''ファイルを以下の内容で作成する。+''~/.transifexrc''ファイルを以下の内容で作成する。
 [https://www.transifex.com]  [https://www.transifex.com]
 hostname = https://www.transifex.com  hostname = https://www.transifex.com
- token =+ token = xxxxxxxxxxxxxx
 username = <ユーザー名>  username = <ユーザー名>
 password = <パスワード>  password = <パスワード>
-翻訳者として登録しない場合は,アカウントを使用できるのは''15日間。''+tokenには,作成したAPIキーを設定する。
翻訳のチームに参加ボタンを押して参加を表明し,承認されれば(メールで送られてくる),翻訳リソースをダウンロードできるようになる。~ 翻訳のチームに参加ボタンを押して参加を表明し,承認されれば(メールで送られてくる),翻訳リソースをダウンロードできるようになる。~
-Pythonドキュメント日本語訳プロジェクト [[transifex>https://www.transifex.com/]] での翻訳作業の成果を, [[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]] に公開しているようだ。~+Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] での翻訳作業の成果を, [[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]] に公開しているようだ。~
-[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]のリポジトリは,バージョン3.6.5は,自由にダウンロードできる。(02/08/2019時点)~ +翻訳するための設定ファイル.tx/configファイルを作成する。 
-バージョン3.6.5の翻訳リソース.poファイルがgithubで公開されているので,それをダウンロードする場合は以下のようにする。~+ > cd locale 
 + > sphinx-intl create-txconfig 
 +  
 +Pythonドキュメントソースからメッセージカタログ(.pot)ファイルを作成する。~ 
 + > cd .. 
 + > sphinx-build -b gettext . locale/pot 
 + 
 +翻訳するための設定ファイル.tx/configファイルをpotファイル情報で更新する。 
 + > cd locale 
 + > sphinx-intl update-txconfig-resources --pot-dir pot --transifex-project-name="python-newest" 
 + > awk '/file_filter/{sub("locales/","");print $0} !/file_filter/{print $0}' .tx/config > .tx/config.2 
 + > cp .tx/config.2 .tx/config 
 + > rm .tx/config.2 
 + > tx pull -l ja 
 +とすると,現在翻訳作業中の翻訳リソースの.poファイルがダウンロードできる。 
 + 
 +*** Pythonドキュメント日本語訳プロジェクトのリソースを使う場合 [#n16ba263] 
 +[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]のリポジトリに日本語訳されたドキュメントリソースがある。最新はバージョン3.6.5。このバージョンで良ければ,以下のようにして.poファイルをダウンロードする。~
 > cd Doc  > cd Doc
 > git clone https://github.com/python-doc-ja/py36-locale locale  > git clone https://github.com/python-doc-ja/py36-locale locale
- > cd locale +.poファイルは,Doc/locale/ja/LC_MESSAGES/にダウンロードされる。
-で取得できる。.poファイルは,Doc/locale/ja/LC_MESSAGES/にダウンロードされる。+
バージョン3.7.2の場合は, バージョン3.7.2の場合は,
 > cd Doc  > cd Doc
 > git clone https://github.com/python-doc-ja/py37-locale locale  > git clone https://github.com/python-doc-ja/py37-locale locale
- > cd locale 
とすれば良いと思われるが,残念ながらまだリポジトリにアップされていない。(翻訳作業自体は進んでいる。) とすれば良いと思われるが,残念ながらまだリポジトリにアップされていない。(翻訳作業自体は進んでいる。)
-翻訳作業を行っている transifexから直接バージョン3.7.2の.poファイルをダウンロードする場合は,~ +* 日本語ドキュメント(HTML)を作成 [#w722d888] 
- > locale +''conf.py''ファイルのOptions for HTML outputに,以下の修正をする。 
- > tx config mapping-remote https://www.transifex.com/python-doc/python-newest/ + html_last_updated_fmt = '%m/%d/%Y'
-として,txの設定ファイル''.tx/config''を作成する。~ +
-そして,.tx/configファイルを, +
- [main] +
- host = https://www.transifex.com +
- type = PO+
- [python-newest.about] +翻訳した.poファイル(実際には.moファイル)を使用して,ドキュメントファイル(HTMLファイル)をビルドしてみる。~ 
- file_filter = <lang>/LC_MESSAGES/about.po + > make clean html
- source_file = pot/about.po +
- source_lang = en+
- [python-newest.bugs] +自分で翻訳を修正したりしたい場合は,Doc/locale/ja/LC_MESSAGES/にある.poファイルを,好みに編集してビルドすれば良い。
- file_filter = <lang>/LC_MESSAGES/bugs.po +
- source_file = pot/bugs.po +
- source_lang = en+
- [python-newest.c-api--abstract] +これでうまく行けば,''日本語訳されたHTMLのドキュメント''がDoc/build/htmlに作成される。
- file_filter = <lang>/LC_MESSAGES/c-api/abstract.po +
- source_file = pot/c-api--abstract.po +
- source_lang = en +
-  : +
-  : +
-のような構成に修正する。+
-そして, +* Windowsのヘルプファイルchmを作成する [#s57c9c9b] 
- > tx pull -l ja +HTMLのドキュメントが作成出来れば,Windowsで使われるヘルプファイルである.chmファイルを作成できる。
-とすると,.poファイルがダウンロードできる。+
-* 日本語ドキュメント(HTML)を作成 [#w722d888] +作成するには,Microsoftの [[HTML Help Workshop>https://www.microsoft.com/en-us/download/details.aspx?id=21138]] が必要になる。
-Sphinxを使用して日本語ドキュメントが出力されるように,''conf.py''ファイルのGeneral configurationのどこかに,以下の設定を追加する。 +
- language = 'ja' +
- locale_dirs = ['locale/'] +
- gettext_compact = False +
-翻訳した.poファイルを使用して,ドキュメントファイル(HTMLファイル)をビルドしてみる。~ +
-Sphinxを使用して,以下のようにしてドキュメントをビルド作成する。 +
- > cd .. +
- > make clean html+
-自分で翻訳を修正したりしたい場合は,Doc/locale/ja/LC_MESSAGES/にある.poファイルを,好みに編集してビルドすれば良い。+** .chmファイルを作成する [#a6884bf6] 
 +DocディレクトリにMakefile等があるので,それを使ってHTML Help Workshopが使用するプロジェクトファイルを作成する。 
 + > make htmlhelp 
 +Doc\build\htmlhelpに,HTMLファイルとpythonxxx.hhp,pythonxxx.hhc,pythonxxx.hhk,pythonxxx.stpが作成されている。
-これでうまく行けば,''日本語訳されたHTMLのドキュメント''がDoc/build/htmlに作成される。+''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] * LaTeXを使ってPDFファイルを作成する [#dac558c6]
-[[LaTeX>https://ja.wikipedia.org/wiki/LaTeX]]を使用して,PDFファイルを作成する。+Sphinxでは,[[LaTeX>https://ja.wikipedia.org/wiki/LaTeX]]を使用してTeX日本語ドキュメントを出力出来て,そこからPDFファイルを作成できる。
-この場合,LaTeXやその他の周辺ツール,スタイルファイルなどが必要になる。+この場合,LaTeX([[W32Tex>https://texwiki.texjp.org/?W32TeX]]を使ってる)やその他の周辺ツール,スタイルファイルなどが必要になる。 
 + 
 +設定ファイル''conf.py''の''Options for LaTeX output''で,使用するエンジン''xelatex''をコメントアウトする。 
 + #latex_engine = 'xelatex' 
 +これは,デフォルトの''platex''を使うようにするため。
-Sphinxは,デフォルトエンコーディングとしてUTF-8で処理するので,対応を確認をしておく。 +Sphinxのクラスにhowtoとmanualがあって,howtoが短い文書,manualが長い文書に利用されているようだ。~ 
- > platex --help +使用するドキュメントクラスは,デフォルト設定のhowtoに''jreport'',manualに''jsbook''が使われる。変更したい場合は, 
-  : + latex_docclass = {"howto": "jsreport", "manual": "jsbook"} 
- -kanji=STRING          set Japanese encoding (STRING=euc|jis|sjis|utf8) +のように設定する。
-  +
-と,表示されれば大丈夫だと思う。+
-日本語用のクラスファイルは,pTeXに付属するjarticle, jreport, jbookと,奥村晴彦氏によるpLaTeX2eのドキュメントクラスjsarticle, jsbookがある。+Pythonのドキュメントには,İ (U+0130), ı (U+0131), ſ (U+017F), K (U+212A), Ü (U+00DC), ü (U+00FC) , Є (U+0404) の非ASCii文字が含まれている。
-LaTeXでは,article, report, bookは,それぞれ論文,報告書,書籍用というように,文書量・用途なんかに応じて使い分けされる。+これらをPDFで出力するために,''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[TS1,T1,T2A]{fontenc} 
 + \usepackage{lmodern} 
 + \usepackage[utf8]{inputenc} 
 + \usepackage{babel} 
 + \DeclareUnicodeCharacter{212A}{\ensuremath{\mathrm{K}}} 
 + \DeclareUnicodeCharacter{017F}{{\fontencoding{TS1}\selectfont s}} 
 + \DeclareUnicodeCharacter{0404}{\fontencoding{T2A}\CYRIE} 
 + ''' 
 +//ただ,Є (U+0404) を表示する仕方がわからない。しょうがないんで,この文字はεでドキュメントのソースコード(locale\ja\LC_MESSAGES\whatsnew\3.7.po)を修正した。
-この日本語を出力用のクラスファイルを利用するには,''conf.py''ファイルのOptions for LaTeX outputに,以下のような設定を追加する。~ +いくつかの.texファイル(library.tex,howto-logging.tex,using.tex)で,画像を読み込んでいるところでエラーが出るので,''conf.py''の''Options for LaTeX output''に,以下を追加する。 
-また,使用するエンジンを''xelatex''を''pdfplatex''に変更する。 + latex_elements['passoptionstopackages'] = r''' 
- latex_engine = 'pdfplatex+ \usepackage[dvipdfmx]{graphicx
- latex_docclass = {"howto": "jsarticle", "manual": "jsbook"+ '''
-howto, manualはSphinx独自のクラスファイルで,howtoが短い文書,manualが長い文書用に利用されるようだ。~ +
-この設定を行うと,howto, manualがそれぞれjsarticle, jsbookをクラスファイルとして利用されるようになる。+
** texファイルを作成して,さらにpdfファイルを作成する [#ab6bf0be] ** texファイルを作成して,さらにpdfファイルを作成する [#ab6bf0be]
-DocディレクトリにMakefile等があるので,それを使ってPDFを作成する。~ +DocディレクトリにMakefile等があるので,それを使ってtexファイルを作成する。
-まずtexファイルを作成する。+
 > make latex PAPER=a4  > make latex PAPER=a4
この時,文書サイズをA4かletterか指定できる。~ この時,文書サイズをA4かletterか指定できる。~
Line 153: Line 164:
texファイルからPDFファイルに変換してみる。 texファイルからPDFファイルに変換してみる。
 + > cd build/latex
 > make all-pdf-ja  > make all-pdf-ja
これで,うまく行けばPDFファイルが作成される。 これで,うまく行けばPDFファイルが作成される。
- 
-* Windowsのヘルプファイルchmを作成する [#s57c9c9b] 
-HTMLのドキュメントが作成出来ていれば,Windowsで使われるヘルプファイルである.chmファイルを作成できる。 
- 
-作成するには,Microsoftの [[HTML Help Workshop>https://www.microsoft.com/en-us/download/details.aspx?id=21138]] が必要になる。~ 
-Visual Studioを使っていっれば,既にインストールされていると思う。 
- 
-** .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ファイルが作成される。 
* 作成した日本語ドキュメント [#v8d8ec6c] * 作成した日本語ドキュメント [#v8d8ec6c]
-作成したバージョン3.7.2の日本語ヘルプファイル:#ref(python372jp.chm)+作成したバージョン3.7.2の日本語ヘルプファイル:&ref(python372jp.chm);


トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 1499, today: 1, yesterday: 0