# zh.javascript.info: the Chinese translation of The Modern JavaScript Tutorial

> This repository holds the Chinese text of The Modern JavaScript Tutorial, the front-end course recommended by the React docs and MDN. It is a content repository with a strict translation workflow, not a library you install.

**javascript-tutorial/zh.javascript.info** — 现代 JavaScript 教程（The Modern JavaScript Tutorial），以最新的 ECMAScript 规范为基准，通过简单但足够详细的内容，为你讲解从基础到高阶的 JavaScript 相关知识。

- Repository: https://github.com/javascript-tutorial/zh.javascript.info
- Website: https://zh.javascript.info
- Stars: 10,804 · Forks: 1,205
- Language: HTML
- License: NOASSERTION
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/javascript-tutorial-zh-javascript-info

## What zh.javascript.info actually is, and who it is for

The repository is the Chinese-language content store for The Modern JavaScript Tutorial, published at https://zh.javascript.info. The README describes the course as one recommended by both the React documentation and MDN, free to read, and continuously updated. The audience is twofold. The first group is Chinese-speaking learners who want a structured JavaScript course rather than scattered blog posts. The second, and the one the repository is really built around, is translators: people who want to move an article from the English edition into Chinese. The README spends far more space on translation rules than on the tutorial's contents, which tells you where the project's effort goes. If you are looking for a JavaScript library, you are in the wrong place. There is no package to import, no runtime, no API surface. The primary language of the repository is HTML, and the top-level entries are numbered content directories: 1-js/, 2-ui/, 3-frames-and-windows/, 4-binary/, 5-network/, 6-data-storage/, 7-animation/, 8-web-components/, 9-regular-expressions/.

## How the content repository is laid out, and why the numbering matters

Everything is organised by folder. A folder is named N-url, where N is a sorting number and url is the part of the site link that carries the content title. The README states this naming rule directly, and it is the reason the site navigation and the directory listing stay in the same order. Inside a folder, the filename decides what kind of page it is: index.md is a section, article.md is an article, and task.md is an exercise whose answer must live in solution.md. Every file begins with a level-one heading. Adding content therefore means creating a folder and dropping in one of four filenames. That is the whole architecture. There is no build manifest in the repository root that assembles the site; the README points to a separate server project for local preview, at https://github.com/javascript-tutorial/server. The practical consequence is that a contributor edits plain Markdown and never touches templates, routing or styling. The trade-off is that you cannot verify how a page will render without pulling in that second repository, which the README treats as an external step rather than part of this one.

## Claiming an article and running the tutorial locally

The translation workflow is enforced through a GitHub issue rather than through branch protection. You check the Chinese Translate Progress issue, pick an article that is not yet checked off, and post a comment whose content is the article title, for example An Introduction to JavaScript. A bot ticks the corresponding entry in the list so others know the article is taken. The README warns not to add any other explanation to that comment. If a claimed article has not received a translation within 15 days, someone else may comment with the same title and mention @leviding to take it over. After forking, the pull request should be named after the article title, and the bot fills in the rest. There is no command to run for the claim itself; it is a comment on the issue.

Previewing your translation locally means running the separate server project, which the README links rather than documents. The README's only instruction for it is the repository URL, https://github.com/javascript-tutorial/server, so treat that project's own documentation as the authority on how to start it. What you should see once it is running is the tutorial rendered in a browser, with your edited Markdown in place. Once you are editing, the file you touch is one of the four filenames described above, and the README's example of a file opening looks like this:

```md
# 一级标题
```

The README is explicit that you should not add line breaks or paragraphs, and should not remove existing ones, because doing so makes merges from the English edition harder. That single rule shapes every edit you make.

## Translation rules that will trip up a first pull request

