This repository hosts the translation of https://javascript.info in Sinhala.
That's how you can contribute:
- See the Sinhala Translate Progress 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.
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.
Let others know what you're translating, in message boards or chats in your language. Invite them to join!
🎉 Thank you!
Your name and the contribution size will appear in the "About project" page when the translation gets published.
P.S. The full list of languages can be found at https://javascript.info/translate.
Every chapter, an article or a task resides in its own folder.
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 folder has one of files:
index.md
for a section,article.md
for an article,task.md
for a task formulation (+solution.md
with the solution text if any).
A file starts with the # Title Header
, and then the text in Markdown-like format, editable in a simple text editor.
Additional resources and examples for the article or the task, are also in the same folder.
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.
- 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.
- Translate comments.
- Translate user-messages and example strings.
- Don't translate variables, classes, identifiers.
- Ensure that the code works after the translation :)
Example:
// Example
const text = "Hello, world";
document.querySelector('.hello').innerHTML = text;
✅ DO (translate comment):
// Ejemplo
const text = 'Hola mundo';
document.querySelector('.hello').innerHTML = text;
❌ DON'T (translate class):
// Ejemplo
const text = 'Hola mundo';
// ".hello" is a class
// DO NOT TRANSLATE
document.querySelector('.hola').innerHTML = text;
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:
[JavaScript](https://en.wikipedia.org/wiki/JavaScript) is a programming language.
✅ OK (en -> es):
[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".
Some files, usually tasks, have YAML metadata at the top, delimited by ---
:
importance: 5
---
...
Please don't translate "importance" (and other top metadata).
Some headers have [#anchor]
at the end, e.g.
## Spread operator [#spread-operator]
Please don't translate or remove the [#...]
part, it's for URL anchors.
You can run the tutorial server locally to see how the translation looks.
The server and install instructions are at https://github.com/javascript-tutorial/server.