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

pull/1774/head
localizeflow[bot] 2 weeks ago
parent 62372a19c0
commit 0b6b7a0605

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T16:14:33+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T22:05:42+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "fa"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:28:31+00:00",
"translation_date": "2026-03-27T22:13:41+00:00",
"source_file": "AGENTS.md",
"language_code": "fa"
},

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

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T16:21:37+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T22:09:45+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "ur"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:29:46+00:00",
"translation_date": "2026-03-27T22:14:49+00:00",
"source_file": "AGENTS.md",
"language_code": "ur"
},

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

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T16:27:11+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T22:12:34+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "zh-CN"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:30:45+00:00",
"translation_date": "2026-03-27T22:15:37+00:00",
"source_file": "AGENTS.md",
"language_code": "zh-CN"
},

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