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

pull/1690/head
localizeflow[bot] 4 weeks ago
parent 605db111a9
commit 8afac74921

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T07:32:53+00:00",
"translation_date": "2026-02-06T10:59:39+00:00",
"source_file": "AGENTS.md",
"language_code": "ar"
},

@ -2,27 +2,27 @@
## نظرة عامة على المشروع
هذا مستودع منهج تعليمي لتدريس أساسيات تطوير الويب للمبتدئين. المنهج هو دورة شاملة لمدة 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، ويحتوي على 24 درسًا عمليًا تغطي JavaScript وCSS وHTML.
هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، تحتوي على 24 درسًا عمليًا تغطي JavaScript وCSS وHTML.
### المكونات الرئيسية
- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات قائمة على المشاريع
- **مشاريع عملية**: Terrarium، لعبة الطباعة، امتداد المتصفح، لعبة الفضاء، تطبيق مصرفي، محرر كود، ومساعد دردشة بالذكاء الاصطناعي
- **اختبارات تفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييم قبل وبعد الدرس)
- **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة باستخدام GitHub Actions
- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، بايثون (لمشاريع الذكاء الاصطناعي)
- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات قائمة على المشاريع
- **المشاريع العملية**: Terrarium، لعبة الطباعة، امتداد المتصفح، لعبة الفضاء، تطبيق البنك، محرر الأكواد، ومساعد الدردشة المدعوم بالذكاء الاصطناعي
- **الاختبارات التفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييمات قبل وبعد الدرس)
- **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة عبر GitHub Actions
- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (لمشاريع الذكاء الاصطناعي)
### الهيكلية
- مستودع تعليمي به هيكل قائم على الدروس
- يحتوي مجلد كل درس على ملف README، أمثلة أكواد، وحلول
- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع الدروس المختلفة)
- نظام ترجمة باستخدام GitHub Actions (co-op-translator)
- توثيق مقدم عبر Docsify ومتوافر كملف PDF
- مستودع تعليمي به بنية قائمة على الدروس
- كل مجلد درس يحتوي على README وأمثلة الكود والحلول
- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع دروس متنوعة)
- نظام الترجمة باستخدام GitHub Actions (co-op-translator)
- الوثائق متوفرة عبر 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)
### واجهة برمجة تطبيقات مشروع البنك (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,7 +51,7 @@ npm run lint # تشغيل ESLint
npm run format # التنسيق باستخدام Prettier
```
### مشاريع امتدادات المتصفح
### مشاريع امتداد المتصفح
```bash
cd 5-browser-extension/solution
@ -67,7 +67,7 @@ npm install
# افتح index.html في المتصفح أو استخدم الخادم المباشر
```
### مشروع الدردشة (بايثون Backend)
### مشروع الدردشة (باك إند بايثون)
```bash
cd 9-chat-project/solution/backend/python
@ -78,40 +78,40 @@ 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)
- **تطبيق الاختبار**: شغّل `npm run dev` في مجلد quiz-app
- **المشاريع**: استخدم امتداد VS Code Live Server لمشاريع HTML
- **مشاريع API**: شغّل `npm start` في مجلدات API المعنية
- **الوثائق**: شغّل `docsify serve` من الجذر (المنفذ 3000)
- **تطبيق الاختبارات**: شغّل `npm run dev` في مجلد quiz-app
- **المشاريع**: استخدم امتداد VS Code Live Server لمشاريع HTML
- **مشاريع API**: شغّل `npm start` في مجلدات مشاريع API المعنية
## تعليمات الاختبار
### اختبار تطبيق الاختبار
### اختبار تطبيق الاختبارات
```bash
cd quiz-app
npm run lint # تحقق من مشاكل نمط الشفرة
npm run build # تحقق من نجاح البناء
npm run lint # التحقق من مشاكل نمط الكود
npm run build # التحقق من نجاح البناء
```
### اختبار API البنك
@ -119,164 +119,164 @@ npm run build # تحقق من نجاح البناء
```bash
cd 7-bank-project/api
npm run lint # التحقق من مشكلات نمط الكود
node server.js # تحقق من بدء الخادم بدون أخطاء
node server.js # التأكد من أن الخادم يبدأ بدون أخطاء
```
### منهجية الاختبار العامة
### نهج الاختبار العام
- هذا مستودع تعليمي بدون اختبارات آلية شاملة
- يركز الاختبار اليدوي على:
- تشغيل أمثلة الأكواد بدون أخطاء
- عمل الروابط في التوثيق بشكل صحيح
- إتمام بناء المشاريع بنجاح
- اتباع الأمثلة لأفضل الممارسات
- هذا مستودع تعليمي بدون اختبارات آلية شاملة
- يركز الاختبار اليدوي على:
- تشغيل أمثلة الأكواد بدون أخطاء
- عمل الروابط في التوثيق بشكل صحيح
- نجاح بناء المشاريع
- اتباع أمثلة الأكواد لأفضل الممارسات
### فحوصات قبل التقديم
### فحوصات قبل الإرسال
- شغّل `npm run lint` في المجلدات التي تحتوي package.json
- تحقق من صلاحية روابط الماركداون
- اختبر أمثلة الأكواد في المتصفح أو Node.js
- تحقق من أن الترجمات تحافظ على الهيكل الصحيح
- شغّل `npm run lint` في المجلدات التي تحتوي على package.json
- تحقق من صحة روابط الماركداون
- اختبر أمثلة الأكواد في المتصفح أو Node.js
- تحقق من أن الترجمات تحافظ على البنية الصحيحة
## إرشادات أسلوب كتابة الكود
## إرشادات نمط الكود
### جافا سكريبت
### جافاسكريبت
- استخدم صيغة ES6+ الحديثة
- اتبع إعدادات ESLint القياسية المقدمة في المشاريع
- استخدم أسماء متغيرات ودوال ذات معنى لغرض تعليمي واضح
- أضف تعليقات تشرح المفاهيم للمتعلمين
- نسق باستخدام Prettier حيثما تم تكوينه
- استخدم تركيب ES6+ الحديث
- اتبع إعدادات ESLint القياسية المقدمة في المشاريع
- استخدم أسماء متغيرات ودوال ذات مغزى للوضوح التعليمي
- أضف تعليقات تشرح المفاهيم للمتعلمين
- نسق الأكواد باستخدام Prettier حيثما تم تهيئته
### HTML/CSS
- عناصر HTML5 الدلالية
- مبادئ التصميم المتجاوب
- تسميات صفوف واضحة
- تعليقات تشرح تقنيات CSS للمتعلمين
- عناصر HTML5 الدلالية
- مبادئ التصميم المتجاوب
- تسميات واضحة للفئات
- تعليقات تشرح تقنيات CSS للمتعلمين
### بايثون
- إرشادات أسلوب PEP 8
- أمثلة أكواد واضحة وتعليمية
- تلميحات النوع حيث تفيد في التعلم
- إرشادات نمط PEP 8
- أمثلة تعليمية واضحة على الأكواد
- استخدام تلميحات النوع حيث تفيد التعلم
### توثيق الماركداون
### توثيق ماركداون
- هيكل رؤوس واضح
- كتل أكواد مع تحديد اللغة
- روابط لمصادر إضافية
- لقطات وصور في مجلدات `images/`
- نصوص بديلة للصور لدعم الوصولية
- تسلسل عناوين واضح
- كتل الأكواد مع تحديد اللغة
- روابط لمصادر إضافية
- لقطات شاشة وصور في مجلدات `images/`
- نص بديل للصور لدعم إمكانية الوصول
### تنظيم الملفات
- الدروس مرقمة بالتسلسل (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)
تم تكوين quiz-app للنشر على Azure Static Web Apps:
تطبيق الاختبارات مهيأ للنشر عبر Azure Static Web Apps:
```bash
cd quiz-app
npm run build # ينشئ مجلد dist/
# ينشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي
# ينشر من خلال سير عمل GitHub Actions عند الدفع إلى main
```
تكوين 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 للتوثيق
### إنشاء ملف PDF للوثائق
```bash
npm install # تثبيت docsify-to-pdf
npm run convert # توليد ملف PDF من المستندات
npm run convert # إنشاء ملف PDF من المستندات
```
### توثيق Docsify
```bash
npm install -g docsify-cli # تثبيت Docsify على مستوى النظام
npm install -g docsify-cli # تثبيت Docsify عالمياً
docsify serve # تشغيل على localhost:3000
```
### بناء مخصص لمشاريع محددة
### بناءات خاصة بكل مشروع
قد يحتوي كل مجلد مشروع على عملية بناء خاصة به:
- مشاريع Vue: `npm run build` لإنشاء الحزم الإنتاجية
- مشاريع ثابتة: لا توجد خطوة بناء، قدم الملفات مباشرة
قد يحتوي كل مجلد مشروع على عملية بناء خاصة به:
- مشاريع Vue: `npm run build` لإنشاء الحزم الإنتاجية
- المشاريع الثابتة: لا تحتوي على خطوة بناء، تخدم الملفات مباشرة
## إرشادات طلبات السحب
## إرشادات طلب السحب (Pull Request)
### صيغة العنوان
### تنسيق العنوان
استخدم عناوين واضحة تصف مجال التغيير:
- `[Quiz-app] أضف اختبار جديد للدرس X`
- `[Lesson-3] إصلاح خطأ مطبعي في مشروع terrarium`
- `[Translation] أضف الترجمة الإسبانية للدرس 5`
- `[Docs] تحديث تعليمات الإعداد`
استخدم عناوين واضحة تصف مجال التغيير:
- `[Quiz-app] أضف اختبار جديد للدرس X`
- `[Lesson-3] إصلاح خطأ مطبعي في مشروع terrarium`
- `[Translation] أضف الترجمة الإسبانية للدرس 5`
- `[Docs] تحديث تعليمات الإعداد`
### الفحوصات المطلوبة
قبل تقديم طلب السحب:
1. **جودة الكود**:
- شغّل `npm run lint` في مجلدات المشاريع المتأثرة
- أصلح كل الأخطاء والتنبيهات في التدقيق
1. **جودة الكود**:
- شغّل `npm run lint` في مجلدات المشاريع المتأثرة
- أصلح جميع أخطاء وتحذيرات التنسيق
2. **التحقق من البناء**:
- شغّل `npm run build` إذا انطبق
- تأكد من عدم وجود أخطاء في البناء
2. **التحقق من البناء**:
- شغّل `npm run build` إن أمكن
- تأكد من عدم وجود أخطاء في البناء
3. **التحقق من الروابط**:
- اختبر كل روابط الماركداون
- تحقق من عمل مراجع الصور
3. **التحقق من الروابط**:
- اختبر جميع روابط الماركداون
- تحقق من عمل مراجع الصور
4. **مراجعة المحتوى**:
- تدقيق إملائي ونحوي
- تأكد من صحة الأمثلة التعليمية
- تحقق من دقة الترجمات وملائمتها الثقافية
4. **مراجعة المحتوى**:
- تدقيق إملائي ونحوي
- تأكد من صحة أمثلة الأكواد وقيمتها التعليمية
- تحقق من دقة الترجمات
### متطلبات المساهمة
- الموافقة على اتفاقية المساهمين لمايكروسوفت (فحص آلي في أول طلب سحب)
- الالتزام بمدونة السلوك المفتوحة لمايكروسوفت [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية
- أدرج أرقام القضايا ذات الصلة في وصف طلب السحب إن وجدت
- الموافقة على اتفاقية الترخيص مع مايكروسوفت (فحص آلي عند أول PR)
- اتباع [مدونة السلوك في مايكروسوفت](https://opensource.microsoft.com/codeofconduct/)
- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية
- اذكر أرقام القضايا في وصف طلب السحب عند الاقتضاء
### عملية المراجعة
- يراجع المساهمون الرئيسيّون والمجتمع طلبات السحب
- تُعطى الأولوية للوضوح التعليمي
- يجب أن تتبع الأمثلة أفضل الممارسات الحديثة
- تُراجع الترجمات من حيث الدقة والملائمة الثقافية
- تتم مراجعة طلبات السحب من قبل المسؤولين والمجتمع
- الأولوية للوضوح التعليمي
- يجب أن تتبع أمثلة الأكواد أفضل الممارسات الحالية
- مراجعة الترجمات لدقتها وملاءمتها الثقافية
## نظام الترجمة
### الترجمة الآلية
- يستخدم 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:
@ -293,116 +293,116 @@ 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 >=10
- تحقق ما إذا كان المنفذ قيد الاستخدام بالفعل
- تأكد من تثبيت جميع التبعيات باستخدام `npm install`
**يعجز خادم API عن التشغيل**:
- تحقق من أن إصدار Node.js لا يقل عن 10
- تحقق مما إذا كان المنفذ مستخدمًا بالفعل
- تأكد من تثبيت جميع التبعيات بواسطة `npm install`
**امتداد المتصفح لا يتم تحميله**:
- تحقق من أن manifest.json منسق بشكل صحيح
- تحقق من أخطاء في وحدة تحكم المتصفح
- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح
**امتداد المتصفح لا يعمل**:
- تحقق من تنسيق manifest.json بشكل صحيح
- راجع سجل الأخطاء في وحدة تحكم المتصفح
- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح
**مشاكل مشروع الدردشة بايثون**:
- تأكد من تثبيت حزمة OpenAI: `pip install openai`
- تحقق من تعيين متغير البيئة GITHUB_TOKEN
- تحقق من أذونات الوصول إلى نماذج GitHub
**مشاكل مشروع الدردشة البايثون**:
- تأكد من تثبيت حزمة OpenAI: `pip install openai`
- تحقق من تعيين متغير البيئة GITHUB_TOKEN
- تحقق من صلاحيات الوصول إلى نماذج GitHub
**Docsify لا يقدم التوثيق**:
- قم بتثبيت docsify-cli عالميًا: `npm install -g docsify-cli`
- شغّل من مجلد الجذر للمستودع
- تحقق من وجود `docs/_sidebar.md`
**Docsify لا يعرض الوثائق**:
- ثبت docsify-cli عالميًا: `npm install -g docsify-cli`
- شغّل من دليل جذر المستودع
- تأكد من وجود `docs/_sidebar.md`
### نصائح بيئة التطوير
- استخدم VS Code مع امتداد Live Server لمشاريع HTML
- ثبّت امتدادات ESLint وPrettier للنسق المتسق
- استخدم أدوات المطور في المتصفح لتصحيح جافا سكريبت
- لمشاريع 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 install وبناء Vite)
## اعتبارات الأمان
### متغيرات البيئة
- يجب ألا تُرفع مفاتيح API إلى المستودع
- استخدم ملفات `.env` (مستبعدة في `.gitignore`)
- وثّق متغيرات البيئة المطلوبة في README المشاريع
- مفاتيح API يجب ألا يتم الالتزام بها في المستودع
- استخدم ملفات `.env` (وهي مدرجة مسبقًا في `.gitignore`)
- وثّق متغيرات البيئة المطلوبة في ملفات README الخاصة بالمشاريع
### مشاريع بايثون
- استخدم بيئات افتراضية: `python -m venv venv`
- حافظ على تحديث التبعيات
- يجب أن تحمل رموز GitHub أذونات دنيا مطلوبة
- استخدم بيئات افتراضية: `python -m venv venv`
- حافظ على تحديث التبعيات
- يجب أن تكون رموز GitHub بمستوى صلاحيات محدود
### الوصول إلى نماذج GitHub
### وصول نماذج GitHub
- تم طلب رموز وصول شخصية (PAT) لنماذج GitHub
- يجب تخزين الرموز كمتغيرات بيئة
- لا تحتفظ بالرموز أو بيانات الاعتماد في المستودع
- يُطلب رموز وصول شخصية (PAT) للنماذج
- يجب تخزين الرموز كمتغيرات بيئة
- لا تقم أبدًا بإيداع الرموز أو بيانات الاعتماد
## ملاحظات إضافية
### الجمهور المستهدف
- مبتدئين تمامًا في تطوير الويب
- طلاب ومتعلّمين ذاتيين
- معلمين يستخدمون المنهج في الفصول الدراسية
- المحتوى مصمم للوصولية وبناء المهارات تدريجيًا
- مبتدئون تمامًا في تطوير الويب
- الطلاب والمتعلمون الذاتيّون
- المعلمون الذين يستخدمون المنهج في الصفوف
- المحتوى مصمم للوصولية والبناء التدريجي للمهارات
### الفلسفة التعليمية
- نهج التعلم القائم على المشاريع
- فحوصات متكررة للمعرفة (اختبارات)
- تمارين عملية في البرمجة
- أمثلة تطبيقية من العالم الحقيقي
- التركيز على الأساسيات قبل الأُطُر
- نهج التعلم القائم على المشاريع
- فحوصات معرفة متكررة (اختبارات)
- تمارين تطبيقية عملية على البرمجة
- أمثلة تطبيقية من العالم الحقيقي
- التركيز على الأساسيات قبل الأُطُر (frameworks)
### صيانة المستودع
- مجتمع نشط من المتعلمين والمساهمين
- تحديثات دورية للتبعيات والمحتوى
- مراقبة القضايا والنقاشات من قبل المشرفين
- تحديث الترجمات بشكل آلي عبر GitHub Actions
- مجتمع نشط من المتعلمين والمساهمين
- تحديثات منتظمة للتبعيات والمحتوى
- مراقبة القضايا والمناقشات من قبل المسؤولين
- تحديث الترجمات مؤتمت عبر GitHub Actions
### الموارد المتعلقة
### الموارد ذات الصلة
- [وحدات Microsoft Learn](https://docs.microsoft.com/learn/)
- [موارد مركز الطلاب](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) موصى به للمتعلمين
- دورات إضافية: الذكاء الاصطناعي التوليدي، علوم البيانات، التعلم الآلي، منهج الإنترنت للأشياء متاحة
- [وحدات 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) موصى به للمتعلمين
- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، التعلم الآلي، مناهج إنترنت الأشياء متاحة
### العمل مع مشاريع محددة
للحصول على تعليمات مفصلة حول المشاريع الفردية، راجع ملفات 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` - مشروع مساعد دردشة بالذكاء الاصطناعي
لتعليمات مفصلة حول المشاريع الفردية، راجع ملفات 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` - مشروع مساعد الدردشة الذكي
### هيكلية المونوربو
### هيكلية مستودع متعدد المشاريع
بينما ليس مستودع مونوربو تقليدي، يحتوي هذا المستودع على عدة مشاريع مستقلة:
- كل درس مستقل بذاته
- المشاريع لا تشترك في التبعيات
- اعمل على مشاريع فردية دون التأثير على الآخرين
- انسخ المستودع كاملاً للحصول على كامل تجربة المنهج
على الرغم من أنه ليس مستودعًا تقليديًا متعدد المشاريع، يحتوي هذا المستودع على مشاريع متعددة مستقلة:
- كل درس مستقل بذاته
- المشاريع لا تشترك في التبعيات
- العمل على مشاريع منفردة دون التأثير على الأخرى
- استنسخ المستودع كاملاً للحصول على تجربة المنهج الكامل
---
<!-- 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 -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T07:33:59+00:00",
"translation_date": "2026-02-06T11:00:50+00:00",
"source_file": "AGENTS.md",
"language_code": "fa"
},

@ -2,25 +2,25 @@
## نمای کلی پروژه
این یک مخزن آموزشی برای آموزش اصول توسعه وب به مبتدیان است. این برنامهٔ آموزشی یک دوره جامع ۱۲ هفته‌ای است که توسط مدافعان ابر مایکروسافت توسعه یافته و شامل ۲۴ درس عملی دربارهٔ JavaScript، CSS و HTML می‌باشد.
این یک مخزن برنامه درسی آموزشی برای آموزش مبانی توسعه وب به مبتدیان است. این برنامه درسی یک دوره جامع ۱۲ هفته‌ای است که توسط مایکروسافت کلاود ادووکیتس توسعه یافته و شامل ۲۴ درس عملی در زمینه JavaScript، CSS و HTML می‌باشد.
### اجزای کلیدی
- **محتوای آموزشی**: ۲۴ درس ساختاریافته سازماندهی شده در ماژول‌های مبتنی بر پروژه
- **پروژه‌های عملی**: تراریوم، بازی تایپ، افزونه مرورگر، بازی فضایی، برنامه بانکی، ویرایشگر کد و دستیار چت هوش مصنوعی
- **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال برای هر کدام (ارزیابی پیش و پس از درس)
- **پشتیبانی چندزبانه**: ترجمه‌های خودکار برای بیش از ۵۰ زبان توسط GitHub Actions
- **محتوای آموزشی**: ۲۴ درس ساختاربندی‌شده به صورت ماژول‌های مبتنی بر پروژه
- **پروژه‌های عملی**: تراریوم، بازی تایپ، افزونه مرورگر، بازی فضایی، اپلیکیشن بانکی، ویرایشگر کد و دستیار چت هوش مصنوعی
- **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال هر کدام (ارزیابی قبل و بعد از درس)
- **پشتیبانی چندزبانه**: ترجمه خودکار برای بیش از ۵۰ زبان از طریق GitHub Actions
- **فناوری‌ها**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (برای پروژه‌های هوش مصنوعی)
### معماری
- مخزن آموزشی با ساختار مبتنی بر درس
- هر پوشه درس شامل README، نمونه کد و راه‌حل‌ها
- پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app، پروژه‌های مختلف دروس)
- سیستم ترجمه با استفاده از GitHub Actions (co-op-translator)
- مستندات ارائه شده از طریق Docsify و در دسترس به صورت PDF
- مخزن آموزشی با ساختار مبتنی بر درس
- هر پوشه درس شامل فایل README، نمونه کدها و راه‌حل‌ها است
- پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app، پروژه‌های مختلف در درس‌ها)
- سیستم ترجمه با استفاده از GitHub Actions (co-op-translator)
- مستندات از طریق 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
@ -56,7 +56,7 @@ npm run format # قالب‌بندی با Prettier
```bash
cd 5-browser-extension/solution
npm install
# دستورالعمل‌های بارگذاری افزونه‌های خاص مرورگر را دنبال کنید
# دستورالعمل‌های بارگذاری افزونه خاص مرورگر را دنبال کنید
```
### پروژه‌های بازی فضایی
@ -64,10 +64,10 @@ npm install
```bash
cd 6-space-game/solution
npm install
# index.html را در مرورگر باز کنید یا از Live Server استفاده کنید
# فایل index.html را در مرورگر باز کنید یا از Live Server استفاده کنید
```
### پروژه چت (بک‌اند پایتون)
### پروژه چت (بک‌اند Python)
```bash
cd 9-chat-project/solution/backend/python
@ -76,37 +76,37 @@ pip install openai
python api.py
```
## گردش کار توسعه
## جریان کاری توسعه
### برای مشارکت‌کنندگان محتوا
### برای همکاران محتوا
۱. **مخزن را فورک کنید** به حساب GitHub خود
۲. **فورک خود را کلون کنید** به صورت محلی
۳. **یک شاخه جدید ایجاد کنید** برای تغییرات خود
۴. تغییرات را در محتوای درس یا نمونه‌های کد اعمال کنید
۵. تغییرات کد را در دایرکتوری‌های پروژه مربوطه تست کنید
۶. درخواست‌های پول را مطابق دستورالعمل مشارکت ارسال کنید
1. **مخزن را فورک کنید** به حساب GitHub خود
2. **فورک خود را کلون کنید** به صورت محلی
3. **یک شاخه جدید بسازید** برای تغییرات خود
4. تغییرات را روی محتوای درس یا نمونه کدها اعمال کنید
5. تغییرات کد را در دایرکتوری‌های مرتبط پروژه تست کنید
6. درخواست پول ریکوئست طبق دستورالعمل مشارکت ارسال کنید
### برای یادگیرندگان
۱. مخزن را فورک یا کلون کنید
۲. به ترتیب به دایرکتوری‌های درس مراجعه کنید
۳. فایل‌های README هر درس را مطالعه کنید
۴. آزمون‌های پیش‌درس را در https://ff-quizzes.netlify.app/web/ تکمیل کنید
۵. نمونه‌های کد را در فولدرهای درس کار کنید
۶. تمرین‌ها و چالش‌ها را کامل کنید
۷. آزمون‌های پس‌درس را انجام دهید
1. مخزن را فورک یا کلون کنید
2. به ترتیب به دایرکتوری‌های درس مراجعه کنید
3. فایل README هر درس را بخوانید
4. آزمون‌های پیش از درس را در https://ff-quizzes.netlify.app/web/ انجام دهید
5. نمونه کدهای درون پوشه‌های درس را دنبال کنید
6. تکالیف و چالش‌ها را کامل کنید
7. آزمون‌های پس از درس را انجام دهید
### توسعه زنده
- **مستندات**: اجرای دستور `docsify serve` در ریشه (پورت ۳۰۰۰)
- **برنامه آزمون**: اجرای `npm run dev` در دایرکتوری quiz-app
- **پروژه‌ها**: استفاده از افزونه Live Server در VS Code برای پروژه‌های HTML
- **پروژه‌های API**: اجرای `npm start` در دایرکتوری‌های مربوطه
- **مستندات**: دستور `docsify serve` را در ریشه اجرا کنید (پورت ۳۰۰۰)
- **اپلیکیشن آزمون**: در دایرکتوری quiz-app دستور `npm run dev` را اجرا کنید
- **پروژه‌ها**: از افزونه Live Server در VS Code برای پروژه‌های HTML استفاده کنید
- **پروژه‌های API**: در دایرکتوری مربوط، دستور `npm start` را اجرا کنید
## دستورالعمل‌های تست
### تست برنامه آزمون
### تست اپلیکیشن آزمون
```bash
cd quiz-app
@ -119,164 +119,164 @@ npm run build # اطمینان از موفقیت ساخت
```bash
cd 7-bank-project/api
npm run lint # بررسی مشکلات سبک کد
node server.js # تأیید شروع سرور بدون خطاها
node server.js # اطمینان از شروع سرور بدون خطاها
```
### رویکرد کلی تست
- این یک مخزن آموزشی بدون تست‌های خودکار جامع است
- تست دستی روی موارد زیر تمرکز دارد:
- اجرای بدون خطای نمونه‌های کد
- عملکرد صحیح لینک‌ها در مستندات
- ساخت موفق پروژه‌ها
- پیروی نمونه‌ها از بهترین شیوه‌ها
- این یک مخزن آموزشی است بدون تست‌های خودکار جامع
- تست دستی بر موارد زیر تمرکز دارد:
- نمونه کدها بدون خطا اجرا شوند
- لینک‌های مستندات به درستی کار کنند
- ساخت پروژه‌ها موفقیت‌آمیز باشد
- نمونه‌ها از بهترین شیوه‌ها پیروی کنند
### بررسی‌های پیش از ارسال
### چک‌های پیش از ارسال
- اجرای `npm run lint` در دایرکتوری‌های حاوی package.json
- اطمینان از اعتبار لینک‌های مارک‌داون
- تست نمونه‌های کد در مرورگر یا Node.js
- بررسی حفظ ساختار مناسب در ترجمه‌ها
- دستور `npm run lint` را در دایرکتوری‌هایی که package.json دارند اجرا کنید
- اعتبار لینک‌های مارک‌داون را بررسی کنید
- نمونه کدها را در مرورگر یا Node.js تست کنید
- اطمینان حاصل کنید که ترجمه‌ها ساختار درست را حفظ می‌کنند
## راهنمایی‌های سبک کد
## راهنمای سبک کدنویسی
### JavaScript
### جاوااسکریپت
- استفاده از سینتکس مدرن ES6+
- پیروی از پیکربندی‌های استاندارد ESLint ارائه شده
- نامگذاری معنادار متغیرها و توابع برای وضوح آموزشی
- افزودن توضیحات برای مفاهیم یادگیرندگان
- فرمت‌بندی با Prettier در صورت پیکربندی
- استفاده از سینتکس مدرن ES6+
- دنبال کردن پیکربندی ESLint استاندارد ارائه شده در پروژه‌ها
- استفاده از نام‌گذاری معنادار برای متغیرها و توابع جهت وضوح آموزشی
- افزودن کامنت برای توضیح مفاهیم به یادگیرندگان
- فرمت کد با استفاده از Prettier در صورت پیکربندی
### HTML/CSS
- استفاده از المان‌های معنایی HTML5
- اصول طراحی واکنش‌گرا
- نام‌گذاری واضح کلاس‌ها
- کامنت‌هایی که تکنیک‌های CSS را برای یادگیرندگان توضیح می‌دهند
- استفاده از المان‌های معنایی HTML5
- اصول طراحی واکنش‌گرا
- قوانین نام‌گذاری کلاس‌ها واضح
- کامنت برای توضیح تکنیک‌های CSS برای یادگیرندگان
### پایتون
- پیروی از راهنمای سبک PEP 8
- نمونه‌های کد واضح و آموزشی
- نکات نوع‌گذاری (type hints) در صورت کمک به یادگیری
- پیروی از راهنمای سبک PEP 8
- نمونه کدهای واضح و آموزشی
- نوع‌دهی (Type hints) در صورت مفید بودن برای یادگیری
### مستندات مارک‌داون
### مستندات Markdown
- ساختار واضح سرفصل‌ها
- بلوک‌های کد با تعیین زبان
- لینک به منابع اضافی
- اسکرین‌شات‌ها و تصاویر در پوشه‌های `images/`
- متن جایگزین برای تصاویر برای دسترسی بهتر
- سلسله مراتب واضح سرفصل‌ها
- بلوک‌های کد با مشخص کردن زبان
- لینک به منابع اضافی
- اسکرین‌شات‌ها و تصاویر در دایرکتوری `images/`
- متن جایگزین تصاویر جهت دسترسی‌پذیری
### سازماندهی فایل‌ها
### سازماندهی فایل‌ها
- شماره‌گذاری دروس به ترتیب (1-getting-started-lessons, 2-js-basics, و غیره)
- هر پروژه دارای پوشه‌های `solution/` و اغلب `start/` یا `your-work/`
- تصاویر در پوشه‌های `images/` مختص درس ذخیره شده‌اند
- ترجمه‌ها در ساختار `translations/{language-code}/`
- درس‌ها به ترتیب شماره‌گذاری شده‌اند (۱-getting-started-lessons، ۲-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/
npm run build # ساخت پوشه dist/
# استقرار از طریق گردش کار GitHub Actions هنگام پوش به main
```
پیکربندی 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 از docs
npm run convert # تولید PDF از داکس
```
### مستندات Docsify
```bash
npm install -g docsify-cli # نصب Docsify به صورت سراسری
npm install -g docsify-cli # نصب Docsify به‌طور سراسری
docsify serve # سرویس‌دهی در localhost:3000
```
### ساخت‌های مخصوص پروژه
هر دایرکتوری پروژه ممکن است فرایند ساخت خود را داشته باشد:
- پروژه‌های Vue: اجرای `npm run build` برای ساخت نسخه تولید
- پروژه‌های استاتیک: بدون مرحله ساخت، فایل‌ها مستقیم سرو می‌شوند
هر دایرکتوری پروژه ممکن است فرآیند ساخت خود را داشته باشد:
- پروژه‌های Vue: دستور `npm run build` بسته‌های تولیدی ایجاد می‌کند
- پروژه‌های استاتیک: بدون مرحله ساخت، فایل‌ها مستقیماً سرو می‌شوند
## دستورالعمل‌های درخواست Pull
## دستورالعمل‌های درخواست تغییر (Pull Request)
### قالب عنوان
از عناوین واضح و توصیفی استفاده کنید که حوزه تغییر را نشان می‌دهد:
- `[Quiz-app] افزودن آزمون جدید برای درس X`
- `[Lesson-3] اصلاح اشتباه تایپی در پروژه تراریوم`
- `[Translation] افزودن ترجمه اسپانیایی برای درس ۵`
- `[Docs] به‌روزرسانی دستورالعمل‌های راه‌اندازی`
عنوان‌های واضح و توصیفی که حوزه تغییر را مشخص می‌کنند:
- `[Quiz-app] افزودن آزمون جدید برای درس X`
- `[Lesson-3] اصلاح غلط املایی در پروژه تراریوم`
- `[Translation] افزودن ترجمه اسپانیایی برای درس ۵`
- `[Docs] به‌روزرسانی دستورات راه‌اندازی`
### بررسی‌های لازم
### چک‌های الزامی
قبل از ارسال PR:
قبل از ارسال PR:
1. **کیفیت کد**:
- اجرای `npm run lint` در دایرکتوری‌های پروژه تحت تاثیر
- رفع تمام خطاها و هشدارهای lint
۱. **کیفیت کد**:
- اجرای دستور `npm run lint` در دایرکتوری‌های پروژه مرتبط
- رفع تمام خطاها و هشدارهای lint
2. **تایید ساخت**:
- اجرای `npm run build` در صورت نیاز
- اطمینان از عدم وجود خطا در ساخت
۲. **تأیید ساخت**:
- اجرای `npm run build` در صورت وجود
- اطمینان از عدم وجود خطاهای ساخت
3. **اعتبار لینک‌ها**:
- تست همه لینک‌های مارک‌داون
- تایید عملکرد ارجاعات تصاویر
۳. **اعتبارسنجی لینک‌ها**:
- تست همه لینک‌های مارک‌داون
- بررسی عملکرد ارجاعات تصویری
4. **بازبینی محتوا**:
- بررسی املایی و دستور زبانی
- اطمینان صحت و آموزشی بودن نمونه‌های کد
- تایید حفظ معنی اصلی در ترجمه‌ها
۴. **بازبینی محتوا**:
- بازخوانی برای غلط‌های املایی و دستوری
- اطمینان از درست و آموزشی بودن نمونه کدها
- بررسی حفظ معنی اصلی در ترجمه‌ها
### الزامات مشارکت
### موارد مورد نیاز برای مشارکت
- موافقت با قرارداد Microsoft CLA (بررسی خودکار در نخستین PR)
- پیروی از [کد رفتاری متن باز مایکروسافت](https://opensource.microsoft.com/codeofconduct/)
- مشاهده [CONTRIBUTING.md](./CONTRIBUTING.md) برای دستورالعمل‌های جزئی
- ارجاع شماره مشکلات در توضیحات PR در صورت وجود
- موافقت با قرارداد مشارکت مایکروسافت (Microsoft CLA) (بررسی خودکار در اولین PR)
- پیروی از [کدرفتار منبع باز مایکروسافت](https://opensource.microsoft.com/codeofconduct/)
- مشاهده [CONTRIBUTING.md](./CONTRIBUTING.md) برای دستورالعمل‌های جامع
- ارجاع شماره مشکلات در توضیح PR در صورت وجود
### فرآیند بازبینی
- PRها توسط نگهدارندهها و جامعه مرور می‌شوند
- وضوح آموزشی در اولویت است
- نمونه‌های کد باید بهترین شیوه‌های روز را دنبال کنند
- ترجمه‌ها برای دقت و مناسب‌بودن فرهنگی بازبینی می‌شوند
- PRها توسط نگهدارندگان و جامعه بررسی می‌شوند
- وضوح آموزشی در اولویت است
- نمونه کدها باید بهترین شیوه‌های جاری را دنبال کنند
- ترجمه‌ها برای دقت و انطباق فرهنگی بررسی می‌شوند
## سیستم ترجمه
### ترجمه خودکار
- استفاده از GitHub Actions با گردش کار co-op-translator
- ترجمه خودکار به بیش از ۵۰ زبان
- فایل‌های منبع در دایرکتوری‌های اصلی
- فایل‌های ترجمه در دایرکتوری‌های `translations/{language-code}/`
- استفاده از GitHub Actions با گردش کار co-op-translator
- ترجمه به بیش از ۵۰ زبان به صورت خودکار
- فایل‌های منبع در دایرکتوری‌های اصلی
- فایل‌های ترجمه‌شده در پوشه‌های `translations/{language-code}/`
### افزودن بهبودهای ترجمه دستی
۱. فایل را در `translations/{language-code}/` پیدا کنید
۲. بهبودها را با حفظ ساختار اعمال کنید
۳. اطمینان حاصل کنید نمونه‌های کد عملکرد دارند
۴. آزمون محتوای آزمون محلی‌شده
۱. فایل را در مسیر `translations/{language-code}/` بیابید
۲. بهبودها را حفظ ساختار اعمال کنید
۳. اطمینان حاصل کنید نمونه کدها عملکرد خود را حفظ کنند
۴. هر محتوای آزمون محلی‌شده را تست کنید
### متاداده ترجمه
### فراداده ترجمه
فایل‌های ترجمه شامل سربرگ متاداده:
فایل‌های ترجمه شامل سربرگ فراداده:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## عیب‌یابی و رفع مشکل
## اشکال‌زدایی و رفع مشکل
### مشکلات رایج
**برنامه آزمون اجرا نمی‌شود**:
- نسخه Node.js را بررسی کنید (حداقل v14 توصیه می‌شود)
- پوشه‌های `node_modules` و فایل `package-lock.json` را حذف کرده و `npm install` را مجدداً اجرا کنید
- تداخل پورت را بررسی کنید (پورت پیش‌فرض Vite برابر ۵۱۷۳ است)
**نرم‌افزار آزمون اجرا نمی‌شود**:
- نسخه Node.js را بررسی کنید (نسخه ۱۴ به بالا توصیه می‌شود)
- دایرکتوری‌های `node_modules` و فایل `package-lock.json` را حذف و دوباره `npm install` را اجرا کنید
- بررسی تداخل پورت (پیش‌فرض: Vite از پورت ۵۱۷۳ استفاده می‌کند)
**سرور API اجرا نمی‌شود**:
- نسخه Node.js حداقل (node >=10) را بررسی کنید
- مطمئن شوید پورت قبلاً اشغال نشده است
- با اجرای `npm install` تمام وابستگی‌ها نصب شده‌اند
**سرور API اجرا نمی‌شود**:
- اطمینان از نسخه حداقل Node.js (node >=10)
- بررسی استفاده بودن پورت
- اطمینان از نصب تمام وابستگی‌ها با `npm install`
**افزونه مرورگر بارگذاری نمی‌شود**:
- فرمت فایل manifest.json را بررسی کنید
- کنسول مرورگر برای خطاها را کنترل کنید
- دستورالعمل نصب افزونه مرورگر خاص را دنبال کنید
**افزونه مرورگر بارگذاری نمی‌شود**:
- اطمینان از فرمت صحیح فایل manifest.json
- بررسی خطاها در کنسول مرورگر
- دنبال کردن دستورالعمل نصب افزونه مخصوص مرورگر
**مشکلات پروژه چت پایتون**:
- بسته OpenAI نصب شده باشد: `pip install openai`
- متغیر محیطی GITHUB_TOKEN تنظیم شده باشد
- دسترسی مدل‌های GitHub بررسی شود
**مشکلات پروژه چت پایتون**:
- نصب بسته OpenAI: `pip install openai`
- اطمینان از تنظیم متغیر محیطی GITHUB_TOKEN
- بررسی دسترسی‌های مدل‌های GitHub
**مستندات Docsify بارگیری نمی‌شود**:
- نصب docsify-cli به صورت سراسری: `npm install -g docsify-cli`
- اجرای دستور از پوشه ریشه مخزن
- اطمینان از وجود فایل `docs/_sidebar.md`
**Docsify مستندات را ارائه نمی‌دهد**:
- نصب docsify-cli به صورت جهانی: `npm install -g docsify-cli`
- اجرا از دایرکتوری ریشه مخزن
- اطمینان از وجود فایل `docs/_sidebar.md`
### نکات محیط توسعه
- استفاده از VS Code با افزونه Live Server برای پروژه‌های HTML
- نصب افزونه‌های ESLint و Prettier برای یکنواختی قالب‌بندی
- استفاده از DevTools مرورگر برای خطایابی جاوااسکریپت
- برای پروژه‌های Vue، افزونه Vue DevTools مرورگر نصب شود
- استفاده از VS Code با افزونه Live Server برای پروژه‌های HTML
- نصب افزونه‌های ESLint و Prettier برای فرمت‌بندی یکپارچه
- استفاده از DevTools مرورگر برای اشکال‌زدایی JavaScript
- برای پروژه‌های Vue، نصب افزونه Vue DevTools برای مرورگر
### ملاحظات عملکرد
- تعداد زیاد فایل‌های ترجمه (۵۰+ زبان) باعث حجیم بودن کلون کامل می‌شود
- برای کار فقط روی محتوا از کلون سطحی استفاده کنید: `git clone --depth 1`
- هنگام کار با محتوای انگلیسی، ترجمه‌ها را از جستجوها حذف کنید
- فرایند ساخت ممکن است در نخستین اجرا کند باشد (نصب npm، ساخت Vite)
- تعداد زیاد فایل‌های ترجمه شده (بیش از ۵۰ زبان) باعث حجم زیاد کلون کامل می‌شود
- برای کار کردن فقط روی محتوا، از کلون سطحی استفاده کنید: `git clone --depth 1`
- هنگام کار روی محتوای انگلیسی، ترجمه‌ها را از جستجو مستثنی کنید
- فرایندهای ساخت ممکن است در اولین اجرا کند باشند (npm install، ساخت Vite)
## ملاحظات امنیتی
### متغیرهای محیطی
- کلیدهای API نباید به مخزن ارسال شوند
- استفاده از فایل‌های `.env` (که از قبل در `.gitignore` هستند)
- متغیرهای محیطی ضروری باید در README پروژه‌ها مستند شوند
- کلیدهای API هرگز نباید در مخزن ذخیره شوند
- استفاده از فایل‌های `.env` (قبلاً در `.gitignore` قرار دارد)
- مستندسازی متغیرهای محیطی لازم در فایل README پروژه‌ها
### پروژه‌های پایتون
- استفاده از محیط‌های مجازی: `python -m venv venv`
- نگهداری نسخه‌های به‌روز وابستگی‌ها
- توکن‌های GitHub باید حداقل دسترسی لازم را داشته باشند
- استفاده از محیط‌های مجازی: `python -m venv venv`
- به‌روزرسانی وابستگی‌ها
- توکن‌های GitHub باید حداقل مجوزهای لازم را داشته باشند
### دسترسی به مدل‌های GitHub
- توکن‌های دسترسی شخصی (PAT) برای مدل‌های GitHub مورد نیاز است
- این توکن‌ها باید به صورت متغیر محیطی ذخیره شوند
- هرگز توکن‌ها یا اطلاعات محرمانه را به مخزن ارسال نکنید
- برای مدل‌های GitHub به Tokenهای دسترسی شخصی (PAT) نیاز است
- توکن‌ها باید به صورت متغیرهای محیطی ذخیره شوند
- هرگز توکن‌ها یا اطلاعات ورود را کامیت نکنید
## یادداشت‌های اضافی
## نکات اضافی
### مخاطب هدف
- کاملاً مبتدیان در توسعه وب
- دانش‌آموزان و خودآموزها
- معلمانی که برنامه آموزشی را در کلاس‌ها به کار می‌برند
- محتوا برای دسترس‌پذیری و پیشرفت تدریجی مهارت طراحی شده است
- مبتدیان کامل در توسعه وب
- دانش‌آموزان و خودآموزها
- معلمانی که از برنامه درسی در کلاس استفاده می‌کنند
- محتوا برای دسترسی‌پذیری و تقویت مهارت به صورت تدریجی طراحی شده است
### فلسفه آموزشی
- رویکرد یادگیری مبتنی بر پروژه
- بررسی‌های مکرر دانش (آزمون‌ها)
- تمرین‌های عملی کدنویسی
- مثال‌های کاربردی دنیای واقعی
- تمرکز بر اصول قبل از فریم‌ورک‌ها
- رویکرد یادگیری مبتنی بر پروژه
- بررسی‌های تکراری دانش (آزمون‌ها)
- تمرین‌های عملی کدنویسی
- مثال‌های کاربرد واقعی
- تمرکز بر مبانی پیش از چارچوب‌ها
### نگهداری مخزن
- جامعه فعال یادگیرندگان و مشارکت‌کنندگان
- به‌روزرسانی‌های منظم وابستگی‌ها و محتوا
- مشکلات و بحث‌ها توسط نگهدارنده‌ها پیگیری می‌شود
- به‌روزرسانی ترجمه‌ها به‌صورت خودکار از طریق 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 موجود است
- [مدول‌های 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 در دسترس
### کار با پروژه‌های خاص
برای دستورالعمل‌های دقیق هر پروژه به فایل‌های 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` - پروژه دستیار چت هوش مصنوعی
برای دستورالعمل‌های دقیق درباره پروژه‌های فردی، به فایل 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` - پروژه دستیار چت هوش مصنوعی
### ساختار مونورپو
اگرچه یک مونورپو سنتی نیست، این مخزن دارای چندین پروژه مستقل است:
- هر درس خودمختار است
- پروژه‌ها وابستگی‌های مشترک ندارند
- روی پروژه‌های منفرد بدون تاثیرگزاری روی دیگران کار کنید
- برای تجربه کامل دوره کل مخزن را کلون کنید
اگرچه این یک مونورپوی سنتی نیست، این مخزن شامل چند پروژه مستقل است:
- هر درس به صورت مستقل است
- پروژه‌ها وابستگی‌های مشترک ندارند
- می‌توانید روی پروژه‌های فردی بدون تأثیر روی بقیه کار کنید
- برای تجربه کامل برنامه درسی، کل مخزن را کلون کنید
---
<!-- 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 -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T07:31:45+00:00",
"translation_date": "2026-02-06T10:58:14+00:00",
"source_file": "AGENTS.md",
"language_code": "ru"
},

@ -2,36 +2,36 @@
## Обзор проекта
Это образовательный репозиторий для изучения основ веб-разработки для начинающих. Учебная программа представляет собой всесторонний 12-недельный курс, разработанный Microsoft Cloud Advocates, включающий 24 практических урока по JavaScript, CSS и HTML.
Это репозиторий учебной программы для обучения основам веб-разработки для начинающих. Учебная программа — это комплексный 12-недельный курс, разработанный специалистами Microsoft Cloud Advocates, который включает 24 практических урока по JavaScript, CSS и HTML.
### Основные компоненты
### Ключевые компоненты
- **Образовательный контент**: 24 структурированных урока, организованных в проектные модули
- **Практические проекты**: Террариум, Игра на скорость печати, Расширение для браузера, Космическая игра, Банковское приложение, Редактор кода и AI чат-ассистент
- **Интерактивные викторины**: 48 викторин по 3 вопроса каждая (до и после урока)
- **Поддержка нескольких языков**: Автоматизированный перевод более чем на 50 языков с помощью GitHub Actions
- **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для AI проектов)
- **Учебный контент**: 24 структурированных урока, организованных в проектные модули
- **Практические проекты**: Террариум, Игра на набор текста, Расширение для браузера, Космическая игра, Банковское приложение, Редактор кода и AI чат-ассистент
- **Интерактивные викторины**: 48 викторин по 3 вопроса каждая (предварительная/послеурочная оценка)
- **Поддержка множества языков**: Автоматические переводы на более чем 50 языков с помощью GitHub Actions
- **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для AI-проектов)
### Архитектура
- Образовательный репозиторий со структурой на основе уроков
- Каждый каталог урока содержит README, примеры кода и решения
- Отдельные проекты в отдельных директориях (quiz-app, различные проекты уроков)
- Система перевода с использованием GitHub Actions (co-op-translator)
- Документация подается через Docsify и доступна в PDF
- Образовательный репозиторий с структурой по урокам
- Каждая папка урока содержит README, примеры кода и решения
- Отдельные проекты в отдельных каталогах (quiz-app, различные проекты уроков)
- Система переводов на базе GitHub Actions (co-op-translator)
- Документация доступна через Docsify и в формате PDF
## Команды для настройки
## Команды установки
Этот репозиторий предназначен преимущественно для изучения контента. Для работы с конкретными проектами:
Этот репозиторий предназначен в первую очередь для изучения учебного материала. Для работы с конкретными проектами:
### Основная настройка репозитория
### Основная установка репозитория
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Настройка Quiz App (Vue 3 + Vite)
### Настройка приложения викторины (Vue 3 + Vite)
```bash
cd quiz-app
@ -59,7 +59,7 @@ npm install
# Следуйте инструкциям по загрузке расширений, специфичным для браузера
```
### Проекты космической игры
### Космические игровые проекты
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Откройте index.html в браузере или используйте Live Server
```
### Проект чата (Python Backend)
### Проект чата (Backend на Python)
```bash
cd 9-chat-project/solution/backend/python
@ -78,39 +78,39 @@ python api.py
## Рабочий процесс разработки
### Для контентных участников
### Для контрибьюторов контента
1. **Форкните репозиторий** на ваш аккаунт GitHub
2. **Клонируйте форк** локально
3. **Создайте новую ветку** для изменений
4. Внесите изменения в контент уроков или примеры кода
5. Протестируйте любые изменения кода в соответствующих каталогах проектов
6. Отправляйте pull requests согласно руководству по вкладу
1. **Сделайте форк репозитория** в ваш аккаунт GitHub
2. **Клонируйте ваш форк** локально
3. **Создайте новую ветку** для ваших изменений
4. Внесите изменения в содержимое уроков или примеры кода
5. Тестируйте изменения кода в соответствующих папках проектов
6. Отправьте pull-запросы, следуя инструкциям по внесению изменений
### Для учащихся
1. Форкните или клонируйте репозиторий
2. Последовательно переходите по каталогам уроков
3. Читайте README файлы каждого урока
1. Сделайте форк или клонирование репозитория
2. Переходите по папкам уроков последовательно
3. Читайте README каждого урока
4. Выполняйте предварительные викторины на https://ff-quizzes.netlify.app/web/
5. Прорабатывайте примеры кода в каталогах уроков
5. Работайте с примерами кода в папках уроков
6. Выполняйте задания и вызовы
7. Проходите итоговые викторины
7. Проходите пост-урочные викторины
### Онлайн разработка
### Живая разработка
- **Документация**: Запустите `docsify serve` в корне (порт 3000)
- **Quiz App**: Запустите `npm run dev` в каталоге quiz-app
- **Проекты**: Используйте расширение VS Code Live Server для HTML-проектов
- **API проекты**: Запустите `npm start` в соответствующих API каталогах
- **Приложение Викторины**: Запустите `npm run dev` в папке quiz-app
- **Проекты**: Используйте расширение VS Code Live Server для HTML проектов
- **API проекты**: Запустите `npm start` в соответствующих папках API
## Инструкции по тестированию
### Тестирование Quiz App
### Тестирование приложения Викторина
```bash
cd quiz-app
npm run lint # Проверить проблемы со стилем кода
npm run lint # Проверить ошибки стиля кода
npm run build # Проверить успешность сборки
```
@ -119,34 +119,34 @@ npm run build # Проверить успешность сборки
```bash
cd 7-bank-project/api
npm run lint # Проверить наличие проблем со стилем кода
node server.js # Проверить, что сервер запускается без ошибок
node server.js # Убедиться, что сервер запускается без ошибок
```
### Общий подход к тестированию
- Это образовательный репозиторий без комплексного автоматизированного тестирования
- Ручное тестирование включает:
- Примеры кода работают без ошибок
- Ссылки в документации корректны
- Сборка проектов проходит успешно
- Примеры соответствуют лучшим практикам
- Это учебный репозиторий без полноценного автоматизированного тестирования
- Ручное тестирование сосредоточено на:
- Корректном запуске примеров кода без ошибок
- Работе ссылок в документации
- Успешной сборке проектов
- Следовании примеров лучшим практикам
### Проверки перед отправкой
- Запустите `npm run lint` в каталогах с package.json
- Проверьте корректность markdown-ссылок
- Проверьте валидность markdown-ссылок
- Тестируйте примеры кода в браузере или Node.js
- Убедитесь, что переводы сохраняют правильную структуру
- Проверьте, что переводы сохраняют правильную структуру
## Руководство по стилю кода
### JavaScript
- Используйте современный синтаксис ES6+
- Соблюдайте стандартные конфигурации ESLint, предоставленные в проектах
- Используйте осмысленные имена переменных и функций для образовательной ясности
- Следуйте стандартным конфигурациям ESLint в проектах
- Используйте понятные имена переменных и функций для обучения
- Добавляйте комментарии, объясняющие концепции для учащихся
- Форматируйте код с помощью Prettier, где настроено
- Форматируйте код с помощью Prettier, где это настроено
### HTML/CSS
@ -157,70 +157,70 @@ node server.js # Проверить, что сервер запускает
### Python
- Соблюдение руководства по стилю PEP 8
- Четкие, обучающие примеры кода
- Использование аннотаций типов, где полезно для обучения
- Стиль кода по PEP 8
- Четкие образовательные примеры кода
- Подсказки типов, где это полезно для обучения
### Документация Markdown
### Документация в Markdown
- Четкая иерархия заголовков
- Блоки кода с указанием языка
- Ссылки на дополнительные ресурсы
- Скриншоты и изображения в папках `images/`
- Атрибут alt для изображений для доступности
- Alt-текст для изображений для доступности
### Организация файлов
- Уроки нумеруются последовательно (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}/`
## Сборка и деплой
### Деплой Quiz App (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/
# Выполняет развертывание через рабочий процесс GitHub Actions при пуше в ветку main
npm run build # Создаёт папку dist/
# Выполняет деплой через workflow GitHub Actions при пуше в main
```
Конфигурация Azure Static Web Apps:
- **Расположение приложения**: `/quiz-app`
- **Выходная папка**: `dist`
- **Папка с результатом сборки**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Генерация PDF документации
```bash
npm install # Установить docsify-to-pdf
npm run convert # Создать PDF из docs
npm run convert # Сгенерировать PDF из документов
```
### Документация Docsify
```bash
npm install -g docsify-cli # Установите Docsify глобально
docsify serve # Запуск на localhost:3000
npm install -g docsify-cli # Установить Docsify глобально
docsify serve # Запустить на localhost:3000
```
### Сборка по проектам
### Сборки для отдельных проектов
Каждый каталог проекта может иметь собственный процесс сборки:
- Vue проекты: `npm run build` создает продакшн-бандлы
- Статические проекты: нет шага сборки, файлы подаются напрямую
В каждой папке проекта может быть свой процесс сборки:
- Vue проекты: `npm run build` создает production-бандлы
- Статические проекты: сборка отсутствует, файлы обслуживаются напрямую
## Руководство по Pull Request
### Формат заголовка
### Формат названия
Используйте ясные, описательные заголовки, указывающие область изменений:
Используйте четкие, описательные названия, отражающие область изменений:
- `[Quiz-app] Добавить новую викторину для урока X`
- `[Lesson-3] Исправить опечатку в проекте террариума`
- `[Translation] Добавить испанский перевод для урока 5`
- `[Lesson-3] Исправить опечатку в проекте террариум`
- `[Translation] Добавить перевод на испанский для урока 5`
- `[Docs] Обновить инструкции по установке`
### Обязательные проверки
@ -228,8 +228,8 @@ docsify serve # Запуск на localhost:3000
Перед отправкой PR:
1. **Качество кода**:
- Запустите `npm run lint` в затронутых каталогах проектов
- Исправьте все ошибки и предупреждения
- Запустите `npm run lint` в затронутых папках проектов
- Исправьте все ошибки и предупреждения линтера
2. **Проверка сборки**:
- Запустите `npm run build`, если применимо
@ -240,39 +240,39 @@ docsify serve # Запуск на localhost:3000
- Убедитесь в работоспособности ссылок на изображения
4. **Проверка содержимого**:
- Проверьте орфографию и грамматику
- Вычитайте текст на предмет ошибок
- Убедитесь, что примеры кода корректны и образовательны
- Проверьте, что переводы сохраняют исходный смысл
### Требования к вкладу
### Требования к участию
- Согласие с Microsoft CLA (автоматическая проверка при первом PR)
- Соблюдение [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Подробные инструкции в [CONTRIBUTING.md](./CONTRIBUTING.md)
- Ссылки на номера задач в описании PR, если применимо
- См. [CONTRIBUTING.md](./CONTRIBUTING.md) для подробных инструкций
- Указывайте номера связанных issue в описании PR при необходимости
### Процесс ревью
### Процесс рецензирования
- PR рецензируются мейнтейнерами и сообществом
- Приоритет на образовательную ясность
- Примеры кода должны соответствовать современным лучшим практикам
- PR проверяются мейнтейнерами и сообществом
- Приоритет - образовательная ясность
- Примеры кода должны следовать современным лучшим практикам
- Переводы проверяются на точность и культурную уместность
## Система перевода
### Автоматический перевод
- Используются GitHub Actions с воркфлоу co-op-translator
- Автоматический перевод на более чем 50 языков
- Исходные файлы в основных каталогах
- Переводы в директориях `translations/{language-code}/`
- Используется GitHub Actions с workflow co-op-translator
- Перевод на более чем 50 языков автоматически
- Исходные файлы в основных директориях
- Переводы в папках `translations/{language-code}/`
### Добавление ручных улучшений перевода
1. Найдите файл в `translations/{language-code}/`
2. Внесите улучшения, сохраняя структуру
3. Убедитесь, что примеры кода остаются работоспособными
4. Протестируйте локализованный контент викторин
3. Убедитесь, что примеры кода работают корректно
4. Проверьте локализованный контент викторин
### Метаданные перевода
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Отладка и устранение неисправностей
## Отладка и устранение неполадок
### Распространённые проблемы
### Распространенные проблемы
**Quiz app не запускается**:
**Приложение викторины не запускается**:
- Проверьте версию Node.js (рекомендуется v14+)
- Удалите `node_modules` и `package-lock.json`, выполните `npm install` заново
- Удалите `node_modules` и `package-lock.json`, заново выполните `npm install`
- Проверьте конфликты портов (по умолчанию Vite использует порт 5173)
**API сервер не стартует**:
- Убедитесь, что версия Node.js удовлетворяет минимальному требованию (node >=10)
- Проверьте, не занят ли порт другим процессом
- Убедитесь, что все зависимости установлены (`npm install`)
**API сервер не запускается**:
- Убедитесь, что версия Node.js >= 10
- Проверьте, не занят ли порт
- Убедитесь, что все зависимости установлены через `npm install`
**Расширение для браузера не загружается**:
- Проверьте правильность форматирования manifest.json
- Проверьте правильность формата manifest.json
- Проверьте консоль браузера на ошибки
- Следуйте инструкциям установки расширений для вашего браузера
- Следуйте инструкциям установки расширения для конкретного браузера
**Проблемы с Python чат-проектом**:
- Проверьте, установлен ли пакет OpenAI: `pip install openai`
- Проверьте, что установлен переменная окружения GITHUB_TOKEN
**Проблемы с проектом чата на Python**:
- Убедитесь, что пакет OpenAI установлен: `pip install openai`
- Проверьте, что переменная окружения GITHUB_TOKEN установлена
- Проверьте права доступа к GitHub Models
**Docsify не обслуживает документацию**:
**Docsify не отображает документацию**:
- Установите docsify-cli глобально: `npm install -g docsify-cli`
- Запускайте из корневой директории репозитория
- Проверьте, что существует `docs/_sidebar.md`
- Запускайте из корня репозитория
- Убедитесь, что существует файл `docs/_sidebar.md`
### Советы по рабочей среде
### Советы по окружению разработки
- Используйте VS Code с расширением Live Server для HTML-проектов
- Устанавливайте ESLint и Prettier для единообразного форматирования
- Используйте VS Code с расширением Live Server для HTML проектов
- Установите расширения ESLint и Prettier для консистентного форматирования
- Используйте DevTools браузера для отладки JavaScript
- Для Vue-проектов установите расширение Vue DevTools для браузера
- Для Vue проектов установите расширение Vue DevTools для браузера
### Особенности производительности
- Большое количество переводов (50+ языков) делает полное клонирование большим
- Используйте поверхностное клонирование, если работаете только с контентом: `git clone --depth 1`
- Исключайте переводы из поиска при работе с английским контентом
- Процессы сборки могут быть медленными при первом запуске (npm install, сборка Vite)
- Большое количество файлов перевода (более 50 языков) делает полный клон репозитория большим
- Используйте shallow clone, если работаете только с контентом: `git clone --depth 1`
- Исключайте переводы из поиска, когда работаете с английским контентом
- Сборка может быть медленной при первом запуске (npm install, сборка Vite)
## Вопросы безопасности
### Переменные окружения
- Ключи API не должны попадать в репозиторий
- Используйте файлы `.env` (уже в `.gitignore`)
- Ключи API никогда не должны коммититься в репозиторий
- Используйте `.env` файлы (уже в `.gitignore`)
- Документируйте необходимые переменные окружения в README проектов
### Python проекты
- Используйте виртуальные окружения: `python -m venv venv`
- Следите за обновлением зависимостей
- Токены GitHub должны иметь минимально необходимые разрешения
- Обновляйте зависимости
- Токены GitHub должны иметь минимально необходимые права
### Доступ к GitHub Models
- Для GitHub Models требуется Personal Access Tokens (PAT)
- Токены должны сохраняться в переменных окружения
- Никогда не коммитьте токены или учётные данные
- Для доступа к GitHub Models нужны Personal Access Tokens (PAT)
- Токены должны храниться как переменные окружения
- Никогда не коммитьте токены или учетные данные
## Дополнительные заметки
### Целевая аудитория
- Полные новички в веб-разработке
- Студенты и самостоятельные учащиеся
- Преподаватели, использующие программу в классе
- Контент разработан с учетом доступности и постепенного развития навыков
- Студенты и самоучки
- Преподаватели, использующие учебную программу в классах
- Контент разработан с акцентом на доступность и поэтапное освоение навыков
### Образовательная философия
- Проектно-ориентированный подход к обучению
- Частые проверки знаний (викторины)
- Практические задания по программированию
- Примеры для реальных применений
- Акцент на фундаментальные знания перед фреймворками
- Практические упражнения по программированию
- Примеры из реальной практики
- Акцент на фундаментальные знания перед изучением фреймворков
### Поддержка репозитория
- Активное сообщество учащихся и контрибьюторов
- Регулярные обновления зависимостей и контента
- Мониторинг вопросов и обсуждений мейнтейнерами
- Автоматизация обновлений переводов через 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/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендован для учащихся
- Дополнительные курсы: Generative AI, Data Science, ML, IoT учебные программы
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендуется учащимся
- Дополнительные курсы: Generative AI, Data Science, ML, IoT учебные программы доступны
### Работа с конкретными проектами
Для подробных инструкций по отдельным проектам смотрите 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 чат-ассистента
- `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 чат-ассистента
### Структура монорепозитория
Хотя это не традиционный монорепозиторий, репозиторий содержит несколько независимых проектов:
Хотя это не классический монорепозиторий, этот репозиторий содержит несколько независимых проектов:
- Каждый урок автономен
- Проекты не разделяют зависимости
- Работа с отдельными проектами без влияния на остальные
- Клонируйте весь репозиторий для полного опыта обучения
- Работайте над отдельными проектами без влияния на другие
- Клонируйте весь репозиторий для полного опыта учебной программы
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от ответственности**:
Этот документ был переведен с помощью сервиса автоматического перевода [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