翻译python官方文档:如何开始

基础介绍

python官方文档使用sphinx构建,它是一个python库,可以把写好的文档生成网页、PDF等格式,也可交由社区翻译,翻译后可生成对应语言的文档。

transifex是一个支持多人合作翻译的网站,可在网页进行翻译,也可使用命令同步到本地翻译再提交。不同版本的软件之间往往有相同的字符串,这种情况transifex会自动匹配到其他版本中的字符串。

python的文档翻译托管在transifex上,想参与的话,可以到python.org申请帐号,签字同意协议,并申请成为开发者,然后就可以到transifex找到python团队并申请加入了,申请的时候记得写上相关的python.org帐号信息,并发私信给管理员。

通过管理员验证后,就能开始进行网页翻译了。
如果想在本地翻译,或在本地生成文档,就要把相应的po文件下载下来了。

翻译工作流

原始的rst文件可由
   sphinx-build -b gettext . _pot
生成.pot文件,放在_pot文件夹中。
然后生成po文件(这一步不需要自己操作),编辑po文件
sphinx可以直接处理po文件,也可以用命令msgfmt处理成mo文件,然后就能编译了

生成文档

首先下载python源码,比如翻译3.6版本的,就到github下载Tag为3.6的cpython,写此文时刻最新的是3.6.3。下载后,其中Doc文件夹就是文档了,可以使用sphinx相关工具生成文档。

进入Doc目录后,运行命令:

    sphinx-build -D language=zh_CN -b html . _html

就能把中文文档构建到_html文件夹中,-D表示额外参数,-b表示构建目标,此处为网页。

同步po文件

网页上翻译的po文件有456个左右,一个一个点下载,操作量太大了。可以使用python的软件包:transifex-client,来进行同步。

首先关联python团队的python-36项目:

tx set --auto-remote "https://www.transifex.com/python-doc/python-36"

这个过程比较长,网络慢。
下载后的文件也不能直接用……于是稍作修改,用正则替换,把原来的

translations/python-36.about/.po

换成locales//LC_MESSAGES/about.po

注意,还有些有子文件夹,比如library--xml要改成

locales//LC_MESSAGES/library/xml.po

然后tx pull -l zh_CN就能把所有文件同步下来了,网页翻译后可再次运行,更新翻译后的文件。如果在本地进行翻译,也可做相应push操作。


有了本地生成的网页,翻译工作方便多了,可随时编译查看,找找感觉

你可能感兴趣的:(翻译python官方文档:如何开始)