chore(i18n): sync translations with latest source changes (chunk 1/1, 6 changes)

pull/1793/head
localizeflow[bot] 5 months ago
parent 82ccaeb511
commit 2ef3acee53

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T18:58:08+00:00", "translation_date": "2026-04-20T15:59:07+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "fa" "language_code": "fa"
}, },

@ -2,36 +2,36 @@
## مروری بر پروژه ## مروری بر پروژه
این مخزن یک برنامه درسی آموزشی برای آموزش اصول توسعه وب به مبتدیان است. این برنامه درسی یک دوره جامع ۱۲ هفته‌ای است که توسط مدافعان مایکروسافت کلود توسعه یافته و شامل ۲۴ درس عملی است که مباحث JavaScript، CSS و HTML را پوشش می‌دهد. این مخزن یک برنامه آموزشی برای آموزش مفاهیم پایه توسعه وب به مبتدیان است. این برنامه آموزشی یک دوره جامع ۱۲ هفته‌ای است که توسط مدافعان ابری مایکروسافت توسعه یافته و شامل ۲۴ درس عملی در زمینه JavaScript، CSS و HTML می‌باشد.
### اجزای کلیدی ### اجزای کلیدی
- **محتوای آموزشی**: ۲۴ درس ساختاریافته سازمان‌یافته در قالب ماژول‌های مبتنی بر پروژه - **محتوای آموزشی**: ۲۴ درس ساختاربندی شده در ماژول‌های مبتنی بر پروژه
- **پروژه‌های عملی**: تراریوم، بازی تایپ، افزونه مرورگر، بازی فضایی، اپلیکیشن بانکی، ویرایشگر کد و دستیار چت هوش مصنوعی - **پروژه‌های عملی**: تریاریوم، بازی تایپینگ، افزونه مرورگر، بازی فضا، اپلیکیشن بانکی، ویرایشگر کد و دستیار چت AI
- **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال هر کدام (ارزیابی پیش و پس از درس) - **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال هر کدام (ارزیابی‌های پیش و پس از درس)
- **پشتیبانی چندزبانه**: ترجمه‌های خودکار برای بیش از ۵۰ زبان با استفاده از GitHub Actions - **پشتیبانی چندزبانه**: ترجمه‌های خودکار برای بیش از ۵۰ زبان از طریق GitHub Actions
- **فناوری‌ها**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (برای پروژه‌های AI) - **فناوری‌ها**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، پایتون (برای پروژه‌های AI)
### معماری ### معماری
- مخزن آموزشی با ساختار مبتنی بر درس - مخزن آموزشی با ساختار مبتنی بر درس
- هر پوشه درس شامل README، نمونه‌های کد و راه‌حل‌ها - هر پوشه درس شامل فایل README، نمونه‌های کد و راه‌حل‌ها
- پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app، پروژه‌های مختلف دروس) - پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app، پروژه‌های مختلف دروس)
- سیستم ترجمه با استفاده از GitHub Actions (co-op-translator) - سیستم ترجمه با استفاده از GitHub Actions (co-op-translator)
- مستندات ارائه شده از طریق Docsify و در دسترس به صورت PDF - مستندات ارائه شده توسط Docsify و در دسترس به صورت PDF
## دستورات راه‌اندازی ## دستورات راه‌اندازی
این مخزن عمدتاً برای مرور محتوای آموزشی است. برای کار با پروژه‌های خاص: این مخزن عمدتاً برای استفاده از محتوای آموزشی است. برای کار با پروژه‌های خاص:
### تنظیم مخزن اصلی ### راه‌اندازی مخزن اصلی
```bash ```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners cd Web-Dev-For-Beginners
``` ```
### راه‌اندازی برنامه آزمون (Vue 3 + Vite) ### راه‌اندازی اپلیکیشن آزمون (Vue 3 + Vite)
```bash ```bash
cd quiz-app cd quiz-app
@ -41,14 +41,14 @@ npm run build # ساخت برای تولید
npm run lint # اجرای ESLint npm run lint # اجرای ESLint
``` ```
### API پروژه بانکی (Node.js + Express) ### API پروژه بانک (Node.js + Express)
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm install npm install
npm start # شروع سرور API npm start # شروع سرور API
npm run lint # اجرای ESLint npm run lint # اجرای ESLint
npm run format # فرمت با Prettier npm run format # قالب‌بندی با Prettier
``` ```
### پروژه‌های افزونه مرورگر ### پروژه‌های افزونه مرورگر
@ -59,7 +59,7 @@ npm install
# دستورالعمل‌های بارگذاری افزونه مخصوص مرورگر را دنبال کنید # دستورالعمل‌های بارگذاری افزونه مخصوص مرورگر را دنبال کنید
``` ```
### پروژه‌های بازی فضایی ### پروژه‌های بازی فضا
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
@ -67,51 +67,51 @@ npm install
# فایل index.html را در مرورگر باز کنید یا از Live Server استفاده کنید # فایل index.html را در مرورگر باز کنید یا از Live Server استفاده کنید
``` ```
### پروژه چت (بک‌اند Python) ### پروژه چت (بک‌اند پایتون)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# تنظیم متغیر محیطی GITHUB_TOKEN # متغیر محیطی GITHUB_TOKEN را تنظیم کنید
python api.py python api.py
``` ```
## روند توسعه ## روند توسعه
### برای مشارکت‌کنندگان محتوا ### برای همکاران محتوا
1. **فورک مخزن** به حساب گیت‌هاب خود 1. **مخزن را فورک کنید** به حساب گیت‌هاب خود
2. **کلون فورک** به صورت محلی 2. **فورک خود را کلون کنید** به صورت محلی
3. **ایجاد شاخه جدید** برای تغییرات خود 3. **یک شاخه جدید بسازید** برای تغییرات خود
4. ایجاد تغییرات در محتوای درس یا نمونه‌های کد 4. تغییرات در محتوای درس یا نمونه‌های کد بدهید
5. تست هر تغییر کد در دایرکتوری‌های مربوط به پروژه 5. تغییرات کد را در دایرکتوری‌های مرتبط پروژه آزمایش کنید
6. ارسال درخواست کشش (Pull Request) طبق دستورالعمل‌های مشارکت 6. درخواست‌های پول (Pull Requests) را مطابق با دستورالعمل‌ها ارسال کنید
### برای یادگیرندگان ### برای یادگیرندگان
1. فورک یا کلون مخزن 1. مخزن را فورک یا کلون کنید
2. به ترتیب به دایرکتوری‌های درس بروید 2. به ترتیب به دایرکتوری‌های درس بروید
3. فایل‌های README هر درس را مطالعه کنید 3. فایل README هر درس را بخوانید
4. آزمون‌های پیش از درس را در https://ff-quizzes.netlify.app/web/ تکمیل کنید 4. آزمون‌های پیشدرس را در https://ff-quizzes.netlify.app/web/ کامل کنید
5. نمونه‌های کد در پوشه‌های درس را انجام دهید 5. نمونه‌های کد در پوشه‌های درس را اجرا کنید
6. وظایف و چالش‌ها را کامل کنید 6. تمرینات و چالش‌ها را انجام دهید
7. آزمون‌های بعد از درس را انجام دهید 7. آزمون‌های پس‌درس را بگیرید
### توسعه زنده ### توسعه زنده
- **مستندات**: اجرای `docsify serve` در شاخه ریشه (پورت ۳۰۰۰) - **مستندات**: دستور `docsify serve` را در ریشه اجرا کنید (پورت ۳۰۰۰)
- **برنامه آزمون**: اجرای `npm run dev` در دایرکتوری quiz-app - **اپلیکیشن آزمون**: دستور `npm run dev` را در دایرکتوری quiz-app اجرا کنید
- **پروژه‌ها**: استفاده از افزونه Live Server در VS Code برای پروژه‌های HTML - **پروژه‌ها**: از افزونه VS Code Live Server برای پروژه‌های HTML استفاده کنید
- **پروژه‌های API**: اجرای `npm start` در دایرکتوری‌های مربوطه - **پروژه‌های API**: دستور `npm start` را در دایرکتوری‌های مربوط به API اجرا کنید
## دستورالعمل‌های تست ## دستورالعمل‌های تست
### تست برنامه آزمون ### تست اپلیکیشن آزمون
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # بررسی مشکلات سبک کد npm run lint # بررسی مشکلات سبک کد
npm run build # تایید موفقیت ساخت npm run build # تأیید موفقیت‌آمیز بودن ساخت
``` ```
### تست API بانک ### تست API بانک
@ -119,164 +119,164 @@ npm run build # تایید موفقیت ساخت
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # بررسی مشکلات سبک کد npm run lint # بررسی مشکلات سبک کد
node server.js # تأیید راه‌اندازی سرور بدون خطاها node server.js # بررسی راه‌اندازی بدون خطا سرور
``` ```
### رویکرد کلی تست ### رویکرد کلی تست
- این یک مخزن آموزشی است که فاقد تست‌های خودکار جامع است - این یک مخزن آموزشی است و تست‌های خودکار جامع ندارد
- تست دستی متمرکز بر: - تست دستی بر مراحل زیر تمرکز دارد:
- اجرای بدون خطا نمونه‌های کد - اجرای بدون خطا نمونه‌های کد
- درستی لینک‌ها در مستندات - لینک‌های مستندات به درستی کار می‌کنند
- تکمیل موفقیت‌آمیز فرآیند ساخت پروژه - ساخت پروژه‌ها موفقیت‌آمیز است
- رعایت بهترین شیوه‌ها در نمونه‌ها - مثال‌ها مطابق بهترین شیوه‌ها هستند
### بررسی‌های پیش از ارسال ### بررسی‌های پیش از ارسال
- اجرای `npm run lint` در دایرکتوری‌های دارای package.json - اجرای `npm run lint` در دایرکتوری‌هایی که package.json دارند
- اعتبارسنجی لینک‌های مارک‌داون - اعتبارسنجی لینک‌های مارک‌داون
- اجرای نمونه‌های کد در مرورگر یا Node.js - تست نمونه‌های کد در مرورگر یا Node.js
- بررسی حفظ ساختار صحیح ترجمه‌ها - اطمینان از حفظ ساختار صحیح ترجمه‌ها
## دستورالعمل‌های سبک کدنویسی ## راهنمای سبک کد
### JavaScript ### جاوااسکریپت
- استفاده از سینتکس مدرن ES6+ - استفاده از سینتکس مدرن ES6+
- پیروی از تنظیمات ESLint استاندارد در پروژه‌ها - پیروی از پیکربندی ESLint استاندارد پروژه‌ها
- استفاده از نام‌های متغیر و توابع معنادار برای وضوح آموزشی - استفاده از نام‌های متغیر و توابع معنی‌دار برای درک بهتر آموزشی
- افزودن توضیحات برای مفاهیم یادگیرندگان - افزودن کامنت برای توضیح مفاهیم
- فرمت کردن با Prettier در صورت وجود تنظیمات - فرمت کردن کد با Prettier در صورت تنظیم شدن
### HTML/CSS ### HTML/CSS
- استفاده از عناصر معنایی HTML5 - استفاده از عناصر معنایی HTML5
- رعایت اصول طراحی واکنشگرا - اصول طراحی واکنشگرا
- نام‌گذاری واضح کلاس‌ها - نام‌گذاری واضح برای کلاس‌ها
- افزودن توضیحات برای تکنیک‌های CSS جهت یادگیرندگان - کامنت‌های آموزشی در مورد تکنیک‌های CSS برای یادگیرندگان
### Python ### پایتون
- پیروی از دستورالعمل‌های سبک PEP 8 - پیروی از دستورالعمل‌های سبک PEP ۸
- نمونه‌های کد روشن و آموزشی - مثال‌های کد آموزشی و خوانا
- استفاده از نوع‌دهی (type hints) در صورت مناسب بودن برای یادگیری - استفاده از تایپ هینت‌ها در صورت مفید بودن برای آموزش
### مستندسازی Markdown ### مستندسازی مارک‌داون
- سلسله مراتب واضح سرفصلها - ساختار واضح عنوانها
- بلوک‌های کد با مشخص کردن زبان - بلاک‌های کد با مشخص کردن زبان
- لینک به منابع اضافی - لینک به منابع اضافه
- اسکرین‌شات‌ها و تصاویر در پوشه‌های `images/` - اسکرین‌شات‌ها و تصاویر در دایرکتوری‌های `images/`
- متن جایگزین برای تصاویر جهت دسترسی - متن جایگزین برای تصاویر جهت دسترسی‌پذیری
### سازماندهی فایل‌ها ### سازماندهی فایل‌ها
- شماره‌گذاری دروس به ترتیب (1-getting-started-lessons, 2-js-basics و غیره) - دروس به صورت مرتب شماره‌گذاری شده (۱-getting-started-lessons، ۲-js-basics و غیره)
- هر پروژه دارای دایرکتوری‌های `solution/` و اغلب `start/` یا `your-work/` - هر پروژه دارای دایرکتوری `solution/` و معمولاً `start/` یا `your-work/`
- ذخیره تصاویر در پوشه‌های `images/` مربوط به هر درس - تصاویر هر درس در پوشه‌های مخصوص همان درس در `images/`
- ترجمه‌ها در ساختار `translations/{language-code}/` - ترجمه‌ها در ساختار `translations/{language-code}/`
## ساخت و استقرار ## ساخت و استقرار
### استقرار برنامه آزمون (Azure Static Web Apps) ### استقرار اپلیکیشن آزمون (Azure Static Web Apps)
برنامه آزمون برای استقرار در Azure Static Web Apps پیکربندی شده است: اپلیکیشن آزمون برای استقرار در Azure Static Web Apps پیکربندی شده است:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # پوشه dist/ را ایجاد می‌کند npm run build # ایجاد پوشه dist/
# از طریق جریان کاری GitHub Actions در هر بار پوش به شاخه main مستقر می‌کند # استقرار از طریق جریان کاری GitHub Actions در هنگام push به main
``` ```
پیکربندی Azure Static Web Apps: پیکربندی Azure Static Web Apps:
- **مکان برنامه**: `/quiz-app` - **مکان اپلیکیشن**: `/quiz-app`
- **مکان خروجی**: `dist` - **مکان تولید خروجی**: `dist`
- **روند کاری**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **روند کاری**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### تولید PDF مستندات ### تولید PDF مستندات
```bash ```bash
npm install # نصب docsify-to-pdf npm install # نصب docsify-to-pdf
npm run convert # تولید فایل PDF از داکس npm run convert # ایجاد PDF از داکس
``` ```
### مستندات Docsify ### مستندات Docsify
```bash ```bash
npm install -g docsify-cli # نصب Docsify به صورت سراسری npm install -g docsify-cli # نصب Docsify به صورت سراسری
docsify serve # خدمت رسانی در localhost:3000 docsify serve # ارائه در localhost:3000
``` ```
### ساخت‌های خاص پروژه ### ساخت‌های اختصاصی پروژه
هر پوشه پروژه ممکن است فرآیند ساخت مختص به خود را داشته باشد: هر دایرکتوری پروژه ممکن است فرایند ساخت خاص خود را داشته باشد:
- پروژه‌های Vue: اجرای `npm run build` برای ایجاد بسته‌های تولید - پروژه‌های Vue: اجرای `npm run build` بسته‌های تولید را ایجاد می‌کند
- پروژه‌های استاتیک: مرحله ساخت ندارد، سرویس‌دهی مستقیم فایل‌ها - پروژه‌های استاتیک: هیچ قدم ساختی ندارند، مستقیماً فایل‌ها سرو می‌شوند
## دستورالعمل‌های ارسال Pull Request ## راهنمای درخواست‌های پول (PR)
### قالب عنوان ### فرمت عنوان
از عناوین واضح و توصیفی استفاده کنید که حوزه تغییرات را نشان دهد: از عناوین واضح و توصیفی استفاده کنید که بخش تغییر را نمایش دهد:
- `[Quiz-app] افزودن آزمون جدید برای درس X` - `[Quiz-app] افزودن آزمون جدید برای درس X`
- `[Lesson-3] اصلاح اشتباه تایپی در پروژه تراریوم` - `[Lesson-3] رفع غلط املایی در پروژه تریاریوم`
- `[Translation] افزودن ترجمه اسپانیایی برای درس ۵` - `[Translation] افزودن ترجمه اسپانیایی برای درس ۵`
- `[Docs] به‌روزرسانی دستورالعمل‌های راه‌اندازی` - `[Docs] به‌روزرسانی دستورالعمل‌های راه‌اندازی`
### بررسی‌های مورد نیاز ### چک‌های مورد نیاز
قبل از ارسال PR: قبل از ارسال PR:
1. **کیفیت کد**: 1. **کیفیت کد**:
- اجرای `npm run lint` در دایرکتوری‌های پروژه مربوط - اجرای `npm run lint` در دایرکتوری‌های پروژه مرتبط
- رفع همه خطاها و هشدارهای lint - رفع تمام خطاها و هشدارهای lint
2. **تایید ساخت**: 2. **تأیید ساخت**:
- اجرای `npm run build` در صورت لزوم - اجرای `npm run build` در صورت نیاز
- اطمینان از عدم وجود خطای ساخت - اطمینان از عدم وجود خطا در ساخت
3. **اعتبارسنجی لینکها**: 3. **اعتبارسنجی لینک**:
- تست همه لینک‌های مارک‌داون - تست تمام لینک‌های مارک‌داون
- بررسی صحت ارجاعات تصویر - بررسی صحت ارجاعات به تصاویر
4. **بازبینی محتوا**: 4. **بازبینی محتوا**:
- ویرایش املایی و گرامری - بازخوانی برای املاء و دستور زبان
- اطمینان از صحت و آموزشی بودن نمونه‌های کد - اطمینان از صحیح و آموزشی بودن نمونه‌های کد
- بررسی حفظ معنای اصلی ترجمه‌ها - تأیید صحت مفهوم ترجمه‌ها
### الزامات مشارکت ### الزامات مشارکت
- موافقت با CLA مایکروسافت (بررسی خودکار در اولین PR) - پذیرش CLA مایکروسافت (چک خودکار در اولین PR)
- پیروی از [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - پیروی از [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- مشاهده [CONTRIBUTING.md](./CONTRIBUTING.md) برای دستورالعمل‌های دقیق - مشاهده [CONTRIBUTING.md](./CONTRIBUTING.md) برای دستورالعمل‌های دقیق
- ارجاع شماره مسائل در توضیح PR در صورت لزوم - ارجاع شماره مسائل در توضیحات PR در صورت کاربرد
### فرایند بازبینی ### روند بازبینی
- PRها توسط نگهدارندگان و جامعه مرور می‌شوند - PRها توسط نگهدارندگان و جامعه بررسی می‌شوند
- وضوح آموزشی در اولویت است - شفافیت آموزشی در اولویت است
- نمونه‌های کد باید از بهترین شیوه‌های فعلی پیروی کنند - نمونه‌های کد باید بهترین روش‌های فعلی را دنبال کنند
- ترجمه‌ها از نظر دقت و سازگاری فرهنگی بررسی می‌شوند - ترجمه‌ها برای دقت و سازگاری فرهنگی بررسی می‌شوند
## سیستم ترجمه ## سیستم ترجمه
### ترجمه خودکار ### ترجمه خودکار
- استفاده از GitHub Actions با گردش کار co-op-translator - استفاده از GitHub Actions با روند کاری co-op-translator
- ترجمه خودکار به بیش از ۵۰ زبان - ترجمه خودکار به بیش از ۵۰ زبان
- فایل‌های منبع در دایرکتوری‌های اصلی - فایل‌های منبع در دایرکتوری‌های اصلی
- فایل‌های ترجمه شده در ساختار `translations/{language-code}/` - فایل‌های ترجمه شده در ساختار `translations/{language-code}/`
### افزودن بهبودهای دستی ترجمه ### افزودن بهبودهای ترجمه دستی
1. پیدا کردن فایل در `translations/{language-code}/` 1. فایل را در `translations/{language-code}/` پیدا کنید
2. انجام بهبودها بدون تغییر ساختار 2. بهبودها را در حالی که ساختار حفظ شود، اعمال کنید
3. اطمینان از عملکرد نمونه‌های کد 3. اطمینان حاصل کنید نمونه‌های کد عملکردی باقی بمانند
4. تست محتوای آزمون‌های بومی شده 4. آزمون محتوای آزمون محلی‌شده در صورت وجود
### متادیتای ترجمه ### متادیتای ترجمه
فایل‌های ترجمه شامل سربرگ متادیتا هستند: فایل‌های ترجمه‌شده شامل سربرگ متادیتا هستند:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## عیب‌یابی و رفع اشکال ## اشکال‌زدایی و رفع مشکلات
### مشکلات رایج ### مسائل رایج
**عدم شروع برنامه آزمون**: **اپلیکیشن آزمون اجرا نمی‌شود**:
- بررسی نسخه Node.js (توصیه شده v14+) - نسخه Node.js را بررسی کنید (v14+ توصیه شده)
- حذف پوشه‌های `node_modules` و فایل `package-lock.json`، سپس اجرای مجدد `npm install` - پوشه `node_modules` و فایل `package-lock.json` را حذف کرده و دوباره `npm install` بزنید
- بررسی تعارض پورت (پیش‌فرض: پورت 5173 توسط Vite استفاده می‌شود) - بررسی تداخل پورت‌ها (پیش‌فرض: Vite از پورت 5173 استفاده می‌کند)
**سرور API راه‌اندازی نمی‌شود**: **سرور API اجرا نمی‌شود**:
- بررسی نسخه Node.js (حداقل node >=10) - نسخه Node.js را بررسی کنید (node >=10)
- اطمینان از عدم استفاده پورت توسط برنامه دیگر - اطمینان از آزاد بودن پورت
- اطمینان از نصب تمام وابستگی‌ها با `npm install` - اطمینان از نصب تمام وابستگی‌ها با `npm install`
**بارگذاری نشدن افزونه مرورگر**: **افزونه مرورگر بارگذاری نمی‌شود**:
- بررسی قالب صحیح manifest.json - بررسی فرمت صحیح manifest.json
- مشاهده خطاها در کنسول مرورگر - نگاه به کنسول مرورگر برای خطاها
- پیروی از دستورالعمل‌های نصب افزونه خاص مرورگر - پیروی از دستورالعمل نصب افزونه مرورگر خاص
**مشکلات پروژه چت Python**: **مشکلات پروژه چت پایتون**:
- اطمینان از نصب بسته OpenAI: `pip install openai` - اطمینان از نصب پکیج OpenAI: `pip install openai`
- تنظیم متغیر محیطی GITHUB_TOKEN - بررسی تنظیم متغیر محیطی GITHUB_TOKEN
- بررسی دسترسی به مدل‌های GitHub - بررسی مجوزهای دسترسی GitHub Models
**عدم سرویس‌دهی مستندات Docsify**: **Docsify مستندات را سرو نمی‌کند**:
- نصب جهانی docsify-cli: `npm install -g docsify-cli` - نصب docsify-cli به صورت سراسری: `npm install -g docsify-cli`
- اجرا از شاخه ریشه مخزن - اجرای دستور از ریشه مخزن
- اطمینان از وجود فایل `docs/_sidebar.md` - اطمینان از وجود فایل `docs/_sidebar.md`
### نکات محیط توسعه ### نکات محیط توسعه
- استفاده از VS Code با افزونه Live Server برای پروژه‌های HTML - استفاده از VS Code با افزونه Live Server برای پروژه‌های HTML
- نصب افزونه‌های ESLint و Prettier برای فرمت یکنواخت - نصب افزونه‌های ESLint و Prettier برای قالب‌بندی یکنواخت
- استفاده از DevTools مرورگر برای اشکال‌زدایی JavaScript - استفاده از DevTools مرورگر برای اشکال‌زدایی جاوااسکریپت
- نصب افزونه Vue DevTools برای پروژه‌های Vue - برای پروژه‌های Vue، نصب افزونه Vue DevTools در مرورگر
### ملاحظات عملکرد ### ملاحظات عملکرد
- تعداد زیاد فایل‌های ترجمه شده (بیش از ۵۰ زبان) باعث بزرگ بودن کلون کامل می‌شود - تعداد زیاد فایل‌های ترجمه شده (بیش از ۵۰ زبان) به معنی کلون‌های حجیم است
- برای کار فقط روی محتوا از کلون کم‌عمق استفاده کنید: `git clone --depth 1` - استفاده از کلون کم‌عمق در صورت کار صرفاً روی محتوا: `git clone --depth 1`
- هنگام کار بر روی محتوای انگلیسی، از جستجو در ترجمه‌ها خودداری کنید - هنگام کار روی محتوای انگلیسی، ترجمه‌ها را از جستجوها مستثنی کنید
- فرآیندهای ساخت ممکن است در اولین اجرا کند باشد (نصب npm، ساخت Vite) - فرایندهای ساخت ممکن است در اجرای اول کند باشند (npm install، ساخت Vite)
## ملاحظات امنیتی ## ملاحظات امنیتی
### متغیرهای محیطی ### متغیرهای محیطی
- کلیدهای API هرگز نباید در مخزن کامیت شوند - کلیدهای API هرگز نباید در مخزن کامیت شوند
- استفاده از فایل‌های `.env` (که در `.gitignore` هستند) - استفاده از فایل‌های `.env` (که در `.gitignore` موجود است)
- مستندسازی متغیرهای محیطی مورد نیاز در README پروژه‌ها - متغیرهای محیطی مورد نیاز را در README پروژه‌ها مستند کنید
### پروژه‌های Python ### پروژه‌های پایتون
- استفاده از محیط مجازی: `python -m venv venv` - استفاده از محیط‌های مجازی: `python -m venv venv`
- به‌روز نگه داشتن وابستگی‌ها - به‌روزرسانی مرتب وابستگی‌ها
- توکن‌های GitHub باید حداقل دسترسی لازم را داشته باشند - توکن‌های GitHub باید حداقل مجوزهای لازم را داشته باشند
### دسترسی به مدل‌های GitHub ### دسترسی GitHub Models
- توکن‌های دسترسی شخصی (PAT) برای GitHub Models لازم است - توکن‌های دسترسی شخصی (PAT) برای GitHub Models مورد نیاز است
- توکن‌ها باید به عنوان متغیر محیطی ذخیره شوند - توکن‌ها باید به صورت متغیرهای محیطی ذخیره شوند
- هرگز توکن یا اطلاعات ورود را کامیت نکنید - هرگز توکن یا اعتبارنامه‌ها را کامیت نکنید
## یادداشت‌های اضافی ## یادداشت‌های اضافی
### مخاطبان هدف ### مخاطب هدف
- مبتدیان کامل در توسعه وب - مبتدیان کامل در توسعه وب
- دانشجویان و خودآموزها - دانشجویان و خودآموزها
- معلمانی که برنامه درسی را در کلاس درس استفاده می‌کنند - معلمانی که این برنامه را در کلاس درس استفاده می‌کنند
- محتوای طراحی شده برای دسترس‌پذیری و پیشرفت تدریجی مهارتها - محتوا برای دسترسی‌پذیری و پیشرفت تدریجی مهارت طراحی شده است
### فلسفه آموزشی ### فلسفه آموزشی
- رویکرد یادگیری مبتنی بر پروژه - رویکرد یادگیری مبتنی بر پروژه
- بررسی‌های مکرر دانش (آزمون‌ها) - بررسی‌های مکرر دانش (آزمون‌ها)
- تمرین‌های کدنویسی عملی - تمرینات کدنویسی عملی
- مثال‌هایی از کاربردهای واقعی - مثال‌های کاربردی دنیای واقعی
- تمرکز بر اصول پایه قبل از فریم‌ورک‌ها - تمرکز بر اصول قبل از فریم‌ورک‌ها
### نگهداری مخزن ### نگهداری مخزن
- وجود جامعه فعال از یادگیرندگان و مشارکت‌کنندگان - جامعه فعالی از یادگیرندگان و همکاران
- به‌روزرسانی‌های منظم وابستگی‌ها و محتوا - به‌روزرسانی‌های مکرر وابستگی‌ها و محتوا
- بررسی مسائل و بحث‌ها توسط نگهدارندگان - نظارت بر مسائل و بحث‌ها توسط نگهدارندگان
- به‌روزرسانی‌های ترجمه به‌صورت خودکار از طریق GitHub Actions - به‌روزرسانی ترجمه‌ها به صورت خودکار توسط GitHub Actions
### منابع مرتبط ### منابع مرتبط
- [ماژول‌های Microsoft Learn](https://docs.microsoft.com/learn/) - [ماژول‌های Microsoft Learn](https://docs.microsoft.com/learn/)
- [منابع Student Hub](https://docs.microsoft.com/learn/student-hub/) - [منابع دانشجویان Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) پیشنهادی برای یادگیرندگان - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) پیشنهاد شده برای یادگیرندگان
- دوره‌های اضافی: AI مولد، علم داده، یادگیری ماشین، برنامه‌های IoT موجود - دوره‌های اضافی: AI مولد، علوم داده، یادگیری ماشین، دوره‌های IoT موجود است
### کار با پروژه‌های خاص ### کار با پروژه‌های خاص
برای دستورالعمل‌های دقیق پروژه‌های جداگانه به فایل‌های README در: برای دستورالعمل‌های دقیق پروژه‌های جداگانه، به فایل‌های README در:
- `quiz-app/README.md` - برنامه آزمون Vue 3 - `quiz-app/README.md` - اپلیکیشن آزمون Vue 3
- `7-bank-project/README.md` - اپلیکیشن بانکی با احراز هویت - `7-bank-project/README.md` - اپ بانکی با احراز هویت
- `5-browser-extension/README.md` - توسعه افزونه مرورگر - `5-browser-extension/README.md` - توسعه افزونه مرورگر
- `6-space-game/README.md` - توسعه بازی مبتنی بر کانواس - `6-space-game/README.md` - توسعه بازی مبتنی بر Canvas
- `9-chat-project/README.md` - پروژه دستیار چت هوش مصنوعی - `9-chat-project/README.md` - پروژه دستیار چت AI
### ساختار مونو رپو ### ساختار مونو-ریپو
اگرچه یک مونو رپو سنتی نیست، این مخزن شامل چندین پروژه مستقل است: اگرچه این یک مونو-ریپو سنتی نیست، این مخزن شامل چند پروژه مستقل است:
- هر درس به‌صورت جداگانه - هر درس به صورت مستقل است
- پروژه‌ها وابستگی مشترک ندارند - پروژه‌ها وابستگی مشترک ندارند
- کار روی پروژه‌های جداگانه بدون تأثیر بر سایرین - می‌توانید روی پروژه‌های جداگانه بدون تأثیر بر دیگران کار کنید
- کلون کل مخزن برای تجربه کامل برنامه درسی - برای تجربه کامل دوره، کل مخزن را کلون کنید
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**سلب مسئولیت**: **سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوء تفاهم یا تفسیر نادرستی که ناشی از استفاده از این ترجمه باشد، نمی‌باشیم. این سند با استفاده از سرویس ترجمه خودکار [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطا یا نادقتی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، استفاده از ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا سفسطه ناشی از استفاده از این ترجمه نیستیم.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T18:59:16+00:00", "translation_date": "2026-04-20T16:00:15+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "ur" "language_code": "ur"
}, },

@ -1,28 +1,28 @@
# AGENTS.md # AGENTS.md
## منصوبے کا جائزہ ## پروجیکٹ کا جائزہ
یہ ویب ڈویلپمنٹ کی بنیادی باتیں سکھانے کے لیے ابتدائیوں کے لیے ایک تعلیمی نصاب کا ذخیرہ ہے۔ نصاب ایک جامع ۱۲ ہفتوں کا کورس ہے جو Microsoft Cloud Advocates نے تیار کیا ہے، جس میں جاوا اسکرپٹ، CSS، اور HTML پر مشتمل ۲۴ عملی اسباق شامل ہیں۔ یہ ویب ڈیولپمنٹ کے بنیادی اصولوں کی تعلیم کے لیے ایک تعلیمی نصاب کا ذخیرہ ہے جو مبتدیوں کے لیے ہے۔ یہ نصاب مائیکروسافٹ کلاؤڈ ایڈووکیٹس کے ذریعہ تیار کردہ ایک جامع 12 ہفتوں کا کورس ہے، جس میں 24 عملی اسباق شامل ہیں جو جاوا اسکرپٹ، CSS، اور HTML کا احاطہ کرتے ہیں۔
### کلیدی اجزاء ### کلیدی اجزاء
- **تعلیمی مواد**: ۲۴ منظم اسباق جو پروجیکٹ پر مبنی ماڈیولز میں ترتیب دیے گئے ہیں - **تعلیمی مواد**: 24 منظم اسباق جو پروجیکٹ پر مبنی ماڈیولز میں ترتیب دیے گئے ہیں
- **عملی پروجیکٹس**: ٹیریریم، ٹائپنگ گیم، براؤزر ایکسٹینشن، اسپیس گیم، بنکنگ ایپ، کوڈ ایڈیٹر، اور AI چیٹ اسسٹنٹ - **عملی پروجیکٹس**: ٹیریریم، ٹائپنگ گیم، براؤزر ایکسٹینشن، اسپیس گیم، بینکنگ ایپ، کوڈ ایڈیٹر، اور AI چیٹ اسسٹنٹ
- **انٹرایکٹو کوئزز**: ۴۸ کوئزز، ہر ایک میں ۳ سوالات (سبق کے پہلے اور بعد میں تشخیص) - **انٹرایکٹو کوئزز**: 48 کوئزز، ہر ایک میں 3 سوالات (سبق سے پہلے/بعد کے جائزے)
- **کثیرالزبان معاونت**: GitHub Actions کے ذریعہ 50+ زبانوں میں خودکار ترجمے - **کثیر لسانی معاونت**: GitHub Actions کے ذریعے 50+ زبانوں کے لیے خودکار تراجم
- **ٹیکنالوجیز**: HTML، CSS، جاوا اسکرپٹ، Vue.js 3، Vite، Node.js، Express، Python (AI پروجیکٹس کے لیے) - **تکنالوجیز**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (AI پروجیکٹس کے لیے)
### آرکیٹیکچر ### فن تعمیر
- سبق پر مبنی ڈھانچہ کے ساتھ تعلیمی ذخیرہ - سبق کی بنیاد پر تعلیمی ذخیرہ
- ہر سبق کے فولڈر میں README، کوڈ مثالیں، اور حل شامل ہیں - ہر سبق فولڈر میں README، کوڈ کے نمونے اور حل شامل ہیں
- الگ الگ ڈائریکٹریز میں اسٹینڈ الون پروجیکٹس (quiz-app، مختلف سبق کے پروجیکٹس) - علیحدہ ڈائریکٹریز میں آزاد پروجیکٹس (quiz-app، مختلف سبق کے پروجیکٹس)
- GitHub Actions استعمال کرتے ہوئے ترجمہ جات کا نظام (co-op-translator) - ترجمہ کا نظام GitHub Actions (co-op-translator) استعمال کرتا ہے
- Docsify کے ذریعے دستاویزات فراہم کی جاتی ہیں اور PDF کے طور پر دستیاب ہیں - دستاویزات Docsify کے ذریعے فراہم کی جاتی ہیں اور PDF کے طور پر دستیاب ہیں
## سیٹ اپ کمانڈز ## سیٹ اپ کمانڈز
یہ ذخیرہ بنیادی طور پر تعلیمی مواد کے استعمال کے لیے ہے۔ مخصوص پروجیکٹس کے ساتھ کام کرنے کے لیے: یہ ذخیرہ بنیادی طور پر تعلیمی مواد کے استعمال کے لیے ہے۔ مخصوص پروجیکٹس پر کام کرنے کے لیے:
### مرکزی ذخیرہ سیٹ اپ ### مرکزی ذخیرہ سیٹ اپ
@ -36,19 +36,19 @@ cd Web-Dev-For-Beginners
```bash ```bash
cd quiz-app cd quiz-app
npm install npm install
npm run dev # ڈویلپمنٹ سرور شروع کریں npm run dev # ڈیولپمنٹ سرور شروع کریں
npm run build # پیداوار کے لیے بنائیں npm run build # پروڈکشن کے لیے تیار کریں
npm run lint # ESLint چلائیں npm run lint # ESLint چلائیں
``` ```
### بنک پروجیکٹ API (Node.js + Express) ### بینک پروجیکٹ API (Node.js + Express)
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm install npm install
npm start # اے پی آئی سرور شروع کریں npm start # API سرور شروع کریں
npm run lint # ای ایس لِنٹ چلائیں npm run lint # ESLint چلائیں
npm run format # پریٹیئر کے ساتھ فارمیٹ کریں npm run format # Prettier کے ساتھ فارمیٹ کریں
``` ```
### براؤزر ایکسٹینشن پروجیکٹس ### براؤزر ایکسٹینشن پروجیکٹس
@ -56,7 +56,7 @@ npm run format # پریٹیئر کے ساتھ فارمیٹ کریں
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# مخصوص براؤزر کی توسیع لوڈ کرنے کی ہدایات پر عمل کریں # مخصوص براؤزر کے لیے ایکسٹینشن لوڈ کرنے کی ہدایات پر عمل کریں
``` ```
### اسپیس گیم پروجیکٹس ### اسپیس گیم پروجیکٹس
@ -64,15 +64,15 @@ npm install
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# index.html کو براؤزر میں کھولیں یا Live Server استعمال کریں # براؤزر میں index.html کھولیں یا Live Server استعمال کریں
``` ```
### چیٹ پروجیکٹ (Python بیک اینڈ) ### چیٹ پروجیکٹ (Python Backend)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# GITHUB_TOKEN ماحول کی متغیر مقرر کریں # GITHUB_TOKEN ماحول کا متغیر سیٹ کریں
python api.py python api.py
``` ```
@ -80,203 +80,203 @@ python api.py
### مواد فراہم کرنے والوں کے لیے ### مواد فراہم کرنے والوں کے لیے
1. **ذخیرہ کو فورک کریں** اپنے GitHub اکاؤنٹ پر 1. اپنے GitHub اکاؤنٹ میں ذخیرہ کی فورک کریں
2. **اپنے فورک کو لوکل کلون کریں** 2. اپنی فورک کا کلون لوکل کریں
3. **اپنی تبدیلیوں کے لیے ایک نیا برانچ بنائیں** 3. اپنی تبدیلیوں کے لیے نئی برانچ بنائیں
4. سبق کے مواد یا کوڈ مثالوں میں تبدیلی کریں 4. سبق کے مواد یا کوڈ کی مثالوں میں تبدیلی کریں
5. متعلقہ پروجیکٹ ڈائریکٹریز میں کسی بھی کوڈ تبدیلی کی جانچ کریں 5. متعلقہ پروجیکٹ ڈائریکٹریز میں کوڈ کی تبدیلیوں کا ٹیسٹ کریں
6. تعاون کی ہدایتوں کے مطابق پل ریکویسٹ جمع کروائیں 6. تعاون کی رہنمائی کے مطابق پل ریکویسٹ جمع کروائیں
### سیکھنے والوں کے لیے ### سیکھنے والوں کے لیے
1. ذخیرہ فورک یا کلون کریں 1. ذخیرہ کو فورک یا کلون کریں
2. سبق کی ڈائریکٹریز متواتر ملاحظہ کریں 2. سبق کی ڈائریکٹریز میں تسلسل کے ساتھ جائیں
3. ہر سبق کی README فائل پڑھیں 3. ہر سبق کی README فائلز پڑھیں
4. سبق سے پہلے کی کوئزز مکمل کریں https://ff-quizzes.netlify.app/web/ 4. سبق سے پہلے کے کوئزز پورے کریں https://ff-quizzes.netlify.app/web/
5. سبق کے فولڈرز میں کوڈ مثالوں پر کام کریں 5. سبق کے فولڈرز میں کوڈ کی مثالوں پر کام کریں
6. اسائنمنٹس اور چیلنجز مکمل کریں 6. تفویضات اور چیلنجز مکمل کریں
7. سبق کے بعد کی کوئزز لیں 7. سبق کے بعد کے کوئزز لیں
### لائیو ڈیولپمنٹ ### لائیو ترقی
- **دستاویزات**: جڑ فولڈر میں `docsify serve` چلائیں (پورٹ 3000) - **دستاویزات**: روٹ میں `docsify serve` چلائیں (پورٹ 3000)
- **کوئز ایپ**: کوئز ایپ فولڈر میں `npm run dev` چلائیں - **کوئز ایپ**: `quiz-app` ڈائریکٹری میں `npm run dev` چلائیں
- **پروجیکٹس**: HTML پروجیکٹس کے لیے VS Code Live Server ایکسٹینشن استعمال کریں - **پروجیکٹس**: HTML پروجیکٹس کے لیے VS Code Live Server ایکسٹینشن استعمال کریں
- **API پروجیکٹس**: متعلقہ API ڈائریکٹریز میں `npm start` چلائیں - **API پروجیکٹس**: متعلقہ API فولڈرز میں `npm start` چلائیں
## جانچ کے ہدایات ## ٹیسٹنگ کی ہدایات
### کوئز ایپ کی جانچ ### کوئز ایپ ٹیسٹنگ
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # کوڈ اسٹائل کے مسائل کی جانچ کریں npm run lint # کوڈ کے انداز کے مسائل کی جانچ کریں
npm run build # تصدیق کریں کہ بلڈ کامیاب ہوا npm run build # تعمیری کامیابی کی تصدیق کریں
``` ```
### بنک API کی جانچ ### بینک API ٹیسٹنگ
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # کوڈ اسٹائل کے مسائل کی جانچ کریں npm run lint # کوڈ کی طرز کے مسائل کی جانچ کریں
node server.js # یقینی بنائیں کہ سرور بغیر غلطیوں کے شروع ہو رہا ہے node server.js # تصدیق کریں کہ سرور بغیر کسی غلطی کے شروع ہوتا ہے
``` ```
### عمومی جانچ کا طریقہ ### عمومی ٹیسٹنگ کا طریقہ کار
- یہ تعلیمی ذخیرہ ہے، اس میں مکمل خودکار ٹیسٹ نہیں ہیں - یہ ایک تعلیمی ذخیرہ ہے جس میں مکمل خودکار ٹیسٹ نہیں ہیں
- دستی جانچ پر توجہ مرکوز ہے: - دستی ٹیسٹنگ پر توجہ مرکوز ہے:
- کوڈ مثالیں بغیر ایررز کے چلیں - کوڈ کی مثالیں بغیر غلطی کے چلیں
- دستاویزات میں لنکس صحیح چلیں - دستاویزات میں لنکس صحیح کام کریں
- پروجیکٹ کامیابی سے تعمیر ہوں - پروجیکٹ کی تعمیر کامیابی سے مکمل ہو
- مثالیں بہترین طریقوں کی پیروی کریں - مثالیں بہترین طریقے کار کی پیروی کریں
### سبمیشن سے پہلے کی جانچ ### پیشگی جانچ پڑتال
- `npm run lint` چلائیں ان فولڈرز میں جہاں package.json موجود ہو - وہ فولڈرز جہاں package.json ہو وہاں `npm run lint` چلائیں
- مارک ڈاؤن لنکس کی درستگی کی تصدیق کریں - مارک ڈاؤن لنکس کی درستگی چیک کریں
- کوڈ مثالوں کو براؤزر یا Node.js میں ٹیسٹ کریں - کوڈ کی مثالوں کو براؤزر یا Node.js میں ٹیسٹ کریں
- ترجمے کا ڈھانچہ صحیح برقرار رکھا گیا ہو - یقینی بنائیں کہ ترجمے صحیح ساخت برقرار رکھتے ہیں
## کوڈ اسلوب کی ہدایات ## کوڈ اسٹائل کی ہدایات
### جاوا اسکرپٹ ### جاوا اسکرپٹ
- جدید ES6+ نحو استعمال کریں - جدید ES6+ نحو استعمال کریں
- پروجیکٹس میں مہیا کردہ معیاری ESLint کنفیگریشنز پر عمل کریں - پروجیکٹس میں فراہم کردہ معیاری ESLint کنفیگریشن استعمال کریں
- تعلیمی وضاحت کے لیے بامعنی متغیر اور فنکشن نام استعمال کریں - تعلیمی وضاحت کے لیے بامعنی متغیر اور فنکشن کے نام رکھیں
- سیکھنے والوں کے لیے مفاہیم کی وضاحت کے لیے تبصرے شامل کریں - مفہوم وضاحت کے لیے تبصرے شامل کریں
- جہاں مقرر ہو پر Prettier کے ذریعے فارمیٹ کریں - جہاں کنفیگر کیا گیا ہو وہاں Prettier سے فارمیٹنگ کریں
### HTML/CSS ### HTML/CSS
- معنوی HTML5 عناصر - معنوی HTML5 عناصر استعمال کریں
- جوابدہ ڈیزائن کے اصول - جامع ریسپونسیو ڈیزائن اصول
- واضح کلاس نامی کنونشنز - واضح کلاس ناموں کے اصول
- CSS تکنیک کی وضاحت کے لیے تبصرے - CSS تکنیک کی وضاحت کے لیے تبصرے
### پائتھون ### پائتھن
- PEP 8 طرز کی ہدایات - PEP 8 اسٹائل گائیڈ لائنز
- واضح، تعلیمی کوڈ مثالیں - واضح، تعلیمی کوڈ کی مثالیں
- جہاں مددگار ہو، ٹائپ ہنٹس - جہاں مددگار ہو وہاں ٹائپ ہنٹس
### مارک ڈاؤن دستاویزات ### مارک ڈاؤن دستاویزات
- واضح ہیڈنگ ہائیرارکی - واضح ہیڈنگ ہائیرارکی
- زبان کی وضاحت کے ساتھ کوڈ بلاکس - زبان کی تفصیل کے ساتھ کوڈ بلاکس
- اضافی وسائل کے لنکس - اضافی وسائل کے لنکس
- `images/` فولڈرز میں اسکرین شاٹس اور تصاویر - `images/` ڈائریکٹریز میں اسکرین شاٹس اور تصاویر
- امیجز کی رسائی کے لیے Alt ٹیکسٹ - دستیابی کے لیے تصاویر کا alt متن
### فائل آرگنائزیشن ### فائل کا انتظام
- اسباق متواتر نمبروں کے ساتھ (1-getting-started-lessons، 2-js-basics وغیرہ) - اسباق کی متواتر نمبرنگ (1-getting-started-lessons, 2-js-basics وغیرہ)
- ہر پروجیکٹ میں `solution/` اور اکثر `start/` یا `your-work/` ڈائریکٹریز - ہر پروجیکٹ میں `solution/` اور اکثر `start/` یا `your-work/` ڈائریکٹریز
- اسباق کے مخصوص `images/` فولڈرز میں تصاویر محفوظ - تصاویر سبق کی مخصوص `images/` فولڈرز میں محفوظ
- ترجمے `translations/{language-code}/` ڈھانچے میں - تراجم `translations/{language-code}/` فولڈرز میں
## تعمیر اور تعیناتی ## بلڈ اور تعیناتی
### کوئز ایپ کی تعیناتی (Azure Static Web Apps) ### کوئز ایپ تعیناتی (Azure Static Web Apps)
کوئز ایپ Azure Static Web Apps تعیناتی کے لیے مرتب ہے: کوئز ایپ Azure Static Web Apps تعیناتی کے لیے کنفیگر ہے:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # فولڈر dist/ بناتا ہے npm run build # dist/ فولڈر بناتا ہے
# مین پر پش ہونے پر GitHub Actions ورک فلو کے ذریعے تعینات کرتا ہے # مرکزی شاخ پر push کرنے پر GitHub Actions ورک فلو کے ذریعے تعینات کرتا ہے
``` ```
Azure Static Web Apps کی ترتیب: Azure Static Web Apps کی ترتیب:
- **ایپ مقام**: `/quiz-app` - **ایپ لوکیشن**: `/quiz-app`
- **آؤٹ پٹ مقام**: `dist` - **آؤٹ پٹ لوکیشن**: `dist`
- **ورک فلو**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **ورک فلو**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### دستاویزات کا PDF جنریشن ### دستاویزات PDF جنریشن
```bash ```bash
npm install # docsify-to-pdf انسٹال کریں npm install # docsify-to-pdf انسٹال کریں
npm run convert # docs سے PDF بنائیں npm run convert # docs سے PDF بنائیں
``` ```
### Docsify دستاویزات ### Docsify دستاویزات
```bash ```bash
npm install -g docsify-cli # دستاویزات کو عالمی سطح پر انسٹال کریں npm install -g docsify-cli # دستاویزات کو عالمی سطح پر انسٹال کریں
docsify serve # localhost:3000 پر خدمت دیں docsify serve # لوکل ہوسٹ:3000 پر خدمت کریں
``` ```
### پروجیکٹ مخصوص بیلڈز
ہر پروجیکٹ ڈائریکٹری کا اپنا بنایا جا سکتا عمل ہو سکتا ہے: ### پروجیکٹ مخصوص بلڈز
- Vue پروجیکٹس: `npm run build` پروڈکشن بنڈلز بناتا ہے
- سٹیٹک پروجیکٹس: کوئی بلڈ اسٹیپ نہیں، فائلیں براہ راست سرور کی جاتی ہیں
## پل ریکویسٹ کی ہدایات ہر پروجیکٹ فولڈر میں اپنا بلڈ عمل ہو سکتا ہے:
- Vue پروجیکٹس: `npm run build` پروڈکشن بنڈلز بناتا ہے
- سادہ پروجیکٹس: کوئی بلڈ مرحلہ نہیں، فائلز براہ راست فراہم کی جاتی ہیں
### عنوان کا انداز ## پل ریکویسٹ کی رہنمائی
صاف اور وضاحتی عنوانات استعمال کریں جو تبدیلی کے شعبے کی نشاندہی کریں: ### عنوان کی صورت
- `[Quiz-app] سبق X کے لیے نیا کوئز شامل کریں`
- `[Lesson-3] ٹیریریم پروجیکٹ میں ٹائپ کی اصلاح کریں` صاف اور وضاحتی عنوانات استعمال کریں جو تبدیلی کے دائرہ کو ظاہر کریں:
- `[Translation] سبق 5 کے لیے ہسپانوی ترجمہ شامل کریں` - `[Quiz-app] سبق X کے لیے نیا کوئز شامل کریں`
- `[Lesson-3] ٹیریریم پروجیکٹ میں ٹائپو درست کریں`
- `[Translation] سبق 5 کے لیے ہسپانوی ترجمہ شامل کریں`
- `[Docs] سیٹ اپ ہدایات کو اپ ڈیٹ کریں` - `[Docs] سیٹ اپ ہدایات کو اپ ڈیٹ کریں`
### ضروری چیکس ### ضروری چیکس
PR جمع کرانے سے پہلے: پل ریکویسٹ جمع کرانے سے پہلے:
1. **کوڈ کوالٹی**: 1. **کوڈ کوالٹی**:
- متعلقہ پروجیکٹ فولڈرز میں `npm run lint` چلائیں - متاثرہ پروجیکٹ فولڈرز میں `npm run lint` چلائیں
- تمام لنٹنگ کی غلطیاں اور وارننگز درست کریں - تمام لنٹنگ کی غلطیاں اور وارننگز درست کریں
2. **بیلڈ کی تصدیق**: 2. **بلڈ کی تصدیق**:
- اگر ضرورت ہو تو `npm run build` چلائیں - اگر قابل اطلاق ہو تو `npm run build` چلائیں
- یقینی بنائیں کہ کوئی بلڈ ایررز نہ ہوں - یقینی بنائیں کہ کوئی بلڈ ایرر نہ ہو
3. **لنک کی تصدیق**: 3. **لنک کی توثیق**:
- تمام مارک ڈاؤن لنکس ٹیسٹ کریں - تمام مارک ڈاؤن لنکس ٹیسٹ کریں
- تصاویر کے حوالے کی تصدیق کریں - تصاویر کے ریفرنس درست ہوں
4. **مواد کا جائزہ**: 4. **مواد کا جائزہ**:
- املا اور گرامر کی تصحیح کریں - ہجے اور گرائمر کی جانچ پڑتال کریں
- کوڈ مثالیں درست اور تعلیمی ہوں - کوڈ کی مثالیں درست اور تعلیمی ہوں
- ترجمے اصل معنی کو برقرار رکھیں - ترجمے اصل معنی کو برقرار رکھیں
### تعاون کی ضروریات ### تعاون کی شرائط
- Microsoft CLA سے اتفاق کریں (پہلی PR پر خودکار چیک) - مائیکروسافٹ CLA سے اتفاق کریں (پہلے PR پر خودکار چیک)
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) کی پیروی کریں - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) کی پیروی کریں
- مفصل ہدایات کے لیے [CONTRIBUTING.md](./CONTRIBUTING.md) دیکھیں - تفصیلی رہنما خطوط کے لیے [CONTRIBUTING.md](./CONTRIBUTING.md) دیکھیں
- PR کی وضاحت میں مسئلہ نمبرات حوالہ دیں اگر ضروری ہو - اگر قابل اطلاق ہو تو PR وضاحت میں ایشو نمبرز کا حوالہ دیں
### جائزہ کا عمل ### جائزے کا عمل
- PRs مینٹینرز اور کمیونٹی کے ذریعے جائزہ لیے جاتے ہیں - PRs دیکھ بھال کرنے والے اور کمیونٹی کی جانب سے جائزہ لیے جاتے ہیں
- تعلیمی وضاحت کو اولین ترجیح دی جاتی ہے - تعلیمی وضاحت کو ترجیح دی جاتی ہے
- کوڈ مثالیں حالیہ بہترین طریقوں کی پیروی کریں - کوڈ کی مثالیں موجودہ بہترین طریقے کار کی پیروی کریں
- ترجمے درستگی اور ثقافتی مطابقت کے لیے دیکھے جاتے ہیں - ترجمے درستگی اور ثقافتی مطابقت کے لیے جائزہ کے تابع ہیں
## ترجمے کا نظام ## ترجمہ کا نظام
### خودکار ترجمہ ### خودکار ترجمہ
- GitHub Actions کے ساتھ co-op-translator ورک فلو استعمال کرتا ہے - GitHub Actions کو co-op-translator ورک فلو کے ساتھ استعمال کرتا ہے
- 50+ زبانوں میں خودکار ترجمے - 50+ زبانوں میں خودکار طور پر ترجمہ کرتا ہے
- ماخذ فائلیں مرکزی ڈائریکٹریز میں - ماخذ فائلیں مرکزی ڈائریکٹریز میں ہیں
- ترجمہ کی گئی فائلیں `translations/{language-code}/` میں - ترجمہ شدہ فائلیں `translations/{language-code}/` ڈائریکٹریز میں
### دستی ترجمے میں بہتری شامل کرنا ### دستی ترجمہ کی بہتریاں شامل کرنا
1. `translations/{language-code}/` میں فائل تلاش کریں 1. `translations/{language-code}/` میں فائل تلاش کریں
2. ڈھانچہ برقرار رکھتے ہوئے بہتری کریں 2. ساخت برقرار رکھتے ہوئے بہتریاں کریں
3. یقینی بنائیں کہ کوڈ مثالیں فعال رہیں 3. یقینی بنائیں کہ کوڈ کی مثالیں کارآمد رہیں
4. کسی بھی مقامی کوئز مواد کی جانچ کریں 4. کسی مقامی کوئز مواد کو ٹیسٹ کریں
### ترجمے کا میٹا ڈیٹا ### ترجمہ مٹاداتا
ترجمہ شدہ فائلوں میں میٹا ڈیٹا ہیڈر شامل ہوتا ہے: ترجمہ شدہ فائلوں میں مٹاداتا ہیڈر شامل ہوتا ہے:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
} }
--> -->
``` ```
## خرابی تلاش اور مسئلہ حل کرنا ## ڈیبگنگ اور مسئلہ حل کرنا
### عام مسائل ### عام مسائل
**کوئز ایپ شروع نہیں ہوتی**: **کوئز ایپ اسٹارٹ نہیں ہوتی**:
- Node.js کا ورژن چیک کریں (v14+ کی سفارش ہے) - Node.js ورژن چیک کریں (v14+ تجویز کردہ)
- `node_modules` اور `package-lock.json` حذف کریں، پھر `npm install` چلائیں - `node_modules` اور `package-lock.json` حذف کریں، پھر `npm install` چلائیں
- پورٹ ٹکراؤ چیک کریں (ڈیفالٹ: Vite پورٹ 5173 استعمال کرتا ہے) - پورٹ تنازعہ چیک کریں (ڈیفالٹ: Vite پورٹ 5173 استعمال کرتا ہے)
**API سرور شروع نہیں ہوتا**: **API سرور اسٹارٹ نہیں ہوتا**:
- Node.js ورژن کم از کم node >=10 ہونا چاہیے - کم از کم Node.js ورژن تصدیق کریں (node >=10)
- چیک کریں کہ پورٹ پہلے سے استعمال میں نہ ہو - چیک کریں کہ پورٹ پہلے سے استعمال میں نہ ہو
- تمام dependencies `npm install` سے انسٹال ہوں - یقینی بنائیں کہ تمام dependencies نصب ہیں `npm install` کے ذریعے
**براؤزر ایکسٹینشن لوڈ نہیں ہوتی**: **براؤزر ایکسٹینشن لوڈ نہیں ہوتی**:
- manifest.json کی درست فارمیٹنگ چیک کریں - manifest.json کی درست تشکیل چیک کریں
- براؤزر کنسول میں ایرر دیکھیں - براؤزر کے کنسول میں ایررز دیکھیں
- براؤزر مخصوص ایکسٹینشن انسٹال ہدایات پر عمل کریں - براؤزر مخصوص ایکسٹینشن انسٹالیشن ہدایات پر عمل کریں
**Python چیٹ پروجیکٹ کے مسائل**: **Python چیٹ پروجیکٹ کے مسائل**:
- OpenAI پیکج انسٹال ہے: `pip install openai` - یقینی بنائیں OpenAI پیکیج نصب ہے: `pip install openai`
- GITHUB_TOKEN ماحولیاتی ویریبل سیٹ ہے - GITHUB_TOKEN ماحول کا متغیر سیٹ ہے
- GitHub Models کی رسائی کی اجازتیں چیک کریں - GitHub Models کی رسائی کی اجازت چیک کریں
**Docsify دستاویزات سرور نہیں کر رہا**: **Docsify دستاویزات فراہم نہیں کر رہا**:
- docsify-cli عالمی طور پر انسٹال کریں: `npm install -g docsify-cli` - docsify-cli گلوبلی انسٹال کریں: `npm install -g docsify-cli`
- ذخیرہ جڑ فولڈر سے چلائیں - ذخیرہ کی روٹ ڈائریکٹری سے چلائیں
- چیک کریں کہ `docs/_sidebar.md` موجود ہو - چیک کریں کہ `docs/_sidebar.md` موجود ہے
### ترقیاتی ماحول کی تجاویز ### ترقیاتی ماحول کی تجاویز
- HTML پروجیکٹس کے لیے VS Code Live Server ایکسٹینشن استعمال کریں - HTML پروجیکٹس کے لیے VS Code Live Server ایکسٹینشن استعمال کریں
- مستقل فارمیٹنگ کے لیے ESLint اور Prettier ایکسٹینشن انسٹال کریں - مستقل فارمیٹنگ کے لیے ESLint اور Prettier ایکسٹینشن انسٹال کریں
- جاوا اسکرپٹ کی خرابی تلاش کے لیے براؤزر ڈیولپر ٹولز استعمال کریں - JavaScript کی ڈیبگنگ کے لیے براؤزر DevTools استعمال کریں
- Vue پروجیکٹس کے لیے Vue DevTools براؤزر ایکسٹینشن انسٹال کریں - Vue پروجیکٹس کے لیے Vue DevTools براؤزر ایکسٹینشن انسٹال کریں
### کارکردگی کے امور ### کارکردگی کے پہلو
- ترجمہ شدہ فائلوں کی بڑی تعداد (50+ زبانیں) کی وجہ سے پورے کلون بڑے ہوتے ہیں - بڑی تعداد میں ترجمہ شدہ فائلیں (50+ زبانیں) مکمل کلون کو بڑا بناتی ہیں
- صرف مواد پر کام کرنے کے لیے shallow clone کریں: `git clone --depth 1` - صرف مواد پر کام کے لیے shallow clone استعمال کریں: `git clone --depth 1`
- انگریزی مواد پر کام کرتے ہوئے ترجموں کو سرچ سے خارج کریں - انگریزی مواد پر کام کرتے وقت سرچ سے تراجم کو خارج کریں
- پہلی بار رن پر بلڈ عمل (npm install، Vite build) سست ہو سکتا ہے - بلڈ عمل پہلے رن پر سست ہو سکتا ہے (npm install, Vite build)
## سیکورٹی کے مسائل ## سیکیورٹی کے پہلو
### ماحولیاتی ویریبلز ### ماحول کے متغیرات
- API کیز کبھی بھی ذخیرہ میں جمع نہ کریں - API کیز کو ذخیرہ میں کبھی جمع نہ کریں
- `.env` فائلیں استعمال کریں (جو پہلے ہی `.gitignore` میں شامل ہیں) - `.env` فائلز استعمال کریں (جو پہلے سے `.gitignore` میں ہیں)
- ضروری ماحولیاتی ویریبلز کو README میں دستاویز کریں - درکار ماحول کے متغیرات کو پروجیکٹ کی README میں دستاویز کریں
### پائتھون پروجیکٹس ### Python پروجیکٹس
- ورچوئل اینوائرنمنٹ استعمال کریں: `python -m venv venv` - ورچوئل ماحول استعمال کریں: `python -m venv venv`
- dependencies کو اپ ٹو ڈیٹ رکھیں - dependencies کو اپ ٹو ڈیٹ رکھیں
- GitHub ٹوکنز کو کم از کم ضروری اجازتیں دیں - GitHub ٹوکنز کو کم سے کم درکار اجازتوں کے ساتھ رکھیں
### GitHub Models تک رسائی ### GitHub Models کی رسائی
- GitHub Models کے لیے Personal Access Tokens (PAT) ضروری ہیں - GitHub Models کے لیے ذاتی رسائی کے ٹوکن (PAT) ضروری ہیں
- ٹوکنز ماحولیاتی ویریبلز کی طرح محفوظ رکھیں - ٹوکنز کو ماحول کے متغیرات کے طور پر محفوظ کریں
- ٹوکنز یا اسناد کبھی ذخیرہ میں جمع نہ کریں - ٹوکنز یا اسناد کو کبھی جمع نہ کریں
## اضافی نوٹس ## اضافی نوٹ
### ہدف سامعین ### ہدف سامعین
- ویب ڈویلپمنٹ کے مکمل ابتدائی - ویب ڈیولپمنٹ کے مکمل مبتدی
- طلباء اور خود سیکھنے والے - طلباء اور خود آموز
- معلمین جو نصاب کلاس روم میں استعمال کرتے ہیں - اساتذہ جو کلاس رومز میں نصاب استعمال کرتے ہیں
- مواد قابل رسائی اور تدریجی مہارت سازی کے لیے ڈیزائن کیا گیا ہے - مواد کو رسائی اور تدریجی مہارت سازی کے لیے ڈیزائن کیا گیا ہے
### تعلیمی فلسفہ ### تعلیمی فلسفہ
- پروجیکٹ پر مبنی سیکھنے کا طریقہ - پروجیکٹ پر مبنی تعلیمی طریقہ
- بار بار معلومات کی جانچ (کوئزز) - بار بار علمی جانچ (کوئزز)
- عملی کوڈنگ مشقیں - عملی کوڈنگ مشقیں
- حقیقی دنیا کی درخواست کی مثالیں - حقیقی دنیا کی ایپلیکیشن کی مثالیں
- فریم ورکس سے پہلے بنیادی باتوں پر توجہ - فریم ورکس سے پہلے بنیادی اصولوں پر توجہ
### ذخیرہ کا نگہداشت ### ذخیرہ کا انتظام
- سیکھنے والوں اور تعاون کاروں کی فعال کمیونٹی - سیکھنے والوں اور تعاون کرنے والوں کی فعال کمیونٹی
- dependencies اور مواد کی باقاعدہ اپ ڈیٹس - dependencies اور مواد کی باقاعدہ اپ ڈیٹس
- مسائل اور مباحثے مینٹینرز کے زیر نگرانی - دیکھ بھال کرنے والوں کی جانب سے مسائل اور مباحثے کی نگرانی
- ترجمے کی تازہ کاری خودکار طور پر GitHub Actions کے ذریعہ - GitHub Actions کے ذریعے ترجمہ کی خودکار اپ ڈیٹس
### متعلقہ وسائل ### متعلقہ وسائل
- [Microsoft Learn modules](https://docs.microsoft.com/learn/) - [Microsoft Learn ماڈیولز](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) - [Student Hub کے وسائل](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) جو سیکھنے والوں کے لیے تجویز کردہ ہے - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) سیکھنے والوں کے لیے تجویز کردہ
- اضافی کورسز: جنریٹو AI، ڈیٹا سائنس، ML، IoT نصاب دستیاب ہیں - اضافی کورسز: جنریٹو AI، ڈیٹا سائنس، ML، IoT نصاب دستیاب
### مخصوص پروجیکٹس کے ساتھ کام ### مخصوص پروجیکٹس کے ساتھ کام کرنا
انفرادی پروجیکٹس کی تفصیلی ہدایات کے لیے، README فائلیں دیکھیں: انفرادی پروجیکٹس کی تفصیلی ہدایات کے لیے درج ذیل README فائلز دیکھیں:
- `quiz-app/README.md` - Vue 3 کوئز ایپلیکیشن - `quiz-app/README.md` - Vue 3 کوئز ایپلیکیشن
- `7-bank-project/README.md` - توثیق کے ساتھ بنکنگ ایپلیکیشن - `7-bank-project/README.md` - بینکنگ ایپلیکیشن کے ساتھ توثیق
- `5-browser-extension/README.md` - براؤزر ایکسٹینشن ڈیولپمنٹ - `5-browser-extension/README.md` - براؤزر ایکسٹینشن ڈیولپمنٹ
- `6-space-game/README.md` - کینوس پر مبنی گیم ڈیولپمنٹ - `6-space-game/README.md` - کینوس پر مبنی گیم کی تیاری
- `9-chat-project/README.md` - AI چیٹ اسسٹنٹ پروجیکٹ - `9-chat-project/README.md` - AI چیٹ اسسٹنٹ پروجیکٹ
### مونو ریپو ڈھانچہ ### منوریپو ساخت
روایتی مونو ریپو تو نہیں، لیکن اس ذخیرے میں متعدد آزاد پروجیکٹس شامل ہیں: اگرچہ یہ روایتی monorepo نہیں ہے، مگر اس ذخیرے میں متعدد آزاد پروجیکٹس شامل ہیں:
- ہر سبق خود مختار ہے - ہر سبق خود سے مکمل ہے
- پروجیکٹس کی dependencies مشترک نہیں ہیں - پروجیکٹس ایک دوسرے کی dependencies شیئر نہیں کرتے
- ایک دوسرے کو متاثر کیے بغیر انفرادی پروجیکٹس پر کام کریں - ایک ساتھ دوسرے پروجیکٹس کو متاثر کیے بغیر الگ الگ کام کریں
- مکمل نصاب کے لیے پورے ذخیرے کو کلون کریں - پورے نصاب کے تجربے کے لیے مکمل ذخیرہ کلون کریں
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ڈس کلیمر**: **دھرنا**:
یہ دستاویز AI ترجمہ خدمت [Co-op Translator](https://github.com/Azure/co-op-translator) استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ اگرچہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم آگاہ رہیں کہ خودکار تراجم میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنی مادری زبان میں مستند ماخذ سمجھی جانی چاہیے۔ اہم معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تعبیر کے ذمہ دار نہیں ہیں۔ یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کے ذریعے ترجمہ کی گئی ہے۔ اگرچه ہم درستگی کے لیے کوشاں ہیں، براہ کرم نوٹ کریں کہ خودکار ترجموں میں غلطیاں یا عدم درستگیاں ہو سکتی ہیں۔ اصل دستاویز اپنی مادری زبان میں ہی مستند ماخذ سمجھی جانی چاہیے۔ اہم معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم پر نہیں ہوگی۔
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T19:00:10+00:00", "translation_date": "2026-04-20T16:01:28+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "zh-CN" "language_code": "zh-CN"
}, },

