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

pull/1774/head
localizeflow[bot] 6 months ago
parent 165e807554
commit b56c4f2f9e

@ -1,7 +1,7 @@
{ {
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": { "1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8", "original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-06T16:49:23+00:00", "translation_date": "2026-03-27T21:40:57+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "ar" "language_code": "ar"
}, },
@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:52:52+00:00", "translation_date": "2026-03-27T21:44:05+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "ar" "language_code": "ar"
}, },

@ -2,23 +2,23 @@
## نظرة عامة على المشروع ## نظرة عامة على المشروع
هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا طورتها Microsoft Cloud Advocates، تشمل 24 درسًا عمليًا تغطي JavaScript و CSS و HTML. هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا تم تطويرها من قبل دعاة سحابة مايكروسوفت، تتضمن 24 درسًا عمليًا تغطي جافا سكريبت، CSS، وHTML.
### المكونات الرئيسية ### المكونات الرئيسية
- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات تعتمد على المشاريع - **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات قائمة على المشاريع
- **مشاريع عملية**: Terrarium, لعبة الطباعة، امتداد المتصفح، لعبة الفضاء، تطبيق مصرفي، محرر كود، ومساعد دردشة ذكي - **مشاريع عملية**: Terrarium، لعبة الكتابة، امتداد المتصفح، لعبة الفضاء، تطبيق البنك، محرر التعليمات البرمجية، ومساعد دردشة بالذكاء الاصطناعي
- **اختبارات تفاعلية**: 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، بايثون (لمشاريع الذكاء الاصطناعي)
### الهيكلية ### الهيكلية
- مستودع تعليمي به هيكل يعتمد على الدروس - مستودع تعليمي به هيكل قائم على الدروس
- يحتوي كل مجلد درس على README، أمثلة الكود، والحلول - يحتوي كل مجلد درس على README، أمثلة تعليمية، وحلول
- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع الدروس المختلفة) - مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع الدروس المختلفة)
- نظام ترجمة باستخدام GitHub Actions (co-op-translator) - نظام الترجمة يستخدم GitHub Actions (co-op-translator)
- توثيق مقدم عبر Docsify ومتوافر كملف PDF - الوثائق مقدمة عبر Docsify ومتوفرة أيضًا كملف PDF
## أوامر الإعداد ## أوامر الإعداد
@ -36,8 +36,8 @@ cd Web-Dev-For-Beginners
```bash ```bash
cd quiz-app cd quiz-app
npm install npm install
npm run dev # ابدأ خادم التطوير npm run dev # بدء خادم التطوير
npm run build # بناء للإنتاج npm run build # البناء للإنتاج
npm run lint # تشغيل ESLint npm run lint # تشغيل ESLint
``` ```
@ -56,7 +56,7 @@ npm run format # التنسيق باستخدام Prettier
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# اتبع تعليمات تحميل الإضافات الخاصة بالمتصفح # اتبع تعليمات تحميل الإضافة الخاصة بالمتصفح
``` ```
### مشاريع لعبة الفضاء ### مشاريع لعبة الفضاء
@ -64,45 +64,45 @@ npm install
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# افتح index.html في المتصفح أو استخدم Live Server # افتح index.html في المتصفح أو استخدم الخادم الحي
``` ```
### مشروع الدردشة (باك إند بايثون) ### مشروع الدردشة (خلفية بايثون)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# تعيين متغير البيئة GITHUB_TOKEN # تعيين المتغير البيئي GITHUB_TOKEN
python api.py python api.py
``` ```
## سير العمل التطويري ## سير عمل التطوير
### للمساهمين في المحتوى ### للمساهمين في المحتوى
1. **فرع المستودع** إلى حسابك على 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
- **المشاريع**: استخدم إضافة Live Server في VS Code لمشاريع HTML - **المشاريع**: استخدم ملحق VS Code Live Server لمشاريع HTML
- **مشاريع API**: شغّل `npm start` في مجلدات API المعنية - **مشاريع API**: شغل `npm start` في مجلدات API المعنية
## تعليمات الاختبار ## تعليمات الاختبار
@ -111,172 +111,172 @@ python api.py
```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 - تحقق من صحة روابط الماركداون
- اختبر أمثلة الكود في المتصفح أو Node.js - اختبر أمثلة الشيفرة في المتصفح أو Node.js
- تأكد من أن الترجمات تحافظ على الهيكل الصحيح - تأكد من أن الترجمة تحافظ على البنية الصحيحة
## إرشادات نمط الكود ## إرشادات نمط الشيفرة
### جافا سكريبت ### جافا سكريبت
- استخدم صياغة ES6+ الحديثة - استخدام صياغة ES6+ الحديثة
- اتبع تكوينات ESLint القياسية المقدمة في المشاريع - اتباع تهيئات ESLint القياسية المقدمة في المشاريع
- استخدم أسماء متغيرات ودوال ذات معنى لتعزيز وضوح التعليم - استخدام أسماء متغيرات ودوال ذات معنى للتوضيح التعليمي
- أضف تعليقات تشرح المفاهيم للمتعلمين - إضافة تعليقات تشرح المفاهيم للمتعلمين
- نسق باستخدام Prettier حيثما تم التكوين - التنسيق باستخدام Prettier حيثما تم التهيئة
### HTML/CSS ### HTML/CSS
- استخدم عناصر HTML5 الدلالية - عناصر HTML5 الدلالية
- مبادئ التصميم المتجاوب - مبادئ التصميم المتجاوب
- تسميات واضحة للفئات (class) - تسميات واضحة للفئات (classes)
- تعليقات تشرح تقنيات CSS للمتعلمين - تعليقات تشرح تقنيات CSS للمتعلمين
### بايثون ### بايثون
- اتبع إرشادات نمط PEP 8 - إرشادات نمط PEP 8
- أمثلة كود واضحة وتعليمية - أمثلة شيفرة واضحة وتعليمية
- استخدم تنبيهات النوع (Type hints) إن كان مفيدًا للتعلم - تعليمات النوع حيثما تسهل التعلم
### توثيق 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: تم تهيئة تطبيق الاختبار للنشر على 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 من المستندات npm run convert # توليد ملف PDF من المستندات
``` ```
### توثيق Docsify ### توثيق Docsify
```bash ```bash
npm install -g docsify-cli # تثبيت Docsify على مستوى النظام npm install -g docsify-cli # تثبيت Docsify على مستوى النظام
docsify serve # الخادم على localhost:3000 docsify serve # الخدمة على localhost:3000
``` ```
### بناء خاص بكل مشروع ### بناء خاص بكل مشروع
قد يحتوي كل مجلد مشروع على عملية بناء خاصة به: قد يحتوي كل مشروع على عملية بناء خاصة به:
- مشاريع Vue: `npm run build` لإنشاء الحزم للإنتاج - مشاريع Vue: أمر `npm run build` لإنشاء حزم الإنتاج
- المشاريع الثابتة: لا توجد خطوة بناء، تقديم الملفات مباشرة - المشاريع الثابتة: لا تحتاج لخطوة بناء، تقدم الملفات مباشرة
## إرشادات طلبات السحب ## إرشادات طلب السحب
### صيغة العنوان ### صيغة العنوان
استخدم عناوين واضحة وواصفة تشير إلى مجال التغيير: استخدم عناوين واضحة ووصفيه تشير إلى مجال التغيير:
- `[Quiz-app] أضف اختبارًا جديدًا للدرس X` - `[Quiz-app] إضافة اختبار جديد للدرس X`
- `[Lesson-3] أصلح خطأ إملائي في مشروع Terrarium` - `[Lesson-3] تصحيح خطأ إملائي في مشروع terrarium`
- `[Translation] أضف ترجمة إسبانية للدرس 5` - `[Translation] إضافة الترجمة الإسبانية للدرس 5`
- `[Docs] حدث تعليمات الإعداد` - `[Docs] تحديث تعليمات الإعداد`
### الفحوصات المطلوبة ### الفحوصات المطلوبة
قبل إرسال طلب السحب: قبل تقديم طلب السحب:
1. **جودة الكود**: 1. **جودة الشيفرة**:
- شغّل `npm run lint` في مجلدات المشاريع المتأثرة - شغّل `npm run lint` في مجلدات المشاريع
- أصلح جميع أخطاء التحليل التحذيرية - أصلح جميع أخطاء وإنذارات الفحص
2. **التحقق من البناء**: 2. **التحقق من البناء**:
- شغّل `npm run build` إذا كان ذلك مطبقًا - نفذ `npm run build` إن استدعى الأمر
- تأكد من عدم وجود أخطاء في البناء - تحقق من عدم وجود أخطاء في البناء
3. **التحقق من الروابط**: 3. **التحقق من الروابط**:
- اختبر جميع روابط markdown - اختبر جميع روابط الماركداون
- تحقق من عمل مراجع الصور - تحقق من عمل إشارات الصور
4. **مراجعة المحتوى**: 4. **مراجعة المحتوى**:
- تدقيق إملائي ونحوي - تدقيق نحوي وإملائي
- تأكد من صحة أمثلة الكود وتعليميتها - التأكد من صحة أمثلة الشيفرات وجودتها التعليمية
- تحقق من المحافظة على المعنى الأصلي في الترجمات - التأكد من دقة الترجمات ومعناها الأصلي
### متطلبات المساهمة ### متطلبات المساهمة
- الموافقة على اتفاقية ترخيص المساهمة من Microsoft (فحص تلقائي في أول طلب سحب) - الموافقة على اتفاقية ترخيص مساهمات مايكروسوفت (فحص آلي على أول طلب سحب)
- الالتزام ب[مدونة السلوك المفتوحة لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/) - اتباع [مدونة قواعد السلوك المفتوح لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/)
- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية - راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للتفاصيل
- أشر إلى أرقام القضايا في وصف طلب السحب إن وجد - المرجعية لأرقام القضايا في وصف طلب السحب إن وجد
### عملية المراجعة ### عملية المراجعة
- مراجعة طلبات السحب من قبل الصيانة والمجتمع - مراجعة طلبات السحب من قبل الصيانة والمجتمع
- الأولوية لوضوح التعليم - التركيز على الوضوح التعليمي
- يجب أن تتبع أمثلة الكود أفضل الممارسات الحالية - يجب أن تتبع أمثلة الشيفرة أفضل الممارسات الحالية
- مراجعة الترجمات للدقة والملاءمة الثقافية - مراجعة الترجمات للتحقق من الدقة والتوافق الثقافي
## نظام الترجمة ## نظام الترجمة
### الترجمة الآلية ### الترجمة الآلية
- يستخدم 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:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## التحري عن الأخطاء وحل المشاكل ## تصحيح الأخطاء واستكشاف المشاكل
### المشاكل الشائعة ### مشاكل شائعة
**فشل تطبيق الاختبار في البدء**: **فشل بدء تطبيق الاختبار**:
- تحقق من إصدار Node.js (ينصح v14+) - تحقق من إصدار Node.js (يفضل v14+)
- احذف `node_modules` و `package-lock.json`، ثم أعد تشغيل `npm install` - احذف `node_modules` و `package-lock.json`، ثم شغل `npm install` من جديد
- تحقق من تعارض المنافذ (افتراضي: Vite يستخدم المنفذ 5173) - تحقق من تعارض المنافذ (Vite الافتراضي يستخدم المنفذ 5173)
**عدم بدء خادم API**: **خادم API لا يبدأ**:
- تحقق من أن نسخة Node.js تفي بالحد الأدنى (node >=10) - تحقق من أن إصدار Node.js مناسب (node >=10)
- تحقق إذا كان المنفذ مستخدمًا بالفعل - تحقق مما إذا كان المنفذ قيد الاستخدام بالفعل
- تأكد من تثبيت جميع التبعيات باستخدام `npm install` - تأكد من تثبيت جميع التبعيات عبر `npm install`
**امتداد المتصفح لا يعمل**: **امتداد المتصفح لا يعمل**:
- تحقق من صحة صياغة manifest.json - تحقق من تنسيق manifest.json بشكل صحيح
- تحقق من وحدة تحكم المتصفح للأخطاء - راجع أخطاء وحدة تحكم المتصفح
- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح - اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح
**مشاكل مشروع الدردشة بايثون**: **مشاكل مشروع دردشة بايثون**:
- تأكد من تثبيت حزمة 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
- لمشاريع Vue، ثبت إضافة Vue DevTools للمتصفح - لمشاريع Vue، ثبت ملحق Vue DevTools للمتصفح
### اعتبارات الأداء ### اعتبارات الأداء
- عدد كبير من الملفات المترجمة (أكثر من 50 لغة) يجعل النسخ الكاملة كبيرًا - عدد كبير من الملفات المترجمة (>50 لغة) يعني أن الاستنساخ الكامل ضخم
- استخدم استنساخ عميق ضحل عند العمل على المحتوى فقط: `git clone --depth 1` - استخدم استنساخ ضحل إذا كنت تعمل فقط على المحتوى: `git clone --depth 1`
- استبعد الترجمات من عمليات البحث عند العمل على المحتوى الإنجليزي - استثنِ الترجمات من البحث عند العمل على المحتوى بالإنجليزية
- عمليات البناء قد تكون بطيئة في أول تشغيل (npm install، بناء Vite) - قد تكون عمليات البناء بطيئة في التشغيل الأول (npm install، بناء Vite)
## اعتبارات الأمان ## اعتبارات الأمان
### متغيرات البيئة ### متغيرات البيئة
- يجب ألا يتم الالتزام بمفاتيح API في المستودع - لا يجب أبدًا تضمين مفاتيح API في المستودع
- استخدم ملفات `.env` (مضمّنة في `.gitignore`) - استخدم ملفات `.env` (مضمّنة بالفعل في `.gitignore`)
- وثّق متغيرات البيئة المطلوبة في ملفات README الخاصة بالمشاريع - وثق متغيرات البيئة المطلوبة في ملفات README للمشاريع
### مشاريع بايثون ### مشاريع بايثون
- استخدم بيئات افتراضية: `python -m venv venv` - استخدم بيئات افتراضية: `python -m venv venv`
- حافظ على تحديث التبعيات - حافظ على تحديث التبعيات
- يجب أن تمتلك رموز GitHub صلاحيات قليلة قدر الإمكان - يجب أن تمتلك رموز GitHub أقل الصلاحيات المطلوبة
### وصول نماذج GitHub ### وصول نماذج GitHub
- يتطلب الوصول رموز وصول شخصية (PAT) - تتطلب رموز وصول شخصية (PAT) لنماذج GitHub
- يجب تخزين الرموز كمتغيرات بيئة - يجب تخزين الرموز كمتغيرات بيئية
- لا تلتزم الرموز أو بيانات الاعتماد في المستودع - لا تقم أبدًا بتضمين الرموز أو بيانات الاعتماد في المستودع
## ملاحظات إضافية ## ملاحظات إضافية
### الجمهور المستهدف ### الجمهور المستهدف
- مبتدئون تامون في تطوير الويب - المبتدئون الكاملون في تطوير الويب
- الطلاب والتعلم الذاتي - الطلاب والمتعلمون الذاتيّون
- المعلمون الذين يستخدمون المنهج داخل الصفوف - المعلمون الذين يستخدمون المنهج داخل الفصول الدراسية
- المحتوى مصمم للوصول السهل وبناء المهارات تدريجيًا - تم تصميم المحتوى ليكون وصوليًا وبناء مهارات تدريجي
### الفلسفة التعليمية ### فلسفة التعليم
- نهج التعلم القائم على المشاريع - نهج التعلم القائم على المشاريع
- اختبارات معرفة متكررة (اختبارات قصيرة) - فحوصات معرفية متكررة (اختبارات)
- تمارين عملية في البرمجة - تمارين تعليمية عملية
- أمثلة تطبيقية من العالم الحقيقي - أمثلة تطبيقية من الواقع
- التركيز على الأساسيات قبل الأُطُر (frameworks) - التركيز على الأساسيات قبل الأُطُر البرمجية
### صيانة المستودع ### صيانة المستودع
- مجتمع نشط من المتعلمين والمساهمين - مجتمع نشط من المتعلمين والمساهمين
- تحديثات منتظمة للتبعيات والمحتوى - تحديثات منتظمة للتبعيات والمحتوى
- مراقبة القضايا والمناقشات من قِبل القائمين على الصيانة - مراقبة القضايا والنقاشات من قبل الصيانة
- تحديثات الترجمة مؤتمتة عبر 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` - مشروع مساعد دردشة ذكي - `9-chat-project/README.md` - مشروع مساعد دردشة بالذكاء الاصطناعي
### هيكل المونوريبوزيتوري ### هيكلية المونوريبو
بينما ليس مونوريبوزيتوري تقليدي، يحتوي هذا المستودع على مشاريع مستقلة متعددة: رغم أنه ليس مونوريبو تقليدي، يحتوي هذا المستودع على عدة مشاريع مستقلة:
- كل درس مستقل ذاتيًا - كل درس مستقل بذاته
- المشاريع لا تشترك في التبعيات - المشاريع لا تشترك في التبعيات
- العمل على المشاريع الفردية بدون التأثير على الأخرى - يمكنك العمل على مشاريع فردية دون التأثير على الأخرى
- استنسخ المستودع كاملًا للحصول على تجربة المنهج الكامل - استنسخ المستودع كاملًا لتجربة المنهج الكامل
--- ---
<!-- 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 -->

