专访|@黯羽轻扬,CSS2.1规范中文版译者

 

css2.1规范中文版译者专访...



前言

前段时间的某日依旧打开新浪微博,发现被@了好多次,本着好奇去看看到底是什么东西,一看不得了是一位今年刚要毕业的小朋友花了两个月的时间翻译了css2.1规范。这可是大工程,所以早读君就好奇跟他聊聊了。那么今天的文章就来自于他@黯羽轻扬,一位低调的前端新人。

正文从这开始~

零.我

接触前端差不多2年,今年6月份出厂(毕业),一个用心写博客的前端新人。

最近完成了CSS 2.1 spec的翻译,然后腆着脸用微博@了好多和我不熟的前辈,再后来的事情就完全出乎我的意料了:前辈们热情帮吼,支持鼓励,前端同行的问候……

当时只是碰碰运气,想通过前辈们的影响力,告诉大家“有中文课本了”。因为个人功力不够,有些点理解得不准确不透彻(比如当时很难理解的clearance),只有更多人仔细阅读这份文档,迭代修缮,它才可能变得更好。

如果文档完备,我们这些新人入行就更容易,也会更合格。

一.原因

想看,但没有中文版,英文的一遍看不懂,所以先翻译,一遍一遍看。

有了目标,一切都水到渠成:

平均日翻500行HTML源码,需要8小时,每周翻3-4个500行,剩余的2-3天挖旧东西,尝试新东西,写博客。这样,2个月完成。

投入大量精力完成了一个可复用的snippet,相信您也会希望让所有人都知道它,以节省大家的时间。

二.前端窘境

学习CSS应该从熟读规范开始,而大多数像我这样的新人都不是从规范开始接触前端的。以致于:

  • 面试的时候问个css的position属性能刷掉一半的人这是啥情况……
  • 其实这问题我本来打算的是可以顺着一路扯到normalflow、containing block、bfc、margin collapse,base line,writing mode,bidi,这样一路问下去的,奈何第一个问题(亲我真的只问了position有哪些取值和行为啊)就悲剧了……
(以上引自winter前辈的谈谈面试与面试题)

1年前,第一次看到这段话时,觉得自己很不合格,当时我只知道position: static|aboslute|relative|fixed(其实还有inherit),对其用法知道一点,但似乎已经以入门级前端自居了,还妄想着加入大牛团队学习进步。

如果在我入门时,能有前辈告诉我先熟读规范,稳扎稳打,那该有多好?至少不会现在马上出厂了,要去做所谓的“前端开发工程师”,仔细一想还很心虚。

三.基本功

BFC、margin collapse等等这些理论性的东西有用吗?没有用吗?最初我也觉得“虚的”没用,知道BFC的人就比我强么?不知道这些就搞不定页面布局吗?

慢慢发现功力深厚的前辈“总拿规范说事”(当然,只是玩笑话),并不是说不懂BFC就会被鄙视,但想走得更远的话,那些欠下的东西早晚要还,何况作为前端,连课本都没读过,一提基础就心虚,怎么说得过去?

熟读规范的好处是能对布局知根知底,知道一些奇怪的表现背后的原因,而不是记得或者能找到解法。有一位擅长运用CSS规范搞定各种问题的前辈,我不说您也知道他是谁,对于这样的人,我们多半只是敬佩,却从未认真思考过他为什么这么厉害。其实如果您仔细读过规范,就能发现有些锦囊一样的神奇解法,在规范里写得清清楚楚,他只是读得熟想得多而已。

术业有专攻,作为前端,熟读规范绝对是最基本要求。

四.我们所缺少的

先看看W3C日文文档:

https://www.w3.org/2005/11/Translations/Lists/ListLang-ja.html

其完整程度简直令人惊叹,甚至CSS3的一些模块老早就已经翻译好了。以下公开邮件:

You may know thisalready, there is already a Japanese translation (CR) exists:

https://triple-underscore.github.io/css-writing-modes-ja.html

Yes, I know.

…It leads that thetranslation refers recent spec, but sentences are a bit hard to read. Thelatter tries to translate in fluent sentences. The maintainance cost becomeshigh, but it would be easy to read.

…So I decide totranslate.

(以上引自2016-5-2Re: Japaneseintention of translation)

大意就是“我知道已经有日文版了,但翻得不好,所以还是决定重搞”。对比我们那寥寥31篇中文文档,实在汗颜。

完备的文档是行业发展的基础,我们正是缺少这些东西的支撑,才导致现在的前端窘境。翻译文档是所有前端开发者的责任,而不是中文小组的义务,W3C所有文档翻译者都是Volunteer,参与翻译没有任何门槛,与W3C工作人员的交流也并没有您想象的那么难:

Dear translator,

Thanks for yourtranslation…

…And would you alsoplease let me know your Full name both in Chinese and English to allow us addyour info into the Database?

Please feel freeto contact me if you have any questions.

对方很亲切的,一点点都不可怕,真的。

如果您有前端工作积累的经验,恰好还会点英文,Please feel free to volunteer:

