继续嗯哼的说明... [via][Doc-SIG] Translating sample programs in documentation

33 views
Skip to first unread message

Zoom.Quiet

unread,
Apr 21, 2018, 10:20:39 PM4/21/18
to openboo...@googlegroups.com
刚刚收到订阅申请说有明确的翻译计划, 来自:
[Doc-SIG] Translating sample programs in documentation
https://mail.python.org/pipermail/doc-sig/2018-April/003998.html


俺作为发起人, 从09年出版 可爱的 Python 后,
并没有大力宣传 OBP 过程, 而是在具体的图书计划内部中推行,
是有一定责任的,
但是, 现在看, 有网络就有可能, 好的思想总是会不断反复浮现出来,
只是得强调:

OBP 计划, 是一个开放技术社区,
本身除了在线分布式图书过程之外, 并没有太多约束,
而且严守自由软件社区的文化: 谁主张, 谁执行

所以, 有具体翻译工程,那么如何使用 OBP 资源,
完全看大家主动嗯哼,
有任何具体问题, 随时公开共同讨论

以上

happy hacking...



--
life is pathetic, go Pythonic! 人生苦短, Python当歌!
俺: http://zoomquiet.io
授: http://creativecommons.org/licenses/by-sa/2.5/cn/
怒: 冗余不做,日子甭过!备份不做,十恶不赦!
KM keep growing environment culture which promoting organization learning!

fromwheretow...@gmail.com

unread,
Apr 22, 2018, 7:37:26 AM4/22/18
to OpenBookProject(O.B.P)中文蟒样开放技术图书计划
多谢. 开始只是在doc-sig和python-dev提出翻译程序的动议(包括注释, 字符串和变量/函数命名等). 最后豪言要开始着手翻译着实有些意气用事. 主要还是仗着有obp的3.2.2版本文档打底. 但本人没有什么文档翻译经验. 且看看能不能填自己的坑吧. 如有进展会作报告.
现在主要问题是如何在PO文件中实现程序段落翻译: https://zhuanlan.zhihu.com/p/35967026 .


在 2018年4月21日星期六 UTC-7下午7:20:39,Zoom.Quiet写道:

Zoom.Quiet

unread,
Apr 22, 2018, 8:07:59 AM4/22/18
to openboo...@googlegroups.com
2018-04-22 19:37 GMT+08:00 <fromwheretow...@gmail.com>:
> 多谢. 开始只是在doc-sig和python-dev提出翻译程序的动议(包括注释, 字符串和变量/函数命名等).
> 最后豪言要开始着手翻译着实有些意气用事. 主要还是仗着有obp的3.2.2版本文档打底. 但本人没有什么文档翻译经验. 且看看能不能填自己的坑吧.
> 如有进展会作报告.
> 现在主要问题是如何在PO文件中实现程序段落翻译: https://zhuanlan.zhihu.com/p/35967026 .
>

PO 的工程化 I18N 流程,
和 OBP 的原创图书协同流程, 其实有很大不同的...
但是, PO 是类似 XML 的成熟格式,
有海量的工具和案例可以参考;
建议先 google,
然后,拿具体问题来讨论,,,否则, 无法提供帮助哪.

