Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
nobodxbodon opened this issue Nov 20, 2018 · 10 comments
Open
Labels
active 不一定活跃,但没有弃坑
Milestone

Comments

@nobodxbodon
Copy link
Member

nobodxbodon commented Nov 20, 2018

起草在v2. 与#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
Copy link
Member Author

nobodxbodon commented Nov 20, 2018

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

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

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

@4b5ent1
Copy link
Member

4b5ent1 commented Nov 22, 2018

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

@4b5ent1 4b5ent1 added this to the 2018戊戌 milestone Nov 22, 2018
@nobodxbodon nobodxbodon mentioned this issue Nov 22, 2018
Closed
@nobodxbodon
Copy link
Member Author

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

@nobodxbodon
Copy link
Member Author

nobodxbodon commented Nov 28, 2018

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

@zhangenming
Copy link

vue3.0等两天公布开发版

@nobodxbodon
Copy link
Member Author

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

@4b5ent1
Copy link
Member

4b5ent1 commented Nov 29, 2018

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

@nobodxbodon
Copy link
Member Author

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

@4b5ent1
Copy link
Member

4b5ent1 commented Nov 30, 2018

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

@nobodxbodon
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
active 不一定活跃,但没有弃坑
Projects
None yet
Development

No branches or pull requests

3 participants