https://www.w3.org/Consortium/Translation/#volunteer

如果您确实想做点什么,建议先不要乱来,请注意:

  • 确定文档状态。是Working Draft,Proposed,Recommendation,Candidate Recommendation还是Recommendation?建议只翻译Recommendation(推荐标准)
  • 确认不存在中文版。在W3C数据库以各种相关关键字搜索目标文档,并搜索公开信,确认没有Intention(有人要翻)或者Completed(有人翻完了)
  • 发送翻译意向(Intention)。告诉大家,我说了要翻这个,别重复了
  • Just do it.


说出来的话就得尽全力做到,只有Intention没有下文可不好。所以,翻译请慎重,建议从篇幅短点的开始,但无论怎样,多一篇极短的文档对行业来说都是极好的。

五.致FEers

1.致前辈

您可能也觉得行业现在的新人功底差、素质低、眼睛高,可能也认真思考过原因,但最后或许也觉得这些东西是nonsense(知道症结所在,却有心无力)。

当然,您没有大量的时间,也没有那些精力来做年轻人的体力活儿。但换个角度,年轻人翻译过程中遇到了各种困难,无法理解某些概念,非常希望能有一位经验丰富的前辈作出解释。而对您来说这些只是基本常识,一两句话就能说清楚。

但问题是他不知道您,更不知道您愿意帮助他。解决这个问题其实不难,各进一步,只要您对文档工作表示关注和支持(中文小组?或者其它更靠谱的方式),同时只要我们能通过一些方式找到您,这个结就解开了。

另一方面,面试时发现对方功底差到无法忍受,不妨直说,这样对他对行业都好。(如果早有前辈这样痛骂我的话,我现在得多感激他呀,可惜开悟的晚了)。

这些话本不应该由稚嫩的前端新人来说,但老老大说过“光脚的不怕穿鞋的”,谢谢@情封前辈给我勇气

2.致像我一样的新人

如果接触前端不久,还处于学习积累阶段的话,强烈建议从规范开始学习。如果没有翻译得不错的中文文档,自己翻一遍又何妨,这可是原汁原味的第一手资料啊,绝对不吃亏。

翻译过程中如果遇到困难,就大胆去问前辈,大不了不回复而已,不行就多问几个。问不问是我的事,帮不帮是他的事,先做好自己的事。(P.S.求助时应该注意措辞突出重点,反正我丢给前辈们的求助邮件回复率是100%)

另一方面,前端东西确实非常多,而我们精力有限:

  • 想必很多小伙伴都没见过。不知大家有没有跟我一样的感觉,去厕所蹲了个大号,再回到办公室就会遇到之前没见过的前端新特性。
  • 像我这种只学HTML和CSS都有些应接不暇,我想,那些CSS3, HTML5, ES6/ES7, React, Angular, bootstrap, postcss, node都会的小伙伴,应该每天都只睡3-4个小时吧,好厉害!


前辈调侃时可能也觉得这是nonsense(他不说穿,让用心的人自己去悟),@余果前辈把它说穿了:“先精后广,一专多长”是成为全栈工程师的锦囊。

去年实习离职时向部门各前辈索要了一堆技能书,从bash到PHP|node到backbone到ionic到数学到产品(胃口略大),目前只吃透了一两本,因为在开始点技能之前看到了@余果前辈的书,暂时放弃了成为三代目(忍术之神)的幻想,很庆幸当时的选择。

最后一点,如果遭遇了困境,请大胆地向前辈求助,网络中我们之间都是0距离的,前端圈的前辈们非常亲切,都很乐意伸出援手(注意方式方法的话,没有搞不定的人)。亲身经历:

  • @张鑫旭 看过他很多篇博文
  • @寒冬winter 他的博文告诉我应该稳扎稳打
  • @前端开发博客 看过很多篇博文
  • @情封 朋友告诉我有一篇关于点击穿透问题的文章被他收下了
  • @愚人码头 看过很多篇博文
  • @Barret李靖 从博客园追到小胡子哥主页
  • @朴灵 最近才基本吃透node那本书
  • @CSS魔法 看过一些博文
  • @司徒正美 想先学飞(打算点框架设计技能),后来失败了


如开头所述,我@了这些和我不熟的前辈,我知道他,他不认得我。万万没想到前辈们能非常热心地帮我,所以,大胆去做,前辈们都很愿意帮助我们。

后语

CSS2.1规范中文版,已经全部翻译完了,有兴趣的大家可以去看看,记得fork

进度:已完结(2016.5.23)

官方文档:http://www.w3.org/TR/2011/REC-CSS2-20110607/

W3C索引:https://www.w3.org/2005/11/Translations/Query?titleMatch=css+2.1&lang=zh-hans&search1=Submit

中文翻译:http://www.ayqy.net/doc/css2-1/cover.html

GitHub:https://github.com/ayqy/CSS2-1

关于本文

作者:@ 黯羽轻扬

原文链接:http://www.ayqy.net/blog/css2-1规范中文版/


    关注 前端早读课


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册