相信大家都有使用Selenium的经验,每每看到各种大神参与过各种开源项目而羡慕不已,其实重要的并不完全是能力而是你是否有参与的态度,参考某个孩子给Linux核心提交过代码。
4岁小女孩给Linux内核贡献提交,修改一个字符网友狂点赞!
那么作为大家在使用Selenium的朋友,如果想为Selenium做点自己的贡献呢?下面云层分享一下可以做的一个简单而有意义的工作,文档本地化!
项目地址及生产结果
SeleniumHQ的Github地址:
官网文档同步更新(左下角选中文模式)
https://www.selenium.dev/documentation/zh-cn/worst_practices/two_factor_authentication/
如何找到要翻译的页面
打开Selenium的文档官网,请先整体阅读一下所有章节,会发现有很多地方比我们常用的写法更加优秀和规范的代码案例,非常值得学习,接着切换左下角的语言到中文简体(如果发现中文不顺口也可以提交修正的)。
这个时候可以发现内容基本都变成中文了,其实仔细查找还是能发现一些没有完全翻译的章节,例如
如果我们想参与这个章节的翻译就可以点击右上角的Edit this page了,当然结果是404,因为我们没有权限在Master分支上进行修改,当然得先改开发分支Merge主干。
查找对应文档的开发分支
首先切换回Github的基本项目路径
https://github.com/SeleniumHQ/seleniumhq.github.io
注意红色选中的docs_source_files就是我们的可以修改的分支,当然github账户先准备好吧!!!!!
接着按照文档默认的分类目录找到对应的中文文件.zh-cn.md后缀文件!
成为修改开发分支的那个人
点开要修改的文件,点击右侧的修改按钮,强烈推荐修改完了自己保存一份(基于MarkDown格式)
翻译的过程不用多说了吧,养成同时开3个翻译工具(Google、Bing、有道/百度)的习惯,并且评估信雅达的翻译追求,让中文发挥其有韵味的特点。
例如:
Selenium 4 alpha versions have much awaited native support for Chrome Dev Protocol through "DevTools" interface. This helps us getting Chrome Development properties such as Application Cache, Fetch, Network, Performance, Profiler, Resource Timing, Security and Target CDP domains etc.
云层的翻译可能是
在Selenium 4 alpha版本通过对Chrome开发协议(Chrome Dev Protocol)的支持添加了大家期待已久的源生Chrome开发工具“DevTools”调用。这将帮助我们获取Chrome开发属性集例如:应用程序缓存、获取、网络、性能、探查器、资源计时、安全性和目标CDP域等。
这段翻译有几个很麻烦的地方,Chrome开发工具官方对于菜单的翻译是什么?其次关于Target CDP domains的翻译,在查看了相关官方文档后,可以发现这块是Chrome开发工具中提供的网络操作的功能,官方文档
https://chromedevtools.github.io/devtools-protocol/tot/Fetch/
如果只是简单的翻译作为中文读者来说是很难理解的,这个时候我也发现了英文原文可能存在的一点问题,Chrome Dev Protocol 这个协议在官方是称之为Chrome DevTools Protocol的,所以就陷入了难处。
这块的翻译云层还没翻译达到自己觉得比较好的状态,完成所以也没有提交,大家可以自己琢磨一下。修改完成可以点击提交,这个提交不会有问题因为并不会对内容产生实质影响,但是既然是提交还是尽量深思熟虑。
如果提交不知道写啥就写Localization吧,因为本来就是.zh-cn老外自然知道你做了本地化:)
提交变更后会出现一个新的patch分支,对于上次没修改好的内容可以继续修改,直道达标再申请合并主干。
再次修改文件提交会询问是否提交到自己patch分支
申请合并主干
写完了觉得的好?那么就申请主干吧!但是请。。。真的好好看看自己写的东西是不是合格:)写的不好通过了也蛮丢人的是不?
提交成功后会看到这样的合并说明,如果点击Create pull request,那么就会真的开始合并发布过程,由于当下我不需要走真正的发布流程,所以这里就不点了。
讨论发布及协议确认
由于上一次我提交的过程记得不是非常清楚,所以这里根据提交的历史做一下回顾:
https://github.com/SeleniumHQ/seleniumhq.github.io/pull/463
首先需要在提交的时候更新提交表单
注意说明修改的内容及原因。
主要填写这次提交的内容描述及文本,修改类型(我是全文翻译所以选第四个新翻译),贡献文档(看一下规范,其实我后面犯了个错),我没通过hugo去确认文档格式规范性,因为没涉及到代码,看不懂可以直接谷歌浏览器在线翻译!
提交之后一般1天内会有人参与这个提交的讨论所以注意下自己的Pull历史,大家可以在我的提交历史中发现几个问题:
- 没有签署CLA
这里面一直确定就行了,主要是同一对本地化贡献的协议认可!提交完成可以使用acked回复,来确认已经满足。
2.忘了删除翻译默认的提示信息。
在默认文档的开头有这么一句
{{% notice info %}} Page being translated from English to Chinese. Do you speak Chinese? Help us to translate it by sending us pull requests! {{% /notice %}}
既然翻译完了就可以删除了,这句话是对应标准文档的这段
收工
如果一切顺利,在经历几天后,你就可以看到自己的提交合并成功,恭喜你在官网上的文档也同步更新了。也许在技术上并没有所谓的高精尖,但是这一切不就是一个好的开始么!好歹简历上可以写,我也是参加过Selenium项目的男人了,虽然只是本地化!
以上内容如果能对你的工作和学习有一丁点帮助的话,跪求移步B站给云层一波三连。