8.1. 文档翻译进化史
开发文档系统,最开始的时候,是为了解决翻译 Laravel 文档 遇到的问题:
- 第一个问题、文档认领;
- 第二个问题、翻译审核;
- 第三个问题、译者列表;
- 第四个问题、相关讨论的知识沉淀。
先说第一个问题。那会儿翻译都在 GitHub 上,文档一般都有几十篇上百篇文章,为防止重复翻译一篇文章,每一次号召翻译我们都是用最原始的方式,在评论下方认领,然后更新到文章内容里(如 这里)。每一次做这个操作的时候都觉得我自己好傻,无时不刻盯着评论区,有评论立刻通知用户可否认领,并更新到文章中。费神费时,效率低下:
这种认领方式还有另外一个问题:很多用户认领了一篇文章,但因文章内容太长,需要一两周才翻译完,甚至有些用户认领以后,就消失了,你再也联系不到他,后面还得重新召唤大家来翻译别人落下的。翻译的进度被无止境拖长。
这同时也暴露出来第二个问题,因为翻译的文章太长,审阅工作变动非常繁重。反馈周期太长、并且不及时。例如译者标点符号使用错误的问题,如果一开始翻译一小段,审阅者发现后指导改正过来,后面译者就可以在翻译的过程中矫正过来,而不是在整篇文章翻译完后,再一个一个费时地去修改。
针对这两个问题,LearnKu 文档系统开发出来文章分块的模式。将几千上万字的文章切割成多个小分块,每个分开两三百个字,一般只需要 10~60 分钟内即可翻译完成。这样减低了参与的门槛,工作之余有个十来分钟的休息时间都能参与翻译。
针对每个翻译小分块还提供认领机制,在认领指定时间内只有他能翻译这个分块,避免了冲突:
译者列表,是辛苦付出的人儿,饮水思源,我们需要记录下这些人。之前都是需要一个个去 GitHub 上收集,并对应到社区账号上。有了翻译系统,用户是在本网站上,把数据调出来排个序即可:
最后说一下「第四个问题、相关讨论的知识沉淀」,文档里的文章,有时候晦涩难懂,如 Laravel 的 这篇文档 。大家都在好奇这个所谓的「服务容器」是用来干啥的?因为文档系统接入了社区问答,用户可以底部提问:
接入了社区精华文章推荐,也方便读者快速解惑:
翻译系统和这个网站一样,是一直 在不断迭代着的。有很多有趣的功能,以后会慢慢添加进去,同时也欢迎大家建议和反馈哈。