Skip to content

Commit e8be657

Browse files
committed
docs: update documentation translations
1 parent 327c5a1 commit e8be657

File tree

252 files changed

+16244
-10978
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

252 files changed

+16244
-10978
lines changed

apps/docs/content/ar/docs/01-app/01-getting-started/02-project-structure.mdx

Lines changed: 56 additions & 54 deletions
Large diffs are not rendered by default.

apps/docs/content/ar/docs/01-app/01-getting-started/03-layouts-and-pages.mdx

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
---
2-
source-updated-at: 2025-06-01T01:32:20.000Z
3-
translation-updated-at: 2025-06-02T20:03:36.299Z
2+
source-updated-at: 2025-06-08T05:18:05.000Z
3+
translation-updated-at: 2025-06-08T22:13:50.198Z
44
title: كيفية إنشاء التخطيطات والصفحات
55
nav_title: التخطيطات والصفحات
66
description: إنشاء أول صفحاتك وتخطيطاتك، والربط بينها.
77
related:
88
title: مرجع API
99
description: تعلم المزيد عن الميزات المذكورة في هذه الصفحة من خلال قراءة مرجع API.
1010
links:
11+
- app/getting-started/linking-and-navigating
1112
- app/api-reference/file-conventions/layout
1213
- app/api-reference/file-conventions/page
1314
- app/api-reference/components/link
1415
- app/api-reference/file-conventions/dynamic-routes
1516
---
1617

17-
يستخدم Next.js **التوجيه القائم على نظام الملفات**، مما يعني أنه يمكنك استخدام المجلدات والملفات لتحديد المسارات. سترشدك هذه الصفحة حول كيفية إنشاء التخطيطات والصفحات، والربط بينها.
18+
يستخدم Next.js **التوجيه القائم على نظام الملفات**، مما يعني أنه يمكنك استخدام المجلدات والملفات لتحديد المسارات. سيرشدك هذه الصفحة حول كيفية إنشاء التخطيطات والصفحات، والربط بينها.
1819

1920
## إنشاء صفحة
2021

21-
**الصفحة** هي واجهة مستخدم يتم عرضها على مسار معين. لإنشاء صفحة، أضف ملف [`page`](/docs/app/api-reference/file-conventions/page) داخل مجلد `app` وقم بتصدير مكون React افتراضيًا. على سبيل المثال، لإنشاء صفحة رئيسية (`/`):
22+
**الصفحة** هي واجهة مستخدم يتم عرضها على مسار معين. لإنشاء صفحة، أضف ملف [`page`](/docs/app/api-reference/file-conventions/page) داخل دليل `app` وقم بتصدير مكون React افتراضيًا. على سبيل المثال، لإنشاء صفحة رئيسية (`/`):
2223

