program-in-chinese/overview

Python3中文化?

Closed this issue · 10 comments

源自 gasolin/zhpy#36 (comment)
@ZoomQuiet 如有兴趣非常欢迎在此继续讨论. 或是其他渠道更方便?
BTW之前 @swizl 实现了通过修改编译器汉化Python关键词.
还有之前对Python官方入门文档中的示例代码进行中文化最后做了3-5章: https://zhuanlan.zhihu.com/p/38324987

个人觉得还是DSL通用一点。这样既可以在java里用,也可以在py里跑

@nobodxbodon 是也乎,( ̄▽ ̄)

才发现引到这儿了:

  • zhpy 原始 gasolin 已经停止维护
  • zhpy3 因为语法变化激荡, 难以简单兼容已经放弃
  • 但是, 俺还不时介绍新人体验一下:
    • 目的不是基于 zhpy 进行实际开发
    • 而是先用中文界面引导大家理解程序文本和正常读本间的差异
    • 破除不必要的恐惧感
    • 第一时间获得一个完整的修改/运行/观察/修改 的编程 MVP
  • Python 大家都知道, 其本身强在长期积累下来的生态体系:
    • 语言本身问题一直有
    • 但是, 生态覆盖的领域太深广了, 导致可以无视语言本身的问题
    • 比如 Pandas ... 无法想象汉化的 Pandas 如果高速处理海量的没有中文的数据...
  • 而 Python 本身早已是 DSL 一种了:
    • Cython
    • Jython
    • CoffeeScript
    • ...
    • 一直有很多语言/框架将 Python 作为 DSL 形式
  • 问题还是在: 专用帖: 对中文编程的质疑, 困惑, 批评, 吐槽 其中阐述的
    • 以中文输入法为基础进行以中文为程序文本主体的编程实践 是得不偿失的

所以, 有关 Py3 汉化的推进, 俺这儿不准备进入的.

以中文输入法为基础进行以中文为程序文本主体的编程实践 是得不偿失的

@ZoomQuiet 我有十足的把握证明给你看,输入法实践不是得不偿失,而且恰恰相反。btw,这里提输入法的人不多。

@ZoomQuiet 嗯, 了解. Py3的中文化确实是个工作量较大的工程.

破除不必要的恐惧感

个人觉得把示例代码的命名/常量中文化也可以降低一些入门门槛, 如之前将部分官方入门文档示例中文化

以中文输入法为基础进行以中文为程序文本主体的编程实践

组内有将中文输入法和IDE集成的尝试: #53
和更早的: #11 (comment)

Py3的中文化确实是个工作量较大的工程.

@nobodxbodon 我觉得不如换个思路,用中文化的py代码,教不懂python的人学英语。这样一举两得。

https://github.com/pyzh/flo.c/blob/master/clo/py/tutorial/official/cpython/2/jsq.py

我这边提供一个思路。简单说就是实用为主。用多少汉化多少

之前曾做過 python 2 可用的周蟒(zhpy),附上完整中英對照,中,英版程式皆可執行的範例文件
https://github.com/gasolin/zhpy/blob/wiki/ExampleHello.md

當時做的想法有

  1. 用中文化的py代码降低門檻
  2. 用中文化的py代码,教不懂python的人漸進認識英语法
  3. 中英py代碼可混用,也可為現有module加入字典,用中文調用
  4. 需要時可漸進轉換純python
  5. 中英對照的教學文件

@Absente 當時是python 2時做的,有興趣可以拿去參考

swizl commented

去年做的关键字汉化是用的python3,中英兼容。
https://github.com/swizl/cnpython
其实编译出来的 python 改个名字放到标准位置里,就可以支持中文了。

不喜欢我改的关键字,可以自己改。教程:
https://zhuanlan.zhihu.com/p/31159526

@swizl @gasolin
非常感谢。都是很好的参考资料

先存档,目前没有组员做实质上的投入和进展