>
> 在 2018年4月21日星期六 UTC-7下午7:20:39,Zoom.Quiet写道:
>>
>> 刚刚收到订阅申请说有明确的翻译计划, 来自:
>> [Doc-SIG] Translating sample programs in documentation
>> https://mail.python.org/pipermail/doc-sig/2018-April/003998.html
>>
>>
>> 俺作为发起人, 从09年出版 可爱的 Python 后,
>> 并没有大力宣传 OBP 过程, 而是在具体的图书计划内部中推行,
>> 是有一定责任的,
>> 但是, 现在看, 有网络就有可能, 好的思想总是会不断反复浮现出来,
>> 只是得强调:
>>
>> OBP 计划, 是一个开放技术社区,
>> 本身除了在线分布式图书过程之外, 并没有太多约束,
>> 而且严守自由软件社区的文化: 谁主张, 谁执行
>>
>> 所以, 有具体翻译工程,那么如何使用 OBP 资源,
>> 完全看大家主动嗯哼,
>> 有任何具体问题, 随时公开共同讨论
>>
>> 以上
>>
>> happy hacking...
>>
>>
>>
>> --
>> life is pathetic, go Pythonic! 人生苦短, Python当歌!
>> 俺: http://zoomquiet.io
>> 授: http://creativecommons.org/licenses/by-sa/2.5/cn/
>> 怒: 冗余不做,日子甭过!备份不做,十恶不赦!
>> KM keep growing environment culture which promoting organization learning!
>
> --
> OpenBookProject~ 开放图书计划
> 组织: https://github.com/OpenBookProjects
> 始源: http://wiki.woodpecker.org.cn/moin/OBP
> 遗迹: http://code.google.com/p/openbookproject
> 回收: https://github.com/OpenBookProjects/wiki
> ---
> 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproje...@googlegroups.com
> 要发帖到此群组,请发送电子邮件至openboo...@googlegroups.com
> 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/c5f2ddc7-c1ed-4124-be75-26c080d2d39d%40googlegroups.com
> 要查看更多选项,请访问https://groups.google.com/d/optout

fromwheretow...@gmail.com

unread,
Apr 22, 2018, 10:33:41 PM4/22/18
to OpenBookProject(O.B.P)中文蟒样开放技术图书计划
现在的PO库是fork了韩文版的: https://github.com/nobodxbodon/python-docs-ko
想达到的效果是把比如4.1一节的例程翻译如下(之后再尝试修改变量/函数命名等):
>>> x = int(input("请输入一个整数: "))
请输入一个整数: 42
>>> if x < 0:
...     x = 0
...     print('负数置为零')
... elif x == 0:
...     print('零')
... elif x == 1:
...     print('一')
... else:
...     print('更大')
...
更大

初步试了在po文件中加这样无效:
#: ../Doc/tutorial/controlflow.rst:19
msgid "Please enter an integer: "
msgstr "请输入整数: "

正在查两个方面:
1. 如何通过po文件翻译代码段, 要看生成文件过程, 哪一步出了问题. 
2. 为了自动生成示例代码的msgid, 要看gettext如何生成的po文件

多谢.

在 2018年4月22日星期日 UTC-7上午5:07:59,Zoom.Quiet写道:
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproject+unsubscribe@googlegroups.com
> 要发帖到此群组,请发送电子邮件至openbookproject...@googlegroups.com

Zoom.Quiet

unread,
Apr 22, 2018, 10:39:57 PM4/22/18
to openboo...@googlegroups.com
等等, .rst 那应该是 Sphinx 哪, 和 PO 没关系的?
建议, 直接从官方 英文版本 fork
Korea 的并不能保证可用哪...
另外, 基于 Py3 的 Sphinx , 应该对中文就没有什么不适应了...

05年我们折腾时, 还要注意什么编码的, 现在 Py3 已经解决了.
>> > 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproje...@googlegroups.com
>> > 要发帖到此群组,请发送电子邮件至openboo...@googlegroups.com
>> >
>> > 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/c5f2ddc7-c1ed-4124-be75-26c080d2d39d%40googlegroups.com
>> > 要查看更多选项,请访问https://groups.google.com/d/optout
>>
>>
>>
>> --
>> life is pathetic, go Pythonic! 人生苦短, Python当歌!
>> 俺: http://zoomquiet.io
>> 授: http://creativecommons.org/licenses/by-sa/2.5/cn/
>> 怒: 冗余不做,日子甭过!备份不做,十恶不赦!
>> KM keep growing environment culture which promoting organization learning!
>
> --
> OpenBookProject~ 开放图书计划
> 组织: https://github.com/OpenBookProjects
> 始源: http://wiki.woodpecker.org.cn/moin/OBP
> 遗迹: http://code.google.com/p/openbookproject
> 回收: https://github.com/OpenBookProjects/wiki
> ---
> 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproje...@googlegroups.com
> 要发帖到此群组,请发送电子邮件至openboo...@googlegroups.com
> 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/df24763d-8719-48b4-8c35-1475a4a8d1fc%40googlegroups.com

fromwheretow...@gmail.com