@ -2,53 +2,53 @@
## 项目概述 ## 项目概述
这是一个面向初学者教授网页开发基础的教学课程代码库。该课程由微软云推广者开发是一个为期12周的综合课程包括24个涵盖JavaScript、CSS和HTML的实践课程。 这是一个面向初学者教授网页开发基础知识的教育课程仓库。该课程是一门由微软云宣传人员开发的为期12周的综合课程包含24个涵盖JavaScript、CSS和HTML的实践课程。
### 主要组成部分 ### 关键组成部分
- <strong>教学内容</strong>24节结构化课程,组织成基于项目的模块 - <strong>教学内容</strong>24个结构化课程,按项目模块组织
- <strong>项目</strong>生态瓶、打字游戏、浏览器扩展、太空游戏、银行应用、代码编辑器和AI聊天助手 - <strong>项目</strong>生态瓶、打字游戏、浏览器扩展、太空游戏、银行应用、代码编辑器和AI聊天助手
- <strong>互动测验</strong>48个测验每个包含3个问题课前/课后评估) - <strong>互动测验</strong>48个测验每个包含3个问题课前/课后评估)
- <strong>多语言支持</strong>通过GitHub Actions自动翻译50多种语言 - <strong>多语言支持</strong>通过GitHub Actions自动翻译50多种语言
- <strong>技术栈</strong>HTML、CSS、JavaScript、Vue.js 3、Vite、Node.js、Express、Python用于AI项目 - <strong>技术栈</strong>HTML、CSS、JavaScript、Vue.js 3、Vite、Node.js、Express、Python用于AI项目
### 架构 ### 架构
- 基于课程结构的教育代码库 - 教育仓库,基于课程结构
- 每文件夹包含README、代码示例和解决方案 - 每课文件夹包含README、代码示例和解决方案
- 独立项目放在单独目录quiz-app各个课程项目) - 独立项目位于单独目录quiz-app、各种课程项目)
- 使用GitHub Actionsco-op-translator进行翻译系统 - 使用GitHub Actionsco-op-translator实现翻译系统
- 文档通过Docsify服务并提供PDF版本 - 文档通过Docsify提供,并可导出为PDF
## 安装命令 ## 设置命令
该代码库主要用于学习内容浏览。若要使用特定项目: 此仓库主要用于教学内容的使用。若需使用具体项目:
### 主代码库设置 ### 主库设置
```bash ```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners cd Web-Dev-For-Beginners
``` ```
### Quiz App 设置Vue 3 + Vite ### 测验应用设置Vue 3 + Vite
```bash ```bash
cd quiz-app cd quiz-app
npm install npm install
npm run dev # 启动开发服务器 npm run dev # 启动开发服务器
npm run build # 生成生产版本 npm run build # 构建生产版本
npm run lint # 运行 ESLint npm run lint # 运行 ESLint
``` ```
### 银行项目APINode.js + Express ### 银行项目 APINode.js + Express
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm install npm install
npm start # 启动API服务器 npm start # 启动 API 服务器
npm run lint # 运行ESLint npm run lint # 运行 ESLint
npm run format # 使用Prettier格式化 npm run format # 使用 Prettier 格式化
``` ```
### 浏览器扩展项目 ### 浏览器扩展项目
@ -56,7 +56,7 @@ npm run format # 使用Prettier格式化
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# 遵循特定浏览器的扩展加载说明 # 遵循浏览器特定的扩展加载说明
``` ```
### 太空游戏项目 ### 太空游戏项目
@ -64,10 +64,10 @@ npm install
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# 在浏览器中打开 index.html 或使用 Live Server # 在浏览器中打开 index.html 或使用实时服务器
``` ```
### 聊天项目Python后端 ### 聊天项目Python 后端)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
@ -76,42 +76,42 @@ pip install openai
python api.py python api.py
``` ```
## 开发工作流 ## 开发工作流
### 内容贡献者指南 ### 内容贡献者
1. <strong>Fork代码</strong>到你的GitHub账号 1. <strong>Fork</strong>到你的GitHub账号
2. <strong>克隆你的fork</strong>到本地 2. **克隆你的 Fork** 到本地
3. <strong>创建新分支</strong>进行修改 3. <strong>创建新分支</strong> 用于改动
4. 修改课程内容或代码示例 4. 修改课程内容或代码示例
5. 在相关项目目录测试代码 5. 在相关项目目录测试代码改
6. 按贡献指南提交拉取请求 6. 按贡献指南提交拉取请求
### 学习者指引 ### 学习者
1. Fork或克隆代码 1. Fork 或克隆仓
2. 按顺序进入课程目录 2. 按顺序进入课程目录
3. 阅读每课的README文件 3. 阅读每课的README文件
4. 在 https://ff-quizzes.netlify.app/web/ 完成课前测验 4. 在 https://ff-quizzes.netlify.app/web/ 完成课前测验
5. 通过代码示例学习各课程内容 5. 按课程学习代码示例
6. 完成作业和挑战 6. 完成作业和挑战
7. 参课后测验 7. 参课后测验
### 实时开发 ### 实时开发
- <strong>文档</strong>:在根目录运行 `docsify serve`端口3000 - <strong>文档</strong>:在根目录运行 `docsify serve` 端口3000
- **Quiz App**:在 quiz-app 目录运行 `npm run dev` - <strong>测验应用</strong>在quiz-app目录运行 `npm run dev`
- <strong>项目</strong>使用VS Code Live Server扩展运行HTML项目 - <strong>项目</strong>使用VS Code Live Server扩展打开HTML项目
- **API项目**在各API目录运行 `npm start` - **API项目**分别在对应API目录运行 `npm start`
## 测试说明 ## 测试指南
### Quiz App 测试 ### 测验应用测试
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # 检查代码风格问题 npm run lint # 检查代码风格问题
npm run build # 验证构建成功 npm run build # 验证构建是否成功
``` ```
### 银行API测试 ### 银行API测试
@ -122,73 +122,73 @@ npm run lint # 检查代码风格问题
node server.js # 验证服务器启动无错误 node server.js # 验证服务器启动无错误
``` ```
### 一般测试方法 ### 测试总体方法
- 这是教育代码库,没有完整自动化测试 - 这是一个没有完整自动测试的教学仓库
- 手动测试点: - 手动测试关注点:
- 代码示例无错误运行 - 代码示例无错误运行
- 文档链接正常 - 文档中的链接正常
- 项目可成功构建 - 项目构建成功完成
- 示例遵循最佳实践 - 示例符合最佳实践
### 提交前检查 ### 提交前检查
- 在有 package.json 的目录运行 `npm run lint` - 在含package.json的目录运行 `npm run lint`
- 验证markdown链接有效 - 验证Markdown链接有效
- 在浏览器或Node.js中测试代码示例 - 在浏览器或Node.js中测试代码示例
- 确认翻译保留正确结构 - 检查翻译结构是否正确保持
## 代码风格指南 ## 代码风格指南
### JavaScript ### JavaScript
- 使用现代ES6+语法 - 使用现代ES6+语法
- 遵循项目中提供的ESLint标准配置 - 遵循项目中的标准ESLint配置
- 使用有意义的变量和函数名,便于教学理解 - 使用有意义的变量和函数名,便于教学理解
- 添加注释解释概念 - 添加注释解释概念
- 在配置Prettier的地方格式化代码 - 配置Prettier进行代码格式化
### HTML/CSS ### HTML/CSS
- 使用语义化HTML5元素 - 语义化HTML5元素
- 采用响应式设计原则 - 响应式设计原则
- 规范的类命名 - 清晰的类命名规范
- 注释CSS技术以便教学 - 注释说明CSS技术点
### Python ### Python
- 遵循PEP 8风格指南 - 遵循PEP 8规范
- 清晰、教学友好的代码示例 - 清晰的教学示例代码
- 在有助于学习的地方使用类型提示 - 适当添加类型提示,便于学习
### Markdown文档 ### Markdown文档
- 清晰的标题层级结构 - 明确的标题层级结构
- 指定语言的代码块 - 代码块标明语言
- 额外资源链接 - 资源链接
- 放在 `images/` 目录内的截图和图片 - 在`images/`目录下存放截图和图片
- 图片的替代文本,方便无障碍访问 - 图片含有Alt文本,方便无障碍访问
### 文件组织 ### 文件组织
- 课程编号有序,例如 1-getting-started-lessons2-js-basics 等 - 课程按顺序编号1-getting-started-lessons、2-js-basics等
- 每个项目含有 `solution/` 文件夹,通常还有 `start/``your-work/` - 每个项目包含`solution/`,通常还有`start/`或`your-work/`目录
- 图片存储在课程对应的 `images/` 文件夹 - 图片存放在对应课程的`images/`文件夹
- 翻译文件存放于 `translations/{language-code}/` 结构 - 翻译文件在`translations/{language-code}/`结构下
## 构建与部署 ## 构建与部署
### Quiz App 部署Azure Static Web Apps ### 测验应用部署Azure Static Web Apps
quiz-app 已配置为部署到 Azure Static Web Apps quiz-app配置为Azure静态网页应用部署
```bash ```bash
cd quiz-app cd quiz-app
npm run build # 创建 dist/ 文件夹 npm run build # 创建 dist/ 文件夹
# 在推送到 main 时通过 GitHub Actions 工作流进行部署 # 在 push 到 main 时通过 GitHub Actions 工作流部署
``` ```
Azure Static Web Apps 配置: Azure静态网页应用配置:
- <strong>应用位置</strong>`/quiz-app` - <strong>应用位置</strong>`/quiz-app`
- <strong>输出位置</strong>`dist` - <strong>输出位置</strong>`dist`
- <strong>工作流</strong>`.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - <strong>工作流</strong>`.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
@ -200,78 +200,78 @@ npm install # 安装 docsify-to-pdf
npm run convert # 从 docs 生成 PDF npm run convert # 从 docs 生成 PDF
``` ```
### Docsify 文档 ### Docsify文档
```bash ```bash
npm install -g docsify-cli # 全局安装 Docsify npm install -g docsify-cli # 全局安装 Docsify
docsify serve # 在 localhost:3000 上提供服务 docsify serve # 在 localhost:3000 上启动服务
``` ```
### 各项目特定构建 ### 项目专属构建
每个项目目录可能有自己的构建流程: 项目目录可能有自己的构建流程:
- Vue项目运行 `npm run build` 生成生产包 - Vue项目运行`npm run build`生成生产包
- 静态项目:无构建步骤,直接提供文件 - 静态项目:无构建步骤,直接提供文件
## 拉取请求指南 ## 拉取请求指南
### 标题格式 ### 标题格式
使用清晰且描述性标题说明修改区域 使用清晰、描述性的标题,说明改动内容
- `[Quiz-app] 新增第X课测验` - `[Quiz-app] 新增第X课测验`
- `[Lesson-3] 修正生态瓶项目中的拼写错误` - `[Lesson-3] 修复生态瓶项目拼写错误`
- `[Translation] 添加第5课西班牙语翻译` - `[Translation] 为第5课添加西班牙语翻译`
- `[Docs] 更新安装说明` - `[Docs] 更新设置说明`
### 必须检查项 ### 必需检查
提交PR前 提交PR前
1. <strong>代码质量</strong> 1. <strong>代码质量</strong>
- 在相关项目目录运行 `npm run lint` - 在相关项目目录运行 `npm run lint`
- 解决所有lint错误和警告 - 修复所有lint错误和警告
2. <strong>构建验证</strong> 2. <strong>构建验证</strong>
- 若适用,运行 `npm run build` - 如适用,运行`npm run build`
- 确保无构建错误 - 确保无构建错误
3. <strong>链接有效性</strong> 3. <strong>链接验证</strong>
- 测试所有markdown链接 - 测试所有Markdown链接
- 确认图片引用正常 - 确认图片引用正常
4. <strong>内容审查</strong> 4. <strong>内容校对</strong>
- 校对拼写和语法 - 拼写和语法检查
- 确认代码示例正确且适合教学 - 确保代码示例正确且有教学价值
- 确认翻译保持原意 - 翻译准确保持原意
### 贡献要求 ### 贡献要求
- 同意微软CLA首次PR自动检查 - 同意微软CLA首次PR自动检查
- 遵守[微软开源行为准则](https://opensource.microsoft.com/codeofconduct/) - 遵守[微软开源行为准则](https://opensource.microsoft.com/codeofconduct/)
- 详规见 [CONTRIBUTING.md](./CONTRIBUTING.md) - 请参阅[CONTRIBUTING.md](./CONTRIBUTING.md)了解详细指南
- 若PR描述中引用issue编号 - 若相关请在PR描述中注明issue编号
### 审核流程 ### 审核流程
- 由维护者和社区审核PR - PR由维护者和社区审核
- 优先保证教清晰度 - 优先保证教清晰度
- 代码示例应遵循最新最佳实践 - 代码示例应遵循当前最佳实践
- 翻译需审校准确且文化适配 - 翻译要求准确且文化适应
## 翻译系统 ## 翻译系统
### 自动翻译 ### 自动翻译
- 使用GitHub Actionsco-op-translator工作流 - 使用GitHub Actionsco-op-translator工作流
- 自动翻译50多种语言 - 自动翻译50多种语言
- 源文件保存在主目录 - 源文件位于主目录
- 翻译文件`translations/{language-code}/` 目录 - 翻译文件存放于`translations/{language-code}/`目录
### 添加人工翻译改进 ### 手动改进翻译
1. 定位到 `translations/{language-code}/` 文件 1. 在`translations/{language-code}/`找到文件
2. 在保留结构的前提下进行改进 2. 保持结构下做改进
3. 确保代码示例然可用 3. 确保代码示例然可用
4. 测试本地化测验内容 4. 测试本地化测验内容
### 翻译元数据 ### 翻译元数据
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## 调试与故障排除 ## 调试与排错
### 常见问题 ### 常见问题
**Quiz app 启动失败** <strong>测验应用启动失败</strong>
- 检查Node.js版本建议v14+ - 检查Node.js版本建议v14+
- 删除 `node_modules` `package-lock.json`,重新运行 `npm install` - 删除`node_modules`和`package-lock.json`,重新运行`npm install`
- 检查端口冲突默认Vite使用5173端口 - 检查端口冲突默认Vite使用5173端口
**API服务器无法启动** **API服务器无法启动**
- 确认Node.js版本符合最低要求node >=10 - 验证Node.js版本node >=10
- 检查端口是否被占用 - 检查端口是否被占用
- 确保运行了 `npm install` 安装所有依赖 - 确认所有依赖已安装`npm install`
<strong>浏览器扩展加载失败</strong> <strong>浏览器扩展无法加载</strong>
- 验证 manifest.json 格式正确 - 确认manifest.json格式正确
- 查浏览器控制台是否有错误 - 查浏览器控制台错误
- 参考浏览器特定扩展安装说明 - 按浏览器扩展安装说明操作
**Python聊天项目问题** **Python聊天项目问题**
- 确已安装OpenAI包`pip install openai` - 确已安装OpenAI包`pip install openai`
- 确认已设置 GITHUB_TOKEN 环境变量 - 确认GITHUB_TOKEN环境变量已设置
- 检查GitHub Models访问权限 - 检查GitHub模型访问权限
**Docsify不提供文档服务** **Docsify未提供文档**
- 全局安装 docsify-cli`npm install -g docsify-cli` - 全局安装docsify-cli`npm install -g docsify-cli`
- 仓库根目录运行 - 仓库根目录运行
- 确认 `docs/_sidebar.md` 文件存在 - 检查`docs/_sidebar.md`是否存在
### 开发环境建议 ### 开发环境提示
- 使用带有Live Server扩展的VS Code处理HTML项目 - HTML项目推荐使用VS Code Live Server扩展
- 安装ESLint和Prettier扩展实现统一格式 - 安装ESLint和Prettier扩展保持格式一致
- 使用浏览器开发工具调试JavaScript - 利用浏览器开发者工具调试JavaScript
- Vue项目安装Vue DevTools浏览器扩展 - Vue项目安装Vue DevTools浏览器扩展
### 性能考虑 ### 性能考虑
- 有大量翻译文件50+语言),完整克隆体积较 - 多语言翻译文件众多50+语言)导致完整克隆体积
- 如只修改内容,建议使用浅克隆:`git clone --depth 1` - 仅工作内容时可使用浅克隆:`git clone --depth 1`
- 处理英语内容时排除翻译文件搜索 - 编辑英文内容时排除翻译文件搜索
- 构建流程首次运行可能较慢npm安装、Vite构建 - 初次运行构建过程较慢npm installVite构建
## 安全注意事项 ## 安全考虑
### 环境变量 ### 环境变量
- API密钥绝不可提交到仓库 - API密钥绝不可提交到仓库
- 使用 `.env` 文件(已列入 `.gitignore` - 使用`.env`文件(已包含在`.gitignore`中
- 项目README中说明必要的环境变量 - 在项目README中注明所需环境变量
### Python项目 ### Python项目
- 使用虚拟环境:`python -m venv venv` - 使用虚拟环境:`python -m venv venv`
- 保持依赖更新 - 保持依赖更新
- GitHub令牌需最低权限原则 - GitHub令牌应仅授予必要权限
### GitHub Models访问 ### GitHub模型访问权限
- 需要个人访问令牌PAT - 访问GitHub模型需要个人访问令牌PAT
- 令牌存为环境变量 - 令牌存为环境变量
- 切勿提交令牌或凭据 - 严禁提交令牌或凭据
## 其他说明 ## 其他说明
### 目标群体 ### 目标受众
- 完全初学者的网页开发学 - 完全的网页开发学者
- 学生和自学者 - 学生和自学者
- 在课堂上使用该课程的教师 - 教室中使用该课程的教师
- 内容注重无障碍性和循序渐进技能建设 - 内容设计注重无障碍和渐进技能培养
### 教学理念 ### 教学理念
- 基于项目的学习方法 - 基于项目的学习方法
- 频繁的知识检测(测验) - 频繁的知识检测(测验)
- 实编码练习 - 实编码练习
- 真实应用案例示范 - 真实应用示例
- 先掌握基础再学框架 - 先掌握基础再学框架
### 代码库维护 ### 库维护
- 活跃的学习者和贡献者社区 - 活跃的学习者和贡献者社区
- 定期更新依赖和课程内容 - 定期更新依赖和内容
- 维护者监控issue和讨论 - 维护者监控问题和讨论
- 通过GitHub Actions自动更新翻译 - 翻译更新自动化通过GitHub Actions
### 相关资源 ### 相关资源
- [微软Learn学习模块](https://docs.microsoft.com/learn/) - [Microsoft Learn模块](https://docs.microsoft.com/learn/)
- [学生中心资源](https://docs.microsoft.com/learn/student-hub/) - [学生中心资源](https://docs.microsoft.com/learn/student-hub/)
- 推荐学习者使用 [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - 推荐学习者使用[GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
- 其他课程生成式AI、数据科学、机器学习、物联网课程 - 额外课程生成式AI、数据科学、机器学习、物联网课程
### 具体项目使用 ### 使用具体项目
查看各项目 README 获取详细说明 详见各项目README文件
- `quiz-app/README.md` - Vue 3测验应用 - `quiz-app/README.md` - Vue 3测验应用
- `7-bank-project/README.md` - 带身份验证的银行应用 - `7-bank-project/README.md` - 带证的银行应用
- `5-browser-extension/README.md` - 浏览器扩展开发 - `5-browser-extension/README.md` - 浏览器扩展开发
- `6-space-game/README.md` - 基于Canvas的游戏开发 - `6-space-game/README.md` - 基于Canvas的游戏开发
- `9-chat-project/README.md` - AI聊天助手项目 - `9-chat-project/README.md` - AI聊天助手项目
### Monorepo结构 ### Monorepo结构
然不是传统monorepo该代码库包含多个独立项目: 非传统monorepo但此仓库包含多个独立项目:
- 每节课内容独立完整 - 每课内容自成体系
- 项目不共享依赖 - 项目不共享依赖
- 可独开发各个项目互不影响 - 可独开发项目互不影响
- 克隆整个代码库体验完整课程内容 - 克隆整个仓库获得完整课程体验
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免责声明** **免责声明**
本文件使用 AI 翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻译而成。虽然我们力求准确,但请注意自动翻译可能包含错误或不准确之处。原始语言的原始文件应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用本翻译而引起的任何误解或误释承担责任。 本文件 AI 翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。虽然我们力求准确,但请注意自动翻译可能包含错误或不准确之处。原文的母语版本应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用本翻译而产生的任何误解或误释承担责任。
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save