scikit-learn文档中文翻译
scikit-learn文档中文翻译:http://lijiancheng0614.github.io/scikit-learn/
scikit-learn是一个基于Python语言的机器学习工具。
源代码在https://github.com/scikit-learn/scikit-learn
目前稳定的版本是0.17,打算一边学习一边翻译文档:http://scikit-learn.org/0.17/index.html
fork scikit-learn
由于scikit-learn在github上公开了源代码,故只需fork就可以进行开发了。
我fork下来在 https://github.com/lijiancheng0614/scikit-learn ,并新建一个branch叫0.17.X-doc-zh
,生成的文档放在gh-pages
中,因此可以在 http://lijiancheng0614.github.io/scikit-learn/ 看到中文版的文档。
配置中文翻译环境
添加配置到conf.py
中
1 | locale_dirs = ['locale/'] |
添加make选项
1 | echo. gettext to make PO message catalogs |
1 | if "%1" == "gettext" ( |
修复gen_rst.py
的bug
把with open(url, 'r') as fid:
改为with open(url, 'r', encoding='utf-8') as fid:
。
修复Sphinx-1.3.5中gettext.py
的问题
不知道是不是doc和Sphinx的兼容性问题,我这里需要修改gettext.py
来处理传入参数类型不对的问题:
由于source
的类型可能为docutils.statemachine.StringList
,故把
1 | pofile.write("#: %s\n" % "\n#: ".join( |
改为
1 | pofile.write("#: %s\n" % "\n#: ".join( |
翻译
准备翻译文件
提取文档翻译信息到
_build/local/
1
make gettext
生成
po
文件到locale/
1
sphinx-intl update -p _build/locale -l zh
翻译po
文件
在msgstr
所在行写入上一行msgid
所对应的翻译内容,如
1 | msgid "Hello World!" |
生成html并传到gh-pages
生成html
1 | make html-zh |
首次上传
这里把生成的html放在_build/html-zh
中,并用git来版本控制,每次再fetch到外面的gh-pages
的branch,然后上传到github上。
1 | cd doc\_build\html-zh |
以后更新
只需在_build/html-zh
中commit,然后fetch到外面的gh-pages
的branch,再上传到github上。
1 | git fetch doc\_build\html-zh :gh-pages |
自定义
在doc/themes/scikit-learn/layout.html
中可以修改Github "fork me" ribbon和google_analytics信息。