@ -1,7 +1,7 @@
{ {
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": { "1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8", "original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-06T16:37:25+00:00", "translation_date": "2026-03-27T21:33:43+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "de" "language_code": "de"
}, },
@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:50:26+00:00", "translation_date": "2026-03-27T21:42:04+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "de" "language_code": "de"
}, },

@ -2,42 +2,42 @@
## Projektübersicht ## Projektübersicht
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 umfasst. Dies ist ein Bildungs-Curriculum-Repository zum Unterrichten der Grundlagen der Webentwicklung für Anfänger. Das Curriculum ist ein umfassender 12-wöchiger Kurs, entwickelt von Microsoft Cloud Advocates, mit 24 praktischen Lektionen zu JavaScript, CSS und HTML.
### Hauptkomponenten ### Hauptbestandteile
- **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen - **Bildungsinhalt**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen
- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Bank-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 jeweils 3 Fragen (Vor-/Nach-Lektion-Bewertungen) - **Interaktive Quizze**: 48 Quizze mit jeweils 3 Fragen (Vor-/Nach-Lektion-Bewertungen)
- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für über 50 Sprachen via GitHub Actions - **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für 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
- Bildungs-Repository mit lektionenbasierter Struktur - Bildungsrepository mit lektionenbasierter Struktur
- Jeder Lektionen-Ordner enthält README, Code-Beispiele und Lösungen - Jeder Lektionenordner enthält README, Codebeispiele und Lösungen
- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionenprojekte) - Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionen-Projekte)
- Übersetzungssystem mit GitHub Actions (co-op-translator) - Übersetzungssystem mit GitHub Actions (co-op-translator)
- Dokumentation bereitgestellt über Docsify und als PDF verfügbar - Dokumentation bereitgestellt via Docsify und als PDF verfügbar
## Setup-Befehle ## Einrichtung Befehle
Dieses Repository dient hauptsächlich dem Konsum von Bildungsinhalten. Für die Arbeit mit bestimmten Projekten: Dieses Repository dient hauptsächlich zum Konsumieren von Bildungsinhalten. Für die Arbeit mit spezifischen Projekten:
### Haupt-Repository-Setup ### Haupt-Repository-Einrichtung
```bash ```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners cd Web-Dev-For-Beginners
``` ```
### Quiz-App Setup (Vue 3 + Vite) ### Quiz-App Einrichtung (Vue 3 + Vite)
```bash ```bash
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 Produktion erstellen npm run build # Für die Produktion bauen
npm run lint # ESLint ausführen npm run lint # ESLint ausführen
``` ```
@ -51,7 +51,7 @@ npm run lint # ESLint ausführen
npm run format # Mit Prettier formatieren npm run format # Mit Prettier formatieren
``` ```
### Browser-Erweiterungs-Projekte ### Browser-Erweiterungsprojekte
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
@ -64,7 +64,7 @@ npm install
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# Öffne index.html im Browser oder verwende Live Server # Öffnen Sie index.html im Browser oder verwenden Sie Live Server
``` ```
### Chat-Projekt (Python Backend) ### Chat-Projekt (Python Backend)
@ -76,105 +76,105 @@ pip install openai
python api.py python api.py
``` ```
## Entwicklungs-Workflow ## Entwicklungsablauf
### Für Inhaltsbeiträge ### Für Inhaltsmitwirkende
1. **Forken Sie das Repository** in Ihr GitHub-Konto 1. **Forke das Repository** in deinem GitHub-Konto
2. **Klonen Sie Ihren Fork** lokal 2. **Klonen deinen Fork** lokal
3. **Erstellen Sie einen neuen Branch** für Ihre Änderungen 3. **Erstelle einen neuen Branch** für deine Änderungen
4. Nehmen Sie Änderungen am Lektionstext oder Codebeispielen vor 4. Änderungen an Lektionstexten oder Codebeispielen vornehmen
5. Testen Sie Codeänderungen in relevanten Projektverzeichnissen 5. Codeänderungen in relevanten Projektverzeichnissen testen
6. Reichen Sie Pull-Requests gemäß den Beitragsrichtlinien ein 6. Pull Requests entsprechend der Beitragsrichtlinien einreichen
### Für Lernende ### Für Lernende
1. Repository forken oder klonen 1. Repository forken oder klonen
2. Navigieren Sie sequentiell durch die Lektionen-Ordner 2. Nacheinander durch Lektionenverzeichnisse navigieren
3. Lesen Sie die README-Dateien für jede Lektion 3. README-Dateien jeder Lektion lesen
4. Machen Sie Vor-Lektionen-Quizze unter https://ff-quizzes.netlify.app/web/ 4. Vor-Lektion-Quizze auf https://ff-quizzes.netlify.app/web/ absolvieren
5. Arbeiten Sie die Codebeispiele in den Lektionen-Ordnern durch 5. Codebeispiele in Lektionenordnern durcharbeiten
6. Erledigen Sie Aufgaben und Herausforderungen 6. Aufgaben und Herausforderungen abschließen
7. Nehmen Sie an Nach-Lektionen-Quizzen teil 7. Nach-Lektion-Quizze machen
### Live-Entwicklung ### Live-Entwicklung
- **Dokumentation**: Führen Sie `docsify serve` im Root-Verzeichnis aus (Port 3000) - **Dokumentation**: `docsify serve` im Root ausführen (Port 3000)
- **Quiz-App**: Führen Sie `npm run dev` im quiz-app-Verzeichnis aus - **Quiz-App**: `npm run dev` im quiz-app-Verzeichnis ausführen
- **Projekte**: Verwenden Sie die VS Code Live Server-Erweiterung für HTML-Projekte - **Projekte**: Verwende VS Code Live Server Erweiterung für HTML-Projekte
- **API-Projekte**: Führen Sie `npm start` in den jeweiligen API-Verzeichnissen aus - **API-Projekte**: `npm start` in jeweiligen API-Verzeichnissen ausführen
## Testanweisungen ## Testanweisungen
### Quiz-App Testen ### Quiz-App Test
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Überprüfen Sie auf Stilprobleme im Code npm run lint # Überprüfen Sie auf Probleme mit dem Code-Stil
npm run build # Stellen Sie sicher, dass der Build erfolgreich ist npm run build # Überprüfen Sie, ob der Build erfolgreich ist
``` ```
### Bank-API Testen ### Bank API Test
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # Überprüfe auf Code-Stilprobleme npm run lint # Überprüfen auf Probleme mit dem Code-Stil
node server.js # Verifiziere, dass der Server ohne Fehler startet node server.js # Überprüfen, ob der Server ohne Fehler startet
``` ```
### Allgemeiner Testansatz ### Allgemeiner Testansatz
- Dies ist ein Bildungs-Repository ohne umfassende automatisierte Tests - Dies ist ein Bildungsrepository ohne umfassende automatisierte Tests
- Manuelles Testen konzentriert sich auf: - Manueller Testfokus:
- Fehlerfreies Ausführen der Codebeispiele - Codebeispiele laufen fehlerfrei
- Funktionierende Links in der Dokumentation - Links in der Dokumentation funktionieren korrekt
- Erfolgreiche Projekt-Builds - Projekt-Builds werden erfolgreich abgeschlossen
- Einhaltung von Best Practices in den Beispielen - Beispiele folgen Best Practices
### Prüfungen vor dem Einreichen ### Vor-Einreichungs-Checks
- Führen Sie `npm run lint` in Verzeichnissen mit package.json aus - `npm run lint` in Verzeichnissen mit package.json ausführen
- Überprüfen Sie die Gültigkeit der Markdown-Links - Markdown-Links auf Gültigkeit prüfen
- Testen Sie Codebeispiele im Browser oder Node.js - Codebeispiele im Browser oder Node.js testen
- Stellen Sie sicher, dass Übersetzungen die Struktur beibehalten - Prüfen, dass Übersetzungen die richtige Struktur beibehalten
## Code-Stilrichtlinien ## Code-Stilrichtlinien
### JavaScript ### JavaScript
- Verwenden Sie moderne ES6+-Syntax - Nutze moderne ES6+ Syntax
- Folgen Sie den standardmäßigen ESLint-Konfigurationen in den Projekten - Folge den standardmäßigen ESLint-Konfigurationen in Projekten
- Verwenden Sie aussagekräftige Variablen- und Funktionsnamen zur besseren Verständlichkeit - Verwende aussagekräftige Variablen- und Funktionsnamen zur Bildungsklarheit
- Fügen Sie Kommentare zur Erklärung von Konzepten für Lernende hinzu - Füge Kommentare hinzu, die Konzepte für Lernende erklären
- Formatieren Sie mit Prettier, wo konfiguriert - Formatierung mit Prettier, wenn konfiguriert
### HTML/CSS ### HTML/CSS
- Semantische HTML5-Elemente - Semantische HTML5-Elemente
- Prinzipien des responsiven Designs - Responsive Design Prinzipien
- Klare Klassennamen-Konventionen - Klare Klassennamen-Konventionen
- Kommentare zur Erklärung von CSS-Techniken für Lernende - Kommentare, die CSS-Techniken für Lernende erklären
### Python ### Python
- PEP 8 Stilrichtlinien - PEP 8 Stilrichtlinien
- Klare, didaktische Codebeispiele - Klare, lehrreiche Codebeispiele
- Typ-Hinweise, wo hilfreich für das Lernen - Typ-Hinweise, wo hilfreich für das Lernen
### Markdown-Dokumentation ### Markdown-Dokumentation
- Klare Gliederungshierarchie - Klare Überschriften-Hierarchie
- Codeblöcke mit Sprachangabe - Codeblöcke mit Sprachangabe
- Verlinkung zu weiteren Ressourcen - Links zu zusätzlichen Ressourcen
- Screenshots und Bilder in `images/`-Verzeichnissen - Screenshots und Bilder in `images/` Verzeichnissen
- Alternativtexte für Bilder zur Barrierefreiheit - Alt-Text für Bilder zur Barrierefreiheit
### Dateiorganisation ### Datei-Organisation
- Lektionen fortlaufend nummeriert (1-getting-started-lessons, 2-js-basics usw.) - Lektionen sequenziell nummeriert (1-getting-started-lessons, 2-js-basics usw.)
- Jedes Projekt hat `solution/` und oft `start/` oder `your-work/` Verzeichnisse - Jedes Projekt hat `solution/` und oft `start/` oder `your-work/` Verzeichnisse
- Bilder in lektionenspezifischen `images/`-Ordnern gespeichert - Bilder werden in lektion-spezifischen `images/` Ordnern gespeichert
- Übersetzungen in `translations/{language-code}/` Unterordnern - Übersetzungen in `translations/{language-code}/` Struktur
## Build und Deployment ## Build und Deployment
@ -185,15 +185,15 @@ Die quiz-app ist für Azure Static Web Apps Deployment konfiguriert:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # Erstellt den Ordner dist/ npm run build # Erstellt den Ordner dist/
# Führt die Bereitstellung über den GitHub Actions-Workflow bei Push auf main durch # Führt die Bereitstellung über GitHub Actions Workflow bei Push zum Branch main durch
``` ```
Azure Static Web Apps Konfiguration: Azure Static Web Apps Konfiguration:
- **App-Standort**: `/quiz-app` - **App-Standort**: `/quiz-app`
- **Output-Standort**: `dist` - **Ausgabeort**: `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 ### Dokumentation PDF-Erstellung
```bash ```bash
npm install # Installiere docsify-to-pdf npm install # Installiere docsify-to-pdf
@ -203,80 +203,80 @@ 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 ### Projekt-spezifische Builds
Jedes Projektverzeichnis kann seinen eigenen Build-Prozess haben: Jedes Projektverzeichnis kann einen eigenen Build-Prozess haben:
- Vue-Projekte: `npm run build` erzeugt Produktions-Bundles - Vue-Projekte: `npm run build` erzeugt Produktions-Bundles
- Statische Projekte: Kein Build-Schritt, Dateien werden direkt bereitgestellt - Statische Projekte: Kein Build Schritt, Dateien direkt servieren
## Pull-Request-Richtlinien ## Pull-Request Richtlinien
### Titel-Format ### Titel-Format
Verwenden Sie klare, beschreibende Titel, die den Änderungsbereich angeben: Verwende klare, beschreibende Titel, die den Änderungsbereich anzeigen:
- `[Quiz-app] Neues Quiz für Lektion X hinzufügen` - `[Quiz-app] Neues Quiz für Lektion X hinzufügen`
- `[Lesson-3] Tippfehler im Terrarium-Projekt korrigieren` - `[Lesson-3] Tippfehler im Terrarium-Projekt beheben`
- `[Translation] Spanische Übersetzung für Lektion 5 hinzufügen` - `[Translation] Spanische Übersetzung für Lektion 5 hinzufügen`
- `[Docs] Setup-Anweisungen aktualisieren` - `[Docs] Setup-Anweisungen aktualisieren`
### Erforderliche Prüfungen ### Erforderliche Prüfungen
Vor dem Einreichen eines PR: Vor dem Einreichen eines Pull Requests:
1. **Codequalität**: 1. **Code-Qualität**:
- Führen Sie `npm run lint` in den betroffenen Projektverzeichnissen aus - `npm run lint` in betroffenen Projektverzeichnissen ausführen
- Beheben Sie alle Linting-Fehler und Warnungen - Alle Linting-Fehler und Warnungen beheben
2. **Build-Verifikation**: 2. **Build-Verifikation**:
- Führen Sie ggf. `npm run build` aus - `npm run build` wenn zutreffend ausführen
- Stellen Sie sicher, dass keine Build-Fehler auftreten - Sicherstellen, dass keine Build-Fehler vorliegen
3. **Linkprüfung**: 3. **Link-Validierung**:
- Testen Sie alle Markdown-Links - Alle Markdown-Links testen
- Überprüfen Sie Bildreferenzen - Bildverweise prüfen
4. **Inhaltsprüfung**: 4. **Inhaltsprüfung**:
- Korrekturlesen auf Rechtschreibung und Grammatik - Korrekturlesen auf Rechtschreibung und Grammatik
- Sicherstellen, dass Codebeispiele korrekt und didaktisch sind - Sicherstellen, dass Codebeispiele korrekt und bildend sind
- Überprüfen, dass Übersetzungen die Originalbedeutung wahren - Übersetzungen auf Bedeutungsintaktheit prüfen
### Beitragsanforderungen ### Beitragsanforderungen
- Zustimmung zur Microsoft CLA (automatische Prüfung beim ersten PR) - Zustimmung zur Microsoft CLA (automatische Überprüfung beim ersten PR)
- Befolgung des [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Befolgung des [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Siehe [CONTRIBUTING.md](./CONTRIBUTING.md) für detaillierte Richtlinien - Siehe [CONTRIBUTING.md](./CONTRIBUTING.md) für detaillierte Richtlinien
- Referenzierung von Issue-Nummern in der PR-Beschreibung, falls zutreffend - Referenzierung von Issue-Nummern im PR-Beschreibung falls zutreffend
### Überprüfungsprozess ### Review-Prozess
- PRs werden von Maintainers und Community geprüft - PRs werden von Maintainers und Community geprüft
- Didaktische Klarheit hat Priorität - Bildungsverständlichkeit hat Priorität
- Codebeispiele sollten den aktuellen Best Practices folgen - Codebeispiele sollten aktuellen Best Practices folgen
- Übersetzungen werden auf Genauigkeit und kulturelle Angemessenheit geprüft - Übersetzungen auf Genauigkeit und kulturelle Angemessenheit geprüft
## Übersetzungssystem ## Übersetzungssystem
### Automatisierte Übersetzung ### Automatisierte Übersetzung
- Verwendet GitHub Actions mit co-op-translator Workflow - Verwendet GitHub Actions mit co-op-translator Workflow
- Übersetzt automatisch in über 50 Sprachen - Übersetzt automatisch in 50+ Sprachen
- Quelldateien in den Hauptverzeichnissen - Quell-Dateien in Hauptverzeichnissen
- Übersetzte Dateien in `translations/{language-code}/` Ordnern - Übersetzte Dateien in `translations/{language-code}/` Verzeichnissen
### Manuelle Übersetzungsverbesserungen hinzufügen ### Manuelle Verbesserungen an Übersetzungen
1. Datei in `translations/{language-code}/` finden 1. Datei in `translations/{language-code}/` finden
2. Verbesserungen vornehmen und dabei die Struktur bewahren 2. Verbesserungen bei Erhalt der Struktur vornehmen
3. Sicherstellen, dass Codebeispiele weiterhin funktionieren 3. Sicherstellen, dass Codebeispiele funktionsfähig bleiben
4. Eventuell lokalisierte Quiz-Inhalte testen 4. Lokalisiertes Quiz-Material testen
### Übersetzungs-Metadaten ### Übersetzungs-Metadaten
Übersetzte Dateien enthalten Metadaten-Kopfzeile: Übersetzte Dateien enthalten Metadaten-Header:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## Fehlerbehebung und Problembehandlung ## Debugging und Fehlersuche
### Häufige Probleme ### Häufige Probleme
**Quiz-App startet nicht**: **Quiz-App startet nicht**:
- Überprüfen der Node.js-Version (v14+ empfohlen) - Node.js Version prüfen (v14+ empfohlen)
- Löschen von `node_modules` und `package-lock.json`, danach `npm install` ausführen - `node_modules` und `package-lock.json` löschen, danach `npm install` ausführen
- Prüfen auf Port-Konflikte (Standard: Vite verwendet Port 5173) - Auf Port-Konflikte prüfen (Standard: Vite verwendet Port 5173)
**API-Server startet nicht**: **API Server startet nicht**:
- Node.js-Version prüfen (node >=10) - Node.js Version >= 10 sicherstellen
- Prüfen, ob Port bereits belegt ist - Prüfen, ob Port bereits belegt ist
- Sicherstellen, dass alle Abhängigkeiten mit `npm install` installiert sind - Alle Abhängigkeiten mit `npm install` installieren
**Browser-Erweiterung lädt nicht**: **Browser-Erweiterung lädt nicht**:
- Manifest.json auf korrekte Formatierung prüfen - manifest.json auf korrekte Formatierung prüfen
- Browser-Konsole auf Fehler überprüfen - Browser-Konsole auf Fehler überprüfen
- Browser-spezifische Installationsanweisungen beachten - Browser-spezifische Installationsanleitungen befolgen
**Probleme mit Python-Chat-Projekt**: **Python Chat-Projekt Probleme**:
- OpenAI-Paket installiert? `pip install openai` - OpenAI-Paket installiert? `pip install openai`
- Umgebungsvariable GITHUB_TOKEN gesetzt? - GITHUB_TOKEN Umgebungsvariable gesetzt?
- Zugriff auf GitHub-Modelle prüfen - Zugriffsrechte für GitHub Models prüfen
**Docsify liefert keine Dokumentation aus**: **Docsify liefert keine Dokumentation**:
- docsify-cli global installieren: `npm install -g docsify-cli` - docsify-cli global installieren: `npm install -g docsify-cli`
- Im Root-Verzeichnis des Repositories ausführen - Vom Repository-Root aus starten
- Sicherstellen, dass `docs/_sidebar.md` existiert - Prüfen, ob `docs/_sidebar.md` existiert
### Tipps zur Entwicklungsumgebung ### Tipps zur Entwicklungsumgebung
- VS Code mit Live Server-Erweiterung für HTML-Projekte verwenden - VS Code mit Live Server Erweiterung für HTML-Projekte verwenden
- ESLint- und Prettier-Erweiterungen für konsistente Formatierung installieren - ESLint und Prettier Erweiterungen für einheitliche Formatierung installieren
- Browser-DevTools zum Debuggen von JavaScript nutzen - Browser DevTools zum JavaScript Debuggen nutzen
- Für Vue-Projekte Vue DevTools Browser-Erweiterung installieren - Für Vue-Projekte Vue DevTools Browser-Erweiterung verwenden
### Performance-Überlegungen ### Performance Aspekt
- Große Anzahl übersetzter Dateien (50+ Sprachen) führt zu großen Klonen - Große Anzahl an Übersetzungsdateien (50+ Sprachen) führt zu großen Klonen
- Verwenden Sie ein flaches Klon mit `git clone --depth 1`, wenn nur Inhalte bearbeitet werden - Shallow Clone verwenden, wenn nur Inhaltsarbeit gewünscht: `git clone --depth 1`
- Übersetzungen bei der Suche ausnehmen, wenn englische Inhalte bearbeitet werden - Übersetzungen bei Arbeit am englischen Inhalt von Suchvorgängen ausnehmen
- Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite build) - Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite Build)
## Sicherheitsüberlegungen ## Sicherheitsüberlegungen
### Umgebungsvariablen ### Umgebungsvariablen
- API-Schlüssel dürfen nie im Repository gespeichert werden - API-Schlüssel niemals ins Repository commiten
- Verwenden Sie `.env` Dateien (bereits in `.gitignore` enthalten) - `.env` Dateien verwenden (bereits in `.gitignore`)
- Erforderliche Umgebungsvariablen in den Projekt-READMEs dokumentieren - Benötigte Umgebungsvariablen in Projekt-READMEs dokumentieren
### Python-Projekte ### Python-Projekte
- Virtuelle Umgebungen verwenden: `python -m venv venv` - Virtuelle Umgebungen verwenden: `python -m venv venv`
- Abhängigkeiten aktuell halten - Abhängigkeiten aktuell halten
- GitHub-Tokens sollten nur minimale erforderliche Berechtigungen haben - GitHub Tokens mit minimal erforderlichen Berechtigungen nutzen
### Zugriff auf GitHub-Modelle ### GitHub Models Zugriff
- Persönliche Zugriffstoken (PAT) werden für GitHub-Modelle benötigt - Personal Access Tokens (PAT) für GitHub Models erforderlich
- Tokens als Umgebungsvariablen speichern - Tokens als Umgebungsvariablen speichern
- Nie Tokens oder Anmeldedaten im Repository commiten - Tokens oder Zugangsdaten niemals committen
## Zusätzliche Hinweise ## Zusätzliche Hinweise
### Zielgruppe ### Zielgruppe
- Komplettanfänger in der Webentwicklung - Absolute Anfänger in Webentwicklung
- Studierende und Selbstlernende - Studierende und Selbstlernende
- Lehrkräfte, die das Curriculum im Unterricht einsetzen - Lehrkräfte, die das Curriculum im Unterricht einsetzen
- Inhalte sind auf Zugänglichkeit und schrittweisen Kompetenzaufbau ausgelegt - Inhalte sind auf Barrierefreiheit und schrittweise Kompetenzentwicklung ausgelegt
### Pädagogische Philosophie ### Bildungskonzept
- Projektbasiertes Lernen - Projektbasiertes Lernen
- Häufige Wissensüberprüfungen (Quizze) - Häufige Wissensüberprüfungen (Quizze)
- Praktische Coding-Übungen - Praktische Programmierübungen
- Praxisnahe Beispiele - Beispiele mit realweltlichen Anwendungen
- Fokus auf Grundlagen vor Frameworks - Fokus auf Grundlagen vor Frameworks
### Repository-Wartung ### Repository-Wartung
- Aktive Community von Lernenden und Beitragenden - Aktive Gemeinschaft von Lernenden und Mitwirkenden
- Regelmäßige Updates von Abhängigkeiten und Inhalten - Regelmäßige Aktualisierung von Abhängigkeiten und Inhalten
- Issues und Diskussionen werden von Maintainers überwacht - Issues und Diskussionen werden von Maintainers überwacht
- Übersetzungsupdates automatisiert via GitHub Actions - Übersetzungsupdates automatisiert über GitHub Actions
### Verwandte Ressourcen ### Verwandte Ressourcen
- [Microsoft Learn Module](https://docs.microsoft.com/learn/) - [Microsoft Learn Module](https://docs.microsoft.com/learn/)
- [Student Hub Ressourcen](https://docs.microsoft.com/learn/student-hub/) - [Student Hub Ressourcen](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfohlen für Lernende - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfiehlt sich für Lernende
- Weitere Kurse: Generative KI, Data Science, ML, IoT Curricula verfügbar - Weitere Kurse: Generative AI, Data Science, ML, IoT Curricula verfügbar
### Arbeiten mit spezifischen Projekten ### Arbeit mit spezifischen Projekten
Für detaillierte Anweisungen zu einzelnen Projekten siehe README-Dateien in: Für detaillierte Anleitungen 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` - Bankanwendung mit Authentifizierung - `7-bank-project/README.md` - Banking-App mit Authentifizierung
- `5-browser-extension/README.md` - Entwicklung von Browser-Erweiterungen - `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: Obwohl kein traditionelles Monorepo, enthält dieses Repository mehrere unabhängige Projekte:
- Jede Lektion ist eigenständig - Jede Lektion ist eigenständig
- Projekte teilen keine Abhängigkeiten - Projekte teilen keine Abhängigkeiten
- Arbeiten Sie an einzelnen Projekten, ohne andere zu beeinflussen - Arbeit an Einzelprojekten ohne Beeinflussung anderer
- Klonen Sie das gesamte Repository für die vollständige Curriculum-Erfahrung - 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 nach Genauigkeit streben, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle anzusehen. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen. Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir auf Genauigkeit achten, bitten wir zu beachten, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle zu betrachten. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{ {
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": { "1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8", "original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-06T16:43:56+00:00", "translation_date": "2026-03-27T21:37:10+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "ru" "language_code": "ru"
}, },
@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:51:51+00:00", "translation_date": "2026-03-27T21:43:05+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "ru" "language_code": "ru"
}, },

@ -2,25 +2,25 @@
## Обзор проекта ## Обзор проекта
Это репозиторий учебной программы для обучения основам веб-разработки для начинающих. Учебная программа — это комплексный 12-недельный курс, разработанный Microsoft Cloud Advocates, включающий 24 практических урока по JavaScript, CSS и HTML. Это образовательный репозиторий с учебной программой для обучения основам веб-разработки для начинающих. Учебная программа представляет собой комплексный 12-недельный курс, разработанный специалистами Microsoft Cloud Advocates, который включает 24 практических урока по JavaScript, CSS и HTML.
### Ключевые компоненты ### Ключевые компоненты
- **Образовательный контент**: 24 структурированных урока, организованных в проектно-ориентированные модули - **Образовательный контент**: 24 структурированных урока, организованных в проектно-ориентированные модули
- **Практические проекты**: Террариум, Игра на набор текста, Расширение для браузера, Космическая игра, Банковское приложение, Редактор кода и чат-ассистент с ИИ - **Практические проекты**: Террариум, Игра на скорость набора, Расширение браузера, Космическая игра, Банковское приложение, Редактор кода, и 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 (для AI проектов)
### Архитектура ### Архитектура
- Образовательный репозиторий со структурой на основе уроков - Образовательный репозиторий с уроковой структурой
- В каждой папке урока содержатся README, примеры кода и решения - В каждой папке урока находятся README, примеры кода и решения
- Отдельные проекты в отдельных директориях (quiz-app, различные проекты из уроков) - Отдельные проекты в отдельных директориях (quiz-app, различные проекты уроков)
- Система перевода с использованием GitHub Actions (co-op-translator) - Система перевода с использованием GitHub Actions (co-op-translator)
- Документация доступна через Docsify и в формате PDF - Документация предоставляется через Docsify и доступна в формате PDF
## Команды для настройки ## Команды настройки
Этот репозиторий предназначен в первую очередь для изучения образовательного контента. Для работы с конкретными проектами: Этот репозиторий предназначен в первую очередь для изучения образовательного контента. Для работы с конкретными проектами:
@ -30,7 +30,7 @@
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners cd Web-Dev-For-Beginners
``` ```
### Настройка Quiz App (Vue 3 + Vite) ### Настройка Quiz App (Vue 3 + Vite)
```bash ```bash
@ -40,25 +40,25 @@ npm run dev # Запустить сервер разработки
npm run build # Собрать для продакшена npm run build # Собрать для продакшена
npm run lint # Запустить ESLint npm run lint # Запустить ESLint
``` ```
### API банковского проекта (Node.js + Express) ### API банковского проекта (Node.js + Express)
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm install npm install
npm start # Запустить сервер API npm start # Запустить API сервер
npm run lint # Запустить ESLint 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
# Следуйте инструкциям по загрузке расширения, специфичным для браузера # Следуйте инструкциям по загрузке расширения, специфичным для браузера
``` ```
### Проекты космической игры ### Проекты космической игры
```bash ```bash
@ -66,8 +66,8 @@ cd 6-space-game/solution
npm install npm install
# Откройте index.html в браузере или используйте Live Server # Откройте index.html в браузере или используйте Live Server
``` ```
### Проект чата (Python Backend) ### Проект чата (Python backend)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
@ -75,34 +75,34 @@ pip install openai
# Установите переменную окружения GITHUB_TOKEN # Установите переменную окружения GITHUB_TOKEN
python api.py python api.py
``` ```
## Рабочий процесс разработки ## Рабочий процесс разработки
### Для контрибьюторов контента ### Для контрибьюторов контента
1. **Сделайте форк репозитория** в свой аккаунт GitHub 1. **Сделайте форк репозитория** в свой аккаунт на GitHub
2. **Склонируйте форк** локально 2. **Клонируйте ваш форк** локально
3. **Создайте новую ветку** для своих изменений 3. **Создайте новую ветку** для ваших изменений
4. Внесите изменения в содержимое уроков или примеры кода 4. Внесите изменения в содержимое уроков или примеры кода
5. Проверьте изменения кода в соответствующих директориях проектов 5. Протестируйте любые изменения кода в соответствующих директориях проектов
6. Отправьте pull requests в соответствии с руководством по вкладам 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)
- **Quiz App**: Запустите `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 папках
## Инструкции по тестированию ## Инструкции по тестированию
@ -113,170 +113,170 @@ cd quiz-app
npm run lint # Проверить проблемы со стилем кода npm run lint # Проверить проблемы со стилем кода
npm run build # Проверить успешность сборки npm run build # Проверить успешность сборки
``` ```
### Тестирование Bank 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 ### JavaScript
- Используйте современный синтаксис ES6+ - Используйте современный синтаксис ES6+
- Следуйте стандартным конфигурациям ESLint в проектах - Следуйте стандартным конфигурациям ESLint, представленным в проектах
- Используйте осмысленные имена переменных и функций для образовательной ясности - Используйте осмысленные имена переменных и функций для образовательной ясности
- Добавляйте комментарии с объяснениями концепций для обучающихся - Добавляйте комментарии, объясняющие концепции для обучающихся
- Форматируйте код с помощью Prettier, если это настроено - Форматируйте с помощью Prettier, где настроено
### HTML/CSS ### HTML/CSS
- Семантические элементы HTML5 - Семантические элементы HTML5
- Принципы адаптивного дизайна - Принципы адаптивного дизайна
- Четкие соглашения по именованию классов - Четкие правила именования классов
- Комментарии с объяснениями CSS-техник для обучающихся - Комментарии с объяснениями CSS-техник для обучающихся
### Python ### Python
- Руководство по стилю PEP 8 - Соблюдайте стиль PEP 8
- Четкие, образовательные примеры кода - Четкие, образовательные примеры кода
- Аннотации типов, где это полезно для обучения - Тайпинги, где полезно для обучения
### Документация Markdown ### Markdown документация
- Четкая иерархия заголовков - Чистая иерархия заголовков
- Блоки кода с указанием языка - Блоки кода с указанием языка
- Ссылки на дополнительные ресурсы - Ссылки на дополнительные ресурсы
- Скриншоты и изображения в папках `images/` - Скриншоты и изображения в папках `images/`
- Alt-тексты для изображений для доступности - Альтернативный текст для изображений для доступности
### Организация файлов ### Организация файлов
- Уроки пронумерованы последовательно (1-getting-started-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}/`
## Сборка и деплоймент ## Сборка и деплой
### Развертывание Quiz App (Azure Static Web Apps) ### Деплой Quiz App (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 при пуше в main # Выполняет деплой через GitHub Actions при push в 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 из docs npm run convert # Создать PDF из документов
``` ```
### Документация Docsify ### Документация Docsify
```bash ```bash
npm install -g docsify-cli # Установите Docsify глобально npm install -g docsify-cli # Установите Docsify глобально
docsify serve # Запустить на localhost:3000 docsify serve # Запустить на localhost:3000
``` ```
### Сборка для отдельных проектов
В каждой директории проекта может быть свой процесс сборки: ### Сборки для отдельных проектов
- Vue проекты: `npm run build` создает продакшен-сборки
Каждый каталог проекта может иметь собственный процесс сборки:
- Vue проекты: `npm run build` создает продакшн-бандлы
- Статические проекты: сборка не требуется, файлы подаются напрямую - Статические проекты: сборка не требуется, файлы подаются напрямую
## Руководство по pull request ## Руководство по 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` в затронутых директориях проектов
- Исправьте все ошибки и предупреждения lint - Исправьте все ошибки и предупреждения lint
2. **Проверка сборки**: 2. **Проверка сборки**:
- Запустите `npm run build` при необходимости - Запустите `npm run build`, если применимо
- Убедитесь в отсутствии ошибок сборки - Убедитесь в отсутствии ошибок сборки
3. **Валидация ссылок**: 3. **Проверка ссылок**:
- Проверьте все markdown-ссылки - Проверьте все markdown-ссылки
- Убедитесь, что ссылки на изображения работают - Убедитесь, что ссылки на изображения работают
4. **Проверка содержимого**: 4. **Проверка содержимого**:
- Проверьте орфографию и грамматику - Проверьте орфографию и грамматику
- Убедитесь в правильности и образовательной ценности примеров кода - Убедитесь, что примеры кода верны и образовательны
- Проверьте точность переводов - Проверьте, что переводы сохраняют первоначальный смысл
### Требования к внесению вклада ### Требования к вкладу
- Согласие с Microsoft CLA (автоматическая проверка при первом PR) - Необходимо согласиться с Microsoft CLA (автоматическая проверка при первом PR)
- Соблюдение [Кодекса поведения Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/) - Следовать [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Подробные инструкции в [CONTRIBUTING.md](./CONTRIBUTING.md) - См [CONTRIBUTING.md](./CONTRIBUTING.md) для подробных инструкций
- Упоминание номеров задач в описании PR при наличии - Указывайте номера issues в описании 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:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
} }
--> -->
``` ```
## Отладка и устранение неполадок ## Отладка и устранение неполадок
### Распространённые проблемы ### Распространённые проблемы
**Quiz app не запускается**: **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 для единообразного форматирования
- Используйте DevTools браузера для отладки JavaScript - Используйте инструменты разработчика в браузере для отладки JavaScript
- Для проектов Vue установите расширение Vue DevTools - Для Vue проектов установите расширение Vue DevTools для браузера
### Особенности производительности ### Особенности производительности
- Большое количество переведённых файлов (50+ языков) делает полные клонирования тяжелыми - Большое количество переведённых файлов (50+ языков) делает полное клонирование объёмным
- Используйте shallow clone, если работаете только с контентом: `git clone --depth 1` - Используйте неглубокое клонирование для работы только с контентом: `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
- Для 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 modules](https://docs.microsoft.com/learn/)
- [Ресурсы Student Hub](https://docs.microsoft.com/learn/student-hub/) - [Student Hub resources](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) рекомендован для обучающихся
- Дополнительные курсы: Generative AI, Data Science, ML, IoT - Дополнительные курсы: генеративный ИИ, дата-сайенс, машинное обучение, IoT учебные программы
### Работа с конкретными проектами ### Работа с конкретными проектами
Для подробных инструкций обращайтесь к README файлов в: Для подробных инструкций по отдельным проектам смотрите README файлы:
- `quiz-app/README.md` - Vue 3 приложение викторины - `quiz-app/README.md` - приложение викторины на Vue 3
- `7-bank-project/README.md` - Банковское приложение с аутентификацией - `7-bank-project/README.md` - банковское приложение с аутентификацией
- `5-browser-extension/README.md` - Разработка расширений для браузера - `5-browser-extension/README.md` - разработка расширения браузера
- `6-space-game/README.md` - Разработка игры на Canvas - `6-space-game/README.md` - разработка игры на Canvas
- `9-chat-project/README.md` - Проект чат-ассистента с ИИ - `9-chat-project/README.md` - проект AI чат-ассистента
### Структура монорепозитория ### Структура монорепозитория
Хотя это не традиционный монорепозиторий, он содержит несколько независимых проектов: Хотя это не традиционный монорепозиторий, данный репозиторий содержит несколько независимых проектов:
- Каждый урок автономен - Каждый урок автономен
- Проекты не делят зависимости - Проекты не имеют общих зависимостей
- Работайте с отдельными проектами без влияния на другие - Работа с отдельными проектами не влияет на другие
- Клонируйте весь репозиторий для полного опыта обучения - Клонируйте весь репозиторий для полного опыта курса
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от ответственности**: **Отказ от ответственности**:
Этот документ был переведен с помощью сервиса AI-перевода [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