The style constraints are unusually specific, and reviewers enforce them. Proper terms such as Function Declaration are not translated at all. Other terms should first be checked against the English-Chinese glossary in the project WIKI; if no equivalent exists, the README says to look at how other tutorials such as MDN handled it, and if that fails, leave the original term in place. When a term is translated, the original goes in parentheses after it, for example a term followed by its English form, and only on the first occurrence in an article. Punctuation follows the chinese-copywriting-guidelines project, which means spaces around links and bold text. Chinese has no italic form, so English italics become bold in the translation. The slash character has its own rule: keep it half-width with no spaces on either side, but leave a space before and after the whole pair of words it joins. Inside code blocks, comments are translated, as are strings shown to users, but variables, classes and identifiers are not. The README gives a concrete counterexample: translating the class selector in document.querySelector('.hello') into Chinese would break the example. YAML metadata at the top of a file, such as importance, is left untouched, and the [#anchor] suffix on a heading must be preserved exactly because the URL depends on it. External links stay as they are, with two exceptions: a Wikipedia link should point to the target-language article when a good one exists, and MDN links may point to a partially translated version.

## Where this repository is the wrong tool

It is not a JavaScript runtime, a course platform, or a package. If you want to teach JavaScript inside your own product, nothing here drops in: the content is Markdown with project-specific conventions, and the rendering lives in the server repository. The second limitation is the sync problem. The README devotes a section to keeping the Chinese edition in step with the English one, and it does not explain the procedure itself; it links to a WIKI page titled with the question of how to carry out subsequent updates. A contributor who only reads the README will know that syncing matters and will not know how to do it. The third is the 15-day claim window, which is a coordination mechanism rather than a guarantee: an article can sit claimed and untranslated, and the recovery path depends on a human maintainer being mentioned. Finally, the repository has no releases, so there is no versioned snapshot to pin your work against. The last push to the default branch was on 2026-03-24; the README describes the tutorial as continuously updated, but the repository history is the only place that shows how often the Chinese text actually moves.

## The English edition and MDN as the practical alternatives

The obvious alternative is the English original at javascript.info, maintained by the same tutorial organisation. The difference is not just language. The English repository is the upstream source: changes land there first, and the Chinese repository merges them afterwards, which is exactly why the README forbids adding or removing line breaks and paragraphs. Translating against a moving upstream is the cost of the Chinese edition, and the merge discipline is the mitigation. The second alternative is MDN, which the README itself names as a reference for terminology when the project glossary has no entry. MDN is a reference work organised by API and concept; this tutorial is a sequenced course with exercises and solutions, and its folders 1-js/ through 9-regular-expressions/ reflect that order. If your goal is to look up how a method behaves, MDN answers faster. If your goal is to learn JavaScript in order, with tasks attached, the tutorial structure is the thing MDN does not provide.

## Licence and the cost of keeping a translation alive

The repository's licence is reported as NOASSERTION, which means the licence file could not be matched to a standard identifier automatically. The LICENSE.md file exists at the repository root, and that file, not this description, is what governs reuse. Read it before republishing any part of the text, and if the terms matter to your organisation, have someone qualified read it. On upgrade cost: there is nothing to upgrade in the software sense, since no releases are published. The recurring cost is editorial. Every change to the English edition is a potential merge into the Chinese files, and the README's formatting rules exist to keep those merges mechanical. A translation that drifts from the English structure turns each upstream change into manual reconciliation. The README also keeps a list of current and historical maintainers, with LeviDing listed as both admin and current active maintainer, which is a fair signal of how concentrated review is.

## Conclusion

Adopt this repository if you maintain Chinese-language JavaScript teaching material and want to contribute to a course that MDN and the React documentation both point readers to; the contribution path is a fork, a claim comment on issue 324, and a pull request within 15 days. Do not clone it expecting a runnable app or a dependency: the repository is Markdown content, and previewing it locally means running the separate javascript-tutorial/server project. Before you start translating, verify two things: that the article you want is still unchecked in the progress list on issue 324, and that no maintainer has answered the sync question in the WIKI, because the README documents the update procedure only by pointing there.

## FAQ

### What is JavaScript info, and what does zh.javascript.info contain?

It is The Modern JavaScript Tutorial, a course the README says is recommended by the React documentation and MDN. This repository hosts the Chinese translation, published at https://zh.javascript.info, and holds the Markdown source organised into numbered folders.

### Is the JavaScript info tutorial free?

The README describes the tutorial as free permanently and continuously updated, and the Chinese edition is published openly at zh.javascript.info. The repository licence is reported as NOASSERTION, so check LICENSE.md for the terms that apply to reuse of the text.

### Is JavaScript still relevant in 2026?

The repository does not discuss JavaScript's standing in the job market or the language's future. What it does show is that the tutorial is written against the current ECMAScript specification, and that the Chinese edition was still being pushed to as recently as 2026-03-24.

## Sources

- [Issues](https://github.com/javascript-tutorial/zh.javascript.info/issues)
- [javascript-tutorial/zh.javascript.info on GitHub](https://github.com/javascript-tutorial/zh.javascript.info)
- [Project website](https://zh.javascript.info)
- [README](https://github.com/javascript-tutorial/zh.javascript.info/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/javascript-tutorial-zh-javascript-info
