You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
يستخدم Next.js **التوجيه القائم على نظام الملفات**، مما يعني أنه يمكنك استخدام المجلدات والملفات لتحديد المسارات. سترشدك هذه الصفحة حول كيفية إنشاء التخطيطات والصفحات، والربط بينها.
18
+
يستخدم Next.js **التوجيه القائم على نظام الملفات**، مما يعني أنه يمكنك استخدام المجلدات والملفات لتحديد المسارات. سيرشدك هذه الصفحة حول كيفية إنشاء التخطيطات والصفحات، والربط بينها.
18
19
19
20
## إنشاء صفحة
20
21
21
-
**الصفحة** هي واجهة مستخدم يتم عرضها على مسار معين. لإنشاء صفحة، أضف ملف [`page`](/docs/app/api-reference/file-conventions/page) داخل مجلد`app` وقم بتصدير مكون React افتراضيًا. على سبيل المثال، لإنشاء صفحة رئيسية (`/`):
22
+
**الصفحة** هي واجهة مستخدم يتم عرضها على مسار معين. لإنشاء صفحة، أضف ملف [`page`](/docs/app/api-reference/file-conventions/page) داخل دليل`app` وقم بتصدير مكون React افتراضيًا. على سبيل المثال، لإنشاء صفحة رئيسية (`/`):
22
23
23
24
<Image
24
25
alt="ملف page.js الخاص"
@@ -42,11 +43,11 @@ export default function Page() {
42
43
43
44
## إنشاء تخطيط
44
45
45
-
التخطيط هو واجهة مستخدم **مشتركة** بين عدة صفحات. أثناء التنقل، تحافظ التخطيطات على الحالة، تبقى تفاعلية، ولا يتم إعادة عرضها.
46
+
التخطيط هو واجهة مستخدم **مشتركة** بين عدة صفحات. عند التنقل، تحافظ التخطيطات على الحالة، تبقى تفاعلية، ولا يتم إعادة عرضها.
46
47
47
-
يمكنك تعريف تخطيط عن طريق تصدير مكون React افتراضيًا من ملف [`layout`](/docs/app/api-reference/file-conventions/layout). يجب أن يقبل المكون خاصية `children` والتي يمكن أن تكون صفحة أو [تخطيط آخر](#nesting-layouts).
48
+
يمكنك تحديد تخطيط عن طريق تصدير مكون React افتراضيًا من ملف [`layout`](/docs/app/api-reference/file-conventions/layout). يجب أن يقبل المكون خاصية `children` والتي يمكن أن تكون صفحة أو [تخطيط آخر](#nesting-layouts).
48
49
49
-
على سبيل المثال، لإنشاء تخطيط يقبل صفحتك الرئيسية كطفل، أضف ملف `layout` داخل مجلد`app`:
50
+
على سبيل المثال، لإنشاء تخطيط يقبل صفحتك الرئيسية كطفل، أضف ملف `layout` داخل دليل`app`:
50
51
51
52
<Image
52
53
alt="ملف layout.js الخاص"
@@ -88,7 +89,7 @@ export default function DashboardLayout({ children }) {
88
89
}
89
90
```
90
91
91
-
يسمى التخطيط أعلاه [تخطيط الجذر](/docs/app/api-reference/file-conventions/layout#root-layout) لأنه محدد في جذر مجلد`app`. تخطيط الجذر **مطلوب** ويجب أن يحتوي على علامات `html` و `body`.
92
+
يسمى التخطيط أعلاه [تخطيط الجذر](/docs/app/api-reference/file-conventions/layout#root-layout) لأنه محدد في جذر دليل`app`. تخطيط الجذر **مطلوب** ويجب أن يحتوي على علامات `html` و `body`.
92
93
93
94
## إنشاء مسار متداخل
94
95
@@ -100,13 +101,13 @@ export default function DashboardLayout({ children }) {
100
101
101
102
في Next.js:
102
103
103
-
-تُستخدم **المجلدات** لتحديد أجزاء المسار التي تعين إلى أجزاء URL.
104
-
-تُستخدم **الملفات** (مثل `page` و `layout`) لإنشاء واجهة مستخدم تعرض لجزء معين.
104
+
-**المجلدات** تستخدم لتحديد أجزاء المسار التي تعين إلى أجزاء URL.
105
+
-**الملفات** (مثل `page` و `layout`) تستخدم لإنشاء واجهة مستخدم تعرض لجزء.
105
106
106
-
لإنشاء مسارات متداخلة، يمكنك تداخل المجلدات داخل بعضها البعض. على سبيل المثال، لإضافة مسار لـ `/blog`، أنشئ مجلدًا يسمى `blog` في مجلد`app`. ثم، لجعل `/blog` متاحًا للجمهور، أضف ملف `page.tsx`:
107
+
لإنشاء مسارات متداخلة، يمكنك تداخل المجلدات داخل بعضها البعض. على سبيل المثال، لإضافة مسار لـ `/blog`، أنشئ مجلدًا يسمى `blog` في دليل`app`. ثم، لجعل `/blog` متاحًا للجمهور، أضف ملف `page.tsx`:
107
108
108
109
<Image
109
-
alt="تسلسل هرمي للملفات يظهر مجلد blog وملف page.js"
110
+
alt="تسلسل الملفات يظهر مجلد blog وملف page.js"
110
111
srcLight="/docs/light/blog-nested-route.png"
111
112
srcDark="/docs/dark/blog-nested-route.png"
112
113
width="1600"
@@ -149,10 +150,10 @@ export default async function Page() {
149
150
}
150
151
```
151
152
152
-
يمكنك الاستمرار في تداخل المجلدات لإنشاء مسارات متداخلة. على سبيل المثال، لإنشاء مسار لمنشور مدونة معين، أنشئ مجلد `[slug]` جديد داخل `blog` وأضف ملف `page`:
153
+
يمكنك مواصلة تداخل المجلدات لإنشاء مسارات متداخلة. على سبيل المثال، لإنشاء مسار لمنشور مدونة معين، أنشئ مجلد `[slug]` جديد داخل `blog` وأضف ملف `page`:
153
154
154
155
<Image
155
-
alt="تسلسل هرمي للملفات يظهر مجلد blog مع مجلد slug متداخل وملف page.js"
156
+
alt="تسلسل الملفات يظهر مجلد blog مع مجلد slug متداخل وملف page.js"
156
157
srcLight="/docs/light/blog-post-nested-route.png"
157
158
srcDark="/docs/dark/blog-post-nested-route.png"
158
159
width="1600"
@@ -175,16 +176,16 @@ export default function Page() {
175
176
}
176
177
```
177
178
178
-
يؤدي تغليف اسم مجلد بين أقواس مربعة (مثل `[slug]`) إلى إنشاء [جزء مسار ديناميكي](/docs/app/api-reference/file-conventions/dynamic-routes)يُستخدم لإنشاء صفحات متعددة من البيانات. مثل منشورات المدونة، صفحات المنتجات، إلخ.
179
+
لف اسم المجلد بين أقواس مربعة (مثل `[slug]`) ينشئ [جزء مسار ديناميكي](/docs/app/api-reference/file-conventions/dynamic-routes)يستخدم لإنشاء صفحات متعددة من البيانات. مثل منشورات المدونة، صفحات المنتجات، إلخ.
179
180
180
181
## تداخل التخطيطات
181
182
182
-
بشكل افتراضي، تكون التخطيطات في التسلسل الهرمي للمجلدات متداخلة أيضًا، مما يعني أنها تغلف التخطيطات الفرعية عبر خاصية `children`. يمكنك تداخل التخطيطات عن طريق إضافة `layout` داخل أجزاء مسار معينة (مجلدات).
183
+
افتراضيًا، التخطيطات في تسلسل المجلدات متداخلة أيضًا، مما يعني أنها تغلف التخطيطات الفرعية عبر خاصية `children`. يمكنك تداخل التخطيطات عن طريق إضافة `layout` داخل أجزاء مسار معينة (مجلدات).
183
184
184
185
على سبيل المثال، لإنشاء تخطيط لمسار `/blog`، أضف ملف `layout` جديد داخل مجلد `blog`.
185
186
186
187
<Image
187
-
alt="تسلسل هرمي للملفات يظهر تخطيط الجذر يغلف تخطيط المدونة"
188
+
alt="تسلسل الملفات يظهر تخطيط الجذر يغلف تخطيط المدونة"
188
189
srcLight="/docs/light/nested-layouts.png"
189
190
srcDark="/docs/dark/nested-layouts.png"
190
191
width="1600"
@@ -211,9 +212,9 @@ export default function BlogLayout({ children }) {
211
212
212
213
## إنشاء جزء ديناميكي
213
214
214
-
تسمح لك [الأجزاء الديناميكية](/docs/app/api-reference/file-conventions/dynamic-routes)بإنشاء مسارات يتم إنشاؤها من البيانات. على سبيل المثال، بدلاً من إنشاء مسار يدويًا لكل منشور مدونة فردي، يمكنك إنشاء جزء ديناميكي لإنشاء المسارات بناءً على بيانات منشور المدونة.
215
+
[الأجزاء الديناميكية](/docs/app/api-reference/file-conventions/dynamic-routes)تتيح لك إنشاء مسارات يتم إنشاؤها من البيانات. على سبيل المثال، بدلاً من إنشاء مسار يدويًا لكل منشور مدونة فردي، يمكنك إنشاء جزء ديناميكي لإنشاء المسارات بناءً على بيانات منشور المدونة.
215
216
216
-
لإنشاء جزء ديناميكي، قم بتغليف اسم الجزء (المجلد) بين أقواس مربعة: `[segmentName]`. على سبيل المثال، في مسار `app/blog/[slug]/page.tsx`، `[slug]` هو الجزء الديناميكي.
217
+
لإنشاء جزء ديناميكي، لف اسم الجزء (المجلد) بين أقواس مربعة: `[segmentName]`. على سبيل المثال، في مسار `app/blog/[slug]/page.tsx`، `[slug]` هو الجزء الديناميكي.
يمكنك استخدام مكون [`<Link>`](/docs/app/api-reference/components/link) للتنقل بين المسارات. `<Link>` هو مكون مضمن في Next.js يمتد علامة HTML `<a>` لتوفير [الجلب المسبق](/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching) و[التنقل من جانب العميل](/docs/app/building-your-application/routing/linking-and-navigating#5-soft-navigation).
255
+
يمكنك استخدام مكون [`<Link>`](/docs/app/api-reference/components/link) للتنقل بين المسارات. `<Link>` هو مكون مضمن في Next.js يمتد علامة HTML `<a>` لتوفير [الجلب المسبق](/docs/app/getting-started/linking-and-navigating#prefetching) و[التنقل من جانب العميل](/docs/app/getting-started/linking-and-navigating#client-side-transitions).
255
256
256
257
على سبيل المثال، لإنشاء قائمة بمنشورات المدونة، استورد `<Link>` من `next/link` ومرر خاصية `href` إلى المكون:
257
258
@@ -291,4 +292,4 @@ export default async function Post({ post }) {
291
292
}
292
293
```
293
294
294
-
`<Link>` هو الطريقة الأساسية والمفضلة للتنقل بين المسارات في تطبيق Next.js الخاص بك. ومع ذلك، يمكنك أيضًا استخدام [خطاف `useRouter`](/docs/app/api-reference/functions/use-router) للتنقل المتقدم.
295
+
> **جيد أن تعرف**: `<Link>` هو الطريقة الأساسية للتنقل بين المسارات في Next.js. يمكنك أيضًا استخدام [خطاف `useRouter`](/docs/app/api-reference/functions/use-router) للتنقل المتقدم.
0 commit comments