unread,
Apr 22, 2018, 11:41:32 PM4/22/18
to OpenBookProject(O.B.P)中文蟒样开放技术图书计划
好像PEP 545 (https://www.python.org/dev/peps/pep-0545/#repository-for-po-files) 开始用PO库进行翻译, 然后用这个脚本构建: https://github.com/nobodxbodon/docsbuild-scripts (我改了一下, 添了zh语言)
之前试了在韩文库的普通字段中修改, 是有效的.
doc-sig里的法语作者说需要修改sphinx配置才能实现代码段翻译: https://mail.python.org/pipermail/doc-sig/2018-April/004001.html

在 2018年4月22日星期日 UTC-7下午7:39:57,Zoom.Quiet写道:
>> > 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproject+unsubscribe@googlegroups.com
>> > 要发帖到此群组,请发送电子邮件至openbookproject...@googlegroups.com
>> >
>> > 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/c5f2ddc7-c1ed-4124-be75-26c080d2d39d%40googlegroups.com
>> > 要查看更多选项,请访问https://groups.google.com/d/optout
>>
>>
>>
>> --
>> life is pathetic, go Pythonic! 人生苦短, Python当歌!
>> 俺: http://zoomquiet.io
>> 授: http://creativecommons.org/licenses/by-sa/2.5/cn/
>> 怒: 冗余不做,日子甭过!备份不做,十恶不赦!
>> KM keep growing environment culture which promoting organization learning!
>
> --
> OpenBookProject~ 开放图书计划
> 组织: https://github.com/OpenBookProjects
> 始源: http://wiki.woodpecker.org.cn/moin/OBP
> 遗迹: http://code.google.com/p/openbookproject
> 回收: https://github.com/OpenBookProjects/wiki
> ---
> 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproject+unsubscribe@googlegroups.com
> 要发帖到此群组,请发送电子邮件至openbookproject...@googlegroups.com

fromwheretow...@gmail.com

unread,
Apr 26, 2018, 7:07:04 AM4/26/18
to OpenBookProject(O.B.P)中文蟒样开放技术图书计划
跑了一下这个入门教程:
http://docs.sphinxdocs.com/en/latest/finish.html#generate-i18n-files
确认了sphinx的这个参数(https://mail.python.org/pipermail/doc-sig/2018-April/003999.html提到的)可以翻译代码段:
gettext_additional_targets = ['literal-block']

比如4.3里的例程:
>>> print(range(10))
range(0, 10)
在po文件中:
msgid ""
">>> print(range(10))\n"
"range(0, 10)"
msgstr
""
">>> print(range(10))十\n"
"range(0, 10)"

就可以实现翻译.
但同样配置在python3文档环境里就没用. 猜测和pytho3文档中对代码块的处理有关. 它通过js加了'Hide the prompts and output' 也许是有什么预处理之类的.
下面要看它的html构建过程

在 2018年4月22日星期日 UTC-7下午8:41:32,fromwheretow...@gmail.com写道:

Zoom.Quiet

unread,
Apr 26, 2018, 8:00:25 AM4/26/18
to openboo...@googlegroups.com
是也乎,( ̄▽ ̄)
官方文档经过长期的积累, 对 Sphinx 进行了很多定制
当初跑起来都不容易...
好在, 定制的都是 py 慢慢看, 总是能看明白的
>>> >> > 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproje...@googlegroups.com
>>> >> > 要发帖到此群组,请发送电子邮件至openboo...@googlegroups.com
>>> >> >
>>> >> >
>>> >> > 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/c5f2ddc7-c1ed-4124-be75-26c080d2d39d%40googlegroups.com
>>> >> > 要查看更多选项,请访问https://groups.google.com/d/optout
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> life is pathetic, go Pythonic! 人生苦短, Python当歌!
>>> >> 俺: http://zoomquiet.io
>>> >> 授: http://creativecommons.org/licenses/by-sa/2.5/cn/
>>> >> 怒: 冗余不做,日子甭过!备份不做,十恶不赦!
>>> >> KM keep growing environment culture which promoting organization
>>> >> learning!
>>> >
>>> > --
>>> > OpenBookProject~ 开放图书计划
>>> > 组织: https://github.com/OpenBookProjects
>>> > 始源: http://wiki.woodpecker.org.cn/moin/OBP
>>> > 遗迹: http://code.google.com/p/openbookproject
>>> > 回收: https://github.com/OpenBookProjects/wiki
>>> > ---
>>> > 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
>>> >
>>> > 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproje...@googlegroups.com
>>> > 要发帖到此群组,请发送电子邮件至openboo...@googlegroups.com
>>> >
>>> > 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/df24763d-8719-48b4-8c35-1475a4a8d1fc%40googlegroups.com
>>> > 要查看更多选项,请访问https://groups.google.com/d/optout
>>>
>>>
>>>
>>> --
>>> life is pathetic, go Pythonic! 人生苦短, Python当歌!
>>> 俺: http://zoomquiet.io
>>> 授: http://creativecommons.org/licenses/by-sa/2.5/cn/
>>> 怒: 冗余不做,日子甭过!备份不做,十恶不赦!
>>> KM keep growing environment culture which promoting organization
>>> learning!
>
> --
> OpenBookProject~ 开放图书计划
> 组织: https://github.com/OpenBookProjects
> 始源: http://wiki.woodpecker.org.cn/moin/OBP
> 遗迹: http://code.google.com/p/openbookproject
> 回收: https://github.com/OpenBookProjects/wiki
> ---
> 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproje...@googlegroups.com
> 要发帖到此群组,请发送电子邮件至openboo...@googlegroups.com
> 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/51ff5863-90ac-4c46-8d93-5b1ff1de241c%40googlegroups.com

fromwheretow...@gmail.com

unread,
Apr 26, 2018, 9:00:34 AM4/26/18
to OpenBookProject(O.B.P)中文蟒样开放技术图书计划
解决很简单(https://github.com/nobodxbodon/docsbuild-scripts/commit/68e7578316b3311695e138c7f11559492ae1a931)
gettext_additional_targets=literal-block

之前用的是gettext_additional_targets=['literal-block']

经测试达到楼上(https://groups.google.com/d/msg/openbookproject/NZG5LJfkj9I/VX5iLOIpBQAJ)的效果.

po文件内容:
msgid ""
">>> x = int(input(\"Please enter an integer: \"))\n"
"Please enter an integer: 42\n"
">>> if x < 0:\n"
"... x = 0\n"
"... print('Negative changed to zero')\n"
"... elif x == 0:\n"
"... print('Zero')\n"
"... elif x == 1:\n"
"... print('Single')\n"
"... else:\n"
"... print('More')\n"
"...\n"
"More"
msgstr ""
">>> x = int(input(\"请输入整数: \"))\n"
"请输入整数: 42\n"
">>> if x < 0:\n"
"... x = 0\n"
"... print('负数置为零')\n"
"... elif x == 0:\n"
"... print('零')\n"
"... elif x == 1:\n"
"... print('一')\n"
"... else:\n"
"... print('更大')\n"
"...\n"
"更大"

接下去逐渐开始翻译. 同时尽早实现gettext生成包含代码段的po文件, 否则像上面那样靠手动输入太费事

在 2018年4月26日星期四 UTC-7上午5:00:25,Zoom.Quiet写道:
>>> >> > 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproject+unsubscribe@googlegroups.com
>>> >> > 要发帖到此群组,请发送电子邮件至openbookproject...@googlegroups.com
>>> >> >
>>> >> >
>>> >> > 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/c5f2ddc7-c1ed-4124-be75-26c080d2d39d%40googlegroups.com
>>> >> > 要查看更多选项,请访问https://groups.google.com/d/optout
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> life is pathetic, go Pythonic! 人生苦短, Python当歌!
>>> >> 俺: http://zoomquiet.io
>>> >> 授: http://creativecommons.org/licenses/by-sa/2.5/cn/
>>> >> 怒: 冗余不做,日子甭过!备份不做,十恶不赦!
>>> >> KM keep growing environment culture which promoting organization
>>> >> learning!
>>> >
>>> > --
>>> > OpenBookProject~ 开放图书计划
>>> > 组织: https://github.com/OpenBookProjects
>>> > 始源: http://wiki.woodpecker.org.cn/moin/OBP
>>> > 遗迹: http://code.google.com/p/openbookproject
>>> > 回收: https://github.com/OpenBookProjects/wiki
>>> > ---
>>> > 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
>>> >
>>> > 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproject+unsubscribe@googlegroups.com
>>> > 要发帖到此群组,请发送电子邮件至openbookproject...@googlegroups.com
>>> >
>>> > 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/df24763d-8719-48b4-8c35-1475a4a8d1fc%40googlegroups.com
>>> > 要查看更多选项,请访问https://groups.google.com/d/optout
>>>
>>>
>>>
>>> --
>>> life is pathetic, go Pythonic! 人生苦短, Python当歌!
>>> 俺: http://zoomquiet.io
>>> 授: http://creativecommons.org/licenses/by-sa/2.5/cn/
>>> 怒: 冗余不做,日子甭过!备份不做,十恶不赦!
>>> KM keep growing environment culture which promoting organization
>>> learning!
>
> --
> OpenBookProject~ 开放图书计划
> 组织: https://github.com/OpenBookProjects
> 始源: http://wiki.woodpecker.org.cn/moin/OBP
> 遗迹: http://code.google.com/p/openbookproject
> 回收: https://github.com/OpenBookProjects/wiki
> ---
> 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproject+unsubscribe@googlegroups.com
> 要发帖到此群组,请发送电子邮件至openbookproject...@googlegroups.com

fromwheretow...@gmail.com

unread,
Apr 26, 2018, 9:35:19 AM4/26/18
to OpenBookProject(O.B.P)中文蟒样开放技术图书计划
着手之前想确认一下, 是否可以在3.2.2版本的翻译成果基础上进行修改? 最新版本是否是在 https://bitbucket.org/ZoomQuiet/obp.docs-py3-zh ?
除此以外, 有没有更近python版本的官方文档翻译活动?
如果项目成型, 肯定会注明这些前身.


在 2018年4月21日星期六 UTC-7下午7:20:39,Zoom.Quiet写道:
刚刚收到订阅申请说有明确的翻译计划, 来自:

Zoom.Quiet

unread,
Apr 27, 2018, 12:45:32 AM4/27/18
to openboo...@googlegroups.com
当年其实没有展开规模化翻译,
就折腾了一下翻译工程,
最新的一直没有从官方镜像,
目测可以借鉴的不多, 内容方面,
在新的工程说明中, 注明相关激励来源就好....
不推荐直接 fork , 还是在 github 中开始比较好

OpenBookProjects
https://github.com/OpenBookProjects
是从 code.google 迁移备份过来的起点
> --
> OpenBookProject~ 开放图书计划
> 组织: https://github.com/OpenBookProjects
> 始源: http://wiki.woodpecker.org.cn/moin/OBP
> 遗迹: http://code.google.com/p/openbookproject
> 回收: https://github.com/OpenBookProjects/wiki
> ---
> 您收到此邮件是因为您订阅了Google网上论坛上的“OpenBookProject(O.B.P)中文蟒样开放技术图书计划”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openbookproje...@googlegroups.com
> 要发帖到此群组,请发送电子邮件至openboo...@googlegroups.com
> 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openbookproject/88af631b-911f-432a-8fd2-ddf6f51c0034%40googlegroups.com
> 要查看更多选项,请访问https://groups.google.com/d/optout

Xuan Wu

unread,
May 4, 2018, 12:18:39 PM5/4/18
to openboo...@googlegroups.com, zsj9...@gmail.com
@ Shengjing 多谢. 还在申请加入CPyUG, 先在这里回复了.

个人希望能把代码段尽可能多地汉化. 第三章初步效果:
https://nobodxbodon.github.io/py36zh/tutorial/introduction.html

transifex上现在那个po项目是日本开发者主导维护,
并不包含代码段汉化需要的literal-block. 之前他的建议是另开transifex项目
(详见doc-sig讨论).

现在导出了带literal-block的po文件在https://github.com/nobodxbodon/python-docs-zh.


相应的构建项目:https://github.com/nobodxbodon/docsbuild-scripts

还没开transifex项目, 因为只是单人在做.
Reply all
Reply to author
Forward
0 new messages