|
1: 2019-02-15 (金) 08:16:51 yuji |
| + | * 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) |