Skip to content

Commit 5c75bd6

Browse files
authored
Merge pull request #225 from mahdiHash/master
Update README
2 parents 1df2232 + ea34b10 commit 5c75bd6

1 file changed

Lines changed: 82 additions & 137 deletions

File tree

README.md

Lines changed: 82 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

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

5+
**Got a question to ask? feel free to ask in our Telegram group: [t.me/javascriptFa](https://t.me/javascriptFa)**
6+
57
**That's how you can contribute:**
68

79
- See the [Persian (Farsi) Translate Progress](https://github.com/javascript-tutorial/fa.javascript.info/issues/1) issue.
@@ -20,9 +22,9 @@ If maintainers do not respond, or if you'd like to become a maintainer, write us
2022

2123
🎉 Thank you!
2224

23-
ما همچنین می‌خواهیم در این آموزش با افراد دیگر نیز همکاری کنیم.
25+
We'd also like to collaborate on the tutorial with other people.
2426

25-
چیزی اشتباه است؟ موضوعی کم است؟ آن را به افراد دیگر توضیح دهید و با PR آن را اضافه کنید.
27+
Something's wrong? A topic is missing? Explain it to people, add it as PR 👏
2628

2729
**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>.
2830

@@ -137,113 +139,137 @@ Please don't translate or remove the `[#...]` part, it's for URL anchors.
137139
## نکات ترجمهٔ فارسی
138140
در این بخش، نکاتی مختص ترجمه به زبان فارسی را بررسی می‌کنیم. لطفاً قبل از خواندن این بخش، [نکات کلی ترجمه](#translation-tips) را مطالعه کنید.
139141

140-
لغت‌نامه در انتها و بعد از تمام نکات قرار دارد.
141-
142142
### نیم‌فاصله
143143
نیم‌فاصله، نویسه‌ای در استاندارد یونی‌کد است که برای حروفچینی کامپیوتری برخی خط‌ها همچون خط فارسی و خط‌های هندیک به‌کار می‌رود.[^1]
144144
برای خوانایی بهتر متن لطفاً از آن استفاده کنید اما اگر قصد انجام چنین کاری را ندارید، لطفاً در هیچ کجای متن از آن استفاده نکنید تا ترجمه‌ای یک‌دست داشته باشیم.
145145

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

148148
### ترجمۀ کامنت‌ها در کد
149-
ترجمۀ کامنت‌ها می‌تواند کمی سخت باشد. کامنت‌ها دو حالت دارند:
150-
151-
1. کامنت‌هایی که در ترجمۀ آن‌ها کلمۀ انگلیسی وجود ندارد.
152-
2. کامنت‌هایی که در ترجمۀ آن‌ها کلمۀ انگلیسی وجود دارد.
149+
ترجمۀ کامنت‌ها می‌تواند کمی دشوار باشد. ترجمۀ کامنت‌هایی که کاملا فارسی هستند به درستی در بلوک‌های کد نشان داده می‌شوند اما ترجمه‌هایی که شامل کلمات انگلیسی می‌شوند خوانایی راحتی ندارند.
153150

154-
کامنت‌های نوع اول خوانایی خود را در کد حفظ می‌کنند. اما به دلیل اینکه کد از چپ به راست نوشته و خوانده می‌شود، کامنت‌های نوع دوم خوانایی خوبی ندارند.
151+
برای خوانا کردن کامنت‌های نوع دوم، باید ترتیب نوشتن را تغییر دهیم. برای مثال کامنت پایین را در نظر بگیرید:
155152

156-
ما اینجا روشی را معرفی می‌کنیم تا این کامنت‌ها به راحتی متن اصلی خوانده شوند.
153+
<div dir="ltr">
157154

158-
زمانی که نوشتن از چپ به راست است اگر شما به فارسی چیزی بنویسید، در صورت وجود کلمۀ انگلیسی، ترتیب خواندن جمله بهم می‌ریزد.
155+
```
156+
... code ...
157+
// We want the for..of to work
158+
... code ...
159+
```
160+
</div>
159161

160-
بیایید با یک مثال این را نشان دهیم:
162+
ترجمۀ معمولی این کامنت به صورت زیر خواهد بود:
161163

162164
<div dir="ltr">
163-
164-
```
165-
...code...
166165

167-
// امروز John را دیدم
168-
169-
...code...
166+
```
167+
... code ...
168+
// ما می‌خواهیم که for..of کار کند
169+
... code ...
170170
```
171171
</div>
172172

173-
همانطور که می‌بینید، ترتیب جمله بالا به دلیل وجود کلمه "John" تغییر کرده است. اگر به طور معمولی و از راست به چپ جمله را بخوانیم، اینگونه خواهد بود: «را دیدم John امروز».
174-
اما در اصل جمله باید اینگونه خوانده شود: «امروز John را دیدم».
173+
برای خوانا کردن این کامنت، باید ترتیب نوشتن را تغییر دهیم. با شروع از راست به چپ، به صورت زیر عمل می‌کنیم:
175174

176-
حالا بیایید ترتیب جمله در کد را تغییر دهیم:
175+
1. به عبارت «کار کند» می‌رسیم و آن را می‌نویسیم:
177176

178177
<div dir="ltr">
179-
180-
```
181-
...code...
182-
183-
// را دیدم John امروز
184178

185-
...code...
179+
```
180+
... code ...
181+
// ما می‌خواهیم for..of کار کند
182+
// کار کند
183+
... code ...
186184
```
187185
</div>
188186

189-
حالا می‌توانیم جمله را با ترتیب درست بخوانیم. بیایید به تغییرات دقت کنیم. در جمله بالایی «را دیدم» سمت راست بود اما حالا سمت چپ. موقعیت "John" تفاوتی نداشته اما «امروز» هم جابجا شده و سمت راست قرار گرفته است.
190-
191-
بنابراین ما با جابجایی کلمات فارسی نسبت به کلمات انگلیسی، توانستیم جمله را خوانا کنیم. حالا بیایید یک مثال طولانی‌تر ببینیم:
187+
2. سپس به عبارت «for..of» می‌رسیم و آن را می‌نویسیم:
192188

193189
<div dir="ltr">
194190

195191
```
196-
...code...
197-
198-
// امروز John را همراه با Merry دیدم
199-
200-
...code...
192+
... code ...
193+
// ما می‌خواهیم for..of کار کند
194+
// کار کند for..of
195+
... code ...
201196
```
202197
</div>
203198

204-
برای اینکه ترتیب این جمله را درست کنیم، باید جمله را به طور برعکس بنویسیم؛ یعنی از سمت راست به چپ هر کلمه را دوباره بنویسیم:
199+
3. به عبارت «ما می‌خواهیم» می‌رسیم و آن را می‌نویسیم:
205200

206201
<div dir="ltr">
207202

208203
```
209-
...code...
204+
... code ...
205+
// ما می‌خواهیم for..of کار کند
206+
// کار کند for..of ما می‌خواهیم
207+
... code ...
208+
```
209+
</div>
210210

211-
// امروز John را همراه با Merry دیدم
212-
// دیدم Merry را همراه با John امروز
211+
4. در نهایت کامنت قبلی را پاک می‌کنیم. ترجمۀ نهایی به این صورت است:
213212

214-
...code...
213+
<div dir="ltr">
214+
215+
```
216+
... code ...
217+
// کار کند for..of ما می‌خواهیم
218+
... code ...
215219
```
216220
</div>
217221

218-
در مثال بالا با شروع از سمت راست جمله، اینگونه عمل کردیم:
222+
همانطور که می‌بینید با برعکس کردن ترتیب عبارات ترجمه شده از راست به چپ کامنت خوانایی خود را بدست آورد.
219223

220-
1. به کلمه «دیدم» رسیدیم و در خط پایین آن را نوشتیم.
221-
2. سپس به کلمه "Merry" رسیدیم و آن را نوشتیم.
222-
3. به عبارت «را همراه با» رسیدیم و آن را نوشتیم.
223-
4. پس از آن "John" را نوشتیم.
224-
5. و سرانجام «امروز».
224+
این روش ممکن است کمی دشوار به نظر برسد اما ارزش آن را دارد. فراموش نکنید خوانا بودن متن به فهم آن کمک زیادی می‌کند.
225+
226+
**توجه کنید که این روش تنها برای ترجمۀ کامنت‌ها استفاده می‌شود و متن اصلی به این روش نیازی ندارد.** متن اصلی مانند جملات بالایی و به صورت معمولی ترجمه می‌شود.
225227

226-
در نهایت باید جمله بالایی را پاک کنیم پس نتیجه نهایی اینگونه است:
228+
مثال‌هایی بیشتر (نوشتن مراحل در این مثال‌ها تنها برای فهم بهتر است و شما نیازی به نوشتن مراحل ندارید. کامنت‌ها باید بدون نوشتن مراحل ترجمه شوند):
227229

228230
<div dir="ltr">
229231

230232
```
231-
...code...
233+
... code ...
234+
// await تنها در توابع async کار می کند
235+
// 1. کار می‌کند
236+
// 2. کار می‌کند async
237+
// 3. کار می‌کند async تنها در توابع
238+
// 4. کار می‌کند async تنها در توابع await
239+
... code ...
240+
```
241+
</div>
232242

233-
// دیدم Merry را همراه با John امروز
243+
<div dir="ltr">
234244

235-
...code...
245+
```
246+
... code ...
247+
// بعد از 1000 میلی ثانیه با مقدار this.num * 2 حل می شود
248+
// 1. حل می‌شود
249+
// 2. حل می‌شود this.num * 2
250+
// 3. حل می‌شود this.num * 2 بعد از 1000 میلی ثانیه با مقدار
251+
... code ...
236252
```
237253
</div>
238254

239-
همانطور که می‌بینید، با نوشتن جملۀ بالایی به صورت برعکس، به جملۀ پایین با ترتیب درست رسیدیم.
240-
241-
این نحوۀ نوشتن ترجمۀ کامنت‌هایی است که کلمات انگلیسی دارند. با برعکس کردن ترتیب جملۀ ترجمه شده!
255+
<div dir="ltr">
242256

243-
این روش ممکن است کمی دشوار به نظر برسد اما ارزش آن را دارد. فراموش نکنید خوانا بودن متن به فهم آن کمک زیادی می‌کند.
257+
```js
258+
let hello = 'Hello world!';
259+
260+
let message;
261+
262+
// 'Hello world' را از hello درون message کپی کن
263+
// 1. کپی کن
264+
// 2. کپی کن message
265+
// 3. کپی کن message درون
266+
// 4. کپی کن message درون hello
267+
// 5. کپی کن message درون hello را از
268+
// 6. کپی کن message درون hello را از 'Hello world'
269+
message = hello;
270+
```
271+
</div>
244272

245-
**توجه کنید که این روش تنها برای ترجمۀ کامنت‌ها استفاده می‌شود و متن اصلی به این روش نیازی ندارد.** متن اصلی مانند جملات بالایی و به صورت معمولی ترجمه می‌شود.
246-
247273
در صورتی که راه بهتری را برای ترجمۀ کامنت‌ها سراغ دارید ممنون می‌شویم با [ساختن یک issue](https://github.com/javascript-tutorial/fa.javascript.info/issues/new/choose)
248274
آن را با ما در میان بگذارید.
249275

@@ -261,91 +287,10 @@ Please don't translate or remove the `[#...]` part, it's for URL anchors.
261287

262288
### نکات جزئی
263289

264-
- سعی کنید تیترها و جمله‌ها را با کلمات فارسی شروع کنید.
265290
- خوانایی جمله مهم است، لطفا به آن توجه کنید.
266-
- لطفا از لغت‌نامه پایین **استفاده کنید** تا ترجمه‌ای یک‌دست داشته باشیم.
267291
- استفاده از علائم نگارشی حتما نباید دقیقا مانند متن باشد. ممکن است ما در فارسی جایی ویرگول نگذاریم اما در انگلیسی نیاز به کاما وجود داشته باشد. فقط بیان جلمات را تغییر ندهید، برای مثال اگر جمله سوالی یا تعجبی نیست علائم مربوط را اضافه یا حذف نکنید.
268292
- مقدارهای بولین (boolean) را ترجمه نکنید.
269293

270-
### لغت‌نامه
271-
در صورتی که کلمۀ مورد نظر شما در این جدول نبود لطفا به ما اطلاع دهید یا README را ویرایش کنید و یک Pull Request بفرستید.
272-
273-
جدول به ترتیب حروف الفبای انگلیسی است.
274-
275-
| کلمۀ انگلیسی | ترجمۀ فارسی | توضیحات |
276-
|---------|---------|------------------------------|
277-
| argument | آرگومان | |
278-
| array | آرایه | |
279-
| arrow function | تابع کمانی | |
280-
| binary | دوگانه، دودویی | |
281-
| block scope | محدودیت بلوک | |
282-
| boolean | boolean، بولین | |
283-
| callback | callback | |
284-
| child (in class inheritance) | فرزند | |
285-
| class | کلاس | |
286-
| class expression | class expression | |
287-
| closure | کلوژر | |
288-
| code block | بلوک کد | |
289-
| constructor function | تابع سازنده | |
290-
| context | زمینه | گاهی لازم است انگلیسی آن داخل پرانتز نوشته شود |
291-
| curly bracket | آکولاد | |
292-
| decorator | دکوراتور | |
293-
| error | ارور | |
294-
| evaluate | ارزیابی کردن | |
295-
| execute | اجرا کردن | |
296-
| extend (in class inheritance) | تعمیم دادن | |
297-
| field (in class) | فیلد | |
298-
| framework | فریم‌ورک | |
299-
| function | تابع | |
300-
| Function Declaration | Function Declaration | |
301-
| Function Expression | Function Expression | |
302-
| garbage collection | زباله‌روبی | |
303-
| garbage collector | زباله جمع‌کن | |
304-
| getter function | تابع گیرنده | |
305-
| global | گلوبال | |
306-
| hashing function | تابع ترکیب‌سازی | |
307-
| item (in arrays) | المان | |
308-
| iterable | حلقه‌پذیر | |
309-
| iteration(over) | حلقه زدن | |
310-
| JSON | جی‌سان | |
311-
| key (in data structures) | کلید | |
312-
| lexical environment | محیط لغوی | |
313-
| loop over | حلقه زدن | |
314-
| method (in data structures) | متد | |
315-
| null | null | |
316-
| number | عدد | |
317-
| object | شیء | |
318-
| object literal | شیء لیترال | |
319-
| operator | عملگر | |
320-
| parameter | پارامتر | |
321-
| parent (in class inheritance) | والد | |
322-
| polyfill | پلیفیل | |
323-
| primitive (data type) | مقدار اصلی | |
324-
| property (in objects) | ویژگی | |
325-
| property descriptor | توصیف‌کننده ویژگی | |
326-
| property flag | پرچم ویژگی | |
327-
| prototype | پروتوتایپ | |
328-
| recursion | بازگشت | |
329-
| reference | رجوع(کردن)، مرجع | معنی به جمله بستگی دارد |
330-
| rest parameter `...` | پارامتر رست | |
331-
| return | برگرداندن | |
332-
| scope | محدوده | |
333-
| setter function | تابع تنظیم‌کننده | |
334-
| specification | مشخصات زبان | |
335-
| spread syntax `...` | سینتکس اسپرد | |
336-
| square bracket | براکت | |
337-
| stack | پشته | |
338-
| string | رشته | |
339-
| symbol | سمبل | گاهی لازم است انگلیسی آن داخل پرانتز نوشته شود |
340-
| syntax | سینتکس | |
341-
| task (exercise) | تمرین، تکلیف | منظور تمرین‌های انتهای مقاله است |
342-
| ternary | سه‌گانه | |
343-
| transpiler | ترنسپایلر | |
344-
| unary | یگانه | |
345-
| undefined (data type) | undefined | |
346-
| value | مقدار | |
347-
| wrapper | دربرگیرنده | |
348-
349294
</div>
350295

351296
[^1]: [نیم‌فاصله در ویکی‌پدیای فارسی](https://fa.wikipedia.org/wiki/%D9%81%D8%A7%D8%B5%D9%84%D9%87_%D9%85%D8%AC%D8%A7%D8%B2%DB%8C)

0 commit comments

Comments
 (0)