Skip to main content

CSS2.1 Specification Now Has a Chinese Version

Free2016-05-31#Front-End#Mind#FEers#前端圈

Front-End Circle Through a Newcomer's Eyes - Front-End Morning Reading Class

Zero. About Me

I've been working with front-end development for nearly 2 years, graduated this June, a front-end newcomer who writes blogs with heart.

Recently I completed the translation of CSS 2.1 spec, then shamelessly @'d many seniors I'm not familiar with on Weibo. What happened next was completely beyond my expectations: seniors enthusiastically helped spread the word, offered support and encouragement, greetings from fellow front-end developers...

At the time I was just trying my luck, wanting to leverage the seniors' influence to let everyone know "there's now a Chinese textbook available". Because my personal ability is limited, some points weren't understood accurately or thoroughly (such as clearance, which was difficult to understand at the time). Only when more people carefully read this document and iteratively improve it, can it become better.

If the documentation is complete, it will be easier for us newcomers to enter the industry, and we'll become more qualified.

I. Reason

I wanted to read it, but there was no Chinese version. The English version was incomprehensible in one pass, so I translated it first, then read it over and over.

Once I had a goal, everything fell into place naturally:

Averaging 500 lines of HTML source code translation per day requires 8 hours, translating 3-4 batches of 500 lines per week, spending the remaining 2-3 days digging into old stuff, trying new things, writing blogs. This way, completed in 2 months.

I invested considerable effort to complete a reusable snippet, and I believe you would also want to let everyone know about it to save everyone's time.

II. The Plight of Front-End Development

Learning CSS should start with thoroughly reading the specification, but most newcomers like me didn't start learning front-end from the specification. This leads to:

When interviewing, asking about the CSS position property can eliminate half the candidates. What's going on with this...

Actually, I originally planned to follow up with normal flow, containing block, BFC, margin collapse, base line, writing mode, bidi, asking along this line. But unfortunately, the first question (dear, I really only asked about the possible values and behaviors of position) was already a tragedy...

