• Stars
    star
    181
  • Rank 205,338 (Top 5 %)
  • Language
    HTML
  • License
    Other
  • Created about 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Modern JavaScript Tutorial in Persian (Farsi)

The Modern JavaScript Tutorial in Persian (Farsi)

This repository hosts the translation of https://javascript.info in Persian (Farsi).

Got a question to ask? feel free to ask in our Telegram group: t.me/javascriptFa

That's how you can contribute:

  • See the Persian (Farsi) 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!

We'd also like to collaborate on the tutorial with other people.

Something's wrong? A topic is missing? Explain it to people, add it as PR 👏

You can edit the text in any editor. The tutorial uses an 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 https://github.com/javascript-tutorial/server.

The list of contributors is available at https://javascript.info/about#contributors.

Structure

Every chapter, article, or task has its folder.

The folder is named like N-url, where N is a number for the sorting purposes and URL is the URL part with the title of the material.

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).

Each of these files starts from the # Main header.

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 a good glossary, hopefully there's one for your language already.
    • If there's no dictionary, look for translations in manuals, such as MDN.

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:

// 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;

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:

[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".

Metadata

Some files, usually tasks, have YAML metadata at the top, delimited by ---:

importance: 5

---
...

Please don't translate "importance" (and other top metadata).

Anchors

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.

نکات ترجمهٔ فارسی

در این بخش، نکاتی مختص ترجمه به زبان فارسی را بررسی می‌کنیم. لطفاً قبل از خواندن این بخش، نکات کلی ترجمه را مطالعه کنید.

نیم‌فاصله

نیم‌فاصله، نویسه‌ای در استاندارد یونی‌کد است که برای حروفچینی کامپیوتری برخی خط‌ها همچون خط فارسی و خط‌های هندیک به‌کار می‌رود.1 برای خوانایی بهتر متن لطفاً از آن استفاده کنید اما اگر قصد انجام چنین کاری را ندارید، لطفاً در هیچ کجای متن از آن استفاده نکنید تا ترجمه‌ای یک‌دست داشته باشیم.

برای آشنایی با نحوهٔ استفاده از نیم‌فاصله، به صفحهٔ آن 1 در ویکی‌پدیای فارسی مراجعه کنید.

ترجمۀ کامنت‌ها در کد

ترجمۀ کامنت‌ها می‌تواند کمی دشوار باشد. ترجمۀ کامنت‌هایی که کاملا فارسی هستند به درستی در بلوک‌های کد نشان داده می‌شوند اما ترجمه‌هایی که شامل کلمات انگلیسی می‌شوند خوانایی راحتی ندارند.

برای خوانا کردن کامنت‌های نوع دوم، باید ترتیب نوشتن را تغییر دهیم. برای مثال کامنت پایین را در نظر بگیرید:

... code ...
// We want the for..of to work
... code ...

ترجمۀ معمولی این کامنت به صورت زیر خواهد بود:

... code ...
// ما می‌خواهیم که for..of کار کند
... code ...

برای خوانا کردن این کامنت، باید ترتیب نوشتن را تغییر دهیم. با شروع از راست به چپ، به صورت زیر عمل می‌کنیم:

  1. به عبارت «کار کند» می‌رسیم و آن را می‌نویسیم:
... code ...
// ما می‌خواهیم for..of کار کند
// کار کند
... code ...
  1. سپس به عبارت «for..of» می‌رسیم و آن را می‌نویسیم:
... code ...
// ما می‌خواهیم for..of کار کند
// کار کند for..of
... code ...
  1. به عبارت «ما می‌خواهیم» می‌رسیم و آن را می‌نویسیم:
... code ...
// ما می‌خواهیم for..of کار کند
// کار کند for..of ما می‌خواهیم
... code ...
  1. در نهایت کامنت قبلی را پاک می‌کنیم. ترجمۀ نهایی به این صورت است:
... code ...
// کار کند for..of ما می‌خواهیم
... code ...

همانطور که می‌بینید با برعکس کردن ترتیب عبارات ترجمه شده از راست به چپ کامنت خوانایی خود را بدست آورد.

این روش ممکن است کمی دشوار به نظر برسد اما ارزش آن را دارد. فراموش نکنید خوانا بودن متن به فهم آن کمک زیادی می‌کند.

توجه کنید که این روش تنها برای ترجمۀ کامنت‌ها استفاده می‌شود و متن اصلی به این روش نیازی ندارد. متن اصلی مانند جملات بالایی و به صورت معمولی ترجمه می‌شود.

مثال‌هایی بیشتر (نوشتن مراحل در این مثال‌ها تنها برای فهم بهتر است و شما نیازی به نوشتن مراحل ندارید. کامنت‌ها باید بدون نوشتن مراحل ترجمه شوند):

... code ...
// await تنها در توابع async کار می کند
// 1. کار می‌کند
// 2. کار می‌کند async
// 3. کار می‌کند async تنها در توابع
// 4. کار می‌کند async تنها در توابع await
... code ...
... code ...
// بعد از 1000 میلی ثانیه با مقدار this.num * 2 حل می شود
// 1. حل می‌شود
// 2. حل می‌شود this.num * 2
// 3. حل می‌شود this.num * 2 بعد از 1000 میلی ثانیه با مقدار
... code ...
let hello = 'Hello world!';

let message;

// 'Hello world' را از hello درون message کپی کن
// 1. کپی کن
// 2. کپی کن message
// 3. کپی کن message درون
// 4. کپی کن message درون hello
// 5. کپی کن message درون hello را از
// 6. کپی کن message درون hello را از 'Hello world'
message = hello;

در صورتی که راه بهتری را برای ترجمۀ کامنت‌ها سراغ دارید ممنون می‌شویم با ساختن یک issue آن را با ما در میان بگذارید.

ترجمۀ ارورها در کامنت

در بعضی از کدهای موجود در این آموزش، ارورهایی که هنگام اجرای کد به آن‌ها برمی‌خوریم به صورت کامنت نوشته شده‌اند.

لطفا قبل از ترجمۀ ارورها، کد مربوط به آن را اجرا کنید (برای این کار می‌توانید به صفحۀ انگلیسی مقاله در javascript.info مراجعه کنید). پس از اجرای کد به ارور نمایش داده شده دقت کنید: اگر ارور دقیقا همان چیزی بود که در کامنت نوشته شده بود آن را ترجمه نکنید، در غیر این صورت کامنت نیاز به ترجمه دارد.

ترجمۀ رشته‌ها (string)

به طور کلی ترجمۀ رشته‌ها مشکلی ایجاد نمی‌کند. اما اینکه رشته درون مرورگر نمایش داده خواهد شد یا نه تاثیرگذار است.

زمانی که ترجمۀ رشته‌ای کلمۀ انگلیسی ندارد هم در کد خوانا است و هم زمان نمایش در مرورگر. اما رشته‌ای که حاوی کلمۀ انگلیسی باشد در کد خوانا نیست ولی اگر با کلمۀ فارسی شروع شود در مرورگر به درستی و از راست به چپ نمایش داده می‌شود.

پس لطفا زمان ترجمۀ رشته‌ها به این دقت کنید که رشته درون alert (یا تابع‌هایی که در مرورگر پیامی را نمایش می‌دهند) قرار می‌گیرد یا نه. در صورتی که رشته درون این تابع قرار داشت و با کلمۀ فارسی شروع می‌شد، ترجمۀ آن مانند متن اصلی است اما اگر با کلمۀ انگلیسی شروع می‌شد، سعی کنید قبل از آن کلمه‌ای فارسی قرار دهید. اگر امکان قرار دادن کلمۀ فارسی نبود، رشته را مانند کامنت‌های درون کد ترجمه کنید؛ اینگونه ممکن است رشته زمان نمایش در مرورگر به درستی نمایش داده نشود اما حداقل درون کد خوانا است.

نکات جزئی

  • خوانایی جمله مهم است، لطفا به آن توجه کنید.
  • استفاده از علائم نگارشی حتما نباید دقیقا مانند متن باشد. ممکن است ما در فارسی جایی ویرگول نگذاریم اما در انگلیسی نیاز به کاما وجود داشته باشد. فقط بیان جلمات را تغییر ندهید، برای مثال اگر جمله سوالی یا تعجبی نیست علائم مربوط را اضافه یا حذف نکنید.
  • مقدارهای بولین (boolean) را ترجمه نکنید.

Footnotes

  1. نیم‌فاصله در ویکی‌پدیای فارسی 2

More Repositories

1

en.javascript.info

Modern JavaScript Tutorial
HTML
22,720
star
2

zh.javascript.info

现代 JavaScript 教程(The Modern JavaScript Tutorial),以最新的 ECMAScript 规范为基准,通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。
HTML
9,329
star
3

ru.javascript.info

Современный учебник JavaScript
HTML
3,728
star
4

ko.javascript.info

모던 JavaScript 튜토리얼(The Modern JavaScript Tutorial in Korean )
HTML
1,804
star
5

es.javascript.info

Spanish translation of javascript.info site.
HTML
518
star
6

server

Server for the Modern Javascript Tutorial
JavaScript
440
star
7

ja.javascript.info

現代の JavaScript チュートリアル
HTML
393
star
8

tr.javascript.info

Modern JavaScript Tutorial in Turkish
HTML
337
star
9

uk.javascript.info

Modern JavaScript Tutorial in Ukrainian (JavaScript українською 🇺🇦)
HTML
309
star
10

pt.javascript.info

Tutorial de JavaScript Moderno em Português
HTML
218
star
11

fr.javascript.info

Modern JavaScript Tutorial
HTML
198
star
12

id.javascript.info

Tutorial JavaScript Modern dalam Bahasa Indonesia
HTML
132
star
13

bn.javascript.info

Modern JavaScript Tutorial in Bengali
HTML
116
star
14

it.javascript.info

Modern JavaScript Tutorial in Italian
HTML
79
star
15

ar.javascript.info

Modern JavaScript Tutorial in Arabic
HTML
60
star
16

pl.javascript.info

Modern JavaScript Tutorial in Polish
HTML
38
star
17

zh-hant.javascript.info

Modern JavaScript Tutorial in Chinese Traditional
HTML
36
star
18

de.javascript.info

Modern JavaScript Tutorial in German
HTML
34
star
19

vi.javascript.info

Modern JavaScript Tutorial in Vietnamese
HTML
34
star
20

hi.javascript.info

Modern JavaScript Tutorial in Hindi
HTML
28
star
21

ro.javascript.info

Modern JavaScript Tutorial in Romanian
HTML
27
star
22

uz.javascript.info

Modern JavaScript Tutorial in Uzbek
HTML
26
star
23

az.javascript.info

Modern JavaScript Tutorial in Azerbaijani
HTML
23
star
24

translate

Modern JavaScript Tutorial Translation
JavaScript
21
star
25

engine

JavaScript
20
star
26

th.javascript.info

Modern JavaScript Thai Version
HTML
17
star
27

ka.javascript.info

Modern JavaScript Tutorial in Georgian
HTML
14
star
28

el.javascript.info

Modern JavaScript Tutorial in Greek (Μοντέρνο JavaScript Tutorial στα Ελληνικά)
HTML
10
star
29

ug.javascript.info

Modern JavaScript Tutorial in Uyghur
HTML
8
star
30

hy.javascript.info

Modern JavaScript Tutorial in Armenian
HTML
8
star
31

bg.javascript.info

Modern JavaScript Tutorial in Bulgarian
HTML
8
star
32

test.javascript.info

Modern JavaScript Tutorial in Test
HTML
7
star
33

te.javascript.info

Modern JavaScript Tutorial in Telugu
HTML
6
star
34

ta.javascript.info

Modern JavaScript Tutorial in Tamil
HTML
6
star
35

kk.javascript.info

Modern JavaScript Tutorial in Kazakh
HTML
5
star
36

ky.javascript.info

Modern JavaScript Tutorial in Kyrgyz
HTML
5
star
37

he.javascript.info

Modern JavaScript Tutorial in Hebrew
HTML
4
star
38

lt.javascript.info

Modern JavaScript Tutorial in Lithuanian
HTML
4
star
39

nl.javascript.info

Modern JavaScript Tutorial in Dutch
HTML
4
star
40

pa.javascript.info

Modern JavaScript Tutorial in Punjabi
HTML
3
star
41

ca.javascript.info

Modern JavaScript Tutorial in Catalan
HTML
3
star
42

my.javascript.info

Modern JavaScript Tutorial in Burmese
HTML
3
star
43

hu.javascript.info

Modern JavaScript Tutorial in Hungarian
HTML
3
star
44

cs.javascript.info

Modern JavaScript Tutorial in Czech
HTML
3
star
45

sr.javascript.info

Modern JavaScript Tutorial in Serbian
HTML
3
star
46

sq.javascript.info

Modern JavaScript Tutorial in Albanian
HTML
2
star
47

ms.javascript.info

Modern JavaScript Tutorial in Malay
HTML
2
star
48

tk.javascript.info

Modern JavaScript Tutorial in Turkmen
HTML
2
star
49

v2.javascript.info

Modern JavaScript Tutorial in v2
HTML
2
star
50

ml.javascript.info

Modern JavaScript Tutorial in Malayalam
HTML
2
star
51

hr.javascript.info

Modern JavaScript Tutorial in Croatian
HTML
2
star
52

km.javascript.info

Modern JavaScript Tutorial in Central Khmer
HTML
2
star
53

ku.javascript.info

Modern JavaScript Tutorial in Kurdish | فێرکاری مۆدێرن جاڤاسکڕێپت بە زمانی کوردی
HTML
2
star
54

fi.javascript.info

Modern JavaScript Tutorial in Finnish
HTML
1
star
55

bs.javascript.info

Modern JavaScript Tutorial in Bosnian
HTML
1
star
56

da.javascript.info

Modern JavaScript Tutorial in Danish
HTML
1
star
57

me.javascript.info

Savremen JavaScript tutorijal na crnogorskom jeziku !
HTML
1
star
58

project

Git Crash Course demo repository
HTML
1
star
59

ur.javascript.info

Modern JavaScript Tutorial in Urdu
HTML
1
star
60

sk.javascript.info

Modern JavaScript Tutorial in Slovak
HTML
1
star
61

si.javascript.info

Modern JavaScript Tutorial in Sinhala
HTML
1
star
62

pt-PT-old.javascript.info

Modern JavaScript Tutorial in Portuguese
HTML
1
star
63

ro-old.javascript.info

The translated version of https://github.com/iliakan/javascript-tutorial-en in Romanian.
HTML
1
star