Solve conflicts between still-open pull and master branch

The translation by Lidienfu in previous pull contains older version of Ch.21, 22, so all commits (including newest one) cannot be merged.
I just solve these conflicts, fix some typo and hyperlink then pull again.