中文编程
首发于中文编程

搭建Python官方文档翻译环境-汉化示例代码

通过官方i18n流程, 实现文档中的代码段的汉化, 效果如下(4. More Control Flow Tools):

步骤

基于python官方3.6版文档cpython/Doc生成pot文件. 参考The build configuration file, 需要在Doc/conf.py中添加配置:

gettext_compact = False
gettext_additional_targets = ['literal-block']

如下命令在_build文件夹中生成pot文件, 如果不设置gettext_compact就不能生成对应路径结构(所有tutorial中文档的可翻译字段都在一个pot文件)

$ sphinx-build -M gettext . _build

如下命令生成对应po文件(参考Internationalization - Sphinx 1.8.0+ documentation):

$ sphinx-intl update -p _build/gettext -l zh

修改构建脚本: 实现代码段翻译. use gettext_additional_targets to translate code samples in … · nobodxbodon/docsbuild-scripts@68e7578)

按照README运行后, 即在www文件夹中生成汉化后的文档


相关代码库

文档构建脚本库: nobodxbodon/docsbuild-scripts

po文件库: nobodxbodon/python-docs-zh

生成的HTML演示库: nobodxbodon/py36zh


其他参考

Getting Started: Overview & Introduction to Concepts

编辑于 2018-04-28

文章被以下专栏收录

    在所有编程语言和领域中尝试编写中文代码,开发相关工具,总结经验,一致代码风格。包括中文命名,汉化现有语言,创造中文语法的编程语言等等。作为最熟悉的母语,用来编写代码会让代码更容易被自己和母语相同的其他开发者理解。基于英文的编程语言和框架中,使用中文命名有时有技术问题。希望这里为后人趟雷,填坑。多数现有API是英文的,这里也会对其中一些常用的进行汉化。当然,这里也会对基于中文的编程语言进行探讨。包括汉化基于英文的编程语言,以及创造新的编程语言。