From 6a891403fdefec9952adb7c7047c9e7b731e223b Mon Sep 17 00:00:00 2001 From: Ilya Kantor Date: Sun, 27 Sep 2020 13:18:00 +0300 Subject: [PATCH] readme --- README.md | 173 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 152 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 4b19fc5c..f8eb47da 100755 --- a/README.md +++ b/README.md @@ -1,39 +1,170 @@ -# The Modern JavaScript Tutorial +# The Modern JavaScript Tutorial in v2 -This repository hosts the English content of the Modern JavaScript Tutorial, published at [https://javascript.info](https://javascript.info). +This repository hosts the translation of in v2. -## Translations -We'd like to make the tutorial available in many languages. Please help us to translate. +**That's how you can contribute:** -See for the details. +- See the [v2 Translate Progress](https://github.com/javascript-tutorial/v2.javascript.info/issues/1) issue. +- Choose an unchecked article you'd like to translate. +- Add a comment with the article title to the issue, e.g. `An Introduction to JavaScript`. + - Our bot will mark it in the issue, for everyone to know that you're translating it. + - Your comment should contain only the title. +- Fork the repository, translate and send a PR when done. + - PR title should match article title, the bot will write it's number into the issue. -## Contributions +Please kindly allow maintainers to review and merge or request changes in your translation. + +If maintainers do not respond, or if you'd like to become a maintainer, write us at the [main repo](https://github.com/javascript-tutorial/en.javascript.info/issues/new). + +**Let others know what you're translating, in message boards or chats in your language. Invite them to join!** -We'd also like to collaborate on the tutorial with other people. +🎉 Thank you! -Something's wrong? A topic is missing? Explain it to people, add as PR 👏 +Your name and the contribution size will appear in the "About project" page when the translation gets published. -**You can edit the text in any editor.** The tutorial uses enhanced "markdown" format, easy to grasp. And if you want to see how it looks on-site, there's a server to run the tutorial locally at . - -The list of contributors is available at . +P.S. The full list of languages can be found at . ## Structure -Every chapter, article or a task has its folder. +Every chapter, an article or a task resides in its own folder. -The folder is named like `N-url`, where `N` is a number for the sorting purposes and `url` is the URL part with title of the material. +The folder is named `N-url`, where `N` – is the number for sorting (articles are ordered), and `url` is the URL-slug on the site. -The type of the material is defined by the file inside the folder: +The folder has one of files: - - `index.md` stands for a chapter - - `article.md` stands for an article - - `task.md` stands for a task (solution must be provided in `solution.md` file aswell) +- `index.md` for a section, +- `article.md` for an article, +- `task.md` for a task formulation (+`solution.md` with the solution text if any). -Each of these files starts from the `# Main header`. +A file starts with the `# Title Header`, and then the text in Markdown-like format, editable in a simple text editor. -It's very easy to add something new. +Additional resources and examples for the article or the task, are also in the same folder. + +## Translation Tips + +Please keep line breaks and paragraphs "as is": don't add newlines and don't remove existing ones. Makes it easy to merge future changes from the English version into the translation. + +If you see that the English version can be improved – great, please send a PR to it. + +### Terms + +- Some specification terms are not to be translated, e.g. "Function Declaration" can be left "as is". +- For other terms like `resolved promise`, `slash`, `regexp`, and so on - look for a glossary, hopefully there's one for your language already. If not, look for translations in manuals, such as [MDN](https://developer.mozilla.org/en-US/). + + +### Terms with meaning + +In English many terms have an obvious meaning. For a person who doesn't understand English, there's no such meaning. + +Please keep that in mind, sometimes explanations or additional translations are needed, e.g. + +```md +`ReadableStream` objects allows to read data chunk-by-chunk. +``` + +```md +`ReadableStream` ("flujo legible") objeto ... +``` + +### Text in Code Blocks + +- Translate comments. +- Translate user-messages and example strings. +- Don't translate variables, classes, identifiers. +- Ensure that the code works after the translation :) + +Example: + +```js +// Example +const text = "Hello, world"; +document.querySelector('.hello').innerHTML = text; +``` + +✅ DO (translate comment): + +```js +// Ejemplo +const text = 'Hola mundo'; +document.querySelector('.hello').innerHTML = text; +``` + +❌ DON'T (translate class): + +```js +// Ejemplo +const text = 'Hola mundo'; +// ".hello" is a class +// DO NOT TRANSLATE +document.querySelector('.hola').innerHTML = text; +``` + +Please note, that sometimes code is followed by pictures, and if you translate text `Hello` -> `Hola` in the code, you need to translate text in picturess as well. + +In that case it's probably easier not to translate such text. See more about translating images later. + + +### External Links + +If an external link is to Wikipedia, e.g. `https://en.wikipedia.org/wiki/JavaScript`, and a version of that article exists in your language that is of decent quality, link to that version instead. + +Example: + +```md +[JavaScript](https://en.wikipedia.org/wiki/JavaScript) is a programming language. +``` + +✅ OK (en -> es): + +```md +[JavaScript](https://es.wikipedia.org/wiki/JavaScript) es un lenguaje de programación. +``` + +For links to MDN, a partially translated version is ok. + +If a linked article has no translated version, leave the link "as is". + +### Metadata + +Some files, usually tasks, have YAML metadata at the top, delimited by `---`: + +```md +importance: 5 --- -♥ -Ilya Kantor @iliakan +... +``` + +Please don't translate "importance" (and other top metadata). + +### Anchors + +Some headers have `[#anchor]` at the end, e.g. + +```md +## Spread operator [#spread-operator] +``` + +Please don't translate or remove the `[#...]` part, it's for URL anchors. + + +### Images + +Most illustrations use SVG format, the text in there can be replaced with a translated variant. + +The translated text is in `images.yml` file in the tutorial root. + +The file format is YAML: +```yaml +image.svg: # image file + "hello world": # English phrase + text: "Hola mundo" # translation + position: "centre" # "center" or "right", if needed to center or right-align the translation +``` + +## Running locally + +You can run the tutorial server locally to see how the translation looks. + +The server and install instructions are at .