Skip to content
184 changes: 114 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,114 @@
# reactjs.org

This repo contains the source code and documentation powering [reactjs.org](https://reactjs.org/).

## Getting started

### Prerequisites

1. Git
1. Node: any 8.x version starting with 8.4.0 or greater
1. Yarn: See [Yarn website for installation instructions](https://yarnpkg.com/lang/en/docs/install/)
1. A fork of the repo (for any contributions)
1. A clone of the [reactjs.org repo](https://github.com/reactjs/reactjs.org) on your local machine

### Installation

1. `cd reactjs.org` to go into the project root
1. `yarn` to install the website's npm dependencies

### Running locally

1. `yarn dev` to start the hot-reloading development server (powered by [Gatsby](https://www.gatsbyjs.org))
1. `open http://localhost:8000` to open the site in your favorite browser

## Contributing

### Guidelines

The documentation is divided into several sections with a different tone and purpose. If you plan to write more than a few sentences, you might find it helpful to get familiar with the [contributing guidelines](https://github.com/reactjs/reactjs.org/blob/master/CONTRIBUTING.md#guidelines-for-text) for the appropriate sections.

### Create a branch

1. `git checkout master` from any folder in your local `reactjs.org` repository
1. `git pull origin master` to ensure you have the latest main code
1. `git checkout -b the-name-of-my-branch` (replacing `the-name-of-my-branch` with a suitable name) to create a branch

### Make the change

1. Follow the "Running locally" instructions
1. Save the files and check in the browser
1. Changes to React components in `src` will hot-reload
1. Changes to markdown files in `content` will hot-reload
1. If working with plugins, you may need to remove the `.cache` directory and restart the server

### Test the change

1. If possible, test any visual changes in all latest versions of common browsers, on both desktop and mobile.
1. Run `yarn check-all` from the project root. (This will run Prettier, ESLint, and Flow.)

### Push it

1. `git add -A && git commit -m "My message"` (replacing `My message` with a commit message, such as `Fixed header logo on Android`) to stage and commit your changes
1. `git push my-fork-name the-name-of-my-branch`
1. Go to the [reactjs.org repo](https://github.com/reactjs/reactjs.org) and you should see recently pushed branches.
1. Follow GitHub's instructions.
1. If possible, include screenshots of visual changes. A Netlify build will also be automatically created once you make your PR so other people can see your change.

## Translation

If you are interesting in translating `reactjs.org`, please see the current translation efforts at [isreacttranslatedyet.com](https://www.isreacttranslatedyet.com/).


If your language does not have a translation and you would like to create one, please follow the instructions at [reactjs.org Translations](https://github.com/reactjs/reactjs.org-translation#translating-reactjsorg).

## Troubleshooting

- `yarn reset` to clear the local cache

## License
Content submitted to [reactjs.org](https://reactjs.org/) is CC-BY-4.0 licensed, as found in the [LICENSE-DOCS.md](https://github.com/open-source-explorer/reactjs.org/blob/master/LICENSE-DOCS.md) file.
<h1 dir="rtl">نسخه فارسی <a href="https://reactjs.org/">reactjs.org</a></h1>

<p dir="rtl">
اگر این صفحه را مشاهده می‌کنید، احتمالا به ترجمه فارسی اسناد ری‌اکت (react) علاقه‌مند هستید. پس خوش‌ آمدید!
</p>

<p dir="rtl">
این مخزن کد (repo) با هدف توسعه اسناد ری‌اکت به زبان فارسی، از <a href="https://github.com/reactjs/reactjs.org">reactjs/reactjs.org</a> انشعاب (fork) گرفته‌است و پیوسته با نسخه اصلی همگام‌سازی می‌شود.
</p>

<p dir="rtl">
پیشرفت نسخه فارسی را از <a href="https://www.isreacttranslatedyet.com/">isreacttranslatedyet.com</a> دنبال کنید.
</p>

<h2 dir="rtl">چگونه مشارکت کنم؟</h2>

<p dir="rtl">
پیشنهاد می‌شود به‌ترتیب از لینک‌های زیر شروع کنید:
</p>
<ul dir="rtl">
<li>
<a href="https://github.com/reactjs/fa.reactjs.org/blob/master/CONTRIBUTING.md">
راهنمای مشارکت‌کنندگان
</a>
</li>
<li>
<a href="https://github.com/reactjs/fa.reactjs.org/blob/master/STYLE-GUIDE.md">
شیوه نگارش
</a>
</li>
<li>
<a href="https://github.com/reactjs/fa.reactjs.org/blob/master/TRANSLATION.md">
واژه‌نامه
</a>
</li>
</ul>

<h2 dir="rtl">
دریافت کد
</h2>

<h3 dir="rtl">
پیش‌نیارها
</h3>

<ul dir="rtl">
<li>
<a href="https://git-scm.com/downloads">Git</a>
</li>
<li>
<a href="https://nodejs.org/en/">Node.js</a> نسخه ۸ (بعد از ۸.۴.۰)
</li>
<li>
<a href="https://yarnpkg.com/lang/en/docs/install/">Yarn</a>
</li>
</ul>

<h3 dir="rtl">نصب</h3>

```bash
# 1. یک کپی از مخزن کد بگیرید
git clone git@github.com:reactjs/fa.reactjs.org.git

# 2. به شاخه اصلی پروژه بروید
cd fa.reactjs.org

# 3. وابستگی‌های npm سایت را نصب کنید
yarn
```

<h3 dir="rtl">اجرا</h3>

```bash
# سرور توسعه با قابلیت بارگذاری خودکار را اجرا کنید (قدرت گرفته از Gatsby)
yarn dev
```

<p dir="rtl">
حالا آدرس <a href="http://localhost:8000">http://localhost:8000</a> را در مرورگر دلخواه خود باز کنید و تمام!
</p>

<h3 dir="rtl">سوالی دارید؟</h3>

‌<p dir="rtl">
اگر سوالی دارید با نگاه‌دارندگان تماس بگیرید یا <a href="https://github.com/reactjs/fa.reactjs.org/issues/new">یک موضوع (issue) جدید</a> ثبت کنید!
</p>

<h2 dir="rtl">نگاه‌دارندگان</h2>

<ul>
<li>
<a href="https://github.com/masoud-bahrami">@masoud-bahrami</a>
</li>
</li>
<li>
<a href="https://github.com/Schabaani">@Schabaani</a>
</li>
</li>
<li>
<a href="https://github.com/sJJdGG">@sJJdGG</a>
</li>
<li>
<a href="https://github.com/sorousht">@sorousht</a>
</li>
<li>
<a href="https://github.com/zahrajoulaei">@zahrajoulaei</a>
</ul>


<h2 dir="rtl">مجوز</h2>

<p dir="rtl">
محتوایی که در <a href="https://reactjs.org/">reactjs.org</a> قرار می‌گیرد، تخت مجوز CC-BY-4.0 منتشر می‌شود که جزئیات آن در <a href="https://github.com/open-source-explorer/reactjs.org/blob/master/LICENSE-DOCS.md">LICENSE-DOCS.md</a> آمده‌است.
</p>
106 changes: 106 additions & 0 deletions STYLE-GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<h1 dir="rtl">شیوه‌ نگارش</h1>

<p dir="rtl">
برای حفظ یکپارچگی ترجمه در تمام صفحات و همچنین میان سایر زبان‌ها، لطفا قوانین زیر را مدنظر داشته‌باشید.
</p>

<h2 dir="rtl">شناسه عنوان‌ها</h2>

<p dir="rtl">هر عنوانی یک شناسه منحصربه‌فرد دارد، مانند زیر:</p>

```md
## Try React {#try-react}
```
<p dir="rtl">از ترجمه شناسه‌ها <b>بپرهیزید</b>! از آن‌ها برای هدایت به بخش‌های مختلف یک صفحه استفاده می‌شود. به خصوص اگر کاربر از یک لینک خارجی به یک بخش مورد نظر از صفحه هدایت شده‌باشد، این قابلیت از کار خواهد افتاد.</p>


<p dir="rtl">✅ صحیح:</p>

```md
## ری‌اکت را امتحان کنید {#try-react}
```

<p dir="rtl">❌ غلط:</p>

```md
## ری‌اکت را امتحان کنید {#react-ra-emtehan-konid}
```
<p dir="rtl">ترجمه باعث از کار افتادن لینک بالا شده‌است.</p>


<h2 dir="rtl">متن در کد</h2>
<p dir="rtl">
فقط کامنت‌های یک کد را ترجمه کنید. از ترجمه دیگر بخش‌های کد بپرهیزید.
</p>

<p dir="rtl">مثال:</p>

```js
// Example
const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById('root'));
```

<p dir="rtl">✅ صحیح:</p>

```js
// مثال
const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById('root'));
```

<p dir="rtl">❌ غلط:</p>

```js
// مثال
const element = <h1>سلام، دنیا</h1>;
ReactDOM.render(element, document.getElementById('root'));
```

<p dir="rtl">❌ غلط:</p>

```js
// مثال
const element = <h1>سلام، دنیا</h1>;
// "root" به شناسه یک تگ اشاره دارد
// نباید آن را ترجمه کرد!
ReactDOM.render(element, document.getElementById('ریشه'));
```

<p dir="rtl">❌ کاملا غلط:</p>

```js
// مثال
const eleman = <h1>سلام، دنیا</h1>;
ReactDOM.render(eleman, sanad.yaftanElemeanBaId('ریشه'));

```
<h2 dir="rtl">لینک‌های خارجی</h2>
<p dir="rtl">
اگر یک لینک خارجی به یک مقاله از منابعی مانند <a href="https://developer.mozilla.org/fa/" taget="_blank">شبکه توسعه‌دهنگان موزیلا (MDN)</a> و <a href="https://en.wikipedia.org/wiki/Main_Page" taget="_blank">ویکی‌پدیا (Wikipedia)</a> ارجاع داده‌ شده‌است، در صورتی که نسخه فارسی آن مقاله موجود و از کیفیت مناسبی برخوردار است، به نسخه فارسی ارجاع داده‌شود.
</p>

<p dir="rtl">مثال:</p>

<p>
A stateful component inherits <code>Component</code> <a href="https://en.wikipedia.org/wiki/Class_(computer_programming)" target="_blank">class</a>.
</p>



<p dir="rtl">✅ صحیح:</p>
<p dir="rtl">
یک کامپوننت دارای state از <a href="https://fa.wikipedia.org/wiki/%DA%A9%D9%84%D8%A7%D8%B3_(%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C)" target="_blank">کلاس</a> <code>Component</code> ارث می‌برد.
</p>
<br />
<p dir="rtl">
برای لینک‌هایی که معادل فارسی ندارند مثل Stack Overflow و ویدیو‌های YouTube، از همان لینک انگلیسی استفاده‌شود.
</p>

<h2 dir="rtl">زبان فارسی</h2>
<p dir="rtl">
هدف تمام مشارکت‌کنندگان تولید محتوای فارسی با بهترین کیفیت ممکن است تا به منبعی قابل استفاده برای همگان تبدیل شود. قطعا دستیابی به این هدف بدون رعایت شیوه‌ نگارش استاندارد فارسی میسر نخواهد‌شد. اگر نیاز به یک یادآوری داشتید، مقاله <a href="https://virastaran.net/a/v/m/e/eh/148/" target="_blank">شیوه‌نامۀ «ویراستاران» برای نگارش در وب</a> منبع مناسبی است.
</p>
<p dir="rtl">
اگر فکر می‌کنید چیزی فراموش شده‌است یا نیاز به تصحیح دارد، حتما نظر خود را با ما درمیان بگذارید.
</p>
78 changes: 78 additions & 0 deletions TRANSLATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<h1 dir="rtl">واژه‌نامه</h1>
<p dir="rtl">
فهرستی از واژه‌های فنی و اصطلاحات موردنیاز شما در این‌جا آورده‌ شده‌است.
</p>
<h2 dir="rtl">ترجمه‌شده</h2>
<p dir="rtl">
ترجمه کلمه‌ها و اصطلاحاتی که معادل مناسبی در جامعه نرم‌افزاری ما برای آن‌ها تعریف شده‌است، در این جدول قرار گرفته‌است.
</p>
<p dir="rtl">
اگر عبارت موردنظر را در این لیست پیدا نکردید، شاید در بخش بعدی تعریف شده‌باشد.
</p>

<table dir="rtl">
<thead>
<tr>
<th>
کلمه/عبارت
</th>
<th>
معادل پیشنهادی
</th>
</tr>
</thead>
<tbody>
<tr>
<td dir="ltr">
bug
</td>
<td>
خطا
</td>
</tr>
<tr>
<td dir="ltr">
class
</td>
<td>
کلاس
</td>
</tr>
<tr>
<td dir="ltr">
function
</td>
<td>
تابع
</td>
</tr>
</tbody>
</table>
<h2 dir="rtl">بدون تعییر</h2>
<p dir="rtl">
مواردی که هنوز معادل مناسبی برای آن‌ها تعریف نشده‌است و ممکن است ترجمه آن در فهم مطلب اختلال ایجاد کند، در زیر آورده شده‌است. پیشنهاد می‌شود عین کلمه/عبارت انگلیسی در متن استفاده شود.
</p>
<table dir="rtl">
<thead>
<tr>
<th>
کلمه/عبارت
</th>
</tr>
</thead>
<tbody dir="ltr">
<tr>
<td>
props
</td>
</tr>
<tr>
<td>
state
</td>
</tr>
</tbody>
</table>
<p dir="rtl">
اگر فکر می‌کنید چیزی فراموش شده‌است یا نیاز به تصحیح دارد، حتما نظر خود را با ما درمیان بگذارید.
</p>