2324
<Image
2425
alt="ملف page.js الخاص"
@@ -42,11 +43,11 @@ export default function Page() {
4243

4344
## إنشاء تخطيط
4445

45-
التخطيط هو واجهة مستخدم **مشتركة** بين عدة صفحات. أثناء التنقل، تحافظ التخطيطات على الحالة، تبقى تفاعلية، ولا يتم إعادة عرضها.
46+
التخطيط هو واجهة مستخدم **مشتركة** بين عدة صفحات. عند التنقل، تحافظ التخطيطات على الحالة، تبقى تفاعلية، ولا يتم إعادة عرضها.
4647

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

49-
على سبيل المثال، لإنشاء تخطيط يقبل صفحتك الرئيسية كطفل، أضف ملف `layout` داخل مجلد `app`:
50+
على سبيل المثال، لإنشاء تخطيط يقبل صفحتك الرئيسية كطفل، أضف ملف `layout` داخل دليل `app`:
5051

5152
<Image
5253
alt="ملف layout.js الخاص"
@@ -88,7 +89,7 @@ export default function DashboardLayout({ children }) {
8889
}
8990
```
9091

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`.
9293

9394
## إنشاء مسار متداخل
9495

@@ -100,13 +101,13 @@ export default function DashboardLayout({ children }) {
100101

101102
في Next.js:
102103

103-
- تُستخدم **المجلدات** لتحديد أجزاء المسار التي تعين إلى أجزاء URL.
104-
- تُستخدم **الملفات** (مثل `page` و `layout`) لإنشاء واجهة مستخدم تعرض لجزء معين.
104+
- **المجلدات** تستخدم لتحديد أجزاء المسار التي تعين إلى أجزاء URL.
105+
- **الملفات** (مثل `page` و `layout`) تستخدم لإنشاء واجهة مستخدم تعرض لجزء.
105106

106-
لإنشاء مسارات متداخلة، يمكنك تداخل المجلدات داخل بعضها البعض. على سبيل المثال، لإضافة مسار لـ `/blog`، أنشئ مجلدًا يسمى `blog` في مجلد `app`. ثم، لجعل `/blog` متاحًا للجمهور، أضف ملف `page.tsx`:
107+
لإنشاء مسارات متداخلة، يمكنك تداخل المجلدات داخل بعضها البعض. على سبيل المثال، لإضافة مسار لـ `/blog`، أنشئ مجلدًا يسمى `blog` في دليل `app`. ثم، لجعل `/blog` متاحًا للجمهور، أضف ملف `page.tsx`:
107108

108109
<Image
109-
alt="تسلسل هرمي للملفات يظهر مجلد blog وملف page.js"
110+
alt="تسلسل الملفات يظهر مجلد blog وملف page.js"
110111
srcLight="/docs/light/blog-nested-route.png"
111112
srcDark="/docs/dark/blog-nested-route.png"
112113
width="1600"
@@ -149,10 +150,10 @@ export default async function Page() {
149150
}
150151
```
151152

152-
يمكنك الاستمرار في تداخل المجلدات لإنشاء مسارات متداخلة. على سبيل المثال، لإنشاء مسار لمنشور مدونة معين، أنشئ مجلد `[slug]` جديد داخل `blog` وأضف ملف `page`:
153+
يمكنك مواصلة تداخل المجلدات لإنشاء مسارات متداخلة. على سبيل المثال، لإنشاء مسار لمنشور مدونة معين، أنشئ مجلد `[slug]` جديد داخل `blog` وأضف ملف `page`:
153154

154155
<Image
155-
alt="تسلسل هرمي للملفات يظهر مجلد blog مع مجلد slug متداخل وملف page.js"
156+
alt="تسلسل الملفات يظهر مجلد blog مع مجلد slug متداخل وملف page.js"
156157
srcLight="/docs/light/blog-post-nested-route.png"
157158
srcDark="/docs/dark/blog-post-nested-route.png"
158159
width="1600"
@@ -175,16 +176,16 @@ export default function Page() {
175176
}
176177
```
177178

178-
يؤدي تغليف اسم مجلد بين أقواس مربعة (مثل `[slug]`) إلى إنشاء [جزء مسار ديناميكي](/docs/app/api-reference/file-conventions/dynamic-routes) يُستخدم لإنشاء صفحات متعددة من البيانات. مثل منشورات المدونة، صفحات المنتجات، إلخ.
179+
لف اسم المجلد بين أقواس مربعة (مثل `[slug]`) ينشئ [جزء مسار ديناميكي](/docs/app/api-reference/file-conventions/dynamic-routes) يستخدم لإنشاء صفحات متعددة من البيانات. مثل منشورات المدونة، صفحات المنتجات، إلخ.
179180

180181
## تداخل التخطيطات
181182

182-
بشكل افتراضي، تكون التخطيطات في التسلسل الهرمي للمجلدات متداخلة أيضًا، مما يعني أنها تغلف التخطيطات الفرعية عبر خاصية `children`. يمكنك تداخل التخطيطات عن طريق إضافة `layout` داخل أجزاء مسار معينة (مجلدات).
183+
افتراضيًا، التخطيطات في تسلسل المجلدات متداخلة أيضًا، مما يعني أنها تغلف التخطيطات الفرعية عبر خاصية `children`. يمكنك تداخل التخطيطات عن طريق إضافة `layout` داخل أجزاء مسار معينة (مجلدات).
183184

184185
على سبيل المثال، لإنشاء تخطيط لمسار `/blog`، أضف ملف `layout` جديد داخل مجلد `blog`.
185186

186187
<Image
187-
alt="تسلسل هرمي للملفات يظهر تخطيط الجذر يغلف تخطيط المدونة"
188+
alt="تسلسل الملفات يظهر تخطيط الجذر يغلف تخطيط المدونة"
188189
srcLight="/docs/light/nested-layouts.png"
189190
srcDark="/docs/dark/nested-layouts.png"
190191
width="1600"
@@ -211,9 +212,9 @@ export default function BlogLayout({ children }) {
211212

212213
## إنشاء جزء ديناميكي
213214

214-
تسمح لك [الأجزاء الديناميكية](/docs/app/api-reference/file-conventions/dynamic-routes) بإنشاء مسارات يتم إنشاؤها من البيانات. على سبيل المثال، بدلاً من إنشاء مسار يدويًا لكل منشور مدونة فردي، يمكنك إنشاء جزء ديناميكي لإنشاء المسارات بناءً على بيانات منشور المدونة.
215+
[الأجزاء الديناميكية](/docs/app/api-reference/file-conventions/dynamic-routes) تتيح لك إنشاء مسارات يتم إنشاؤها من البيانات. على سبيل المثال، بدلاً من إنشاء مسار يدويًا لكل منشور مدونة فردي، يمكنك إنشاء جزء ديناميكي لإنشاء المسارات بناءً على بيانات منشور المدونة.
215216

216-
لإنشاء جزء ديناميكي، قم بتغليف اسم الجزء (المجلد) بين أقواس مربعة: `[segmentName]`. على سبيل المثال، في مسار `app/blog/[slug]/page.tsx`، `[slug]` هو الجزء الديناميكي.
217+
لإنشاء جزء ديناميكي، لف اسم الجزء (المجلد) بين أقواس مربعة: `[segmentName]`. على سبيل المثال، في مسار `app/blog/[slug]/page.tsx`، `[slug]` هو الجزء الديناميكي.
217218

218219
```tsx filename="app/blog/[slug]/page.tsx" switcher
219220
export default async function BlogPostPage({
@@ -251,7 +252,7 @@ export default async function BlogPostPage({ params }) {
251252

252253
## الربط بين الصفحات
253254

254-
يمكنك استخدام مكون [`<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).
255256

256257
على سبيل المثال، لإنشاء قائمة بمنشورات المدونة، استورد `<Link>` من `next/link` ومرر خاصية `href` إلى المكون:
257258

@@ -291,4 +292,4 @@ export default async function Post({ post }) {
291292
}
292293
```
293294

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

Comments
 (0)