(Quoted from winter senior's Talking About Interviews and Interview Questions)

One year ago, when I first saw this passage, I felt I was very unqualified. At that time I only knew position: static|aboslute|relative|fixed (actually there's also inherit), I knew a bit about its usage, but I already considered myself an entry-level front-end developer, and even fantasized about joining a big team to learn and improve.

How wonderful it would be if when I was learning, there could be a senior to tell me to read the specification thoroughly first, build a solid foundation step by step? At least I wouldn't feel nervous now that I'm about to graduate and become a so-called "front-end engineer".

III. Basic Skills

Are theoretical things like BFC, margin collapse, etc. useful? Or not useful? Initially I also thought "abstract" stuff was useless. Does someone who knows BFC be better than me? Can't I handle page layout without knowing these?

Gradually I discovered that experienced seniors "always bring up the specification" (of course, just a joke). It's not that not understanding BFC will get you looked down upon, but if you want to go further, those debts you owe will eventually have to be paid back. Moreover, as a front-end developer, if you haven't even read the textbook, and feel nervous when basics are mentioned, how is that acceptable?

The benefit of thoroughly reading the specification is that you'll understand the ins and outs of layout, know the reasons behind some strange behaviors, rather than just remembering or being able to find solutions. There's a senior who is skilled at using CSS specifications to solve various problems. I don't need to tell you who he is. For someone like this, we mostly just admire him, but never seriously thought about why he's so powerful. Actually, if you carefully read the specification, you'll discover that some magical solutions like tricks are written clearly in the specification. He's just familiar with reading and thinks a lot.

Specialization matters. As a front-end developer, thoroughly reading the specification is absolutely the most basic requirement.

IV. What We Lack

First, let's look at W3C Japanese documentation:

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

Its completeness is simply astonishing. Even some CSS3 modules were translated long ago. Here's a public email:

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

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

Yes, I know.

...It leads that the translation refers recent spec, but sentences are a bit hard to read. The latter tries to translate in fluent sentences. The maintainance cost becomes high, but it would be easy to read.

...So I decide to translate.

(Quoted from 2016-5-2 Re: Japanese intention of translation)

The gist is "I know there's already a Japanese version, but it's not well translated, so I decided to redo it". Comparing with our mere 31 Chinese documents, it's really shameful.

Complete documentation is the foundation of industry development. It's precisely the lack of these supports that leads to the current plight of front-end development. Translating documents is the responsibility of all front-end developers, not just the obligation of the Chinese group. All W3C document translators are Volunteers. There's no threshold for participating in translation, and communicating with W3C staff is not as difficult as you might imagine:

Dear translator,

Thanks for your translation...

...And would you also please let me know your Full name both in Chinese and English to allow us add your info into the Database?

Please feel free to contact me if you have any questions.

The other party is very kind, not scary at all, really.

If you have experience in front-end work and happen to know some English, Please feel free to volunteer:

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

If you truly want to do something, I suggest not acting recklessly at first. Please note:

  1. Determine the document status. Is it Working Draft, Proposed, Recommendation, Candidate Recommendation, or Recommendation? It's recommended to only translate Recommendation (Recommended Standard)

  2. Confirm there's no Chinese version. Search the W3C database with various related keywords for the target document, and search public letters to confirm there's no Intention (someone wants to translate) or Completed (someone has finished translating)

  3. Send translation intention. Let everyone know you said you're going to translate this, don't duplicate

  4. Just do it.

Once you say something, you should do your best to achieve it. Having only Intention without follow-up is not good. Therefore, be cautious about translation. I suggest starting with shorter documents. But no matter what, even one very short document is extremely good for the industry.

V. To FEers

1. To Seniors

You probably also feel that newcomers in the industry now have poor foundations, low quality, and high ambitions. You may have seriously thought about the reasons, but in the end perhaps felt these things are nonsense (knowing the crux of the problem, but feeling powerless).

Of course, you don't have a lot of time, nor the energy to do the physical work for young people. But from another angle, during the translation process, young people encounter various difficulties, cannot understand certain concepts, and very much hope for an experienced senior to provide explanations. For you, these are just basic common sense, one or two sentences can clarify.

But the problem is he doesn't know you, let alone know you're willing to help him. Solving this problem is actually not difficult. Take a step forward each. As long as you show concern and support for documentation work (Chinese group? Or some other more reliable way), and as long as we can find you through some means, this knot will be untied.

On the other hand, if you discover during interviews that the other party's foundation is unbearably poor, you might as well say it directly. This is good for both them and the industry. (If a senior had scolded me like this early on, how grateful I would be now. Unfortunately, I realized too late).

These words shouldn't really be said by a tender front-end newcomer, but as the old saying goes "the barefoot fears not the shod". Thanks to senior @Qing Feng for giving me courage.

2. To Newcomers Like Me

If you haven't been in touch with front-end for long and are still in the learning and accumulation stage, I strongly recommend starting learning from the specification. If there are no well-translated Chinese documents, why not translate it yourself? This is authentic first-hand information, absolutely no loss.

If you encounter difficulties during translation, boldly ask seniors for help. At worst they won't reply. If that happens, just ask a few more people. Whether to ask is my business, whether to help is their business. First do your own part. (P.S. When seeking help, you should pay attention to wording and highlight key points. Anyway, the reply rate of help emails I sent to seniors is 100%)

On the other hand, there are indeed many things in front-end development, and our energy is limited:

I bet many friends haven't seen this. Does anyone feel the same as me: go to the bathroom for a bowel movement, then return to the office and encounter front-end new features I haven't seen before.

For someone like me who only learns HTML and CSS, it's already overwhelming. I think those friends who know CSS3, HTML5, ES6/ES7, React, Angular, bootstrap, postcss, node probably only sleep 3-4 hours every day. So powerful!

When seniors joke, they may also feel this is nonsense (they don't say it outright, letting those who put their heart into it figure it out themselves). Senior @Yu Guo said it outright: "First specialize then broaden, one specialty with multiple skills" is the trick to becoming a full-stack engineer.

When I left my internship last year, I asked various seniors in the department for a bunch of skill books, from bash to PHP|node to backbone to ionic to mathematics to product (a bit too ambitious). Currently I've only thoroughly digested one or two books, because before starting to learn skills, I saw senior @Yu Guo's book and temporarily gave up the fantasy of becoming the Third Generation (God of Ninja Techniques). I'm very glad about that choice at the time.

One last point: if you encounter difficulties, please boldly ask seniors for help. In the internet, we're all zero distance apart. Seniors in the front-end circle are very kind and very willing to lend a hand (if you pay attention to methods, there's no one you can't deal with). Personal experience:

@Zhang Xinxu Read many of his blog posts

@Han Dong winter His blog posts told me I should build a solid foundation step by step

@Front-End Development Blog Read many blog posts

@Qing Feng A friend told me an article about click-through problems was saved by him

@Fool's Wharf Read many blog posts

@Barret Li Jing Followed from Cnblogs to Brother Xiaohuzi's homepage

@Piao Ling Recently finally thoroughly digested that node book

@CSS Magic Read some blog posts

@Situ Zhengmei Wanted to learn to fly first (planned to learn framework design skills), then failed

As mentioned at the beginning, I @'d these seniors I'm not familiar with. I know them, they don't know me. Never expected that seniors would so enthusiastically help me. So, boldly do it. Seniors are very willing to help us.

Comments

No comments yet. Be the first to share your thoughts.

Leave a comment