program-in-chinese / overview

中文编程的历史、现状和展望。issue 中进行相关问题的讨论.
https://zhuanlan.zhihu.com/codeInChinese
GNU General Public License v3.0
383 stars 34 forks source link

对现有开源项目的代码进行翻译(文件名/命名/注释) #107

Open nobodxbodon opened 5 years ago

nobodxbodon commented 5 years ago

起草在v2. 与https://github.com/program-in-chinese/overview/issues/104 的目标相同, 只是后者是为此的辅助工具. 在投入工具开发之前, 打算先通过持续翻译一个比较典型的开源项目, 更直接地衡量投入产出比, 总结每次版本更新所需的更新步骤, 也为 #104 细化需求分析(一开始倚靠IDE的更名功能进行手动翻译, 但之后对新版本的翻译更新必然逐渐通过辅助工具减少工作量).

前提条件是, 项目基于的工具链支持 Unicode 命名.

理想目标是翻译后的源码可以正确编译运行通过所有测试.

考虑以下几个条件优先:

下面对一些备选项目从以上几个角度进行初步调研(不断更新)

项目 主创 许可证 项目分析 社区分析 代码量 代码分析
Intellij Apache License 2.0
VS Code MIT
Eclipse Platform Eclipse Public License 2.0
Aptana Studio3 GPL v3 强制后续开源
vuejs MIT 1.6万 JavaScript
nerv.js MIT 4k7 TypeScript
taro MIT 11w js
taro-ui MIT 1w2 js
结巴分词/移植
ramda MIT js
lodash MIT js
nobodxbodon commented 5 years ago

结合 https://github.com/program-in-chinese/overview/issues/9 , 打算先从vuejs的API(而不是所有源码)入手, 先试图维护一个中文API的vue分支. 在功能初步稳定并有相应例程时(参考前文)与主创联系并咨询意见.

@swizl @htwx @lightrabbit 不知有兴趣吗?

--- 补 --- 无论源码翻译还是支持中文API都需对源码深入理解, 参考: Vue.js 技术揭秘 2018-11-21 at 12 00 30 am_vuejs 1

4b5ent1 commented 5 years ago

我倒是可以搞一搞nerv.js这块。vue搞不来 附:https://github.com/NervJS/nervhttps://github.com/program-in-chinese/cnv

nobodxbodon commented 5 years ago

@absente 欢迎将它/Taro添到顶楼调研表并添加相关信息.

nobodxbodon commented 5 years ago

vue有一点进度, 详见相关知乎文章. 鉴于母语命名对代码可读性改进最明显的是业务相关部分(前端技术, 数据, 界面, 事件等等), 打算自顶向下(现在已翻译的是主入口/初始化部分), 从模块间接口开始着手. 初步目标是在半年之内完成所有翻译(文件/方法/变量命名, 文本常量.

zhangenming commented 5 years ago

vue3.0等两天公布开发版

nobodxbodon commented 5 years ago

@zhangenming 多谢告知. 请问有没有issue/链接介绍vue3.0的具体计划? 这个月估计不会投入太多. 另外, (见顶楼)倾向于从一个比较稳定的版本入手.

4b5ent1 commented 5 years ago

@nobodxbodon 我记得vue3.0会改用typescript重写。感觉可以等等 https://juejin.im/post/5bb719b9f265da0ab915dbdd

nobodxbodon commented 5 years ago

@absente 多谢. 正好我也在另一个项目上手TS. 看来IE兼容问题对国内PC用户是个麻烦. 第二版毕竟比较稳定, 希望用最小工作量达到最大可读性改进效果, 时间尽量控制在1-2个月内. 也许只做(公开)方法级别的翻译(包括文件重命名). 这样也可以对vue本身有一些了解. 另外, 还是可以总结一些翻译辅助工具的需求(如顶楼的期望).

4b5ent1 commented 5 years ago

@nobodxbodon 我是出于兼容ie8的考虑,才想到了京东的nerv.js。之前有一个类似的,叫avalon,不过感觉用的人已经不那么多了,所以选择了前者。

nobodxbodon commented 4 years ago

166 方舟编译器待更多代码开源和具备测试集后再继续。对 API 中文化的部分思量在此,打算写篇文章详述。