+}
+```
+
+سيتم عرض كل من `layout.tsx` و `page.tsx` عندما يزور المستخدم جذر تطبيقك (`/`).
+
+
+
+> **معلومة مفيدة**:
+>
+> - إذا نسيت إنشاء تخطيط الجذر، سيقوم Next.js تلقائيًا بإنشاء هذا الملف عند تشغيل خادم التطوير باستخدام `next dev`.
+> - يمكنك اختياريًا استخدام مجلد [`src`](/docs/app/api-reference/file-conventions/src-folder) في جذر مشروعك لفصل كود التطبيق عن ملفات التكوين.
+
+
+
+
+
+### إنشاء مجلد `pages`
+
+يستخدم Next.js توجيه نظام الملفات، مما يعني أن المسارات في تطبيقك يتم تحديدها من خلال كيفية تنظيم ملفاتك.
+
+قم بإنشاء مجلد `pages` في جذر مشروعك. ثم أضف ملف `index.tsx` داخل مجلد `pages` الخاص بك. سيكون هذا صفحتك الرئيسية (`/`):
+
+```tsx filename="pages/index.tsx" switcher
+export default function Page() {
+ return
+}
+```
+
+بعد ذلك، أضف ملف `_app.tsx` داخل `pages/` لتحديد التخطيط العام. تعلم المزيد حول [ملف App المخصص](/docs/pages/building-your-application/routing/custom-app).
+
+```tsx filename="pages/_app.tsx" switcher
+import type { AppProps } from 'next/app'
+
+export default function App({ Component, pageProps }: AppProps) {
+ return
+}
+```
+
+```jsx filename="pages/_app.js" switcher
+export default function App({ Component, pageProps }) {
+ return
+}
+```
+
+أخيرًا، أضف ملف `_document.tsx` داخل `pages/` للتحكم في الاستجابة الأولية من الخادم. تعلم المزيد حول [ملف Document المخصص](/docs/pages/building-your-application/routing/custom-document).
+
+```tsx filename="pages/_document.tsx" switcher
+import { Html, Head, Main, NextScript } from 'next/document'
+
+export default function Document() {
+ return (
+
+
+
+
+
+
+
+ )
+}
+```
+
+```jsx filename="pages/_document.js" switcher
+import { Html, Head, Main, NextScript } from 'next/document'
+
+export default function Document() {
+ return (
+
+
+
+
+
+
+
+ )
+}
+```
+
+
+
+### إنشاء مجلد `public` (اختياري)
+
+قم بإنشاء مجلد [`public`](/docs/app/api-reference/file-conventions/public-folder) في جذر مشروعك لتخزين الأصول الثابتة مثل الصور والخطوط وما إلى ذلك. يمكن بعد ذلك الإشارة إلى الملفات داخل `public` من خلال الكود الخاص بك بدءًا من عنوان URL الأساسي (`/`).
+
+يمكنك بعد ذلك الإشارة إلى هذه الأصول باستخدام المسار الجذري (`/`). على سبيل المثال، يمكن الإشارة إلى `public/profile.png` كـ `/profile.png`:
+
+```tsx filename="app/page.tsx" highlight={4} switcher
+import Image from 'next/image'
+
+export default function Page() {
+ return
+}
+```
+
+```jsx filename="app/page.js" highlight={4} switcher
+import Image from 'next/image'
+
+export default function Page() {
+ return
+}
+```
+
+## تشغيل خادم التطوير
+
+1. قم بتشغيل `npm run dev` لبدء خادم التطوير.
+2. قم بزيارة `http://localhost:3000` لعرض تطبيقك.
+3. قم بتحرير ملف `app/page.tsx``pages/index.tsx` واحفظه لرؤية النتيجة المحدثة في متصفحك.
+
+## إعداد TypeScript
+
+> الحد الأدنى لإصدار TypeScript: `v4.5.2`
+
+يأتي Next.js مع دعم مدمج لـ TypeScript. لإضافة TypeScript إلى مشروعك، قم بإعادة تسمية ملف إلى `.ts` / `.tsx` وقم بتشغيل `next dev`. سيقوم Next.js تلقائيًا بتثبيت التبعيات الضرورية وإضافة ملف `tsconfig.json` مع خيارات التكوين الموصى بها.
+
+
+
+### ملحق IDE
+
+يتضمن Next.js ملحق TypeScript مخصصًا ومدقق نوع، والذي يمكن أن تستخدمه VSCode ومحررات الأكواد الأخرى للتحقق المتقدم من الأنواع والإكمال التلقائي.
+
+يمكنك تمكين الملحق في VS Code عن طريق:
+
+1. فتح لوحة الأوامر (`Ctrl/⌘` + `Shift` + `P`)
+2. البحث عن "TypeScript: Select TypeScript Version"
+3. اختيار "Use Workspace Version"
+
+
+
+
+
+راجع صفحة [مرجع TypeScript](/docs/app/api-reference/config/next-config-js/typescript) لمزيد من المعلومات.
+
+## إعداد ESLint
+
+يأتي Next.js مع ESLint مدمج. يقوم تلقائيًا بتثبيت الحزم الضرورية وتكوين الإعدادات المناسبة عند إنشاء مشروع جديد باستخدام `create-next-app`.
+
+لإضافة ESLint يدويًا إلى مشروع موجود، أضف `next lint` كسكربت إلى `package.json`:
+
+```json filename="package.json"
+{
+ "scripts": {
+ "lint": "next lint"
+ }
+}
+```
+
+ثم قم بتشغيل `npm run lint` وسيتم توجيهك خلال عملية التثبيت والتكوين.
+
+```bash filename="Terminal"
+npm run lint
+```
+
+سترى مطالبة مثل هذه:
+
+> ? كيف ترغب في تكوين ESLint؟
+>
+> ❯ صارم (موصى به)
+> أساسي
+> إلغاء
+
+- **صارم**: يتضمن تكوين ESLint الأساسي لـ Next.js مع مجموعة قواعد أكثر صرامة لـ Core Web Vitals. هذا هو التكوين الموصى به للمطورين الذين يقومون بإعداد ESLint لأول مرة.
+- **أساسي**: يتضمن تكوين ESLint الأساسي لـ Next.js.
+- **إلغاء**: تخطي التكوين. اختر هذا الخيار إذا كنت تخطط لإعداد تكوين ESLint مخصص خاص بك.
+
+إذا تم اختيار **صارم** أو **أساسي**، سيقوم Next.js تلقائيًا بتثبيت `eslint` و `eslint-config-next` كتبعيات في تطبيقك وإنشاء ملف `.eslintrc.json` في جذر مشروعك يتضمن التكوين الذي اخترته.
+
+يمكنك الآن تشغيل `next lint` في أي وقت تريد تشغيل ESLint للكشف عن الأخطاء. بمجرد إعداد ESLint، سيتم تشغيله تلقائيًا أيضًا خلال كل بناء (`next build`). ستؤدي الأخطاء إلى فشل البناء، بينما لن تؤدي التحذيرات إلى ذلك.
+
+راجع صفحة [ملحق ESLint](/docs/app/api-reference/config/next-config-js/eslint) لمزيد من المعلومات.
+
+## إعداد الاستيراد المطلق و Module Path Aliases
+
+يحتوي Next.js على دعم مدمج لخيارات `"paths"` و `"baseUrl"` لملفات `tsconfig.json` و `jsconfig.json`.
+
+تتيح لك هذه الخيارات تعيين مسارات المجلدات في المشروع إلى مسارات مطلقة، مما يجعل استيراد الوحدات أسهل وأنظف. على سبيل المثال:
+
+```jsx
+// قبل
+import { Button } from '../../../components/button'
+
+// بعد
+import { Button } from '@/components/button'
+```
+
+لتكوين الاستيراد المطلق، أضف خيار `baseUrl` إلى ملف `tsconfig.json` أو `jsconfig.json` الخاص بك. على سبيل المثال:
+
+```json filename="tsconfig.json or jsconfig.json"
+{
+ "compilerOptions": {
+ "baseUrl": "src/"
+ }
+}
+```
+
+بالإضافة إلى تكوين مسار `baseUrl`، يمكنك استخدام خيار `"paths"` لـ `"alias"` مسارات الوحدات.
+
+على سبيل المثال، يقوم التكوين التالي بتعيين `@/components/*` إلى `components/*`:
+
+```json filename="tsconfig.json or jsconfig.json"
+{
+ "compilerOptions": {
+ "baseUrl": "src/",
+ "paths": {
+ "@/styles/*": ["styles/*"],
+ "@/components/*": ["components/*"]
+ }
+ }
+}
+```
+
+كل من `"paths"` مرتبطة بموقع `baseUrl`.
\ No newline at end of file
diff --git a/apps/docs/content/ar/docs/01-app/01-getting-started/02-project-structure.mdx b/apps/docs/content/ar/docs/01-app/01-getting-started/02-project-structure.mdx
new file mode 100644
index 00000000..e84b7644
--- /dev/null
+++ b/apps/docs/content/ar/docs/01-app/01-getting-started/02-project-structure.mdx
@@ -0,0 +1,407 @@
+---
+source-updated-at: 2025-06-01T01:32:20.000Z
+translation-updated-at: 2025-06-02T20:05:50.792Z
+title: هيكل وتنظيم المشروع
+nav_title: هيكل المشروع
+description: نظرة عامة على اصطلاحات المجلدات والملفات في Next.js، وكيفية تنظيم مشروعك.
+---
+
+توفر هذه الصفحة نظرة عامة على **جميع** اصطلاحات المجلدات والملفات في Next.js، وتوصيات لتنظيم مشروعك.
+
+## اصطلاحات المجلدات والملفات
+
+### المجلدات الرئيسية
+
+تُستخدم المجلدات الرئيسية لتنظيم كود التطبيق والأصول الثابتة.
+
+
+
+| | |
+| ------------------------------------------------------------------ | ---------------------------------- |
+| [`app`](/docs/app/building-your-application/routing) | موجه التطبيق (App Router) |
+| [`pages`](/docs/pages/building-your-application/routing) | موجه الصفحات (Pages Router) |
+| [`public`](/docs/app/api-reference/file-conventions/public-folder) | الأصول الثابتة التي سيتم تقديمها |
+| [`src`](/docs/app/api-reference/file-conventions/src-folder) | مجلد مصدر التطبيق الاختياري |
+
+### الملفات الرئيسية
+
+تُستخدم الملفات الرئيسية لتكوين التطبيق، وإدارة التبعيات، وتشغيل middleware، ودمج أدوات المراقبة، وتحديد متغيرات البيئة.
+
+| | |
+| ---------------------------------------------------------------------------- | --------------------------------------- |
+| **Next.js** | |
+| [`next.config.js`](/docs/app/api-reference/config/next-config-js) | ملف تكوين Next.js |
+| [`package.json`](/docs/app/getting-started/installation#manual-installation) | تبعيات المشروع والنصوص البرمجية |
+| [`instrumentation.ts`](/docs/app/guides/instrumentation) | ملف OpenTelemetry والأدوات (Instrumentation) |
+| [`middleware.ts`](/docs/app/building-your-application/routing/middleware) | middleware لطلبات Next.js |
+| [`.env`](/docs/app/guides/environment-variables) | متغيرات البيئة |
+| [`.env.local`](/docs/app/guides/environment-variables) | متغيرات البيئة المحلية |
+| [`.env.production`](/docs/app/guides/environment-variables) | متغيرات بيئة الإنتاج |
+| [`.env.development`](/docs/app/guides/environment-variables) | متغيرات بيئة التطوير |
+| [`.eslintrc.json`](/docs/app/api-reference/config/eslint) | ملف تكوين ESLint |
+| `.gitignore` | الملفات والمجلدات التي يتجاهلها Git |
+| `next-env.d.ts` | ملف تعريف TypeScript لـ Next.js |
+| `tsconfig.json` | ملف تكوين TypeScript |
+| `jsconfig.json` | ملف تكوين JavaScript |
+
+
+
+### ملفات التوجيه (Routing)
+
+| | | |
+| ----------------------------------------------------------------------------- | ------------------- | ---------------------------- |
+| [`layout`](/docs/app/api-reference/file-conventions/layout) | `.js` `.jsx` `.tsx` | التخطيط (Layout) |
+| [`page`](/docs/app/api-reference/file-conventions/page) | `.js` `.jsx` `.tsx` | الصفحة (Page) |
+| [`loading`](/docs/app/api-reference/file-conventions/loading) | `.js` `.jsx` `.tsx` | واجهة التحميل (Loading UI) |
+| [`not-found`](/docs/app/api-reference/file-conventions/not-found) | `.js` `.jsx` `.tsx` | واجهة غير موجود (Not found UI) |
+| [`error`](/docs/app/api-reference/file-conventions/error) | `.js` `.jsx` `.tsx` | واجهة الخطأ (Error UI) |
+| [`global-error`](/docs/app/api-reference/file-conventions/error#global-error) | `.js` `.jsx` `.tsx` | واجهة الخطأ العامة (Global error UI) |
+| [`route`](/docs/app/api-reference/file-conventions/route) | `.js` `.ts` | نقطة نهاية API |
+| [`template`](/docs/app/api-reference/file-conventions/template) | `.js` `.jsx` `.tsx` | التخطيط المعاد تصييره |
+| [`default`](/docs/app/api-reference/file-conventions/default) | `.js` `.jsx` `.tsx` | صفحة الاحتياطي للطرق المتوازية |
+
+### الطرق المتداخلة (Nested routes)
+
+| | |
+| --------------- | -------------------- |
+| `folder` | مقطع الطريق (Route segment) |
+| `folder/folder` | مقطع طريق متداخل (Nested route segment) |
+
+### الطرق الديناميكية (Dynamic routes)
+
+| | |
+| ------------------------------------------------------------------------------------------------------ | -------------------------------- |
+| [`[folder]`](/docs/app/api-reference/file-conventions/dynamic-routes#convention) | مقطع طريق ديناميكي (Dynamic route segment) |
+| [`[...folder]`](/docs/app/api-reference/file-conventions/dynamic-routes#catch-all-segments) | مقطع طريق شامل (Catch-all route segment) |
+| [`[[...folder]]`](/docs/app/api-reference/file-conventions/dynamic-routes#optional-catch-all-segments) | مقطع طريق شامل اختياري (Optional catch-all route segment) |
+
+### مجموعات الطرق والمجلدات الخاصة (Route Groups and private folders)
+
+| | |
+| ------------------------------------------------------------------------------ | ------------------------------------------------ |
+| [`(folder)`](/docs/app/api-reference/file-conventions/route-groups#convention) | تجميع الطرق دون التأثير على التوجيه |
+| [`_folder`](#private-folders) | استبعاد المجلد وجميع المقاطع الفرعية من التوجيه |
+
+### الطرق المتوازية والمقاطعة (Parallel and Intercepted Routes)
+
+| | |
+| ------------------------------------------------------------------------------------------- | -------------------------- |
+| [`@folder`](/docs/app/api-reference/file-conventions/parallel-routes#slots) | فتحة مسماه (Named slot) |
+| [`(.)folder`](/docs/app/api-reference/file-conventions/intercepting-routes#convention) | اعتراض نفس المستوى |
+| [`(..)folder`](/docs/app/api-reference/file-conventions/intercepting-routes#convention) | اعتراض مستوى واحد أعلى |
+| [`(..)(..)folder`](/docs/app/api-reference/file-conventions/intercepting-routes#convention) | اعتراض مستويين أعلى |
+| [`(...)folder`](/docs/app/api-reference/file-conventions/intercepting-routes#convention) | اعتراض من الجذر (root) |
+
+### اصطلاحات ملفات البيانات الوصفية (Metadata)
+
+#### أيقونات التطبيق
+
+| | | |
+| --------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ------------------------ |
+| [`favicon`](/docs/app/api-reference/file-conventions/metadata/app-icons#favicon) | `.ico` | ملف الأيقونة المفضلة (Favicon) |
+| [`icon`](/docs/app/api-reference/file-conventions/metadata/app-icons#icon) | `.ico` `.jpg` `.jpeg` `.png` `.svg` | ملف أيقونة التطبيق |
+| [`icon`](/docs/app/api-reference/file-conventions/metadata/app-icons#generate-icons-using-code-js-ts-tsx) | `.js` `.ts` `.tsx` | أيقونة التطبيق المولدة |
+| [`apple-icon`](/docs/app/api-reference/file-conventions/metadata/app-icons#apple-icon) | `.jpg` `.jpeg`, `.png` | ملف أيقونة Apple |
+| [`apple-icon`](/docs/app/api-reference/file-conventions/metadata/app-icons#generate-icons-using-code-js-ts-tsx) | `.js` `.ts` `.tsx` | أيقونة Apple المولدة |
+
+#### صور Open Graph و Twitter
+
+| | | |
+| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------------- |
+| [`opengraph-image`](/docs/app/api-reference/file-conventions/metadata/opengraph-image#opengraph-image) | `.jpg` `.jpeg` `.png` `.gif` | ملف صورة Open Graph |
+| [`opengraph-image`](/docs/app/api-reference/file-conventions/metadata/opengraph-image#generate-images-using-code-js-ts-tsx) | `.js` `.ts` `.tsx` | صورة Open Graph المولدة |
+| [`twitter-image`](/docs/app/api-reference/file-conventions/metadata/opengraph-image#twitter-image) | `.jpg` `.jpeg` `.png` `.gif` | ملف صورة Twitter |
+| [`twitter-image`](/docs/app/api-reference/file-conventions/metadata/opengraph-image#generate-images-using-code-js-ts-tsx) | `.js` `.ts` `.tsx` | صورة Twitter المولدة |
+
+#### تحسين محركات البحث (SEO)
+
+| | | |
+| ------------------------------------------------------------------------------------------------------------ | ----------- | --------------------- |
+| [`sitemap`](/docs/app/api-reference/file-conventions/metadata/sitemap#sitemap-files-xml) | `.xml` | ملف خريطة الموقع (Sitemap) |
+| [`sitemap`](/docs/app/api-reference/file-conventions/metadata/sitemap#generating-a-sitemap-using-code-js-ts) | `.js` `.ts` | خريطة الموقع المولدة |
+| [`robots`](/docs/app/api-reference/file-conventions/metadata/robots#static-robotstxt) | `.txt` | ملف robots.txt |
+| [`robots`](/docs/app/api-reference/file-conventions/metadata/robots#generate-a-robots-file) | `.js` `.ts` | ملف robots المولد |
+
+
+
+
+
+### اصطلاحات الملفات
+
+| | | |
+| ----------------------------------------------------------------------------------------------------------- | ------------------- | ----------------- |
+| [`_app`](/docs/pages/building-your-application/routing/custom-app) | `.js` `.jsx` `.tsx` | تطبيق مخصص |
+| [`_document`](/docs/pages/building-your-application/routing/custom-document) | `.js` `.jsx` `.tsx` | مستند مخصص |
+| [`_error`](/docs/pages/building-your-application/routing/custom-error#more-advanced-error-page-customizing) | `.js` `.jsx` `.tsx` | صفحة خطأ مخصصة |
+| [`404`](/docs/pages/building-your-application/routing/custom-error#404-page) | `.js` `.jsx` `.tsx` | صفحة خطأ 404 |
+| [`500`](/docs/pages/building-your-application/routing/custom-error#500-page) | `.js` `.jsx` `.tsx` | صفحة خطأ 500 |
+
+### الطرق (Routes)
+
+| | | |
+| ---------------------------------------------------------------------------------------------- | ------------------- | ----------- |
+| **اصطلاح المجلد** | | |
+| [`index`](/docs/pages/building-your-application/routing/pages-and-layouts#index-routes) | `.js` `.jsx` `.tsx` | الصفحة الرئيسية |
+| [`folder/index`](/docs/pages/building-your-application/routing/pages-and-layouts#index-routes) | `.js` `.jsx` `.tsx` | صفحة متداخلة |
+| **اصطلاح الملف** | | |
+| [`index`](/docs/pages/building-your-application/routing/pages-and-layouts#index-routes) | `.js` `.jsx` `.tsx` | الصفحة الرئيسية |
+| [`file`](/docs/pages/building-your-application/routing/pages-and-layouts) | `.js` `.jsx` `.tsx` | صفحة متداخلة |
+
+### الطرق الديناميكية (Dynamic routes)
+
+| | | |
+| ----------------------------------------------------------------------------------------------------------------- | ------------------- | -------------------------------- |
+| **اصطلاح المجلد** | | |
+| [`[folder]/index`](/docs/pages/building-your-application/routing/dynamic-routes) | `.js` `.jsx` `.tsx` | مقطع طريق ديناميكي |
+| [`[...folder]/index`](/docs/pages/building-your-application/routing/dynamic-routes#catch-all-segments) | `.js` `.jsx` `.tsx` | مقطع طريق شامل |
+| [`[[...folder]]/index`](/docs/pages/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | `.js` `.jsx` `.tsx` | مقطع طريق شامل اختياري |
+| **اصطلاح الملف** | | |
+| [`[file]`](/docs/pages/building-your-application/routing/dynamic-routes) | `.js` `.jsx` `.tsx` | مقطع طريق ديناميكي |
+| [`[...file]`](/docs/pages/building-your-application/routing/dynamic-routes#catch-all-segments) | `.js` `.jsx` `.tsx` | مقطع طريق شامل |
+| [`[[...file]]`](/docs/pages/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | `.js` `.jsx` `.tsx` | مقطع طريق شامل اختياري |
+
+
+
+
+
+## تنظيم مشروعك
+
+Next.js **غير متحيز** بشأن كيفية تنظيم وترتيب ملفات مشروعك. ولكنه يوفر عدة ميزات لمساعدتك في تنظيم مشروعك.
+
+### تسلسل المكونات (Component hierarchy)
+
+يتم عرض المكونات المحددة في الملفات الخاصة بتسلسل معين:
+
+- `layout.js`
+- `template.js`
+- `error.js` (حدود خطأ React)
+- `loading.js` (حدود تعليق React)
+- `not-found.js` (حدود خطأ React)
+- `page.js` أو `layout.js` متداخل
+
+
+
+يتم عرض المكونات بشكل متكرر في الطرق المتداخلة، مما يعني أن مكونات مقطع الطريق ستكون متداخلة **داخل** مكونات المقطع الأب.
+
+
+
+
+
+### التنسيق المشترك (Colocation)
+
+في دليل `app`، تحدد المجلدات المتداخلة بنية المسار (route). كل مجلد يمثل جزءًا من المسار (route segment) يتم تعيينه إلى جزء مقابل في مسار URL.
+
+ومع ذلك، على الرغم من أن بنية المسار تُحدد من خلال المجلدات، إلا أن المسار **غير متاح للجمهور** حتى يتم إضافة ملف `page.js` أو `route.js` إلى جزء المسار.
+
+
+
+وحتى عندما يصبح المسار متاحًا للجمهور، يتم إرسال **المحتوى المُعاد** بواسطة `page.js` أو `route.js` فقط إلى العميل.
+
+
+
+هذا يعني أنه يمكن **تنسيق ملفات المشروع بشكل آمن** داخل أجزاء المسار في دليل `app` دون أن تصبح قابلة للتوجيه بالخطأ.
+
+
+
+> **معلومة مفيدة**: بينما يمكنك تنسيق ملفات مشروعك في `app`، إلا أنك **لست مضطرًا** لذلك. إذا كنت تفضل، يمكنك [إبقاؤها خارج دليل `app`](#store-project-files-outside-of-app).
+
+### المجلدات الخاصة (Private Folders)
+
+يمكن إنشاء مجلدات خاصة عن طريق إضافة شرطة سفلية كبادئة لاسم المجلد: `_folderName`
+
+هذا يشير إلى أن المجلد هو تفصيل تنفيذي خاص ولا يجب أن يؤخذ في الاعتبار من قبل نظام التوجيه، مما **يستثني المجلد وجميع مجلداته الفرعية** من التوجيه.
+
+
+
+بما أن الملفات في دليل `app` يمكن [تنسيقها بشكل آمن افتراضيًا](#colocation)، فإن المجلدات الخاصة ليست مطلوبة للتنسيق المشترك. ومع ذلك، يمكن أن تكون مفيدة لـ:
+
+- فصل منطق واجهة المستخدم عن منطق التوجيه.
+- تنظيم الملفات الداخلية بشكل متسق عبر المشروع وبيئة Next.js.
+- فرز وتجميع الملفات في محررات الأكواد.
+- تجنب التعارض المحتمل في الأسماء مع اصطلاحات ملفات Next.js المستقبلية.
+
+> **معلومة مفيدة**:
+> - على الرغم من أنها ليست اصطلاحًا في الإطار، يمكنك أيضًا التفكير في تمييز الملفات خارج المجلدات الخاصة كـ "خاصة" باستخدام نفس نمط الشرطة السفلية.
+> - يمكنك إنشاء أجزاء URL تبدأ بشرطة سفلية عن طريق إضافة `%5F` (الشكل المشفر لـ URL للشرطة السفلية) كبادئة لاسم المجلد: `%5FfolderName`.
+> - إذا كنت لا تستخدم المجلدات الخاصة، سيكون من المفيد معرفة [اصطلاحات الملفات الخاصة](/docs/app/getting-started/project-structure#routing-files) في Next.js لتجنب التعارض غير المتوقع في الأسماء.
+
+### مجموعات المسارات (Route Groups)
+
+يمكن إنشاء مجموعات المسارات عن طريق وضع مجلد بين قوسين: `(folderName)`
+
+هذا يشير إلى أن المجلد هو لأغراض تنظيمية ويجب **ألا يُدرج** في مسار URL.
+
+
+
+مجموعات المسارات مفيدة لـ:
+
+- تنظيم المسارات حسب قسم الموقع، الغرض، أو الفريق. مثل صفحات التسويق، صفحات الإدارة، إلخ.
+- تمكين التخطيطات المتداخلة في نفس مستوى جزء المسار:
+ - [إنشاء تخطيطات متداخلة متعددة في نفس الجزء، بما في ذلك تخطيطات جذر متعددة](#creating-multiple-root-layouts)
+ - [إضافة تخطيط إلى مجموعة فرعية من المسارات في جزء مشترك](#opting-specific-segments-into-a-layout)
+
+### مجلد `src`
+
+يدعم Next.js تخزين كود التطبيق (بما في ذلك `app`) داخل مجلد [`src` اختياري](/docs/app/api-reference/file-conventions/src-folder). هذا يفصل كود التطبيق عن ملفات تكوين المشروع التي توجد غالبًا في جذر المشروع.
+
+
+
+## أمثلة
+
+يقدم القسم التالي نظرة عامة عالية المستوى على الاستراتيجيات الشائعة. النقطة الأساسية هي اختيار استراتيجية تناسبك وفريقك والالتزام بها عبر المشروع.
+
+> **معلومة مفيدة**: في الأمثلة أدناه، نستخدم مجلدات `components` و `lib` كعناصر نائبة عامة، أسماؤها لا تحمل أي دلالة خاصة في الإطار وقد يستخدم مشروعك مجلدات أخرى مثل `ui`، `utils`، `hooks`، `styles`، إلخ.
+
+### تخزين ملفات المشروع خارج `app`
+
+تخزن هذه الاستراتيجية جميع أكواد التطبيق في مجلدات مشتركة في **جذر مشروعك** وتحافظ على دليل `app` لأغراض التوجيه فقط.
+
+
+
+### تخزين ملفات المشروع في مجلدات رئيسية داخل `app`
+
+تخزن هذه الاستراتيجية جميع أكواد التطبيق في مجلدات مشتركة في **جذر دليل `app`**.
+
+
+
+### تقسيم ملفات المشروع حسب الميزة أو المسار
+
+تخزن هذه الاستراتيجية أكواد التطبيق المشتركة عالميًا في دليل `app` الرئيسي وتقسم أكواد التطبيق الأكثر تحديدًا إلى أجزاء المسار التي تستخدمها.
+
+
+
+### تنظيم المسارات دون التأثير على مسار URL
+
+لتنظيم المسارات دون التأثير على URL، أنشئ مجموعة لإبقاء المسارات ذات الصلة معًا. سيتم حذف المجلدات بين القوسين من URL (مثل `(marketing)` أو `(shop)`).
+
+
+
+على الرغم من أن المسارات داخل `(marketing)` و `(shop)` تشترك في نفس التسلسل الهرمي لـ URL، يمكنك إنشاء تخطيط مختلف لكل مجموعة عن طريق إضافة ملف `layout.js` داخل مجلداتها.
+
+
+
+### اختيار أجزاء محددة لتطبيق تخطيط عليها
+
+لاختيار مسارات محددة لتطبيق تخطيط عليها، أنشئ مجموعة مسارات جديدة (مثل `(shop)`) وانقل المسارات التي تشترك في نفس التخطيط إلى المجموعة (مثل `account` و `cart`). المسارات خارج المجموعة لن تشترك في التخطيط (مثل `checkout`).
+
+
+
+### اختيار هياكل التحميل (Loading Skeletons) لمسار محدد
+
+لتطبيق [هيكل تحميل](/docs/app/building-your-application/routing/loading-ui-and-streaming) عبر ملف `loading.js` على مسار محدد، أنشئ مجموعة مسارات جديدة (مثل `/(overview)`) ثم انقل ملف `loading.tsx` داخل مجموعة المسارات هذه.
+
+
+
+الآن، سيتم تطبيق ملف `loading.tsx` فقط على صفحة dashboard → overview بدلاً من جميع صفحات dashboard دون التأثير على هيكل مسار URL.
+
+### إنشاء تخطيطات جذر متعددة
+
+لإنشاء عدة [تخطيطات جذر](/docs/app/api-reference/file-conventions/layout#root-layout)، احذف ملف `layout.js` الرئيسي، وأضف ملف `layout.js` داخل كل مجموعة مسارات. هذا مفيد لتقسيم التطبيق إلى أقسام لها واجهة مستخدم أو تجربة مختلفة تمامًا. يجب إضافة العلامات `` و `` إلى كل تخطيط جذر.
+
+
+
+في المثال أعلاه، لكل من `(marketing)` و `(shop)` تخطيط جذر خاص به.
+
+
diff --git a/apps/docs/content/ar/docs/01-app/01-getting-started/03-layouts-and-pages.mdx b/apps/docs/content/ar/docs/01-app/01-getting-started/03-layouts-and-pages.mdx
new file mode 100644
index 00000000..0a80bca8
--- /dev/null
+++ b/apps/docs/content/ar/docs/01-app/01-getting-started/03-layouts-and-pages.mdx
@@ -0,0 +1,294 @@
+---
+source-updated-at: 2025-06-01T01:32:20.000Z
+translation-updated-at: 2025-06-02T20:03:36.299Z
+title: كيفية إنشاء التخطيطات والصفحات
+nav_title: التخطيطات والصفحات
+description: إنشاء أول صفحاتك وتخطيطاتك، والربط بينها.
+related:
+ title: مرجع API
+ description: تعلم المزيد عن الميزات المذكورة في هذه الصفحة من خلال قراءة مرجع API.
+ links:
+ - app/api-reference/file-conventions/layout
+ - app/api-reference/file-conventions/page
+ - app/api-reference/components/link
+ - app/api-reference/file-conventions/dynamic-routes
+---
+
+يستخدم Next.js **التوجيه القائم على نظام الملفات**، مما يعني أنه يمكنك استخدام المجلدات والملفات لتحديد المسارات. سترشدك هذه الصفحة حول كيفية إنشاء التخطيطات والصفحات، والربط بينها.
+
+## إنشاء صفحة
+
+**الصفحة** هي واجهة مستخدم يتم عرضها على مسار معين. لإنشاء صفحة، أضف ملف [`page`](/docs/app/api-reference/file-conventions/page) داخل مجلد `app` وقم بتصدير مكون React افتراضيًا. على سبيل المثال، لإنشاء صفحة رئيسية (`/`):
+
+
+
+```tsx filename="app/page.tsx" switcher
+export default function Page() {
+ return
+}
+```
+
+## إنشاء تخطيط
+
+التخطيط هو واجهة مستخدم **مشتركة** بين عدة صفحات. أثناء التنقل، تحافظ التخطيطات على الحالة، تبقى تفاعلية، ولا يتم إعادة عرضها.
+
+يمكنك تعريف تخطيط عن طريق تصدير مكون React افتراضيًا من ملف [`layout`](/docs/app/api-reference/file-conventions/layout). يجب أن يقبل المكون خاصية `children` والتي يمكن أن تكون صفحة أو [تخطيط آخر](#nesting-layouts).
+
+على سبيل المثال، لإنشاء تخطيط يقبل صفحتك الرئيسية كطفل، أضف ملف `layout` داخل مجلد `app`:
+
+
+
+```tsx filename="app/layout.tsx" switcher
+export default function DashboardLayout({
+ children,
+}: {
+ children: React.ReactNode
+}) {
+ return (
+
+
+ {/* واجهة التخطيط */}
+ {/* ضع children حيث تريد عرض صفحة أو تخطيط متداخل */}
+ {children}
+
+
+ )
+}
+```
+
+```jsx filename="app/layout.js" switcher
+export default function DashboardLayout({ children }) {
+ return (
+
+
+ {/* واجهة التخطيط */}
+ {/* ضع children حيث تريد عرض صفحة أو تخطيط متداخل */}
+ {children}
+
+
+ )
+}
+```
+
+يسمى التخطيط أعلاه [تخطيط الجذر](/docs/app/api-reference/file-conventions/layout#root-layout) لأنه محدد في جذر مجلد `app`. تخطيط الجذر **مطلوب** ويجب أن يحتوي على علامات `html` و `body`.
+
+## إنشاء مسار متداخل
+
+المسار المتداخل هو مسار يتكون من عدة أجزاء URL. على سبيل المثال، يتكون مسار `/blog/[slug]` من ثلاثة أجزاء:
+
+- `/` (جزء الجذر)
+- `blog` (جزء)
+- `[slug]` (جزء ورقي)
+
+في Next.js:
+
+- تُستخدم **المجلدات** لتحديد أجزاء المسار التي تعين إلى أجزاء URL.
+- تُستخدم **الملفات** (مثل `page` و `layout`) لإنشاء واجهة مستخدم تعرض لجزء معين.
+
+لإنشاء مسارات متداخلة، يمكنك تداخل المجلدات داخل بعضها البعض. على سبيل المثال، لإضافة مسار لـ `/blog`، أنشئ مجلدًا يسمى `blog` في مجلد `app`. ثم، لجعل `/blog` متاحًا للجمهور، أضف ملف `page.tsx`:
+
+
+
+```tsx filename="app/blog/page.tsx" switcher
+// استيرادات وهمية
+import { getPosts } from '@/lib/posts'
+import { Post } from '@/ui/post'
+
+export default async function Page() {
+ const posts = await getPosts()
+
+ return (
+
+}
+```
+
+يؤدي تغليف اسم مجلد بين أقواس مربعة (مثل `[slug]`) إلى إنشاء [جزء مسار ديناميكي](/docs/app/api-reference/file-conventions/dynamic-routes) يُستخدم لإنشاء صفحات متعددة من البيانات. مثل منشورات المدونة، صفحات المنتجات، إلخ.
+
+## تداخل التخطيطات
+
+بشكل افتراضي، تكون التخطيطات في التسلسل الهرمي للمجلدات متداخلة أيضًا، مما يعني أنها تغلف التخطيطات الفرعية عبر خاصية `children`. يمكنك تداخل التخطيطات عن طريق إضافة `layout` داخل أجزاء مسار معينة (مجلدات).
+
+على سبيل المثال، لإنشاء تخطيط لمسار `/blog`، أضف ملف `layout` جديد داخل مجلد `blog`.
+
+
+
+```tsx filename="app/blog/layout.tsx" switcher
+export default function BlogLayout({
+ children,
+}: {
+ children: React.ReactNode
+}) {
+ return {children}
+}
+```
+
+```jsx filename="app/blog/layout.js" switcher
+export default function BlogLayout({ children }) {
+ return {children}
+}
+```
+
+إذا قمت بدمج التخطيطين أعلاه، فإن تخطيط الجذر (`app/layout.js`) سيغلف تخطيط المدونة (`app/blog/layout.js`)، والذي بدوره سيغلف صفحة المدونة (`app/blog/page.js`) وصفحة منشور المدونة (`app/blog/[slug]/page.js`).
+
+## إنشاء جزء ديناميكي
+
+تسمح لك [الأجزاء الديناميكية](/docs/app/api-reference/file-conventions/dynamic-routes) بإنشاء مسارات يتم إنشاؤها من البيانات. على سبيل المثال، بدلاً من إنشاء مسار يدويًا لكل منشور مدونة فردي، يمكنك إنشاء جزء ديناميكي لإنشاء المسارات بناءً على بيانات منشور المدونة.
+
+لإنشاء جزء ديناميكي، قم بتغليف اسم الجزء (المجلد) بين أقواس مربعة: `[segmentName]`. على سبيل المثال، في مسار `app/blog/[slug]/page.tsx`، `[slug]` هو الجزء الديناميكي.
+
+```tsx filename="app/blog/[slug]/page.tsx" switcher
+export default async function BlogPostPage({
+ params,
+}: {
+ params: Promise<{ slug: string }>
+}) {
+ const { slug } = await params
+ const post = await getPost(slug)
+
+ return (
+