Contents
DiveIntoPythonZh -- 《深入Python》中文翻译项目 |
|
|
缘起
深入Python (Dive Into Python) 太经典的一部理解Python 的书!但是中文版本的怎么也跟不上更新进度,看了太多简单的中文的学习体验后,还是期望大家有一个深入学习的基础!
DocBook 又是种非常好学好用的技术图书组织工具!
以这本好书为目标和练习对象,让大家共同来翻译并顺手学用 DocBook !
《DocBook学习》 —— limodou 所写的入门书
计划
成员
OsmondLiang -- CDBE 作者, DocBook 热衷者,负责工具/环境的使用指导
freeflying ([email protected]) -- Debian/Ubuntu 版本维护
ZoomQuiet -- 杂务,负责组织资源协调,人员组织
limodou 提供初始版本,并负责创建xml转换程序,决定使用python来做。
JasonXie -- 编外人员。OsmondLiang 的朋友。经济学和英语出身,自学IT,媒体行业混饭吃的。
- 欢迎有更多的成员加入进来,共同翻译并学习Python
翻译
翻译方法
- 使用SVN工具直接导出 diveintopython-zh-5.4 目录
- 翻译 zh-cn/xml/目录下的xml文件
- 在 zh-cn 目录下 执行 make html (Windows下是 make.bat;Linux下是 make.sh)输出html文件,之前要安装JRE/JDK(Windows下还需安装 Python)。
积累到一定程度,需要 SVN 检入时,请与 ZoomQuiet 联系。
编译 docbook 所要用到的 lib 文件 lib.zip 。
也可以下载主站组织的翻译用脚本diveintopython-common-5.4.zip
认领文件
注意1:认领后再翻译,以免重复劳动。您可以直接编辑本WIKI页来认领您要翻译的文件。 注意2:执行译者交叉审校机制, 您可以直接编辑本WIKI页来认领您要审校的文件。
文件名 |
chapter id |
翻译者 |
翻译进度 |
审校者 |
审校进度 |
备注 |
|
info.xml |
|
limodou |
|
Osmond |
|
|
|
bookinfo.xml |
|
limodou |
|
Osmond |
|
||
install.xml |
1.install |
Osmond |
|
|
|
limodou 翻译,Osmond 整理。 |
|
odbchelper.xml |
2.odbchelper |
Osmond |
|
|
|
limodou 翻译,Osmond 整理。 |
|
3.datatypes |
|||||||
apihelper.xml |
4.apihelper |
|
|
|
|||
fileinfo.xml |
5.fileinfo |
limodou |
|
|
|
limodou 翻译,Osmond 整理。 |
|
6.filehandling |
Osmond |
|
|
|
limodou 翻译,Osmond 整理。 |
||
re.xml |
7.re |
ZoomQuiet;Weigang LI |
|
50% |
欢迎合作进行:: DipZhRe (部分正文)_就等着看你的了(Lwkj) |
||
dialect.xml |
8.dialect |
Osmond |
|
|
|
limodou 翻译,Osmond 整理。 |
|
kgp.xml |
9.kgp |
|
|
|
|
||
10.streams |
|||||||
openanything.xml |
11.oa |
Osmond |
|
|
|
|
|
soap.xml |
12.soap |
Osmond |
|
|
|
|
|
roman.xml |
13.roman |
wolfg |
|
|
|
请 wolfg 留下 E-mail,以便联系 |
|
14.roman1.5 |
Jason Xie |
|
|
|
|
||
15.roman2 |
Jason Xie |
|
|
|
|
||
regression.xml |
16.regression |
Jason Xie |
|
|
|
|
|
plural.xml |
17.plural |
Jason Xie |
|
|
|
|
|
soundex.xml |
18.soundex |
Jason Xie |
|
|
|
|
|
appendix.xml |
|
Osmond |
|
|
|
|
|
fdl.xml |
|
可不翻译 |
|
|
|
|
|
license.xml |
|
可不翻译 |
|
|
|
|
|
index.xml |
|
Osmond |
|
|
|
|
审校进度
|
第一校 |
第二校 |
第三校 |
第四校 |
||||
文件名 |
审校者 |
审校进度 |
审校者 |
审校进度 |
审校者 |
审校进度 |
审校者 |
审校进度 |
info.xml |
limodou |
|
Osmond |
|
XiaQ |
|
|
|
bookinfo.xml |
limodou |
|
Osmond |
|
XiaQ |
|
|
|
install.xml |
limodou |
|
Osmond |
|
XiaQ |
|
|
|
odbchelper.xml |
Jason Xie |
|
Osmond |
|
XiaQ |
|
|
|
odbchelper.xml |
Jason Xie |
|
Osmond |
|
XiaQ |
|
|
|
apihelper.xml |
Osmond |
|
Jason Xie |
|
XiaQ |
|
|
|
fileinfo.xml |
Osmond |
|
Jason Xie |
|
XiaQ |
|
|
|
re.xml |
|
Osmond |
|
XiaQ |
|
|
|
|
dialect.xml |
osmond |
|
|
|
XiaQ |
|
|
|
kgp.xml |
osmond |
|
|
|
XiaQ |
|
|
|
openanything.xml |
Jason Xie |
|
|
|
XiaQ |
|
|
|
soap.xml |
Jason Xie |
|
|
|
XiaQ |
|
|
|
roman.xml |
Osmond |
|
wolfg |
|
XiaQ |
|
|
|
regression.xml |
Osmond |
|
|
|
XiaQ |
|
|
|
plural.xml |
Osmond |
|
limodou |
|
Osmond |
|
XiaQ |
|
appendix.xml |
Osmond |
|
limodou |
|
Osmond |
|
XiaQ |
|
index.xml |
Jason Xie |
|
Osmond |
|
Jason Xie |
|
XiaQ |
|
5.4 总结
可以在 svn://svn.woodpecker.org.cn/woodpecker/zh-translations/trunk/diveintopython/doc/5.4-osmond-summary 检出 s5 格式的演示文档。
Contents
DIP 5.4 简体中文版本正式释放说明
经过大家的共同努力,Dive Into Python 5.4 简体中文版终于在 2006/04/25 出炉了。
原来的 http://cn.diveintopython.org 已经重定向到了新地址 http://www.woodpecker.org.cn/diveintopython/ 。
DIP 的翻译成果
本次释放的版本 [DIP_5_4_CPUG_RELEASE] 是截止到 2006/04/25 的更新。
源代码SVN检出地址: http://openbookproject.googlecode.com/svn/trunk/DiP/
在 http://www.woodpecker.org.cn/diveintopython/ 可以下载到如下压缩文件
- HTML
- HTML (single file)
- CHM
- XML
继续维护的版本
翻译过程中还会有疏漏,我们将继续维护 DIP 5.4 的中译版。
- SVN地址:
- http 协议的地址不能提交,要提交请使用 svn 协议。
大家对本译本有任何问题可以进一步讨论:
翻译工程的组织
- 希望下面的信息对其他社区在组织类似的翻译项目时会有所帮助。
启动此项目的缘由
- Python
- Python 是一个面向对象的优秀的脚本语言
- Dive Into Python 是一部经典的理解 Python 的书!
- limodou 曾经翻译了 v1.0 版本,深受 Pythonic 喜爱
- 中文版本的更新一直没有跟上进度
- 对 Python 的喜爱
- 想学习 Python 语言
- 服务于广大的 Pythonic
应 ZoomQuiet 之邀
[DiveIntoPythonZhConfabulate 交流过程历史记录]
项目时间表
- 立项:2005/12/01
- 翻译:2005/12/01 - 2006/03/12
- 第一次整体编译:2006/03/12
- 纠错:2006/03/12 - 2006/04/25
- 与原作者联系:2006/04/05
- 与Ubuntu社区联系:2006/04/20
- 发布:2006/04/25
项目工具
服务器端
- trac+Subversion
作者提供的DocBook脚本工具(经过修改)
- python+xsltproc+Shell
由于Java环境问题,在服务器上用 xsltproc 实现解析
具体的shell 脚本可以参考:build.sh
客户端
作者提供的DocBook脚本工具
- JDK+Python
- SVN客户端
团队协作和工作流程
团队协作
- 本项目是多人共同合作的结果,需要大量的协作交流。大家主要以三种的方式进行协作交流:WIKI、gtalk、邮件列表。
- 使用wiki:认领文件、汇报翻译和校对进度
- 使用邮件列表:宣传本项目、招募翻译和校对人员、发布最新消息
- 使用gtalk:进行实时交流,如翻译问题、术语核对等
工作流程的设立
- 考虑到本项目是一个多人协作的项目,必须设计好工作流程。
- 为译者提供 SVN 检入帐号
- 为了避免重复劳动,设置了翻译文件认领机制,遵循认领后再进行翻译的原则(在WIKI上认领)
- 在翻译期间,译者应该在WIKI页面上汇报翻译进度,若长时间没有进展,与其协商是否更换译者
- 在翻译期间,执行译者交叉审校机制,由译者间实现 一校、二校、三校,并在WIKI页面上汇报校对进度
- 在翻译后期,执行广泛校对机制,即将翻译结果释出由广大读者提出批评意见,并由译者团队人员进行修改
团队成员
- limodou (limodou AT gmail DOT com)
- Zoom.Quiet (zoom.quiet AT gmail DOT com)
- Jason Xie (jason AT sinoesl DOT org)
YuLin (yulin724 AT gmail DOT com)
- Weigang LI (dimens AT gmail DOT com)
- wolfg (wolfg1969 AT gmail DOT com)
- Osmond (sinosmond AT gmail DOT com)
翻译和校对的工作流程
翻译工作流程
- 在WIKI中认领要翻译的文件
- 从SVN检出xml源码
- 翻译xml文件
- 本地编译输出html查看效果
- 自行校对
- 检入SVN
校对工作流程
- 译者交叉审校机制(有SVN检入帐号)
- 在WIKI中认领要校对的文件
- 从SVN检出xml源码
- 修改xml文件
- 检入SVN
- 广泛校对机制(无SVN检入帐号)
适用于不熟悉 DocBook XML 的广大读者
- 可以使用 WIKI、BLOG、邮件列表等途径汇报错误,再由有SVN检入帐号的成员修改xml源代码并提交
与原作者和其他社区联系
与原作者联系
与原作者联系的主要任务:
- 翻译前向原作者确认,以免重复劳动
对于非Open Book使用开源许可证的图书,翻译前应获得原作者授权
- 翻译后向原作者汇报,并确认发布地址
与Ubuntu社区联系
缘起:由于在Debian/Ubuntu中看到了 DiveIntoPython 的英文包,所以决定与国内的Ubuntu社区联系。
交流过程
与 http://ubuntu.org.cn 的站长 oneleaf (oneleaf AT gmail DOT com) 联系说明意图
经 oneleaf 介绍与负责中文包的 HouZhengPeng (zhengpeng.hou AT gmail DOT com)取得了联系
HouZhengPeng与 http://ubuntu.org 确认是否可以将翻译结果纳入软件包库
提供 HTML 包由 HouZhengPeng 制作 .deb 包
HouZhengPeng提供了供测试的 .deb 包
大家在 Ubantu/Debian 上使用 $ sudo dpkg -i diveintopython-zh_5.4-0ubuntu1_all.deb 命令安装并测试
diveintopython-zh_5.4-0ubuntu1_all.deb 啄木鸟本地分享,由SVN维护
向 HouZhengPeng汇报测试情况
HouZhengPeng将测试好的 .deb 包提交给 Ubuntu 软件包仓库
- 制作 .deb 包对HTML原包的要求(注意事项)
- 文件使用 utf-8 编码
- 每个文件应该以 换行符 结束
- HTML原包不能包含 .svn 信息
其他参与者
员旭鹏 <recordus AT gmail DOT com> 制作了非官方pdf版
- 以下人员曾对译本提出过校对意见:
- hydonless
nsinit <nsinit AT 163 DOT com>
Xie Yanbo <xieyanbo AT gmail DOT com>
- ……
进一步思考
关于 trac
- 虽然在服务器上安装了 trac,但是在项目中并没有充分利用,如:Ticket功能的使用等
- 在安装了 trac 的情况下,也可以直接使用 trac 的 wiki 实现协同工作,即使用一个统一的管理工具
- 因为Trac 和SVN 紧密结合,是种非常好的针对具体项目的讨论平台
关于 评注系统
- 当前在校对征求意见的过程中采用wiki、邮件列表、BLOG等方式,提供多种方式主要是为了方便大家使用自己习惯的工具
- 由于意见源种类多,不便于收集,最好能实现单一的意见源
前天发现了一个系统 docbook_review,希望可以立刻在啄木鸟上安装配置这个系统
具体如何的哪?review-system是 404 哪!没有此页面了
关于 翻译项目管理平台
熟悉 DocBook XML 的人毕竟是少数,直接修改源代码的方式不利于更多人的参与
- 期望能在不久的未来能为大家提供一个翻译项目管理平台,方便在线翻译
项目相关技术
DocBook
Subversion
每日更新环境部署(请Zoomq添加)
基本思想是通过 SubVersion 自动对更新的XML进行处理生成可读的页面:
使用 SubversionHooks 脚本的定制,来作到将检入的文件自动更新到指定目录
后来由于.deb包的要求,从原先update文件修正为 export --force文件到指定目录中
使用/etc/crontab 定时运行xsltproc 脚本来每日两次重构最终HTML 文件展示
5.4 反馈
我看到的翻译错误:
8.4 SGMLParser 子类化 BaseHTMLProcessor, 应为 BaseHTMLProcessor子类化 SGMLParser 8.1 下载本程序和其他例子程序 链接有误 http://diveintopython.org/download/diveintopython-examples-5.4_zh-cn.zip 8.9 您可能会认为我正在拿服务端脚本编程开玩笑。在我发现这个基于 web 的方言转换器之前,的确是这样认为的。 不幸的是,看不到它的源代码。应为: 您可能会认为我的服务端脚本编程想法是在开玩笑。在我发现这个基于 web 的方言转换器之前,我的确是这样认为的(所以,现在这不是在开玩笑)。不过,看不到它的源代码。
--zhangfance
- 翻译不必完全重新来过,如果认为我以前的翻译还可用的话,可以参照着进行,以加快进度。以前的翻译文本在
diveintopython-1.0-limodou.rar
但高版本出现后,目录及内容变化挺大的。曾经有段时间想再翻译完成,而且已经是按照docbook的格式进行的,但后来东西不小心全丢了就没有继续下去。但一部分工作是按新目录结构翻译的已经被我上传到我的个人zope主页DiveIntoPython上去了,因此这部分内容也可以参考。 -- limodou
- 关于 Dive Into Python 的翻译
(1)翻译 Dive Into Python 我不主张使用CDBE,因为作者提供了完整的解决方案,既适用于Linux平台又适用于Windows平台。 [使用作者提供的common压缩包即可,而且最后有作者自己做的 python关键词着色(python代码)] (2)使用作者提供的工具更便于作者统一管理各种翻译版本,如中文版本 http://zh.diveintopython.org/。 <<<实际上一直没有,是空战,盼望我们的翻译项目,可以长期坚持,成为主要内容提供方 (3)我不主张在一个文件中既包含原文又包含译文,我认为还是分开来比较好,以便原书版本更新后,方便地生成po文件, 并针对po文件作少量的翻译工作。 <<<同意,这样一来XSLT 可以通用 (4)我倾向于使用作者本身提供的common压缩包和啄木鸟的SVN直接进行翻译,可以在啄木鸟的后台定时使用cron生成html。 [我将 Dive Into Python 的完整结构压缩成了 diveintopython-5.4.zip ,您解包后导入SVN即可, 翻译人员直接从本地使用svn导出diveintopython-5.4文件夹的全部内容即可在本地使用make编译, 如果想减轻SVN服务器的负担,可以将除了zh-cn目录之外的内容打成zip包让翻译者直接下载,并告知完整的目录结构, 让译者只导出diveintopython-5.4/zh-cn目录并进行翻译] (我参照 limodou 以前的HTML文件翻译了 zh-cn/xml/install.xml 文件,做个例子) (5)感谢 limodou 先前所做的工作。
-- Liang Osmond
Border 的评注被移到了../Discussb,感谢你在第一时间给出反馈(虽然并不存在这个 bug)。
5.4b 反馈
* 我看到的错误: 5.5.9 定义 UserDict 类 if dict is not None: self.update(dict) 应为: if dict is not None: self.data.update(dict) - Border
没有 wiki 编辑权限的成员可以在下面留下对 Dip 5.4b 的意见。