1: 2019-02-15 (金) 08:16:51 yuji ソース
Line 1: Line 1:
 +* Pythonのドキュメントの日本語化とヘルプファイル [#j419f555]
 +Pythonを使っている人は''Pythonの公式ドキュメント''がマニュアルとなります。~
 +公式オリジナルの英語版が https://docs.python.org/3/ で公開されていて,その日本語に翻訳されたものが https://docs.python.jp/3/ で公開されている。~
 +Pythonのドキュメントには,WindowsのHELPファイルがリリースされているが,日本語翻訳したものは公式にはリリースされていない。
 +
 +一応,[[Python Japanese Environment>https://ja.osdn.net/projects/pythonjp/]]で,Python 2.7の日本語Windows HELPファイルがあるが,なぜかエラーが表示されて正常に表示されない。~
 +また,最新のバージョンのものは残念ながら無い。
 +
 +そこで,日本語翻訳されたWindowsのHELPファイルを作成してみることにした。
 +
 +[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]の活動のおかげで,日本語訳のリソースは手に入れることが出来る。~
 +これを使用して,日本語のWindows HELPファイルを作成してみる。
 +
 +* ソースコードからHTMLドキュメントを作成する [#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のソースコードをダウンロードする。これは,日本語翻訳されたドキュメントのリソースを含んでいません。~
 +適当な作業ディレクトリで解凍する。
 + > tar xvfz Python-3.7.2.tgz
 + > cd Python-3.7.2
 +
 +別の方法として,[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]から,日本語翻訳ドキュメントが含まれたPythonのソースコードをダウンロード出来る。~
 +ただ,翻訳作業が終了後リポジトリが更新されるので,最新バージョンが用意されるまでは時間がかかる。02/08/2019時点での最新版は3.6.5だった。
 + > git clone https://github.com/python-doc-ja/cpython-doc-intl
 + > cd cpython-doc-intl
 + > git checkout intl-3.6
 +
 +この場合,ディレクトリ構成は以下のようになる。
 + cpython-doc-intl/        <- cpython-doc-intl をチェックアウトしたもの
 +   :
 +   :
 +   Doc/                  <- 原文に日本語版用の差分を加えたもの
 +       locale/            <- py36-locale をチェックアウトしたもの
 +         .tx/config      <- Transifex プロジェクトの設定ファイル
 +         ja/LC_MESSAGES/  <- Transifex からダウンロードした翻訳ファイル (.po ファイル)
 +   :
 +   :
 +
 +[[Pythonドキュメント日本語訳プロジェクト>https://github.com/python-doc-ja/python-doc-ja]]からダウンロードした場合は,以下の翻訳ドキュメントのリソースをダウンロードする必要はない。
 +
 +** 翻訳済みリソースをTransifexからダウンロードする [#sb5a1327]
 +Pythonの[[公式サイト>https://www.python.org/]]からのソースコードには日本語化したドキュメントが入っていないので, Pythonドキュメント日本語訳プロジェクト [[transifex>https://www.transifex.com/]] で翻訳作業を行われているので,そこから日本語訳リソースをダウンロードする。
 +
 +Pythonドキュメント日本語訳プロジェクト [[transifex>https://www.transifex.com/]] に参加して,翻訳作業を行うことが出来る。(翻訳作業は大変な労力が必要なので多くの人の協力が必要。参加したい。)
 +
 +まず,Pythonドキュメント日本語訳プロジェクト [[transifex>https://www.transifex.com/]] でアカウントを作成する。~
 +アカウントが作成できたら,''~/.transifexrc''ファイルを以下の内容で作成する。
 + [https://www.transifex.com]
 + hostname = https://www.transifex.com
 + token =
 + username = <ユーザー名>
 + password = <パスワード>
 +翻訳者として登録しない場合は,アカウントを使用できるのは''15日間。''
 +
 +翻訳のチームに参加ボタンを押して参加を表明し,承認されれば(メールで送られてくる),翻訳リソースをダウンロードできるようになる。~
 +Pythonドキュメント日本語訳プロジェクト [[transifex>https://www.transifex.com/]] での翻訳作業の成果を, [[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時点)~
 +バージョン3.6.5の翻訳リソース.poファイルがgithubで公開されているので,それをダウンロードする場合は以下のようにする。~
 + > cd Doc
 + > git clone https://github.com/python-doc-ja/py36-locale locale
 + > cd locale
 +で取得できる。.poファイルは,Doc/locale/ja/LC_MESSAGES/にダウンロードされる。
 +
 +バージョン3.7.2の場合は,
 + > cd Doc
 + > git clone https://github.com/python-doc-ja/py37-locale locale
 + > cd locale
 +とすれば良いと思われるが,残念ながらまだリポジトリにアップされていない。(翻訳作業自体は進んでいる。)
 +
 +翻訳作業を行っている transifexから直接バージョン3.7.2の.poファイルをダウンロードする場合は,~
 + > locale
 + > tx config mapping-remote https://www.transifex.com/python-doc/python-newest/
 +として,txの設定ファイル''.tx/config''を作成する。~
 +そして,.tx/configファイルを,
 + [main]
 + host = https://www.transifex.com
 + type = PO
 +
 + [python-newest.about]
 + file_filter = <lang>/LC_MESSAGES/about.po
 + source_file = pot/about.po
 + source_lang = en
 +
 + [python-newest.bugs]
 + file_filter = <lang>/LC_MESSAGES/bugs.po
 + source_file = pot/bugs.po
 + source_lang = en
 +
 + [python-newest.c-api--abstract]
 + file_filter = <lang>/LC_MESSAGES/c-api/abstract.po
 + source_file = pot/c-api--abstract.po
 + source_lang = en
 +  :
 +  :
 +のような構成に修正する。
 +
 +そして,
 + > tx pull -l ja
 +とすると,.poファイルがダウンロードできる。
 +
 +* 日本語ドキュメント(HTML)を作成 [#w722d888]
 +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ファイルを,好みに編集してビルドすれば良い。
 +
 +これでうまく行けば,''日本語訳されたHTMLのドキュメント''がDoc/build/htmlに作成される。
 +
 +* LaTeXを使ってPDFファイルを作成する [#dac558c6]
 +[[LaTeX>https://ja.wikipedia.org/wiki/LaTeX]]を使用して,PDFファイルを作成する。~
 +この場合,LaTeXやその他の周辺ツール,スタイルファイルなどが必要になる。
 +
 +Sphinxは,デフォルトエンコーディングとしてUTF-8で処理するので,対応を確認をしておく。
 + > platex --help
 +  :
 + -kanji=STRING          set Japanese encoding (STRING=euc|jis|sjis|utf8)
 +  :
 +と,表示されれば大丈夫だと思う。
 +
 +日本語用のクラスファイルは,pTeXに付属するjarticle, jreport, jbookと,奥村晴彦氏によるpLaTeX2eのドキュメントクラスjsarticle, jsbookがある。~
 +LaTeXでは,article, report, bookは,それぞれ論文,報告書,書籍用というように,文書量・用途なんかに応じて使い分けされる。
 +
 +この日本語を出力用のクラスファイルを利用するには,''conf.py''ファイルのOptions for LaTeX outputに,以下のような設定を追加する。~
 +また,使用するエンジンを''xelatex''を''pdfplatex''に変更する。
 + latex_engine = 'pdfplatex'
 + latex_docclass = {"howto": "jsarticle", "manual": "jsbook"}
 +howto, manualはSphinx独自のクラスファイルで,howtoが短い文書,manualが長い文書用に利用されるようだ。~
 +この設定を行うと,howto, manualがそれぞれjsarticle, jsbookをクラスファイルとして利用されるようになる。
 +
 +** texファイルを作成して,さらにpdfファイルを作成する [#ab6bf0be]
 +DocディレクトリにMakefile等があるので,それを使ってPDFを作成する。~
 +まずtexファイルを作成する。
 + > make latex PAPER=a4
 +この時,文書サイズをA4かletterか指定できる。~
 +うまくいくと,build/latexディレクトリに.texファイルが作成されている。
 +
 +texファイルからPDFファイルに変換してみる。
 + > make all-pdf-ja
 +これで,うまく行けば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]
 +作成したバージョン3.7.2の日本語ヘルプファイル:#ref(python372jp.chm)


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