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

pull/1793/head
localizeflow[bot] 5 months ago
parent ed05b9146a
commit 90fca12fcc

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T17:39:16+00:00", "translation_date": "2026-04-20T15:40:18+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "ar" "language_code": "ar"
}, },

@ -2,27 +2,27 @@
## نظرة عامة على المشروع ## نظرة عامة على المشروع
هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج هو دورة شاملة مدتها 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، ويشتمل على 24 درسًا عمليًا يغطي JavaScript وCSS وHTML. هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج هو دورة شاملة مدتها 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، ويضم 24 درسًا عمليًا يغطي JavaScript و CSS و HTML.
### المكونات الرئيسية ### المكونات الرئيسية
- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات قائمة على المشاريع - **المحتوى التعليمي**: 24 درسًا منظّمة ضمن وحدات قائمة على المشاريع
- **المشاريع العملية**: تيراريوم، لعبة الطباعة، إضافة متصفح، لعبة الفضاء، تطبيق بنكي، محرر الشفرات، ومساعد دردشة الذكاء الاصطناعي - **المشاريع العملية**: Terrarium، لعبة الطباعة، إضافة المتصفح، لعبة الفضاء، تطبيق البنك، محرر الأكواد، ومساعد دردشة AI
- **اختبارات تفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييمات قبل وبعد الدرس) - **اختبارات تفاعلية**: 48 اختبارًا كل منها يحتوي على 3 أسئلة (تقييمات قبل وبعد الدرس)
- **دعم لغات متعددة**: ترجمات تلقائية لأكثر من 50 لغة عبر GitHub Actions - **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة عبر GitHub Actions
- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (لمشاريع الذكاء الاصطناعي) - **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (لمشاريع الذكاء الاصطناعي)
### البنية ### الهيكلية
- مستودع تعليمي به هيكل قائم على الدروس - مستودع تعليمي به هيكلية قائمة على الدروس
- يحتوي كل مجلد درس على README وأمثلة الشفرة والحلول - يحتوي كل مجلد درس على README، وأمثلة على الشفرة، والحلول
- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع دروس متنوعة) - مشاريع قائمة بذاتها في مجلدات منفصلة (quiz-app، مشاريع دروس مختلفة)
- نظام ترجمة يستخدم GitHub Actions (co-op-translator) - نظام ترجمة يستخدم GitHub Actions (co-op-translator)
- التوثيق مقدم عبر Docsify ومتوفر كملف PDF - الوثائق مقدمة عبر Docsify ومتاحة كملفات PDF
## أوامر الإعداد ## أوامر الإعداد
هذا المستودع موجه أساسًا لاستهلاك المحتوى التعليمي. للعمل على مشاريع محددة: هذا المستودع مخصص بشكل أساسي لاستهلاك المحتوى التعليمي. للعمل على مشاريع محددة:
### إعداد المستودع الرئيسي ### إعداد المستودع الرئيسي
@ -31,24 +31,24 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners cd Web-Dev-For-Beginners
``` ```
### إعداد تطبيق الاختبار (Vue 3 + Vite) ### إعداد تطبيق الاختبارات (Vue 3 + Vite)
```bash ```bash
cd quiz-app cd quiz-app
npm install npm install
npm run dev # بدء خادم التطوير npm run dev # ابدأ خادم التطوير
npm run build # البناء للإنتاج npm run build # إنشاء للإنتاج
npm run lint # تشغيل ESLint npm run lint # تشغيل ESLint
``` ```
### واجهة برمجة تطبيقات مشروع البنك (Node.js + Express) ### API مشروع البنك (Node.js + Express)
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm install npm install
npm start # بدء خادم API npm start # بدء خادم API
npm run lint # تشغيل ESLint npm run lint # تشغيل ESLint
npm run format # التنسيق مع Prettier npm run format # التنسيق باستخدام Prettier
``` ```
### مشاريع إضافة المتصفح ### مشاريع إضافة المتصفح
@ -56,7 +56,7 @@ npm run format # التنسيق مع Prettier
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# اتبع التعليمات الخاصة بتحميل الامتداد لمتصفح معين # اتبع تعليمات تحميل الإضافات الخاصة بالمتصفح
``` ```
### مشاريع لعبة الفضاء ### مشاريع لعبة الفضاء
@ -67,7 +67,7 @@ npm install
# افتح index.html في المتصفح أو استخدم Live Server # افتح index.html في المتصفح أو استخدم Live Server
``` ```
### مشروع الدردشة (باك إند بايثون) ### مشروع الدردشة (خلفية Python)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
@ -76,33 +76,33 @@ pip install openai
python api.py python api.py
``` ```
## سير العمل في التطوير ## سير العمل التطويري
### للمساهمين في المحتوى ### للمساهمين في المحتوى
1. **انشئ فورك للمستودع** في حساب GitHub الخاص بك 1. **افتح فورك للمستودع** على حساب GitHub الخاص بك
2. **استنسخ فوركك** محليًا 2. **انسخ الفورك محليًا**
3. **أنشئ فرعًا جديدًا** لتغييراتك 3. **أنشئ فرعًا جديدًا** لتغييراتك
4. قم بإجراء تغييرات على محتوى الدروس أو أمثلة الشفرة 4. قم بإجراء تغييرات على محتوى الدرس أو أمثلة الشفرة
5. اختبر أي تغييرات بالشفرة في مجلدات المشاريع المعنية 5. اختبر أي تغييرات في الشفرة في مجلدات المشروع المعنية
6. قدم طلبات سحب وفقًا لإرشادات المساهمة 6. قدم طلبات سحب باتباع إرشادات المساهمة
### للمتعلمين ### للمتعلمين
1. أنشئ فوركًا أو استنسخ المستودع 1. افتح فورك أو انسخ المستودع
2. انتقل إلى مجلدات الدروس تباعًا 2. انتقل إلى مجلدات الدروس بترتيب متسلسل
3. اقرأ ملفات README لكل درس 3. اقرأ ملفات README لكل درس
4. أكمل اختبارات ما قبل الدرس على https://ff-quizzes.netlify.app/web/ 4. أكمل اختبارات ما قبل الدرس على https://ff-quizzes.netlify.app/web/
5. اعمل على أمثلة الشفرة في مجلدات الدرس 5. اعمل على أمثلة الشفرة في مجلدات الدرس
6. أكمل الواجبات والتحديات 6. أكمل المهام والتحديات
7. خذ اختبارات ما بعد الدرس 7. قم بأداء اختبارات ما بعد الدرس
### التطوير المباشر ### التطوير الحي
- **التوثيق**: شغل `docsify serve` من جذر المستودع (المنفذ 3000) - **الوثائق**: شغّل `docsify serve` في جذر المستودع (المنفذ 3000)
- **تطبيق الاختبارات**: شغل `npm run dev` في مجلد quiz-app - **تطبيق الاختبارات**: شغّل `npm run dev` في دليل quiz-app
- **المشاريع**: استخدم امتداد VS Code Live Server لمشاريع HTML - **المشاريع**: استخدم ملحق VS Code Live Server لمشاريع HTML
- **مشاريع API**: شغل `npm start` في مجلدات الـ API ذات الصلة - **مشاريع API**: شغّل `npm start` في مجلدات API المعنية
## تعليمات الاختبار ## تعليمات الاختبار
@ -110,173 +110,173 @@ python api.py
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # التحقق من مشكلات نمط الشفرة npm run lint # التحقق من وجود مشكلات في نمط الكود
npm run build # التحقق من نجاح البناء npm run build # التأكد من نجاح البناء
``` ```
### اختبار API البنك ### اختبار Bank API
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # التحقق من مشاكل نمط الكود npm run lint # التحقق من مشاكل تنسيق الكود
node server.js # التأكد من بدء الخادم بدون أخطاء node server.js # التأكد من أن الخادم يبدأ بدون أخطاء
``` ```
### نهج الاختبار العام ### النهج العام للاختبار
- هذا مستودع تعليمي بدون اختبارات آلية شاملة - هذا مستودع تعليمي بدون اختبارات آلية شاملة
- التركيز على الاختبار اليدوي على: - يركز الاختبار اليدوي على:
- تشغيل أمثلة الشفرة بدون أخطاء - تشغيل أمثلة الشفرة بدون أخطاء
- عمل روابط التوثيق بشكل صحيح - عمل الروابط في الوثائق بشكل صحيح
- اكتمال بناء المشاريع بنجاح - إتمام بناء المشاريع بنجاح
- اتّباع أفضل الممارسات في الأمثلة - اتباع أفضل الممارسات في الأمثلة
### فحوصات ما قبل الإرسال ### الفحوصات قبل الإرسال
- شغل `npm run lint` في المجلدات التي تحوي ملف package.json - شغّل `npm run lint` في المجلدات التي تحتوي على package.json
- تحقق من صلاحية روابط markdown - تحقق من صلاحية روابط markdown
- اختبر أمثلة الشفرة في المتصفح أو Node.js - اختبر أمثلة الشفرة في المتصفح أو Node.js
- تحقق من أن الترجمات تحافظ على البنية الصحيحة - تأكد من أن الترجمات تحافظ على الهيكلية الصحيحة
## إرشادات أسلوب كتابة الشفرة ## إرشادات نمط الترميز
### جافا سكريبت ### JavaScript
- استخدم بناء جملة ES6+ الحديثة - استخدم صِيَغ ES6+ الحديثة
- اتبع تكوين ESLint القياسي في المشاريع - اتبع تكوينات ESLint القياسية المقدمة في المشاريع
- استخدم أسماء متغيرات ودوال واضحة للتوضيح التعليمي - استخدم أسماء متغيرات ودوال ذات معنى لتوضيح التعلم
- أضف تعليقات تشرح المفاهيم للمتعلمين - أضف تعليقات تشرح المفاهيم للمتعلمين
- نسق الشفرة باستخدام Prettier حيثما تم تكوينه - نسق باستخدام Prettier حيثما تم تهيئته
### HTML/CSS ### HTML/CSS
- استخدم عناصر HTML5 الدلالية - عناصر HTML5 دلالية
- مبادئ التصميم المتجاوب - مبادئ التصميم المتجاوب
- قواعد تسمية واضحة للفئات - تسميات واضحة للفئات
- تعليقات تشرح تقنيات CSS للمتعلمين - تعليقات تشرح تقنيات CSS للمتعلمين
### بايثون ### Python
- إرشادات الأسلوب PEP 8 - إرشادات نمط PEP 8
- أمثلة شفرة واضحة وتعليمية - أمثلة شفرة واضحة وتعليمية
- تلميحات الأنواع حيث تساعد في التعلم - استخدام تلميحات النوع حيثما كان ذلك مفيدًا للتعلم
### توثيق Markdown ### توثيق Markdown
- تراتبية عناوين واضحة - هيكلية عناوين واضحة
- كتل شفرة مع تحديد اللغة - كتل شفرة مع تحديد اللغة
- روابط لمصادر إضافية - روابط لمصادر إضافية
- لقطات شاشة وصور في مجلدات `images/` - لقطات شاشة وصور في مجلدات `images/`
- نص بديل للصور لملائمة ذوي الاحتياجات - نص بديل للصور لتوفير إمكانية الوصول
### تنظيم الملفات ### تنظيم الملفات
- دروس مرقمة بالتسلسل (1-getting-started-lessons، 2-js-basics، إلخ) - ترقيم الدروس بتسلسل (1-getting-started-lessons، 2-js-basics، إلخ)
- كل مشروع يحتوي على مجلد `solution/` وغالبًا `start/` أو `your-work/` - لكل مشروع مجلدات `solution/` وغالبًا `start/` أو `your-work/`
- الصور مخزنة في مجلدات `images/` الخاصة بكل درس - تخزين الصور في مجلدات `images/` الخاصة بكل درس
- الترجمات في هيكل `translations/{language-code}/` - الترجمات ضمن هيكل `translations/{language-code}/`
## البناء والنشر ## البناء والنشر
### نشر تطبيق الاختبار (Azure Static Web Apps) ### نشر تطبيق الاختبارات (Azure Static Web Apps)
تم تهيئة quiz-app لنشر Azure Static Web Apps: تم تكوين تطبيق quiz-app للنشر عبر Azure Static Web Apps:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # ينشئ مجلد dist/ npm run build # ينشئ مجلد dist/
# ينشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي # ينشر من خلال سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي
``` ```
إعداد Azure Static Web Apps: تكوين Azure Static Web Apps:
- **موقع التطبيق**: `/quiz-app` - **موقع التطبيق**: `/quiz-app`
- **موقع الخرج**: `dist` - **موقع الإخراج**: `dist`
- **سير العمل**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **سير العمل**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### إنشاء PDF للتوثيق ### توليد ملفات PDF للوثائق
```bash ```bash
npm install # تثبيت docsify-to-pdf npm install # تثبيت docsify-to-pdf
npm run convert # إنشاء ملف PDF من docs npm run convert # توليد PDF من المستندات
``` ```
### توثيق Docsify ### توثيق Docsify
```bash ```bash
npm install -g docsify-cli # تثبيت دوكسفاي على مستوى النظام npm install -g docsify-cli # تثبيت Docsify على مستوى النظام
docsify serve # الخادم على localhost:3000 docsify serve # الخادم على localhost:3000
``` ```
### عمليات بناء خاصة بالمشاريع ### عمليات البناء الخاصة بكل مشروع
قد يحتوي كل مجلد مشروع على عملية بناء خاصة به: قد يكون لكل مجلد مشروع عملية بناء خاصة به:
- مشاريع Vue: `npm run build` لإنشاء حزَم الإنتاج - مشاريع Vue: `npm run build` لإنشاء حزم الإنتاج
- المشاريع الثابتة: لا توجد خطوة بناء، يقدم الملفات مباشرة - المشاريع الثابتة: لا توجد خطوة بناء، تقدم الملفات مباشرة
## إرشادات طلبات السحب ## إرشادات طلبات السحب
### تنسيق العنوان ### صيغة العنوان
استخدم عناوين واضحة ووصّافية تشير إلى مجال التغيير: استخدم عناوين واضحة ووصفية تشير إلى مجال التغيير:
- `[Quiz-app] إضافة اختبار جديد للدرس X` - `[Quiz-app] إضافة اختبار جديد للدرس X`
- `[Lesson-3] إصلاح خطأ في مشروع التيراريوم` - `[Lesson-3] إصلاح خطأ مطبعي في مشروع terrarium`
- `[Translation] إضافة الترجمة الإسبانية للدرس 5` - `[Translation] إضافة ترجمة إسبانية للدرس 5`
- `[Docs] تحديث تعليمات الإعداد` - `[Docs] تحديث تعليمات الإعداد`
### الفحوصات المطلوبة ### الفحوصات المطلوبة
قبل تقديم PR: قبل تقديم طلب السحب:
1. **جودة الشفرة**: 1. **جودة الشفرة**:
- شغل `npm run lint` في مجلدات المشاريع المتأثرة - شغّل `npm run lint` في مجلدات المشاريع المتأثرة
- أصلح كل أخطاء وتحذيرات اللينت - أصلح جميع أخطاء وتحذيرات اللينتر
2. **التحقق من البناء**: 2. **التحقق من البناء**:
- شغل `npm run build` إذا كان مطبقًا - شغّل `npm run build` إذا كان ذلك مناسبًا
- تأكد من عدم وجود أخطاء في البناء - تأكد من عدم وجود أخطاء في البناء
3. **التحقق من الروابط**: 3. **التحقق من الروابط**:
- اختبر كل روابط markdown - اختبر جميع روابط markdown
- تحقق من عمل مراجع الصور - تحقق من عمل مراجع الصور
4. **مراجعة المحتوى**: 4. **مراجعة المحتوى**:
- تدقيق إملائي ونحوي - تدقيق إملائي ونحوي
- التأكد من صحة وأهداف أمثلة الشفرة التعليمية - تأكد من صحة وأسلوب أمثلة الشفرة التعليمية
- مراجعة الترجمات للحفاظ على المعنى الأصلي - تحقق من دقة الترجمات والمحافظة على المعنى الأصلي
### متطلبات المساهمة ### متطلبات المساهمة
- الموافقة على اتفاقية المساهمة مع مايكروسوفت (فحص تلقائي عند PR الأول) - الموافقة على اتفاقية Microsoft CLA (فحص تلقائي عند أول PR)
- اتبع [مدونة قواعد السلوك المفتوح لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/) - الالتزام بـ [ميثاق السلوك المصدر المفتوح من Microsoft](https://opensource.microsoft.com/codeofconduct/)
- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية - انظر [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية
- أدرج أرقام القضايا في وصف PR إن وجدت - أدرج أرقام القضايا في وصف طلب السحب إذا وجد
### عملية المراجعة ### عملية المراجعة
- تراجع PRs من قِبل القائمين والمجتمع - يتم مراجعة طلبات السحب من قبل الصيانة والمجتمع
- تُعطى أولوية للوضوح التعليمي - تُعطى أولوية لوضوح المحتوى التعليمي
- يجب أن تتبع أمثلة الشفرة أفضل الممارسات الحالية - يجب أن تتبع أمثلة الشفرة أفضل الممارسات الحالية
- تراجع الترجمات من حيث الدقة والملاءمة الثقافية - تُراجع الترجمات للدقة والملائمة الثقافية
## نظام الترجمة ## نظام الترجمة
### الترجمة التلقائية ### الترجمة الآلية
- يستخدم GitHub Actions مع سير العمل co-op-translator - يستخدم GitHub Actions مع سير العمل co-op-translator
- يترجم تلقائيًا إلى أكثر من 50 لغة - يترجم تلقائيًا لأكثر من 50 لغة
- الملفات المصدرية في الدلائل الرئيسية - ملفات المصدر في الأدلة الرئيسية
- الملفات المترجمة في مجلدات `translations/{language-code}/` - ملفات الترجمة في مجلدات `translations/{language-code}/`
### إضافة تحسينات الترجمة يدويًا ### إضافة تحسينات يدوية للترجمة
1. حدّد الملف في `translations/{language-code}/` 1. حدد موقع الملف في `translations/{language-code}/`
2. قم بالتحسينات مع الحفاظ على الهيكل 2. قم بإجراء التحسينات مع الحفاظ على الهيكلية
3. تأكد من بقاء أمثلة الشفرة عملية 3. تأكد من استمرارية عمل أمثلة الشفرة
4. اختبر أي محتوى اختبارات محلي 4. اختبر أي محتوى اختبار محلي
### بيانات تعريف الترجمة ### بيانات وصفية للترجمة
تشمل الملفات المترجمة رأس بيانات تعريف: تتضمن الملفات المترجمة رأس بيانات وصفية:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -291,118 +291,118 @@ CO_OP_TRANSLATOR_METADATA:
## تصحيح الأخطاء واستكشاف المشكلات ## تصحيح الأخطاء واستكشاف المشكلات
### المشاكل الشائعة ### المشكلات الشائعة
**فشل تطبيق الاختبارات في بدء التشغيل**: **فشل تطبيق الاختبارات في البدء**:
- تحقق من إصدار Node.js (v14+ موصى به) - تحقق من إصدار Node.js (يفضل v14+)
- احذف `node_modules` و`package-lock.json` ثم شغّل `npm install` مرة أخرى - حذف `node_modules` و `package-lock.json`، ثم إعادة تشغيل `npm install`
- تحقق من تعارض المنافذ (الافتراضي: Vite يستخدم المنفذ 5173) - تحقق من تعارضات المنافذ (افتراضيًا: Vite يستخدم المنفذ 5173)
**خادم API لا يبدأ**: **عدم بدء تشغيل خادم API**:
- تحقق من أن إصدار Node.js يلبي الحد الأدنى (node >=10) - تحقق من توافق إصدار Node.js (node >=10)
- تحقق مما إذا كان المنفذ مستخدمًا بالفعل - تحقق إذا كان المنفذ مستخدمًا بالفعل
- تأكد من تثبيت كل التبعيات عبر `npm install` - تأكد من تثبيت جميع التبعيات ب`npm install`
**إضافة المتصفح لا تحمل**: **إضافة المتصفح لا تعمل**:
- تحقق من أن manifest.json منسق بشكل صحيح - تحقق من صحة تنسيق ملف manifest.json
- راجع وحدة تحكم المتصفح للأخطاء - راجع وحدة تحكم المتصفح للأخطاء
- اتبع تعليمات تثبيت الإضافة الخاصة بالمتصفح - اتبع تعليمات التثبيت الخاصة بالمتصفح
**مشكلات مشروع الدردشة بايثون**: **مشكلات مشروع دردشة Python**:
- تأكد من تثبيت حزمة OpenAI: `pip install openai` - تأكد من تثبيت حزمة OpenAI: `pip install openai`
- تحقق من تعيين متغير البيئة GITHUB_TOKEN - تحقق من تعيين متغير البيئة GITHUB_TOKEN
- راجع أذونات الوصول لنماذج GitHub - تحقق من أذونات وصول نماذج GitHub
**عدم تقديم Docsify للتوثيق**: **عدم تقديم Docsify للوثائق**:
- ثبت docsify-cli بشكل عام: `npm install -g docsify-cli` - ثبت docsify-cli عالميًا: `npm install -g docsify-cli`
- شغّل من مجلد جذر المستودع - شغل من دليل جذر المستودع
- تأكد من وجود `docs/_sidebar.md` - تحقق من وجود `docs/_sidebar.md`
### نصائح بيئة التطوير ### نصائح بيئة التطوير
- استخدم VS Code مع امتداد Live Server لمشاريع HTML - استخدم VS Code مع امتداد Live Server لمشاريع HTML
- ثبت امتدادات ESLint وPrettier للتنسيق المتناسق - ثبت امتدادات ESLint و Prettier لتنسيق موحد
- استخدم أدوات مطوري المتصفح لتصحيح JavaScript - استخدم أدوات المطور في المتصفح لتصحيح JavaScript
- لمشاريع Vue، ثبت امتداد Vue DevTools للمتصفح - لمشاريع Vue، ثبت إضافة Vue DevTools لمتصفحك
### اعتبارات الأداء ### اعتبارات الأداء
- العدد الكبير من الملفات المترجمة (أكثر من 50 لغة) يجعل النسخ الكامل كبير الحجم - العدد الكبير من ملفات الترجمة (أكثر من 50 لغة) يجعل النسخ الكامل كبير الحجم
- استخدم استنساخًا ضحلًا إذا كنت تعمل على المحتوى فقط: `git clone --depth 1` - استخدم نسخة ضحلة إذا كنت تعمل على المحتوى فقط: `git clone --depth 1`
- استبعد الترجمات من البحث عند العمل على المحتوى الإنجليزي - استبعد الترجمات من عمليات البحث عند العمل على المحتوى الإنجليزي
- عمليات البناء قد تكون بطيئة عند التشغيل الأول (npm install، بناء Vite) - عمليات البناء قد تكون بطيئة في التشغيل الأول (npm install، Vite build)
## اعتبارات الأمان ## اعتبارات الأمان
### متغيرات البيئة ### متغيرات البيئة
- يجب ألا تُدرج مفاتيح API في المستودع - يجب ألا تُخزّن مفاتيح API في المستودع
- استخدم ملفات `.env`درجة مسبقًا بسجل gitignore) - استخدم ملفات `.env`ودّجة بالفعل في `.gitignore`)
- وثّق متغيرات البيئة المطلوبة في ملفات README للمشاريع - وثّق متغيرات البيئة المطلوبة في ملفات README الخاصة بالمشاريع
### مشاريع بايثون ### مشاريع Python
- استخدم بيئات افتراضية: `python -m venv venv` - استخدم بيئات افتراضية: `python -m venv venv`
- حافظ على تحديث التبعيات - حافظ على تحديث التبعيات
- يجب أن تمتلك رموز GitHub أذونات ضيقة - يجب أن يمتلك رموز GitHub الحد الأدنى من الأذونات المطلوبة
### الوصول إلى نماذج GitHub ### وصول نماذج GitHub
- تتطلب تذاكر وصول شخصية (PAT) لنماذج GitHub - تتطلب رموز وصول شخصية (PAT) لنماذج GitHub
- يجب حفظ التذاكر كمتغيرات بيئية - يجب تخزين الرموز كمتغيرات بيئية
- لا تُدرج التذاكر أو بيانات الاعتماد في المستودع - لا تلتزم الرموز أو بيانات الاعتماد في المستودع
## ملاحظات إضافية ## ملاحظات إضافية
### الجمهور المستهدف ### الجمهور المستهدف
- مبتدئون كاملون في تطوير الويب - مبتدئون تمامًا في تطوير الويب
- الطلاب والمتعلمون ذاتيًا - الطلاب والمتعلمون الذاتيّون
- المعلمون الذين يستخدمون المنهج في الفصول الدراسية - المعلمون الذين يستخدمون المنهج في الفصول الدراسية
- المحتوى مصمم للسهولة وبناء المهارات تدريجيًا - المحتوى مصمم ليكون سهل الوصول ويُبنى المهارات تدريجيًا
### الفلسفة التعليمية ### الفلسفة التعليمية
- منهج يعتمد على المشاريع - نهج التعلم بالمشاريع
- فحوصات معرفية متكررة (اختبارات) - اختبارات متكررة للمعرفة (الاختبارات)
- تمارين عملية في البرمجة - تمارين ترميز عملية
- أمثلة تطبيقية من العالم الحقيقي - أمثلة تطبيق من الواقع
- تركيز على الأساسيات قبل الأُطُر - التركيز على الأساسيات قبل الأُطُر
### صيانة المستودع ### صيانة المستودع
- مجتمع نشط من المتعلمين والمساهمين - مجتمع نشط من المتعلمين والمساهمين
- تحديثات منتظمة للتبعيات والمحتوى - تحديثات منتظمة للتبعيات والمحتوى
- متابعة مستمرة للقضايا والنقاشات من قِبل القائمين - متابعة القضايا والمناقشات من قبل الصيانة
- تحديثات الترجمة مؤتمتة عبر GitHub Actions - تحديثات الترجمة آلية عبر GitHub Actions
### الموارد ذات الصلة ### الموارد ذات الصلة
- [وحدات Microsoft Learn](https://docs.microsoft.com/learn/) - [وحدات Microsoft Learn](https://docs.microsoft.com/learn/)
- [موارد Student Hub](https://docs.microsoft.com/learn/student-hub/) - [موارد Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) موصى به للمتعلمين - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) يُوصى به للمتعلمين
- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، التعلم الآلي، مناهج إنترنت الأشياء متاحة - دورات إضافية: الذكاء الاصطناعي التوليدي، علوم البيانات، تعلم الآلة، مناهج إنترنت الأشياء متاحة
### العمل مع مشاريع محددة ### العمل مع مشاريع محددة
للحصول على تعليمات تفصيلية عن المشاريع الفردية، راجع ملفات README في: للحصول على تعليمات مفصلة حول المشاريع الفردية، راجع ملفات README في:
- `quiz-app/README.md` - تطبيق مسابقات Vue 3 - `quiz-app/README.md` - تطبيق اختبار Vue 3
- `7-bank-project/README.md` - تطبيق بنكي مع المصادقة - `7-bank-project/README.md` - تطبيق البنك مع المصادقة
- `5-browser-extension/README.md` - تطوير إضافة المتصفح - `5-browser-extension/README.md` - تطوير إضافة المتصفح
- `6-space-game/README.md` - تطوير لعبة على Canvas - `6-space-game/README.md` - تطوير لعبة على Canvas
- `9-chat-project/README.md` - مشروع مساعد دردشة AI - `9-chat-project/README.md` - مشروع مساعد دردشة AI
### هيكل Monorepo ### هيكلية Monorepo
على الرغم من أنه ليس monorepo تقليدي، يحتوي هذا المستودع على مشاريع مستقلة متعددة: على الرغم من أنه ليس monorepo تقليدي، يحتوي هذا المستودع على مشاريع مستقلة متعددة:
- كل درس مستقل بذاته - كل درس قائم بذاته
- المشاريع لا تشترك في التبعيات - المشاريع لا تشترك في التبعيات
- العمل على مشاريع فردية دون التأثير على الأخرى - يمكنك العمل على مشاريع فردية بدون التأثير على الآخرين
- استنساخ المستودع كاملًا لتجربة المنهج الكامل - انسخ المستودع بالكامل للحصول على تجربة المنهج الكامل
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**إخلاء المسؤولية**: **تنويه**:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى للدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار الوثيقة الأصلية بلغتها الأصلية المصدر الموثوق. للمعلومات الحساسة، يُنصح بالترجمة البشرية المهنية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة. تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق والمعتمد. للمعلومات الحساسة أو الحيوية، يُنصح بالاعتماد على ترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T17:37:00+00:00", "translation_date": "2026-04-20T15:37:29+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "de" "language_code": "de"
}, },

@ -2,29 +2,29 @@
## Projektübersicht ## Projektübersicht
Dies ist ein Bildungs-Curriculum-Repository zum Vermitteln von Webentwicklungsgrundlagen für Anfänger. Das Curriculum ist ein umfassender 12-Wochen-Kurs, der von Microsoft Cloud Advocates entwickelt wurde und 24 praxisorientierte Lektionen zu JavaScript, CSS und HTML enthält. Dies ist ein Bildungs-Curriculum-Repository zum Erlernen der Grundlagen der Webentwicklung für Einsteiger. Das Curriculum ist ein umfassender 12-Wochen-Kurs, der von Microsoft Cloud Advocates entwickelt wurde und 24 praxisorientierte Lektionen zu JavaScript, CSS und HTML enthält.
### Hauptkomponenten ### Hauptkomponenten
- **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen - **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen
- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Banking-App, Code-Editor und KI-Chat-Assistent - **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Banking-App, Code-Editor und KI-Chat-Assistent
- **Interaktive Quizze**: 48 Quizze mit je 3 Fragen (Vor-/Nach-Lektionsbewertungen) - **Interaktive Quizze**: 48 Quizze mit jeweils 3 Fragen (Vor-/Nach-Lektion Bewertungen)
- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen in über 50 Sprachen via GitHub Actions - **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für über 50 Sprachen via GitHub Actions
- **Technologien**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (für KI-Projekte) - **Technologien**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (für KI-Projekte)
### Architektur ### Architektur
- Bildungsrepository mit lektionenbasierter Struktur - Bildungs-Repository mit lektionenbasierter Struktur
- Jeder Lektionen-Ordner enthält README, Codebeispiele und Lösungen - Jeder Lektionenordner enthält README, Codebeispiele und Lösungen
- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, diverse Lektionenprojekte) - Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionenprojekte)
- Übersetzungssystem mittels GitHub Actions (co-op-translator) - Übersetzungssystem unter Verwendung von GitHub Actions (co-op-translator)
- Dokumentation bereitgestellt via Docsify und als PDF verfügbar - Dokumentation bereitgestellt über Docsify und als PDF verfügbar
## Setup-Befehle ## Setup-Befehle
Dieses Repository dient hauptsächlich zum Konsumieren von Bildungsinhalten. Für die Arbeit mit spezifischen Projekten: Dieses Repository dient hauptsächlich dem Konsum von Bildungsinhalten. Für die Arbeit mit spezifischen Projekten:
### Haupt-Repository Setup ### Haupt-Repository-Setup
```bash ```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
@ -37,11 +37,11 @@ cd Web-Dev-For-Beginners
cd quiz-app cd quiz-app
npm install npm install
npm run dev # Entwicklungsserver starten npm run dev # Entwicklungsserver starten
npm run build # Für die Produktion bauen npm run build # Für die Produktion erstellen
npm run lint # ESLint ausführen npm run lint # ESLint ausführen
``` ```
### Bankprojekt API (Node.js + Express) ### Bank-Projekt API (Node.js + Express)
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
@ -56,7 +56,7 @@ npm run format # Mit Prettier formatieren
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# Befolgen Sie die browserspezifischen Anweisungen zum Laden der Erweiterung # Folgen Sie den browserspezifischen Anweisungen zum Laden der Erweiterung
``` ```
### Weltraumspiel-Projekte ### Weltraumspiel-Projekte
@ -64,7 +64,7 @@ npm install
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# Öffnen Sie index.html im Browser oder verwenden Sie Live Server # Öffne index.html im Browser oder verwende Live Server
``` ```
### Chat-Projekt (Python Backend) ### Chat-Projekt (Python Backend)
@ -72,81 +72,81 @@ npm install
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# Setzen Sie die Umgebungsvariable GITHUB_TOKEN # Setze die Umgebungsvariable GITHUB_TOKEN
python api.py python api.py
``` ```
## Entwicklungs-Workflow ## Entwicklungs-Workflow
### Für Inhaltsbeiträge ### Für Inhaltsanbieter
1. **Forke das Repository** in dein GitHub-Konto 1. **Forke das Repository** in dein GitHub-Konto
2. **Klone deinen Fork** lokal 2. **Klon deinen Fork** lokal
3. **Erstelle einen neuen Branch** für deine Änderungen 3. **Erstelle einen neuen Branch** für deine Änderungen
4. Ändere Inhalte der Lektionen oder Codebeispiele 4. Ändere Inhalte der Lektionen oder Codebeispiele
5. Teste alle Codeänderungen in den relevanten Projektverzeichnissen 5. Teste Codeänderungen in den entsprechenden Projektverzeichnissen
6. Reiche Pull Requests entsprechend der Beitragsrichtlinien ein 6. Reiche Pull Requests gemäß den Beitragsrichtlinien ein
### Für Lernende ### Für Lernende
1. Forke oder klone das Repository 1. Forke oder klone das Repository
2. Navigiere nacheinander zu den Lektionen-Ordnern 2. Navigiere nacheinander zu Lektionen-Verzeichnissen
3. Lies die README-Dateien jeder Lektion 3. Lies README-Dateien jeder Lektion
4. Mache Vorab-Quizze unter https://ff-quizzes.netlify.app/web/ 4. Absolviere Pre-Lesson-Quizze unter https://ff-quizzes.netlify.app/web/
5. Arbeite die Codebeispiele in den Lektionen durch 5. Arbeite die Codebeispiele in den Lektionenordnern durch
6. Bearbeite Aufgaben und Herausforderungen 6. Bearbeite Aufgaben und Herausforderungen
7. Absolviere Nachbereitungs-Quizze 7. Mache Post-Lesson-Quizze
### Live-Entwicklung ### Live-Entwicklung
- **Dokumentation**: Führe `docsify serve` im Root aus (Port 3000) - **Dokumentation**: Führe `docsify serve` im Root-Verzeichnis aus (Port 3000)
- **Quiz-App**: Führe `npm run dev` im quiz-app-Verzeichnis aus - **Quiz-App**: Führe `npm run dev` im Verzeichnis quiz-app aus
- **Projekte**: Nutze VS Code Live Server Erweiterung für HTML-Projekte - **Projekte**: Nutze VS Code Live Server Erweiterung für HTML-Projekte
- **API-Projekte**: Führe `npm start` in jeweiligen API-Verzeichnissen aus - **API-Projekte**: Führe `npm start` in den jeweiligen API-Verzeichnissen aus
## Testanleitungen ## Testanweisungen
### Quiz-App Tests ### Quiz-App-Tests
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Überprüfen auf Code-Stilprobleme npm run lint # Überprüfen Sie auf Code-Stil-Probleme
npm run build # Überprüfen, ob der Build erfolgreich ist npm run build # Überprüfen Sie, ob der Build erfolgreich ist
``` ```
### Bank API Tests ### Bank API-Tests
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # Überprüfen Sie auf Code-Stilprobleme npm run lint # Überprüfen Sie auf Probleme mit dem Code-Stil
node server.js # Überprüfen Sie, ob der Server ohne Fehler startet node server.js # Überprüfen Sie, ob der Server ohne Fehler startet
``` ```
### Allgemeiner Testansatz ### Allgemeiner Testansatz
- Dies ist ein Bildungsrepository ohne umfassende automatisierte Tests - Dies ist ein Bildungs-Repository ohne umfassende automatisierte Tests
- Manuelle Tests konzentrieren sich auf: - Manuelles Testen konzentriert sich auf:
- Codebeispiele laufen fehlerfrei - Codebeispiele laufen fehlerfrei
- Links in der Dokumentation funktionieren korrekt - Links in der Dokumentation funktionieren korrekt
- Projekt-Builds laufen erfolgreich durch - Projekte bauen fehlerfrei
- Beispiele folgen Best Practices - Beispiele folgen Best Practices
### Vor-Einreichungs-Checks ### Vorab-Checks vor Pull Requests
- Führe `npm run lint` in Verzeichnissen mit package.json aus - Führe `npm run lint` in Verzeichnissen mit package.json aus
- Überprüfe Markdown-Links auf Gültigkeit - Überprüfe ob Markdown-Links gültig sind
- Teste Codebeispiele im Browser oder in Node.js - Teste Codebeispiele im Browser oder Node.js
- Prüfe, dass Übersetzungen die korrekte Struktur beibehalten - Prüfe, dass Übersetzungen die richtige Struktur behalten
## Code-Stilrichtlinien ## Code Style Richtlinien
### JavaScript ### JavaScript
- Verwende moderne ES6+ Syntax - Verwende moderne ES6+ Syntax
- Beachte Standard-ESLint-Konfigurationen der Projekte - Folge den standardmäßigen ESLint-Konfigurationen der Projekte
- Nutze aussagekräftige Variablen- und Funktionsnamen zur besseren Verständlichkeit - Verwende aussagekräftige Variablen- und Funktionsnamen für Bildungszwecke
- Füge erläuternde Kommentare für Lernende hinzu - Füge erklärende Kommentare für Lernende hinzu
- Formatiere mit Prettier, wo konfiguriert - Formatiere mit Prettier, wenn konfiguriert
### HTML/CSS ### HTML/CSS
@ -158,23 +158,23 @@ node server.js # Überprüfen Sie, ob der Server ohne Fehler startet
### Python ### Python
- PEP 8 Stilrichtlinien - PEP 8 Stilrichtlinien
- Klare, didaktische Codebeispiele - Klare, bildungsorientierte Codebeispiele
- Typannotationen, wo sinnvoll für den Lernprozess - Type Hints wo hilfreich zum Lernen
### Markdown-Dokumentation ### Markdown-Dokumentation
- Klare Überschriftenhierarchie - Klare Überschriftenhierarchie
- Codeblöcke mit Sprachangabe - Codeblöcke mit Sprachangabe
- Verlinkungen zu weiteren Ressourcen - Links zu weiterführenden Ressourcen
- Screenshots und Bilder in `images/` Verzeichnissen - Screenshots und Bilder in `images/` Verzeichnissen
- Alt-Texte für Bilder zwecks Barrierefreiheit - Alt-Text für Bilder für Barrierefreiheit
### Dateiorganisation ### Dateiorganisation
- Lektionen nummeriert und sequenziell (1-getting-started-lessons, 2-js-basics, etc.) - Lektionen nummeriert (1-getting-started-lessons, 2-js-basics, etc.)
- Jedes Projekt mit `solution/` und oft `start/` oder `your-work/` Ordnern - Jedes Projekt hat `solution/` und oft `start/` oder `your-work/` Verzeichnisse
- Bilder liegen in lektionenspezifischen `images/` Ordnern - Bilder in lektionenspezifischen `images/` Ordnern
- Übersetzungen in `translations/{language-code}/` Verzeichnisstruktur - Übersetzungen in `translations/{language-code}/` Struktur
## Build und Deployment ## Build und Deployment
@ -184,8 +184,8 @@ Die quiz-app ist für Azure Static Web Apps Deployment konfiguriert:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # Erstellt Ordner dist/ npm run build # Erstellt den Ordner dist/
# Setzt Bereitstellung per GitHub Actions Workflow bei Push auf main um # Führt Bereitstellung über GitHub Actions Workflow bei Push auf main durch
``` ```
Azure Static Web Apps Konfiguration: Azure Static Web Apps Konfiguration:
@ -193,90 +193,90 @@ Azure Static Web Apps Konfiguration:
- **Output Location**: `dist` - **Output Location**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### PDF-Erstellung der Dokumentation ### Generierung der PDF-Dokumentation
```bash ```bash
npm install # Installiere docsify-to-pdf npm install # Installiere docsify-to-pdf
npm run convert # Erzeuge PDF aus docs npm run convert # Erzeuge PDF aus Docs
``` ```
### Docsify Dokumentation ### Docsify Dokumentation
```bash ```bash
npm install -g docsify-cli # Docsify global installieren npm install -g docsify-cli # Installiere Docsify global
docsify serve # Auf localhost:3000 bereitstellen docsify serve # Auf localhost:3000 bereitstellen
``` ```
### Projekt-spezifische Builds ### Projektspezifische Builds
Jedes Projektverzeichnis kann einen eigenen Buildprozess haben: Jedes Projektverzeichnis kann einen eigenen Build-Prozess besitzen:
- Vue-Projekte: `npm run build` erstellt Produktions-Bundles - Vue-Projekte: `npm run build` erstellt Produktions-Bundles
- Statische Projekte: Kein Build-Schritt, Dateien werden direkt bedient - Statische Projekte: Kein Build-Schritt, Dateien werden direkt ausgeliefert
## Pull-Request-Richtlinien ## Pull Request Richtlinien
### Titel-Format ### Titel-Format
Verwende klare, beschreibende Titel, die den Änderungsbereich angeben: Verwende klare, beschreibende Titel, die den Änderungsbereich angeben:
- `[Quiz-app] Füge neues Quiz für Lektion X hinzu` - `[Quiz-app] Neues Quiz für Lektion X hinzufügen`
- `[Lesson-3] Rechtschreibfehler im Terrarium-Projekt beheben` - `[Lesson-3] Rechtschreibfehler im Terrarium-Projekt korrigieren`
- `[Translation] Füge Spanisch-Übersetzung für Lektion 5 hinzu` - `[Translation] Spanische Übersetzung für Lektion 5 hinzufügen`
- `[Docs] Aktualisiere Setup-Anweisungen` - `[Docs] Setup-Anweisungen aktualisieren`
### Erforderliche Prüfungen ### Erforderliche Checks
Vor dem PR-Einreichen: Vor dem Einreichen eines PR:
1. **Codequalität**: 1. **Codequalität**:
- Führe `npm run lint` in betroffenen Projektverzeichnissen aus - Führe `npm run lint` in betroffenen Projektverzeichnissen aus
- Behebe alle Lint-Fehler und Warnungen - Behebe alle Linting-Fehler und Warnungen
2. **Build-Verifikation**: 2. **Build-Verifikation**:
- Führe `npm run build` falls zutreffend aus - Führe `npm run build` falls zutreffend aus
- Sicherstellen, dass keine Build-Fehler auftreten - Stelle sicher, dass keine Build-Fehler auftreten
3. **Link-Validierung**: 3. **Link-Validierung**:
- Teste alle Markdown-Links - Teste alle Markdown-Links
- Verifiziere Bildreferenzen - Überprüfe Bildreferenzen
4. **Inhaltsprüfung**: 4. **Inhaltsüberprüfung**:
- Korrekturlesen von Rechtschreibung und Grammatik - Lektorat auf Rechtschreibung und Grammatik
- Sicherstellen, dass Codebeispiele korrekt und didaktisch sind - Stelle sicher, dass Codebeispiele korrekt und didaktisch sind
- Übersetzungen auf Bedeutungsgenauigkeit prüfen - Prüfe, dass Übersetzungen den Originalinhalt richtig wiedergeben
### Beitragspflichten ### Beitragspflichten
- Zustimmung zur Microsoft CLA (automatische Prüfung beim ersten PR) - D Zustimmung zur Microsoft CLA (automatische Prüfung beim ersten PR)
- Befolgung des [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Folge dem [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Details in [CONTRIBUTING.md](./CONTRIBUTING.md) - Siehe [CONTRIBUTING.md](./CONTRIBUTING.md) für detaillierte Richtlinien
- Verweise auf Issue-Nummern im PR-Beschreibungstext falls zutreffend - Verweise Issue-Nummern im PR-Beschreibung, falls zutreffend
### Review-Prozess ### Review-Prozess
- PRs werden von Maintainer- und Community-Mitgliedern geprüft - PRs werden von Maintainer:innen und Community geprüft
- Bildungsklarheit hat Priorität - Bildnerische Klarheit hat Priorität
- Codebeispiele sollten aktuellen Best Practices entsprechen - Codebeispiele sollen aktuellen Best Practices folgen
- Übersetzungen auf Genauigkeit und kulturelle Angemessenheit geprüft - Übersetzungen werden auf Genauigkeit und kulturelle Angemessenheit geprüft
## Übersetzungssystem ## Übersetzungssystem
### Automatisierte Übersetzung ### Automatische Übersetzung
- Verwendet GitHub Actions mit co-op-translator Workflow - Nutzt GitHub Actions mit co-op-translator Workflow
- Übersetzt automatisiert in über 50 Sprachen - Übersetzt automatisch in über 50 Sprachen
- Quell-Dateien in Hauptverzeichnissen - Quelldateien in Hauptverzeichnissen
- Übersetzungen in `translations/{language-code}/` Verzeichnissen - Übersetzte Dateien in `translations/{language-code}/`
### Manuelle Verbesserungen an Übersetzungen ### Manuelle Verbesserungen der Übersetzung hinzufügen
1. Datei in `translations/{language-code}/` finden 1. Finde Datei in `translations/{language-code}/`
2. Verbesserungen vornehmen, Struktur bewahren 2. Nimm Verbesserungen vor, Struktur soll erhalten bleiben
3. Sicherstellen, dass Codebeispiele funktionsfähig bleiben 3. Sicherstellen, dass Codebeispiele funktionsfähig bleiben
4. Lokalisierte Quizinhalte testen 4. Teste ggf. Quiz-Inhalte in Lokalisation
### Übersetzungs-Metadaten ### Übersetzungs-Metadaten
Übersetzte Dateien enthalten Metadaten-Header: Übersetzte Dateien enthalten Meta-Daten-Header:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -293,88 +293,88 @@ CO_OP_TRANSLATOR_METADATA:
### Häufige Probleme ### Häufige Probleme
**Quiz-App startet nicht:** **Quiz-App startet nicht**:
- Prüfe Node.js Version (v14+ empfohlen) - Prüfe Node.js-Version (v14+ empfohlen)
- Lösche `node_modules` und `package-lock.json`, führe `npm install` erneut aus - Lösche `node_modules` und `package-lock.json`, führe `npm install` erneut aus
- Prüfe Port-Konflikte (Standard: Vite nutzt Port 5173) - Prüfe Port-Konflikte (standardmäßig Vite Port 5173)
**API-Server startet nicht:** **API-Server startet nicht**:
- Node.js Version mindestens v10 sicherstellen - Stelle sicher, dass Node.js Version >=10 ist
- Prüfe, ob Port bereits belegt ist - Prüfe, ob Port bereits belegt ist
- Alle Abhängigkeiten mit `npm install` installieren - Stelle sicher, dass alle Abhängigkeiten mit `npm install` installiert sind
**Browser-Erweiterung lädt nicht:** **Browser-Erweiterung lädt nicht**:
- Prüfe Manifest.json auf korrekte Formatierung - Prüfe, ob manifest.json korrekt formatiert ist
- Browser-Konsole auf Fehler prüfen - Schau in die Browser-Konsole auf Fehler
- Browser-spezifische Installationshinweise beachten - Folge browserspezifischen Installationsanweisungen
**Python Chat-Projekt Probleme:** **Probleme mit Python Chat-Projekt**:
- OpenAI-Paket installiert? `pip install openai` - Stelle sicher, dass OpenAI-Paket installiert ist: `pip install openai`
- Umgebungsvariable GITHUB_TOKEN gesetzt? - Prüfe, ob Umgebungsvariable GITHUB_TOKEN gesetzt ist
- Zugriff auf GitHub Models überprüft? - Prüfe GitHub Models-Zugriffsrechte
**Docsify liefert keine Docs aus:** **Docsify liefert keine Dokumentation aus**:
- docsify-cli global installieren: `npm install -g docsify-cli` - Installiere docsify-cli global: `npm install -g docsify-cli`
- Aus dem Root-Verzeichnis starten - Starte im Root-Verzeichnis des Repos
- Prüfen, ob `docs/_sidebar.md` existiert - Stelle sicher, dass `docs/_sidebar.md` existiert
### Entwicklungstipps ### Tipps zur Entwicklungsumgebung
- Nutze VS Code mit Live Server Erweiterung für HTML-Projekte - Verwende VS Code mit Live Server-Erweiterung für HTML-Projekte
- Installiere ESLint und Prettier Extensions für konsistente Formatierung - Installiere ESLint und Prettier Erweiterungen für konsistente Formatierung
- Verwende Browser DevTools zum Debuggen von JavaScript - Nutze Browser DevTools zum Debuggen von JavaScript
- Für Vue-Projekte Vue DevTools Browser Extension installieren - Für Vue-Projekte: Installiere Vue DevTools Browser Erweiterung
### Performance-Aspekte ### Performance-Überlegungen
- Große Anzahl übersetzter Dateien (50+ Sprachen) führt zu großen Klonen - Große Anzahl übersetzter Dateien (50+ Sprachen) führt zu großen Vollklonen
- Nutze shallow clone, wenn nur mit Inhalten gearbeitet wird: `git clone --depth 1` - Verwende flachen Klon wenn nur Inhalt bearbeitet wird: `git clone --depth 1`
- Übersetzungen bei englischer Bearbeitung von Suchen ausschließen - Schließe Übersetzungen von Suchvorgängen aus, wenn du an englischen Inhalten arbeitest
- Build-Prozesse können beim ersten Mal langsam sein (npm install, Vite build) - Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite Build)
## Sicherheitsaspekte ## Sicherheitsüberlegungen
### Umgebungsvariablen ### Umgebungsvariablen
- API-Schlüssel niemals im Repository speichern - API-Schlüssel dürfen niemals im Repository hinterlegt werden
- `.env` Dateien nutzen (bereits in `.gitignore` enthalten) - Verwende `.env`-Dateien (schon in `.gitignore` enthalten)
- Benötigte Umgebungsvariablen in Projekt-README dokumentieren - Dokumentiere benötigte Umgebungsvariablen in Projekt-READMEs
### Python-Projekte ### Python-Projekte
- Virtuelle Umgebungen verwenden: `python -m venv venv` - Nutze virtuelle Umgebungen: `python -m venv venv`
- Abhängigkeiten aktuell halten - Halte Abhängigkeiten aktuell
- GitHub-Tokens minimal erforderliche Rechte geben - GitHub-Tokens sollten minimale erforderliche Berechtigungen haben
### Zugang zu GitHub Models ### GitHub Models Zugriff
- Personal Access Tokens (PAT) für GitHub Models erforderlich - Personal Access Tokens (PAT) sind für GitHub Models erforderlich
- Tokens als Umgebungsvariablen speichern - Tokens sollten als Umgebungsvariablen gespeichert werden
- Keine Tokens oder Credentials commiten - Tokens oder Zugangsdaten niemals committen
## Weitere Hinweise ## Zusätzliche Hinweise
### Zielgruppe ### Zielgruppe
- Totale Anfänger in der Webentwicklung - Absolute Anfänger in der Webentwicklung
- Studenten und autodidaktische Lernende - Studierende und autodidaktische Lernende
- Lehrende, die das Curriculum im Unterricht verwenden - Lehrkräfte, die das Curriculum im Unterricht verwenden
- Inhalte sind auf Zugänglichkeit und graduelles Kompetenzaufbau ausgelegt - Inhalte sind auf Barrierefreiheit und schrittweise Kompetenzentwicklung ausgelegt
### Pädagogische Philosophie ### Pädagogische Philosophie
- Projektbasierter Lernansatz - Projektbasiertes Lernen
- Häufige Wissensüberprüfungen (Quizze) - Regelmäßige Wissensüberprüfungen (Quizze)
- Praktische Programmierübungen - Praxisorientierte Coding-Übungen
- Beispiele aus realen Anwendungsfällen - Beispiele aus der realen Welt
- Fokus auf Grundlagen vor Frameworks - Fokus auf Grundlagen vor Frameworks
### Repository-Pflege ### Repository-Wartung
- Aktive Community von Lernenden und Mitwirkenden - Aktive Community aus Lernenden und Beitragenden
- Regelmäßige Aktualisierung der Abhängigkeiten und Inhalte - Regelmäßige Updates von Abhängigkeiten und Inhalten
- Beobachtung von Issues und Diskussionen durch Maintainer - Probleme und Diskussionen werden von Maintainer:innen überwacht
- Übersetzungsupdates automatisiert über GitHub Actions - Übersetzungsupdates automatisiert via GitHub Actions
### Verwandte Ressourcen ### Verwandte Ressourcen
@ -385,24 +385,24 @@ CO_OP_TRANSLATOR_METADATA:
### Arbeit mit spezifischen Projekten ### Arbeit mit spezifischen Projekten
Für detaillierte Anleitungen zu einzelnen Projekten siehe README-Dateien in: Für detaillierte Anweisungen zu einzelnen Projekten siehe README-Dateien in:
- `quiz-app/README.md` - Vue 3 Quiz-Anwendung - `quiz-app/README.md` - Vue 3 Quiz-Anwendung
- `7-bank-project/README.md` - Banking-Anwendung mit Authentifizierung - `7-bank-project/README.md` - Banking-Anwendung mit Authentifizierung
- `5-browser-extension/README.md` - Browsererweiterungsentwicklung - `5-browser-extension/README.md` - Browser-Erweiterungsentwicklung
- `6-space-game/README.md` - Canvas-basiertes Spiel - `6-space-game/README.md` - Canvas-basiertes Spiel
- `9-chat-project/README.md` - KI-Chat-Assistent Projekt - `9-chat-project/README.md` - KI-Chat-Assistent Projekt
### Monorepo-Struktur ### Monorepo-Struktur
Obwohl kein traditionelles Monorepo, enthält dieses Repository mehrere unabhängige Projekte: Obgleich kein klassisches Monorepo, enthält dieses Repository mehrere unabhängige Projekte:
- Jede Lektion ist eigenständig - Jede Lektion ist autark
- Projekte teilen keine Abhängigkeiten - Projekte teilen keine Abhängigkeiten
- Arbeit an einzelnen Projekten ohne Beeinflussung anderer möglich - Arbeit an einzelnen Projekten ohne Einfluss auf andere
- Komplettes Repository klonen für das vollständige Curriculum-Erlebnis - Gesamtes Repo klonen für das komplette Curriculum-Erlebnis
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Haftungsausschluss**: **Haftungsausschluss**:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Verwendung dieser Übersetzung ergeben. Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir Genauigkeit anstreben, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die durch die Verwendung dieser Übersetzung entstehen.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T17:38:08+00:00", "translation_date": "2026-04-20T15:38:53+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "ru" "language_code": "ru"
}, },

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