diff --git a/translations/ar/.co-op-translator.json b/translations/ar/.co-op-translator.json index 5c3a0a850..ee32a04c6 100644 --- a/translations/ar/.co-op-translator.json +++ b/translations/ar/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-02-06T10:59:39+00:00", + "translation_date": "2026-02-06T12:20:48+00:00", "source_file": "AGENTS.md", "language_code": "ar" }, diff --git a/translations/ar/AGENTS.md b/translations/ar/AGENTS.md index b4b941864..5d5198c0c 100644 --- a/translations/ar/AGENTS.md +++ b/translations/ar/AGENTS.md @@ -2,27 +2,27 @@ ## نظرة عامة على المشروع -هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، تحتوي على 24 درسًا عمليًا تغطي JavaScript وCSS وHTML. +هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، تتضمن 24 درسًا عمليًا تغطي JavaScript وCSS وHTML. ### المكونات الرئيسية -- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات قائمة على المشاريع -- **المشاريع العملية**: Terrarium، لعبة الطباعة، امتداد المتصفح، لعبة الفضاء، تطبيق البنك، محرر الأكواد، ومساعد الدردشة المدعوم بالذكاء الاصطناعي -- **الاختبارات التفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييمات قبل وبعد الدرس) -- **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة عبر GitHub Actions -- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (لمشاريع الذكاء الاصطناعي) +- **المحتوى التعليمي**: 24 درسًا منظّمًا في وحدات قائمة على المشاريع +- **مشاريع عملية**: تيراريوم، لعبة الكتابة، إضافة المتصفح، لعبة الفضاء، تطبيق البنك، محرر الأكواد، ومساعد الدردشة بالذكاء الاصطناعي +- **اختبارات تفاعلية**: 48 اختبارًا، يتألف كل منها من 3 أسئلة (قبل وبعد الدرس) +- **دعم متعدد اللغات**: ترجمة آلية لأكثر من 50 لغة عبر GitHub Actions +- **التقنيات**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (لمشاريع الذكاء الاصطناعي) ### الهيكلية -- مستودع تعليمي به بنية قائمة على الدروس -- كل مجلد درس يحتوي على README وأمثلة الكود والحلول -- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع دروس متنوعة) -- نظام الترجمة باستخدام GitHub Actions (co-op-translator) -- الوثائق متوفرة عبر Docsify وفي شكل PDF +- مستودع تعليمي له هيكلية قائمة على الدروس +- يحتوي كل مجلد درس على README، أمثلة تعليمية، والحلول +- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع متعددة للدروس) +- نظام ترجمة باستخدام GitHub Actions (co-op-translator) +- التوثيق مقدم عبر Docsify ومتوفّر كملف PDF ## أوامر الإعداد -هذا المستودع مخصص بشكل رئيسي لاستهلاك المحتوى التعليمي. للعمل على مشاريع محددة: +هذا المستودع مخصص بالأساس لاستهلاك المحتوى التعليمي. للعمل على مشاريع محددة: ### إعداد المستودع الرئيسي @@ -41,7 +41,7 @@ npm run build # البناء للإنتاج npm run lint # تشغيل ESLint ``` -### واجهة برمجة تطبيقات مشروع البنك (Node.js + Express) +### API مشروع البنك (Node.js + Express) ```bash cd 7-bank-project/api @@ -51,7 +51,7 @@ npm run lint # تشغيل ESLint npm run format # التنسيق باستخدام Prettier ``` -### مشاريع امتداد المتصفح +### مشاريع إضافة المتصفح ```bash cd 5-browser-extension/solution @@ -64,45 +64,45 @@ npm install ```bash cd 6-space-game/solution npm install -# افتح index.html في المتصفح أو استخدم الخادم المباشر +# افتح index.html في المتصفح أو استخدم Live Server ``` -### مشروع الدردشة (باك إند بايثون) +### مشروع الدردشة (Back-end بايثون) ```bash cd 9-chat-project/solution/backend/python pip install openai -# تعيين متغير البيئة GITHUB_TOKEN +# ضبط متغير بيئة GITHUB_TOKEN python api.py ``` -## سير العمل التطويري +## سير عمل التطوير ### للمساهمين في المحتوى -1. **انسخ المستودع** إلى حساب GitHub الخاص بك -2. **استنسخ النسخة** محليًا -3. **أنشئ فرعًا جديدًا** لتغييراتك -4. قم بإجراء تغييرات على محتوى الدروس أو أمثلة الأكواد -5. اختبر أي تغييرات في الأكواد ضمن مجلدات المشاريع المعنية -6. قدّم طلبات سحب متبوعة بإرشادات المساهمة +1. **اصنع فرعًا فرعيًا** من المستودع في حساب GitHub الخاص بك +2. **انسخ الفرع الفرعي محليًا** +3. **أنشئ فرعًا جديدًا** للتغييرات الخاصة بك +4. أجرِ تغييرات على محتوى الدروس أو أمثلة الكود +5. اختبر أي تغييرات كودية في مجلدات المشروع المناسبة +6. قدّم طلبات سحب متبعة إرشادات الإسهام ### للمتعلمين -1. انسخ أو استنسخ المستودع -2. انتقل إلى مجلدات الدروس بالتسلسل +1. أنشئ فرعًا فرعيًا أو انسخ المستودع +2. انتقل عبر مجلدات الدروس بالتسلسل 3. اقرأ ملفات README لكل درس -4. أكمل اختبارات ما قبل الدرس عبر https://ff-quizzes.netlify.app/web/ -5. تابع أمثلة الأكواد داخل مجلدات الدروس +4. أكمل اختبارات ما قبل الدرس على https://ff-quizzes.netlify.app/web/ +5. تعامل مع أمثلة الكود في مجلدات الدرس 6. أنجز الواجبات والتحديات -7. خضع لاختبارات ما بعد الدرس +7. أجرِ اختبارات ما بعد الدرس -### التطوير المباشر +### التطوير الحي -- **الوثائق**: شغّل `docsify serve` من الجذر (المنفذ 3000) +- **التوثيق**: شغّل `docsify serve` في المجلد الجذر (المنفذ 3000) - **تطبيق الاختبارات**: شغّل `npm run dev` في مجلد quiz-app -- **المشاريع**: استخدم امتداد VS Code Live Server لمشاريع HTML -- **مشاريع API**: شغّل `npm start` في مجلدات مشاريع API المعنية +- **المشاريع**: استخدم إضافة VS Code Live Server لمشاريع HTML +- **مشاريع API**: شغّل `npm start` في مجلدات API المناسبة ## تعليمات الاختبار @@ -110,8 +110,8 @@ python api.py ```bash cd quiz-app -npm run lint # التحقق من مشاكل نمط الكود -npm run build # التحقق من نجاح البناء +npm run lint # التحقق من مشاكل تنسيق الكود +npm run build # التأكد من نجاح البناء ``` ### اختبار API البنك @@ -119,164 +119,164 @@ npm run build # التحقق من نجاح البناء ```bash cd 7-bank-project/api npm run lint # التحقق من مشكلات نمط الكود -node server.js # التأكد من أن الخادم يبدأ بدون أخطاء +node server.js # التحقق من بدء الخادم بدون أخطاء ``` -### نهج الاختبار العام +### النهج العام للاختبار - هذا مستودع تعليمي بدون اختبارات آلية شاملة -- يركز الاختبار اليدوي على: - - تشغيل أمثلة الأكواد بدون أخطاء - - عمل الروابط في التوثيق بشكل صحيح - - نجاح بناء المشاريع - - اتباع أمثلة الأكواد لأفضل الممارسات +- التركيز على الاختبار اليدوي يشمل: + - تشغيل أمثلة الكود بدون أخطاء + - فاعلية الروابط في التوثيق + - اكتمال بناء المشاريع بنجاح + - اتباع أفضل الممارسات في الأمثلة -### فحوصات قبل الإرسال +### فحوصات ما قبل الإرسال -- شغّل `npm run lint` في المجلدات التي تحتوي على package.json -- تحقق من صحة روابط الماركداون -- اختبر أمثلة الأكواد في المتصفح أو Node.js -- تحقق من أن الترجمات تحافظ على البنية الصحيحة +- شغل `npm run lint` في مجلدات تحتوي على package.json +- تحقق من صلاحية روابط الماركداون +- اختبر أمثلة الكود في المتصفح أو Node.js +- تأكد من المحافظة على الهيكلية الصحيحة للترجمات -## إرشادات نمط الكود +## إرشادات أسلوب الكود -### جافاسكريبت +### جافا سكريبت -- استخدم تركيب ES6+ الحديث -- اتبع إعدادات ESLint القياسية المقدمة في المشاريع -- استخدم أسماء متغيرات ودوال ذات مغزى للوضوح التعليمي +- استخدم بناء جملة ES6+ الحديث +- اتبع إعدادات ESLint القياسية في المشاريع +- استخدم أسماء متغيرات ودوال واضحة لأغراض تعليمية - أضف تعليقات تشرح المفاهيم للمتعلمين -- نسق الأكواد باستخدام Prettier حيثما تم تهيئته +- نسّق الكود باستخدام Prettier حيثما تم إعداده ### HTML/CSS - عناصر HTML5 الدلالية - مبادئ التصميم المتجاوب -- تسميات واضحة للفئات +- قواعد واضحة لتسمية الأصناف - تعليقات تشرح تقنيات CSS للمتعلمين ### بايثون - إرشادات نمط PEP 8 -- أمثلة تعليمية واضحة على الأكواد -- استخدام تلميحات النوع حيث تفيد التعلم +- أمثلة كود واضحة وتعليمية +- استخدام أنماط النوع حيث يسهل التعلم -### توثيق ماركداون +### توثيق الماركداون -- تسلسل عناوين واضح -- كتل الأكواد مع تحديد اللغة +- هيكلية رؤوس واضحة +- كتل الكود مع تحديد اللغة - روابط لمصادر إضافية - لقطات شاشة وصور في مجلدات `images/` -- نص بديل للصور لدعم إمكانية الوصول +- نص بديل للصور لسهولة الوصول ### تنظيم الملفات - الدروس مرقمة بالتسلسل (1-getting-started-lessons، 2-js-basics، إلخ) - لكل مشروع مجلد `solution/` وغالبًا `start/` أو `your-work/` -- الصور مخزنة في مجلدات `images/` الخاصة بكل درس -- الترجمات منظمة في `translations/{language-code}/` +- تخزين الصور في مجلدات `images/` الخاصّة بكل درس +- الترجمات في هيكلية `translations/{language-code}/` ## البناء والنشر ### نشر تطبيق الاختبارات (Azure Static Web Apps) -تطبيق الاختبارات مهيأ للنشر عبر Azure Static Web Apps: +تطبيق quiz-app مضبوط لنشر Azure Static Web Apps: ```bash cd quiz-app npm run build # ينشئ مجلد dist/ -# ينشر من خلال سير عمل GitHub Actions عند الدفع إلى main +# ينشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي ``` إعداد Azure Static Web Apps: - **موقع التطبيق**: `/quiz-app` -- **موقع الإخراج**: `dist` +- **موقع المخرجات**: `dist` - **سير العمل**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` -### إنشاء ملف PDF للوثائق +### توليد ملف PDF للتوثيق ```bash npm install # تثبيت docsify-to-pdf -npm run convert # إنشاء ملف PDF من المستندات +npm run convert # توليد ملف PDF من المستندات ``` ### توثيق Docsify ```bash -npm install -g docsify-cli # تثبيت Docsify عالمياً -docsify serve # تشغيل على localhost:3000 +npm install -g docsify-cli # تثبيت Docsify على مستوى النظام +docsify serve # التشغيل على المضيف المحلي: 3000 ``` -### بناءات خاصة بكل مشروع +### بناء مشاريع معينة قد يحتوي كل مجلد مشروع على عملية بناء خاصة به: -- مشاريع Vue: `npm run build` لإنشاء الحزم الإنتاجية -- المشاريع الثابتة: لا تحتوي على خطوة بناء، تخدم الملفات مباشرة +- مشاريع Vue: `npm run build` لإنشاء حزم الإنتاج +- مشاريع ثابتة: لا تحتاج خطوة بناء، تقديم الملفات مباشرة -## إرشادات طلب السحب (Pull Request) +## إرشادات طلبات السحب -### تنسيق العنوان +### صيغة العنوان استخدم عناوين واضحة تصف مجال التغيير: -- `[Quiz-app] أضف اختبار جديد للدرس X` -- `[Lesson-3] إصلاح خطأ مطبعي في مشروع terrarium` -- `[Translation] أضف الترجمة الإسبانية للدرس 5` -- `[Docs] تحديث تعليمات الإعداد` +- `[Quiz-app] إضافة اختبار جديد للدرس X` +- `[درس-3] إصلاح خطأ مطبعي في مشروع تيراريوم` +- `[ترجمة] إضافة الترجمة الإسبانية للدرس 5` +- `[توثيق] تحديث تعليمات الإعداد` ### الفحوصات المطلوبة -قبل تقديم طلب السحب: +قبل تقديم طلب السحب: 1. **جودة الكود**: - شغّل `npm run lint` في مجلدات المشاريع المتأثرة - - أصلح جميع أخطاء وتحذيرات التنسيق + - أصلح جميع الأخطاء والتحذيرات 2. **التحقق من البناء**: - - شغّل `npm run build` إن أمكن - - تأكد من عدم وجود أخطاء في البناء + - شغّل `npm run build` إذا كان ذلك مناسبًا + - تأكد من عدم وجود أخطاء بناء 3. **التحقق من الروابط**: - اختبر جميع روابط الماركداون - - تحقق من عمل مراجع الصور + - تحقق من صلاحية مراجع الصور 4. **مراجعة المحتوى**: - تدقيق إملائي ونحوي - - تأكد من صحة أمثلة الأكواد وقيمتها التعليمية - - تحقق من دقة الترجمات + - التأكد من صحة أمثلة الكود وإمكانية تعليمها + - تحقق من دقة الترجمة وملاءمتها الثقافية ### متطلبات المساهمة -- الموافقة على اتفاقية الترخيص مع مايكروسوفت (فحص آلي عند أول PR) -- اتباع [مدونة السلوك في مايكروسوفت](https://opensource.microsoft.com/codeofconduct/) +- الموافقة على اتفاقية Microsoft CLA (فحص تلقائي عند أول طلب سحب) +- اتباع [مدونة سلوك المصدر المفتوح لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/) - راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية -- اذكر أرقام القضايا في وصف طلب السحب عند الاقتضاء +- ذكر أرقام القضايا في وصف طلب السحب إن أمكن ### عملية المراجعة -- تتم مراجعة طلبات السحب من قبل المسؤولين والمجتمع -- الأولوية للوضوح التعليمي -- يجب أن تتبع أمثلة الأكواد أفضل الممارسات الحالية -- مراجعة الترجمات لدقتها وملاءمتها الثقافية +- يراجع الطلبات صيانة المشروع والمجتمع +- إعطاء أولوية للوضوح التعليمي +- يجب أن تتبع أمثلة الكود أفضل الممارسات المعاصرة +- مراجعة الترجمة من حيث الدقة والمناسبة الثقافية ## نظام الترجمة ### الترجمة الآلية -- يستخدم GitHub Actions مع سير عمل co-op-translator +- يستخدم GitHub Actions مع سير العمل co-op-translator - يترجم لأكثر من 50 لغة تلقائيًا -- الملفات المصدرية في الدلائل الرئيسية -- الملفات المترجمة في مجلدات `translations/{language-code}/` +- الملفات الأصلية في الدلائل الرئيسية +- ملفات الترجمة في مجلدات `translations/{language-code}/` -### إضافة تحسينات يدوية على الترجمة +### إضافة تحسينات ترجمة يدوية -1. ابحث عن الملف في `translations/{language-code}/` -2. أجرِ التحسينات مع الحفاظ على البنية -3. تأكد من عمل أمثلة الأكواد بشكل صحيح -4. اختبر محتوى الاختبارات المحلي +1. حدد الملف في `translations/{language-code}/` +2. أجرِ التحسينات مع المحافظة على الهيكلة +3. تأكد من استمرار عمل أمثلة الكود +4. اختبر أي محتوى للاختبارات المحلي ### بيانات وصفية للترجمة -الملفات المترجمة تحتوي على رأس بيانات وصفية: +تتضمن الملفات المترجمة رأس بيانات وصفية: ```markdown ``` -## التصحيح واستكشاف الأخطاء +## استكشاف الأخطاء وإصلاحها ### المشاكل الشائعة -**فشل تشغيل تطبيق الاختبارات**: -- تحقق من إصدار Node.js (يفضل v14+) -- احذف `node_modules` و`package-lock.json`، ثم شغّل `npm install` من جديد -- تحقق من تعارضات المنفذ (Vite يستخدم المنفذ 5173 افتراضيًا) +**فشل تطبيق الاختبارات في البدء**: +- تحقق من إصدار Node.js (ينصح v14+) +- احذف `node_modules` و `package-lock.json`، ثم شغل `npm install` مجددًا +- تحقق من تعارضات المنفذ (الافتراضي: Vite يستخدم المنفذ 5173) -**يعجز خادم API عن التشغيل**: -- تحقق من أن إصدار Node.js لا يقل عن 10 -- تحقق مما إذا كان المنفذ مستخدمًا بالفعل -- تأكد من تثبيت جميع التبعيات بواسطة `npm install` +**خادم API لا يبدأ**: +- تحقق من توافق إصدار Node.js (node >=10) +- تحقق ما إذا كان المنفذ مستخدمًا بالفعل +- تأكد من تثبيت جميع الاعتماديات باستخدام `npm install` -**امتداد المتصفح لا يعمل**: +**إضافة المتصفح لا تعمل**: - تحقق من تنسيق manifest.json بشكل صحيح -- راجع سجل الأخطاء في وحدة تحكم المتصفح -- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح +- راجع وحدة تحكم المتصفح عن الأخطاء +- اتبع تعليمات تثبيت الإضافة الخاصة بالمتصفح **مشاكل مشروع الدردشة البايثون**: - تأكد من تثبيت حزمة OpenAI: `pip install openai` - تحقق من تعيين متغير البيئة GITHUB_TOKEN -- تحقق من صلاحيات الوصول إلى نماذج GitHub +- افحص أذونات الوصول لنماذج GitHub -**Docsify لا يعرض الوثائق**: -- ثبت docsify-cli عالميًا: `npm install -g docsify-cli` -- شغّل من دليل جذر المستودع -- تأكد من وجود `docs/_sidebar.md` +**عدم تقديم Docsify للتوثيق**: +- ثبّت docsify-cli عالميًا: `npm install -g docsify-cli` +- شغّل من المجلد الجذر للمستودع +- تحقق من وجود `docs/_sidebar.md` ### نصائح بيئة التطوير -- استخدم VS Code مع امتداد Live Server لمشاريع HTML -- ثبّت امتدادات ESLint وPrettier لتنسيق متناسق -- استخدم أدوات المطور في المتصفح لتصحيح JavaScript -- لمشاريع Vue، ثبّت امتداد Vue DevTools للمتصفح +- استخدم VS Code مع إضافة Live Server لمشاريع HTML +- ثبّت إضافات ESLint و Prettier لتحقيق تناسق التنسيق +- استخدم أدوات تطوير المتصفح لتصحيح أخطاء جافا سكريبت +- لمشاريع Vue، ثبت إضافة Vue DevTools للمتصفح ### اعتبارات الأداء -- العدد الكبير للملفات المترجمة (50+ لغة) يجعل الاستنساخ الكامل ضخمًا -- استخدم استنساخ ضحل عند العمل فقط على المحتوى: `git clone --depth 1` -- استبعد الترجمات من عمليات البحث عند العمل على المحتوى الإنجليزي -- قد تكون عمليات البناء بطيئة في التشغيل الأول (npm install وبناء Vite) +- العدد الكبير من ملفات الترجمة (50+ لغة) يعني أن الاستنساخ الكامل كبير +- استخدم استنساخًا سطحيًا إذا كنت تعمل على المحتوى فقط: `git clone --depth 1` +- استبعد الترجمات من نتائج البحث عند العمل على محتوى باللغة الإنجليزية +- عمليات البناء قد تكون بطيئة عند التشغيل الأول (npm install، بناء Vite) ## اعتبارات الأمان -### متغيرات البيئة +### المتغيرات البيئية -- مفاتيح API يجب ألا يتم الالتزام بها في المستودع -- استخدم ملفات `.env` (وهي مدرجة مسبقًا في `.gitignore`) -- وثّق متغيرات البيئة المطلوبة في ملفات README الخاصة بالمشاريع +- يجب ألا تُودع مفاتيح API في المستودع +- استخدم ملفات `.env` (مدرجة في `.gitignore` بالفعل) +- وثق المتغيرات البيئية المطلوبة في README للمشاريع -### مشاريع بايثون +### مشاريع البايثون - استخدم بيئات افتراضية: `python -m venv venv` -- حافظ على تحديث التبعيات -- يجب أن تكون رموز GitHub بمستوى صلاحيات محدود +- حافظ على تحديث الاعتماديات +- يجب أن تكون رموز GitHub لها أقل الأذونات المطلوبة ### وصول نماذج GitHub -- يُطلب رموز وصول شخصية (PAT) للنماذج -- يجب تخزين الرموز كمتغيرات بيئة +- مطلوب رموز وصول شخصية (PAT) لنماذج GitHub +- يجب تخزين الرموز كمتغيرات بيئية - لا تقم أبدًا بإيداع الرموز أو بيانات الاعتماد ## ملاحظات إضافية ### الجمهور المستهدف -- مبتدئون تمامًا في تطوير الويب -- الطلاب والمتعلمون الذاتيّون -- المعلمون الذين يستخدمون المنهج في الصفوف -- المحتوى مصمم للوصولية والبناء التدريجي للمهارات +- مبتدئين كاملين في تطوير الويب +- الطلاب والمتعلمون بمفردهم +- المعلمون الذين يستخدمون المنهج في الفصول +- المحتوى مصمم لإمكانية الوصول والبناء التدريجي للمهارات ### الفلسفة التعليمية -- نهج التعلم القائم على المشاريع +- نهج التعلم عبر المشاريع - فحوصات معرفة متكررة (اختبارات) -- تمارين تطبيقية عملية على البرمجة -- أمثلة تطبيقية من العالم الحقيقي -- التركيز على الأساسيات قبل الأُطُر (frameworks) +- تمارين برمجة عملية +- أمثلة تطبيقية من واقع الحياة +- التركيز على الأساسيات قبل الأُطُر ### صيانة المستودع - مجتمع نشط من المتعلمين والمساهمين -- تحديثات منتظمة للتبعيات والمحتوى -- مراقبة القضايا والمناقشات من قبل المسؤولين -- تحديث الترجمات مؤتمت عبر GitHub Actions +- تحديثات منتظمة للاعتماديات والمحتوى +- متابعة القضايا والنقاشات بواسطة الصيانة +- تحديثات الترجمة آلية عبر GitHub Actions ### الموارد ذات الصلة - [وحدات Microsoft Learn](https://docs.microsoft.com/learn/) - [موارد Student Hub](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) موصى به للمتعلمين -- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، التعلم الآلي، مناهج إنترنت الأشياء متاحة +- دورات إضافية: الذكاء الاصطناعي التوليدي، علوم البيانات، تعلم الآلة، مناهج إنترنت الأشياء ### العمل مع مشاريع محددة -لتعليمات مفصلة حول المشاريع الفردية، راجع ملفات README في: +للتعليمات التفصيلية على المشاريع الفردية، راجع ملفات README في: - `quiz-app/README.md` - تطبيق اختبار Vue 3 - `7-bank-project/README.md` - تطبيق البنك مع المصادقة -- `5-browser-extension/README.md` - تطوير امتداد المتصفح +- `5-browser-extension/README.md` - تطوير إضافة المتصفح - `6-space-game/README.md` - تطوير لعبة باستخدام Canvas -- `9-chat-project/README.md` - مشروع مساعد الدردشة الذكي +- `9-chat-project/README.md` - مشروع مساعد الدردشة بالذكاء الاصطناعي -### هيكلية مستودع متعدد المشاريع +### هيكلية المستودع المتعدد المشاريع (Monorepo) -على الرغم من أنه ليس مستودعًا تقليديًا متعدد المشاريع، يحتوي هذا المستودع على مشاريع متعددة مستقلة: +على الرغم من أنه ليس monorepo تقليدي، يحتوي هذا المستودع على عدة مشاريع مستقلة: - كل درس مستقل بذاته -- المشاريع لا تشترك في التبعيات -- العمل على مشاريع منفردة دون التأثير على الأخرى -- استنسخ المستودع كاملاً للحصول على تجربة المنهج الكامل +- المشاريع لا تشترك في الاعتماديات +- العمل على المشاريع الفردية دون التأثير على الأخرى +- استنساخ المستودع بالكامل لتجربة المنهج الكامل --- -**إخلاء المسؤولية**: -تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى للحفاظ على الدقة، يرجى العلم بأن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار النسخة الأصلية من المستند بلغتها الأصلية هي المصدر الرسمي والموثوق. للحصول على معلومات حرجة، نوصي بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذا الترجمة. +**إخلاء المسؤولية**: +تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لدقة الترجمة، يُرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. ينبغي اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والموثوق. للحصول على معلومات مهمة أو حرجة، يُنصَح بالاستعانة بترجمة بشرية محترفة. نحن لا نتحمل أي مسؤولية عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/fa/.co-op-translator.json b/translations/fa/.co-op-translator.json index 4018e1899..e0b5dd4a0 100644 --- a/translations/fa/.co-op-translator.json +++ b/translations/fa/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-02-06T11:00:50+00:00", + "translation_date": "2026-02-06T12:21:48+00:00", "source_file": "AGENTS.md", "language_code": "fa" }, diff --git a/translations/fa/AGENTS.md b/translations/fa/AGENTS.md index 26733030b..2310cc62c 100644 --- a/translations/fa/AGENTS.md +++ b/translations/fa/AGENTS.md @@ -2,27 +2,27 @@ ## نمای کلی پروژه -این یک مخزن برنامه درسی آموزشی برای آموزش مبانی توسعه وب به مبتدیان است. این برنامه درسی یک دوره جامع ۱۲ هفته‌ای است که توسط مایکروسافت کلاود ادووکیتس توسعه یافته و شامل ۲۴ درس عملی در زمینه JavaScript، CSS و HTML می‌باشد. +این یک مخزن آموزشی برای آموزش اصول توسعه وب به مبتدیان است. این دوره آموزشی جامع ۱۲ هفته‌ای توسط مدافعان ابر مایکروسافت توسعه یافته است که شامل ۲۴ درس عملی درباره JavaScript، CSS و HTML می‌باشد. ### اجزای کلیدی -- **محتوای آموزشی**: ۲۴ درس ساختاربندی‌شده به صورت ماژول‌های مبتنی بر پروژه -- **پروژه‌های عملی**: تراریوم، بازی تایپ، افزونه مرورگر، بازی فضایی، اپلیکیشن بانکی، ویرایشگر کد و دستیار چت هوش مصنوعی -- **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال هر کدام (ارزیابی قبل و بعد از درس) -- **پشتیبانی چندزبانه**: ترجمه خودکار برای بیش از ۵۰ زبان از طریق GitHub Actions -- **فناوری‌ها**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (برای پروژه‌های هوش مصنوعی) +- **محتوای آموزشی**: ۲۴ درس ساختاربندی‌شده سازمان‌یافته در ماژول‌های مبتنی بر پروژه +- **پروژه‌های عملی**: تراریوم، بازی تایپ، افزونه مرورگر، بازی فضایی، اپلیکیشن بانکی، ویرایشگر کد و دستیار چت هوش مصنوعی +- **آزمون‌های تعاملی**: ۴۸ آزمون با ۳ سوال در هرکدام (ارزیابی قبل و بعد از درس) +- **پشتیبانی چندزبانه**: ترجمه خودکار به بیش از ۵۰ زبان به کمک GitHub Actions +- **فناوری‌ها**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (برای پروژه‌های هوش مصنوعی) ### معماری -- مخزن آموزشی با ساختار مبتنی بر درس -- هر پوشه درس شامل فایل README، نمونه کدها و راه‌حل‌ها است -- پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app، پروژه‌های مختلف در درس‌ها) -- سیستم ترجمه با استفاده از GitHub Actions (co-op-translator) -- مستندات از طریق Docsify ارائه شده و به صورت PDF در دسترس است +- مخزن آموزشی با ساختار مبتنی بر درس +- هر پوشه درس شامل فایل README، نمونه کدها و راه‌حل‌ها +- پروژه‌های مستقل در دایرکتوری‌های جداگانه (quiz-app، پروژه‌های مختلف درس) +- سیستم ترجمه با استفاده از GitHub Actions (co-op-translator) +- مستندات ارائه شده از طریق Docsify و موجود به شکل PDF ## دستورات راه‌اندازی -این مخزن عمدتاً برای مصرف محتوای آموزشی است. برای کار با پروژه‌های خاص: +این مخزن عمدتاً برای استفاده محتوای آموزشی است. برای کار با پروژه‌های مشخص: ### راه‌اندازی مخزن اصلی @@ -30,7 +30,7 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` - + ### راه‌اندازی اپلیکیشن آزمون (Vue 3 + Vite) ```bash @@ -40,17 +40,17 @@ npm run dev # شروع سرور توسعه npm run build # ساخت برای تولید npm run lint # اجرای ESLint ``` - + ### API پروژه بانک (Node.js + Express) ```bash cd 7-bank-project/api npm install -npm start # راه‌اندازی سرور API +npm start # شروع سرور API npm run lint # اجرای ESLint npm run format # قالب‌بندی با Prettier ``` - + ### پروژه‌های افزونه مرورگر ```bash @@ -58,7 +58,7 @@ cd 5-browser-extension/solution npm install # دستورالعمل‌های بارگذاری افزونه خاص مرورگر را دنبال کنید ``` - + ### پروژه‌های بازی فضایی ```bash @@ -66,8 +66,8 @@ cd 6-space-game/solution npm install # فایل index.html را در مرورگر باز کنید یا از Live Server استفاده کنید ``` - -### پروژه چت (بک‌اند Python) + +### پروژه چت (بک‌اند پایتون) ```bash cd 9-chat-project/solution/backend/python @@ -75,34 +75,34 @@ pip install openai # تنظیم متغیر محیطی GITHUB_TOKEN python api.py ``` + +## جریان توسعه -## جریان کاری توسعه - -### برای همکاران محتوا +### برای مشارکت‌کنندگان محتوا -1. **مخزن را فورک کنید** به حساب GitHub خود -2. **فورک خود را کلون کنید** به صورت محلی -3. **یک شاخه جدید بسازید** برای تغییرات خود -4. تغییرات را روی محتوای درس یا نمونه کدها اعمال کنید -5. تغییرات کد را در دایرکتوری‌های مرتبط پروژه تست کنید -6. درخواست پول ریکوئست طبق دستورالعمل مشارکت ارسال کنید +۱. **مخزن را فورک کنید** به حساب GitHub خود +۲. **فورک خود را کلون کنید** به صورت محلی +۳. **شاخة جدید بسازید** برای تغییرات +۴. تغییرات روی محتوای درس یا نمونه کدها ایجاد کنید +۵. تغییرات کد را در دایرکتوری‌های پروژه مربوطه آزمایش کنید +۶. درخواست‌های Pull را طبق دستورالعمل‌های مشارکت ارسال کنید ### برای یادگیرندگان -1. مخزن را فورک یا کلون کنید -2. به ترتیب به دایرکتوری‌های درس مراجعه کنید -3. فایل README هر درس را بخوانید -4. آزمون‌های پیش از درس را در https://ff-quizzes.netlify.app/web/ انجام دهید -5. نمونه کدهای درون پوشه‌های درس را دنبال کنید -6. تکالیف و چالش‌ها را کامل کنید -7. آزمون‌های پس از درس را انجام دهید +۱. مخزن را فورک یا کلون کنید +۲. به ترتیب به دایرکتوری‌های درس بروید +۳. فایل‌های README هر درس را بخوانید +۴. آزمون‌های قبل از درس را در https://ff-quizzes.netlify.app/web/ تکمیل کنید +۵. تمرین‌های کد را در پوشه‌های درس انجام دهید +۶. تکالیف و چالش‌ها را کامل کنید +۷. آزمون‌های بعد از درس را انجام دهید ### توسعه زنده -- **مستندات**: دستور `docsify serve` را در ریشه اجرا کنید (پورت ۳۰۰۰) -- **اپلیکیشن آزمون**: در دایرکتوری quiz-app دستور `npm run dev` را اجرا کنید -- **پروژه‌ها**: از افزونه Live Server در VS Code برای پروژه‌های HTML استفاده کنید -- **پروژه‌های API**: در دایرکتوری مربوط، دستور `npm start` را اجرا کنید +- **مستندات**: اجرای `docsify serve` در ریشه (پورت ۳۰۰۰) +- **اپلیکیشن آزمون**: اجرای `npm run dev` در پوشه quiz-app +- **پروژه‌ها**: استفاده از افزونه Live Server در VS Code برای پروژه‌های HTML +- **پروژه‌های API**: اجرای `npm start` در دایرکتوری‌های API مربوطه ## دستورالعمل‌های تست @@ -111,87 +111,87 @@ python api.py ```bash cd quiz-app npm run lint # بررسی مشکلات سبک کد -npm run build # اطمینان از موفقیت ساخت +npm run build # تأیید موفقیت ساخت ``` - + ### تست API بانک ```bash cd 7-bank-project/api npm run lint # بررسی مشکلات سبک کد -node server.js # اطمینان از شروع سرور بدون خطاها +node server.js # بررسی راه‌اندازی بدون خطا سرور ``` - + ### رویکرد کلی تست -- این یک مخزن آموزشی است بدون تست‌های خودکار جامع -- تست دستی بر موارد زیر تمرکز دارد: - - نمونه کدها بدون خطا اجرا شوند - - لینک‌های مستندات به درستی کار کنند - - ساخت پروژه‌ها موفقیت‌آمیز باشد - - نمونه‌ها از بهترین شیوه‌ها پیروی کنند +- این یک مخزن آموزشی است و تست‌های خودکار جامع ندارد +- تست دستی روی موارد زیر تمرکز دارد: + - اجرای بدون خطا نمونه کدها + - عملکرد صحیح لینک‌ها در مستندات + - موفقیت‌آمیز بودن بیلد پروژه‌ها + - پیروی نمونه‌ها از بهترین شیوه‌ها -### چک‌های پیش از ارسال +### بررسی‌های قبل از ارسال -- دستور `npm run lint` را در دایرکتوری‌هایی که package.json دارند اجرا کنید -- اعتبار لینک‌های مارک‌داون را بررسی کنید -- نمونه کدها را در مرورگر یا Node.js تست کنید -- اطمینان حاصل کنید که ترجمه‌ها ساختار درست را حفظ می‌کنند +- اجرای `npm run lint` در دایرکتوری‌های دارای package.json +- اطمینان از صحت لینک‌های markdown +- آزمایش نمونه کدها در مرورگر یا Node.js +- اطمینان از حفظ ساختار مناسب ترجمه‌ها -## راهنمای سبک کدنویسی +## راهنمای سبک کد -### جاوااسکریپت +### JavaScript -- استفاده از سینتکس مدرن ES6+ -- دنبال کردن پیکربندی ESLint استاندارد ارائه شده در پروژه‌ها -- استفاده از نام‌گذاری معنادار برای متغیرها و توابع جهت وضوح آموزشی -- افزودن کامنت برای توضیح مفاهیم به یادگیرندگان -- فرمت کد با استفاده از Prettier در صورت پیکربندی +- استفاده از سینتکس مدرن ES6+ +- پیروی از پیکربندی‌های ESLint ارائه شده در پروژه‌ها +- استفاده از نام‌های متغیر و تابع معنادار برای وضوح آموزشی +- افزودن توضیحات برای مفهوم‌یابی بهتر یادگیرندگان +- قالب‌بندی با Prettier در صورت تنظیم ### HTML/CSS -- استفاده از المان‌های معنایی HTML5 -- اصول طراحی واکنش‌گرا -- قوانین نام‌گذاری کلاس‌ها واضح -- کامنت برای توضیح تکنیک‌های CSS برای یادگیرندگان +- استفاده از المان‌های معنایی HTML5 +- اصول طراحی واکنش‌گرا +- کنوانسیون‌های واضح نام‌گذاری کلاس‌ها +- توضیح تکنیک‌های CSS برای یادگیرندگان با کامنت -### پایتون +### Python -- پیروی از راهنمای سبک PEP 8 -- نمونه کدهای واضح و آموزشی -- نوع‌دهی (Type hints) در صورت مفید بودن برای یادگیری +- پیروی از راهنمای سبک PEP 8 +- نمونه کدهای پاک و آموزشی +- استفاده از Type hints در صورت مفید بودن برای یادگیری -### مستندات Markdown +### مستندسازی Markdown -- سلسله مراتب واضح سرفصل‌ها -- بلوک‌های کد با مشخص کردن زبان -- لینک به منابع اضافی -- اسکرین‌شات‌ها و تصاویر در دایرکتوری `images/` -- متن جایگزین تصاویر جهت دسترسی‌پذیری +- سلسله‌مراتب واضح تیترها +- بلوک‌های کد با مشخص کردن زبان +- لینک به منابع اضافی +- اسکرین‌شات‌ها و تصاویر در دایرکتوری‌های `images/` +- متن جایگزین برای تصاویر برای دسترسی‌پذیری -### سازمان‌دهی فایل‌ها +### سازماندهی فایل‌ها -- درس‌ها به ترتیب شماره‌گذاری شده‌اند (۱-getting-started-lessons، ۲-js-basics و غیره) -- هر پروژه دارای دایرکتوری `solution/` و معمولاً `start/` یا `your-work/` است -- تصاویر در پوشه‌های اختصاصی هر درس در `images/` نگهداری می‌شوند -- ترجمه‌ها با ساختار `translations/{language-code}/` ذخیره می‌شوند +- شماره‌گذاری پشت سر هم درس‌ها (مثلاً 1-getting-started-lessons, 2-js-basics و غیره) +- هر پروژه دارای دایرکتوری‌های `solution/` و غالباً `start/` یا `your-work/` +- تصاویر در فولدرهای تصاویر ویژه هر درس ذخیره شده‌اند +- ترجمه‌ها در ساختار `translations/{language-code}/` ## ساخت و استقرار ### استقرار اپلیکیشن آزمون (Azure Static Web Apps) -اپلیکیشن quiz-app برای استقرار در Azure Static Web Apps پیکربندی شده است: +اپلیکیشن آزمون برای استقرار در Azure Static Web Apps پیکربندی شده است: ```bash cd quiz-app -npm run build # ساخت پوشه dist/ -# استقرار از طریق گردش کار GitHub Actions هنگام پوش به main +npm run build # ایجاد پوشه dist/ +# استقرار از طریق گردش کار GitHub Actions هنگام فشار به شاخه main ``` - -تنظیمات Azure Static Web Apps: -- **محل برنامه**: `/quiz-app` -- **محل خروجی**: `dist` -- **گردش کار**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` + +پیکربندی Azure Static Web Apps: +- **محل اپلیکیشن**: `/quiz-app` +- **محل خروجی**: `dist` +- **جریان کاری**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### تولید PDF مستندات @@ -199,84 +199,84 @@ npm run build # ساخت پوشه dist/ npm install # نصب docsify-to-pdf npm run convert # تولید PDF از داکس ``` - + ### مستندات Docsify ```bash -npm install -g docsify-cli # نصب Docsify به‌طور سراسری +npm install -g docsify-cli # داکسیفای را به‌صورت سراسری نصب کنید docsify serve # سرویس‌دهی در localhost:3000 ``` + +### ساخت‌های اختصاصی پروژه -### ساخت‌های مخصوص پروژه - -هر دایرکتوری پروژه ممکن است فرآیند ساخت خود را داشته باشد: -- پروژه‌های Vue: دستور `npm run build` بسته‌های تولیدی ایجاد می‌کند -- پروژه‌های استاتیک: بدون مرحله ساخت، فایل‌ها مستقیماً سرو می‌شوند +هر پوشه پروژه ممکن است فرآیند ساخت مخصوص به خود را داشته باشد: +- پروژه‌های Vue: اجرای `npm run build` برای ساخت بسته‌های تولید +- پروژه‌های استاتیک: بدون مرحله ساخت، فایل‌ها مستقیماً سرو می‌شوند -## دستورالعمل‌های درخواست تغییر (Pull Request) +## دستورالعمل‌های ارسال Pull Request ### قالب عنوان -عنوان‌های واضح و توصیفی که حوزه تغییر را مشخص می‌کنند: -- `[Quiz-app] افزودن آزمون جدید برای درس X` -- `[Lesson-3] اصلاح غلط املایی در پروژه تراریوم` -- `[Translation] افزودن ترجمه اسپانیایی برای درس ۵` -- `[Docs] به‌روزرسانی دستورات راه‌اندازی` +از عناوین واضح و توصیفی که حوزه تغییر را مشخص کنند استفاده کنید: +- `[Quiz-app] افزودن آزمون جدید برای درس X` +- `[Lesson-3] رفع غلط املایی در پروژه تراریوم` +- `[Translation] افزودن ترجمه اسپانیایی برای درس ۵` +- `[Docs] به‌روزرسانی دستورالعمل‌های راه‌اندازی` -### چک‌های الزامی +### چک‌های مورد نیاز -قبل از ارسال PR: +قبل از ارسال PR: -۱. **کیفیت کد**: - - اجرای دستور `npm run lint` در دایرکتوری‌های پروژه مرتبط - - رفع تمام خطاها و هشدارهای lint +1. **کیفیت کد**: + - اجرای `npm run lint` در دایرکتوری‌های پروژه مربوط + - رفع تمام خطاها و هشدارهای lint -۲. **تأیید ساخت**: - - اجرای `npm run build` در صورت وجود - - اطمینان از عدم وجود خطاهای ساخت +2. **بررسی ساخت**: + - اجرای `npm run build` اگر مرتبط باشد + - اطمینان از عدم وجود خطا در ساخت -۳. **اعتبارسنجی لینک‌ها**: - - تست همه لینک‌های مارک‌داون - - بررسی عملکرد ارجاعات تصویری +3. **اعتبارسنجی لینک‌ها**: + - تست همه لینک‌های markdown + - بررسی صحت ارجاعات تصاویر -۴. **بازبینی محتوا**: - - بازخوانی برای غلط‌های املایی و دستوری - - اطمینان از درست و آموزشی بودن نمونه کدها - - بررسی حفظ معنی اصلی در ترجمه‌ها +4. **بازبینی محتوا**: + - بازخوانی از لحاظ املایی و گرامری + - اطمینان از درست بودن و آموزشی بودن نمونه کدها + - بررسی صحت و دقت ترجمه‌ها -### موارد مورد نیاز برای مشارکت +### ملزومات مشارکت -- موافقت با قرارداد مشارکت مایکروسافت (Microsoft CLA) (بررسی خودکار در اولین PR) -- پیروی از [کدرفتار منبع باز مایکروسافت](https://opensource.microsoft.com/codeofconduct/) -- مشاهده [CONTRIBUTING.md](./CONTRIBUTING.md) برای دستورالعمل‌های جامع -- ارجاع شماره مشکلات در توضیح PR در صورت وجود +- قبول قرارداد مایکروسافت CLA (بررسی خودکار هنگام اولین PR) +- پیروی از [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- مشاهده [CONTRIBUTING.md](./CONTRIBUTING.md) برای راهنمایی‌های دقیق +- ارجاع شماره‌های issues در شرح PR در صورت لزوم -### فرآیند بازبینی +### فرایند بازبینی -- PRها توسط نگهدارندگان و جامعه بررسی می‌شوند -- وضوح آموزشی در اولویت است -- نمونه کدها باید بهترین شیوه‌های جاری را دنبال کنند -- ترجمه‌ها برای دقت و انطباق فرهنگی بررسی می‌شوند +- PRها توسط نگهدارندگان و جامعه بررسی می‌شوند +- اولویت به وضوح آموزشی داده می‌شود +- نمونه کدها باید از بهترین روش‌های جاری پیروی کنند +- ترجمه‌ها برای دقت و مناسبت فرهنگی بررسی می‌شوند ## سیستم ترجمه ### ترجمه خودکار -- استفاده از GitHub Actions با گردش کار co-op-translator -- ترجمه به بیش از ۵۰ زبان به صورت خودکار -- فایل‌های منبع در دایرکتوری‌های اصلی -- فایل‌های ترجمه‌شده در پوشه‌های `translations/{language-code}/` +- استفاده از GitHub Actions با جریان کاری co-op-translator +- ترجمه به بیش از ۵۰ زبان به صورت اتوماتیک +- فایل‌های منبع در دایرکتوری‌های اصلی +- فایل‌های ترجمه شده در ساختار `translations/{language-code}/` ### افزودن بهبودهای ترجمه دستی -۱. فایل را در مسیر `translations/{language-code}/` بیابید -۲. بهبودها را حفظ ساختار اعمال کنید -۳. اطمینان حاصل کنید نمونه کدها عملکرد خود را حفظ کنند -۴. هر محتوای آزمون محلی‌شده را تست کنید +۱. فایل را در `translations/{language-code}/` پیدا کنید +۲. بهبودها را ضمن حفظ ساختار اعمال کنید +۳. اطمینان از عملکرد صحیح نمونه کدها +۴. آزمون هر محتوای به‌صورت محلی شده (مانند آزمون‌ها) ### فراداده ترجمه -فایل‌های ترجمه شامل سربرگ فراداده: +فایل‌های ترجمه شده شامل سربرگ فراداده هستند: ```markdown ``` - -## اشکال‌زدایی و رفع مشکل + +## اشکال‌زدایی و عیب‌یابی ### مشکلات رایج -**نرم‌افزار آزمون اجرا نمی‌شود**: -- نسخه Node.js را بررسی کنید (نسخه ۱۴ به بالا توصیه می‌شود) -- دایرکتوری‌های `node_modules` و فایل `package-lock.json` را حذف و دوباره `npm install` را اجرا کنید -- بررسی تداخل پورت (پیش‌فرض: Vite از پورت ۵۱۷۳ استفاده می‌کند) +**آغاز به کار اپلیکیشن آزمون انجام نمی‌شود**: +- نسخه Node.js را بررسی کنید (نسخه ۱۴ به بالا توصیه می‌شود) +- پوشه `node_modules` و فایل `package-lock.json` را حذف و دوباره `npm install` بزنید +- بررسی تداخل پورت‌ها (پورت پیش‌فرض Vite برابر ۵۱۷۳ است) -**سرور API اجرا نمی‌شود**: -- اطمینان از نسخه حداقل Node.js (node >=10) -- بررسی استفاده بودن پورت -- اطمینان از نصب تمام وابستگی‌ها با `npm install` +**سرور API شروع به کار نمی‌کند**: +- اطمینان از اینکه نسخه Node.js حداقل ۱۰ باشد +- بررسی اینکه پورت در حال استفاده نباشد +- اطمینان از نصب تمام وابستگی‌ها با `npm install` -**افزونه مرورگر بارگذاری نمی‌شود**: -- اطمینان از فرمت صحیح فایل manifest.json -- بررسی خطاها در کنسول مرورگر -- دنبال کردن دستورالعمل نصب افزونه مخصوص مرورگر +**افزونه مرورگر بارگذاری نمی‌شود**: +- مطمئن شوید فایل manifest.json به درستی فرمت شده است +- خطاهای کنسول مرورگر را بررسی کنید +- دستورالعمل‌های نصب افزونه مخصوص مرورگر را دنبال کنید -**مشکلات پروژه چت پایتون**: -- نصب بسته OpenAI: `pip install openai` -- اطمینان از تنظیم متغیر محیطی GITHUB_TOKEN -- بررسی دسترسی‌های مدل‌های GitHub +**مشکلات پروژه چت پایتون**: +- اطمینان از نصب بسته OpenAI: `pip install openai` +- تغییر متغیر محیطی GITHUB_TOKEN تنظیم شده باشد +- بررسی دسترسی‌های Models در GitHub -**Docsify مستندات را ارائه نمی‌دهد**: -- نصب docsify-cli به صورت جهانی: `npm install -g docsify-cli` -- اجرا از دایرکتوری ریشه مخزن -- اطمینان از وجود فایل `docs/_sidebar.md` +**Docsify مستندات را سرو نمی‌کند**: +- نصب docsify-cli به طور جهانی: `npm install -g docsify-cli` +- اجرا از دایرکتوری اصلی مخزن +- وجود فایل `docs/_sidebar.md` را چک کنید ### نکات محیط توسعه -- استفاده از VS Code با افزونه Live Server برای پروژه‌های HTML -- نصب افزونه‌های ESLint و Prettier برای فرمت‌بندی یکپارچه -- استفاده از DevTools مرورگر برای اشکال‌زدایی JavaScript -- برای پروژه‌های Vue، نصب افزونه Vue DevTools برای مرورگر +- برای پروژه‌های HTML از VS Code با افزونه Live Server استفاده کنید +- افزونه‌های ESLint و Prettier را برای قالب‌بندی یکنواخت نصب کنید +- از DevTools مرورگر برای اشکال‌زدایی JavaScript بهره بگیرید +- برای پروژه‌های Vue افزونه Vue DevTools مرورگر را نصب کنید ### ملاحظات عملکرد -- تعداد زیاد فایل‌های ترجمه شده (بیش از ۵۰ زبان) باعث حجم زیاد کلون کامل می‌شود -- برای کار کردن فقط روی محتوا، از کلون سطحی استفاده کنید: `git clone --depth 1` -- هنگام کار روی محتوای انگلیسی، ترجمه‌ها را از جستجو مستثنی کنید -- فرایندهای ساخت ممکن است در اولین اجرا کند باشند (npm install، ساخت Vite) +- تعداد زیاد فایل‌های ترجمه (بیش از ۵۰ زبان) باعث بزرگ بودن کلون کامل می‌شود +- از کلون سطح پایین استفاده کنید اگر فقط روی محتوا کار می‌کنید: `git clone --depth 1` +- هنگام کار روی محتوای انگلیسی، ترجمه‌ها را از جستجوها حذف کنید +- فرایند ساخت ممکن است بار اول کند باشد (npm install، ساخت Vite) ## ملاحظات امنیتی ### متغیرهای محیطی -- کلیدهای API هرگز نباید در مخزن ذخیره شوند -- استفاده از فایل‌های `.env` (قبلاً در `.gitignore` قرار دارد) -- مستندسازی متغیرهای محیطی لازم در فایل README پروژه‌ها +- کلیدهای API هرگز در مخزن کامیت نشوند +- از فایل‌های `.env` استفاده کنید (که در `.gitignore` قرار دارند) +- متغیرهای محیطی مورد نیاز در فایل‌های README پروژه مستندسازی شوند -### پروژه‌های پایتون +### پروژه‌های Python -- استفاده از محیط‌های مجازی: `python -m venv venv` -- به‌روزرسانی وابستگی‌ها -- توکن‌های GitHub باید حداقل مجوزهای لازم را داشته باشند +- استفاده از محیط‌های مجازی: `python -m venv venv` +- بروزرسانی مرتب وابستگی‌ها +- توکن‌های GitHub باید کمترین دسترسی لازم را داشته باشند -### دسترسی به مدل‌های GitHub +### دسترسی به GitHub Models -- برای مدل‌های GitHub به Tokenهای دسترسی شخصی (PAT) نیاز است -- توکن‌ها باید به صورت متغیرهای محیطی ذخیره شوند -- هرگز توکن‌ها یا اطلاعات ورود را کامیت نکنید +- برای GitHub Models توکن‌های دسترسی شخصی (PAT) لازم است +- توکن‌ها باید به شکل متغیر محیطی ذخیره شوند +- هرگز توکن‌ها یا اطلاعات اعتبار را کامیت نکنید ## نکات اضافی -### مخاطب هدف +### گروه هدف -- مبتدیان کامل در توسعه وب -- دانش‌آموزان و خودآموزها -- معلمانی که از برنامه درسی در کلاس استفاده می‌کنند -- محتوا برای دسترسی‌پذیری و تقویت مهارت به صورت تدریجی طراحی شده است +- مبتدیان کامل در توسعه وب +- دانشجویان و خودآموزان +- آموزگاران استفاده‌کننده در کلاس‌های درسی +- محتوا طراحی شده برای دسترسی‌پذیری و ساخت تدریجی مهارت ### فلسفه آموزشی -- رویکرد یادگیری مبتنی بر پروژه -- بررسی‌های تکراری دانش (آزمون‌ها) -- تمرین‌های عملی کدنویسی -- مثال‌های کاربرد واقعی -- تمرکز بر مبانی پیش از چارچوب‌ها +- رویکرد یادگیری مبتنی بر پروژه +- بررسی‌های دانش مکرر (آزمون‌ها) +- تمرین‌های عملی کدنویسی +- مثال‌های کاربردی دنیای واقعی +- تمرکز بر اصول پیش از فریم‌ورک‌ها ### نگهداری مخزن -- جامعه فعال یادگیرندگان و مشارکت‌کنندگان -- به‌روزرسانی‌های منظم وابستگی‌ها و محتوا -- نظارت بر مسائل و بحث‌ها توسط نگهدارندگان -- به روزرسانی ترجمه‌ها به صورت خودکار از طریق GitHub Actions +- جامعه فعال یادگیرندگان و مشارکت‌کنندگان +- به‌روزرسانی‌های منظم وابستگی‌ها و محتوا +- نظارت بر مشکلات و بحث‌ها توسط نگهداران +- به‌روزرسانی ترجمه‌ها از طریق خودکار GitHub Actions ### منابع مرتبط -- [مدول‌های Microsoft Learn](https://docs.microsoft.com/learn/) -- [منابع Student Hub](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) توصیه شده برای یادگیرندگان -- دوره‌های اضافی: هوش مصنوعی مولد، علم داده، یادگیری ماشین، برنامه‌های IoT در دسترس +- [ماژول‌های Microsoft Learn](https://docs.microsoft.com/learn/) +- [منابع Student Hub](https://docs.microsoft.com/learn/student-hub/) +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) توصیه شده برای یادگیرندگان +- دوره‌های اضافی: هوش مصنوعی مولد، داده‌کاوی، یادگیری ماشین، آموزش‌های IoT موجود -### کار با پروژه‌های خاص +### کار با پروژه‌های مشخص -برای دستورالعمل‌های دقیق درباره پروژه‌های فردی، به فایل README در: -- `quiz-app/README.md` - اپلیکیشن آزمون Vue 3 -- `7-bank-project/README.md` - اپلیکیشن بانکی با احراز هویت -- `5-browser-extension/README.md` - توسعه افزونه مرورگر -- `6-space-game/README.md` - توسعه بازی بر پایه Canvas -- `9-chat-project/README.md` - پروژه دستیار چت هوش مصنوعی +برای دستورالعمل‌های دقیق درباره پروژه‌ها به فایل‌های README مراجعه کنید: +- `quiz-app/README.md` - اپلیکیشن آزمون Vue 3 +- `7-bank-project/README.md` - اپلیکیشن بانکی با احراز هویت +- `5-browser-extension/README.md` - توسعه افزونه مرورگر +- `6-space-game/README.md` - توسعه بازی مبتنی بر Canvas +- `9-chat-project/README.md` - پروژه دستیار چت هوش مصنوعی -### ساختار مونورپو +### ساختار مونو رپو -اگرچه این یک مونورپوی سنتی نیست، این مخزن شامل چند پروژه مستقل است: -- هر درس به صورت مستقل است -- پروژه‌ها وابستگی‌های مشترک ندارند -- می‌توانید روی پروژه‌های فردی بدون تأثیر روی بقیه کار کنید -- برای تجربه کامل برنامه درسی، کل مخزن را کلون کنید +اگرچه این مخزن یک مونو رپو سنتی نیست، شامل چندین پروژه مستقل است: +- هر درس به صورت خودکفا +- پروژه‌ها وابستگی مشترک ندارند +- کار روی پروژه‌های جداگانه بدون تأثیر بر دیگران +- کلون کل مخزن برای تجربه کامل دوره --- **سلب مسئولیت**: -این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود، منبع معتبر و رسمی در نظر گرفته شود. برای اطلاعات حساس و حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرستی که از استفاده این ترجمه ناشی شود، نیستیم. +این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً در نظر داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نواقصی باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوء تفاهم یا برداشت نادرستی که از استفاده از این ترجمه ناشی شود، نیستیم. \ No newline at end of file diff --git a/translations/ru/.co-op-translator.json b/translations/ru/.co-op-translator.json index 3fd09113b..3337b577e 100644 --- a/translations/ru/.co-op-translator.json +++ b/translations/ru/.co-op-translator.json @@ -493,7 +493,7 @@ }, "AGENTS.md": { "original_hash": "a362efd06d64d4134a0cfe8515a86d34", - "translation_date": "2026-02-06T10:58:14+00:00", + "translation_date": "2026-02-06T12:19:45+00:00", "source_file": "AGENTS.md", "language_code": "ru" }, diff --git a/translations/ru/AGENTS.md b/translations/ru/AGENTS.md index ca7478003..525a3c2e2 100644 --- a/translations/ru/AGENTS.md +++ b/translations/ru/AGENTS.md @@ -2,36 +2,36 @@ ## Обзор проекта -Это репозиторий учебной программы для обучения основам веб-разработки для начинающих. Учебная программа — это комплексный 12-недельный курс, разработанный специалистами Microsoft Cloud Advocates, который включает 24 практических урока по JavaScript, CSS и HTML. +Это учебный репозиторий с учебной программой для обучения основам веб-разработки для начинающих. Программа представляет собой комплексный 12-недельный курс, разработанный Microsoft Cloud Advocates, включающий 24 практических урока по JavaScript, CSS и HTML. ### Ключевые компоненты -- **Учебный контент**: 24 структурированных урока, организованных в проектные модули -- **Практические проекты**: Террариум, Игра на набор текста, Расширение для браузера, Космическая игра, Банковское приложение, Редактор кода и AI чат-ассистент -- **Интерактивные викторины**: 48 викторин по 3 вопроса каждая (предварительная/послеурочная оценка) -- **Поддержка множества языков**: Автоматические переводы на более чем 50 языков с помощью GitHub Actions +- **Образовательный контент**: 24 структурированных урока, организованных в проектные модули +- **Практические проекты**: Террариум, Игра на набор текста, Расширение для браузера, Космическая игра, Банковское приложение, Редактор кода и AI-чат-ассистент +- **Интерактивные викторины**: 48 викторин по 3 вопроса каждая (до и после урока) +- **Многоязычная поддержка**: Автоматический перевод на 50+ языков с помощью GitHub Actions - **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для AI-проектов) ### Архитектура -- Образовательный репозиторий с структурой по урокам -- Каждая папка урока содержит README, примеры кода и решения -- Отдельные проекты в отдельных каталогах (quiz-app, различные проекты уроков) -- Система переводов на базе GitHub Actions (co-op-translator) +- Образовательный репозиторий с уроками, структурированными по папкам +- В каждой папке с уроком есть README, примеры кода и решения +- Отдельные проекты в отдельных директориях (quiz-app, различные проекты уроков) +- Система перевода с использованием GitHub Actions (co-op-translator) - Документация доступна через Docsify и в формате PDF -## Команды установки +## Команды настройки -Этот репозиторий предназначен в первую очередь для изучения учебного материала. Для работы с конкретными проектами: +Этот репозиторий в первую очередь предназначен для изучения образовательного контента. Для работы с конкретными проектами: -### Основная установка репозитория +### Основная настройка репозитория ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` -### Настройка приложения викторины (Vue 3 + Vite) +### Настройка Quiz App (Vue 3 + Vite) ```bash cd quiz-app @@ -51,7 +51,7 @@ npm run lint # Запустить ESLint npm run format # Отформатировать с помощью Prettier ``` -### Проекты расширений для браузера +### Проекты расширения для браузера ```bash cd 5-browser-extension/solution @@ -59,7 +59,7 @@ npm install # Следуйте инструкциям по загрузке расширений, специфичным для браузера ``` -### Космические игровые проекты +### Проекты космической игры ```bash cd 6-space-game/solution @@ -67,7 +67,7 @@ npm install # Откройте index.html в браузере или используйте Live Server ``` -### Проект чата (Backend на Python) +### Проект чата (Python backend) ```bash cd 9-chat-project/solution/backend/python @@ -83,145 +83,145 @@ python api.py 1. **Сделайте форк репозитория** в ваш аккаунт GitHub 2. **Клонируйте ваш форк** локально 3. **Создайте новую ветку** для ваших изменений -4. Внесите изменения в содержимое уроков или примеры кода -5. Тестируйте изменения кода в соответствующих папках проектов -6. Отправьте pull-запросы, следуя инструкциям по внесению изменений +4. Внесите изменения в уроки или примеры кода +5. Протестируйте изменения в соответствующих проектах +6. Отправьте pull request, следуя правилам вклада -### Для учащихся +### Для обучающихся -1. Сделайте форк или клонирование репозитория +1. Сделайте форк или клонируйте репозиторий 2. Переходите по папкам уроков последовательно -3. Читайте README каждого урока -4. Выполняйте предварительные викторины на https://ff-quizzes.netlify.app/web/ +3. Читайте файлы README для каждого урока +4. Выполняйте викторины до урока на https://ff-quizzes.netlify.app/web/ 5. Работайте с примерами кода в папках уроков 6. Выполняйте задания и вызовы -7. Проходите пост-урочные викторины +7. Проходите викторины после урока ### Живая разработка - **Документация**: Запустите `docsify serve` в корне (порт 3000) -- **Приложение Викторины**: Запустите `npm run dev` в папке quiz-app -- **Проекты**: Используйте расширение VS Code Live Server для HTML проектов -- **API проекты**: Запустите `npm start` в соответствующих папках API +- **Quiz App**: Запустите `npm run dev` в папке quiz-app +- **Проекты**: Используйте расширение VS Code Live Server для HTML-проектов +- **API проекты**: Запустите `npm start` в соответствующих API директориях ## Инструкции по тестированию -### Тестирование приложения Викторина +### Тестирование Quiz App ```bash cd quiz-app -npm run lint # Проверить ошибки стиля кода +npm run lint # Проверить наличие проблем со стилем кода npm run build # Проверить успешность сборки ``` -### Тестирование Bank API +### Тестирование API банка ```bash cd 7-bank-project/api -npm run lint # Проверить наличие проблем со стилем кода -node server.js # Убедиться, что сервер запускается без ошибок +npm run lint # Проверить проблемы со стилем кода +node server.js # Проверить запуск сервера без ошибок ``` ### Общий подход к тестированию -- Это учебный репозиторий без полноценного автоматизированного тестирования +- Это учебный репозиторий без полноценных автоматических тестов - Ручное тестирование сосредоточено на: - - Корректном запуске примеров кода без ошибок - - Работе ссылок в документации - - Успешной сборке проектов - - Следовании примеров лучшим практикам + - Примеры кода запускаются без ошибок + - Ссылки в документации работают корректно + - Сборка проектов завершается успешно + - Примеры соответствуют лучшим практикам ### Проверки перед отправкой -- Запустите `npm run lint` в каталогах с package.json -- Проверьте валидность markdown-ссылок +- Запустите `npm run lint` в папках с package.json +- Проверьте, что markdown-ссылки валидны - Тестируйте примеры кода в браузере или Node.js -- Проверьте, что переводы сохраняют правильную структуру +- Убедитесь, что переводы сохраняют правильную структуру ## Руководство по стилю кода ### JavaScript - Используйте современный синтаксис ES6+ -- Следуйте стандартным конфигурациям ESLint в проектах -- Используйте понятные имена переменных и функций для обучения -- Добавляйте комментарии, объясняющие концепции для учащихся -- Форматируйте код с помощью Prettier, где это настроено +- Следуйте стандартной конфигурации ESLint в проектах +- Используйте осмысленные имена переменных и функций для образовательной ясности +- Добавляйте комментарии с объяснениями для учащихся +- Форматируйте код с помощью Prettier, если настроено ### HTML/CSS - Семантические элементы HTML5 - Принципы адаптивного дизайна -- Четкие соглашения по именованию классов -- Комментарии, объясняющие CSS-техники для учащихся +- Чёткие соглашения по именованию классов +- Комментарии с объяснениями CSS-техник для обучающихся ### Python -- Стиль кода по PEP 8 -- Четкие образовательные примеры кода -- Подсказки типов, где это полезно для обучения +- Следуйте стилю PEP 8 +- Чёткие образовательные примеры кода +- Используйте подсказки типов, если это полезно для обучения -### Документация в Markdown +### Документация Markdown -- Четкая иерархия заголовков +- Чёткая иерархия заголовков - Блоки кода с указанием языка - Ссылки на дополнительные ресурсы - Скриншоты и изображения в папках `images/` -- Alt-текст для изображений для доступности +- Атрибут alt для изображений для доступности ### Организация файлов - Уроки пронумерованы последовательно (1-getting-started-lessons, 2-js-basics и т.д.) -- Каждый проект содержит папки `solution/` и часто `start/` или `your-work/` -- Изображения хранятся в папках `images/`, относящихся к конкретному уроку -- Переводы находятся в структуре `translations/{language-code}/` +- В каждом проекте есть папки `solution/` и часто `start/` или `your-work/` +- Изображения хранятся в папках уроков `images/` +- Переводы расположены в `translations/{language-code}/` -## Сборка и деплой +## Сборка и развертывание -### Деплой приложения Викторина (Azure Static Web Apps) +### Развертывание Quiz App (Azure Static Web Apps) -Приложение quiz-app настроено для деплоя в Azure Static Web Apps: +Quiz-app настроен для развертывания в Azure Static Web Apps: ```bash cd quiz-app npm run build # Создаёт папку dist/ -# Выполняет деплой через workflow GitHub Actions при пуше в main +# Производит развертывание через workflow GitHub Actions при пуше в main ``` Конфигурация Azure Static Web Apps: - **Расположение приложения**: `/quiz-app` -- **Папка с результатом сборки**: `dist` +- **Расположение вывода**: `dist` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` ### Генерация PDF документации ```bash npm install # Установить docsify-to-pdf -npm run convert # Сгенерировать PDF из документов +npm run convert # Сгенерировать PDF из docs ``` ### Документация Docsify ```bash -npm install -g docsify-cli # Установить Docsify глобально -docsify serve # Запустить на localhost:3000 +npm install -g docsify-cli # Установите Docsify глобально +docsify serve # Запустите на localhost:3000 ``` ### Сборки для отдельных проектов -В каждой папке проекта может быть свой процесс сборки: -- Vue проекты: `npm run build` создает production-бандлы -- Статические проекты: сборка отсутствует, файлы обслуживаются напрямую +Каждая папка с проектом может иметь собственный процесс сборки: +- Vue проекты: `npm run build` создает production сборки +- Статические проекты: Сборки не требуется, файлы подаются напрямую -## Руководство по Pull Request +## Руководство по pull request -### Формат названия +### Формат заголовка -Используйте четкие, описательные названия, отражающие область изменений: +Используйте чёткие описательные заголовки, указывающие область изменений: - `[Quiz-app] Добавить новую викторину для урока X` -- `[Lesson-3] Исправить опечатку в проекте террариум` -- `[Translation] Добавить перевод на испанский для урока 5` -- `[Docs] Обновить инструкции по установке` +- `[Lesson-3] Исправить опечатку в проекте террариума` +- `[Translation] Добавить испанский перевод для урока 5` +- `[Docs] Обновить инструкции по настройке` ### Обязательные проверки @@ -229,54 +229,54 @@ docsify serve # Запустить на localhost:3000 1. **Качество кода**: - Запустите `npm run lint` в затронутых папках проектов - - Исправьте все ошибки и предупреждения линтера + - Исправьте все ошибки и предупреждения 2. **Проверка сборки**: - - Запустите `npm run build`, если применимо + - Запустите `npm run build` при необходимости - Убедитесь в отсутствии ошибок сборки -3. **Проверка ссылок**: +3. **Валидация ссылок**: - Проверьте все markdown-ссылки - - Убедитесь в работоспособности ссылок на изображения + - Убедитесь, что ссылки на изображения работают -4. **Проверка содержимого**: - - Вычитайте текст на предмет ошибок - - Убедитесь, что примеры кода корректны и образовательны - - Проверьте, что переводы сохраняют исходный смысл +4. **Проверка контента**: + - Проверьте орфографию и грамматику + - Убедитесь, что примеры кода верны и понятны + - Проверьте точность и адекватность переводов -### Требования к участию +### Требования для контрибьюторов - Согласие с Microsoft CLA (автоматическая проверка при первом PR) -- Соблюдение [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -- См. [CONTRIBUTING.md](./CONTRIBUTING.md) для подробных инструкций -- Указывайте номера связанных issue в описании PR при необходимости +- Следовать [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- Смотреть [CONTRIBUTING.md](./CONTRIBUTING.md) для детальных правил +- Указывать номера проблем в описании PR при наличии -### Процесс рецензирования +### Процесс ревью - PR проверяются мейнтейнерами и сообществом -- Приоритет - образовательная ясность -- Примеры кода должны следовать современным лучшим практикам -- Переводы проверяются на точность и культурную уместность +- В приоритете образовательная понятность +- Примеры кода должны соответствовать современным best practices +- Переводы проверяются на точность и культурную адекватность ## Система перевода ### Автоматический перевод -- Используется GitHub Actions с workflow co-op-translator -- Перевод на более чем 50 языков автоматически +- Используются GitHub Actions с workflow co-op-translator +- Автоматический перевод на 50+ языков - Исходные файлы в основных директориях -- Переводы в папках `translations/{language-code}/` +- Переведённые файлы в директориях `translations/{language-code}/` -### Добавление ручных улучшений перевода +### Ручные улучшения переводов 1. Найдите файл в `translations/{language-code}/` 2. Внесите улучшения, сохраняя структуру -3. Убедитесь, что примеры кода работают корректно +3. Убедитесь, что примеры кода остаются работоспособными 4. Проверьте локализованный контент викторин ### Метаданные перевода -Переведенные файлы содержат заголовок с метаданными: +Переведённые файлы содержат метаданные в заголовке: ```markdown ``` -## Отладка и устранение неполадок +## Отладка и устранение проблем -### Распространенные проблемы +### Частые проблемы -**Приложение викторины не запускается**: +**Quiz app не запускается**: - Проверьте версию Node.js (рекомендуется v14+) -- Удалите `node_modules` и `package-lock.json`, заново выполните `npm install` -- Проверьте конфликты портов (по умолчанию Vite использует порт 5173) +- Удалите `node_modules` и `package-lock.json`, затем выполните `npm install` заново +- Проверьте конфликт портов (по умолчанию Vite использует порт 5173) -**API сервер не запускается**: -- Убедитесь, что версия Node.js >= 10 -- Проверьте, не занят ли порт +**Сервер API не запускается**: +- Убедитесь, что версия Node.js не ниже 10 +- Проверьте, занят ли порт - Убедитесь, что все зависимости установлены через `npm install` **Расширение для браузера не загружается**: - Проверьте правильность формата manifest.json -- Проверьте консоль браузера на ошибки -- Следуйте инструкциям установки расширения для конкретного браузера +- Посмотрите ошибки в консоли браузера +- Следуйте инструкциям установки расширения для вашего браузера **Проблемы с проектом чата на Python**: - Убедитесь, что пакет OpenAI установлен: `pip install openai` -- Проверьте, что переменная окружения GITHUB_TOKEN установлена +- Проверьте, что переменная окружения GITHUB_TOKEN задана - Проверьте права доступа к GitHub Models -**Docsify не отображает документацию**: +**Docsify не показывает документацию**: - Установите docsify-cli глобально: `npm install -g docsify-cli` - Запускайте из корня репозитория -- Убедитесь, что существует файл `docs/_sidebar.md` +- Проверьте наличие `docs/_sidebar.md` -### Советы по окружению разработки +### Советы по развитию среды - Используйте VS Code с расширением Live Server для HTML проектов -- Установите расширения ESLint и Prettier для консистентного форматирования +- Устанавливайте ESLint и Prettier для единообразного форматирования - Используйте DevTools браузера для отладки JavaScript - Для Vue проектов установите расширение Vue DevTools для браузера ### Особенности производительности -- Большое количество файлов перевода (более 50 языков) делает полный клон репозитория большим -- Используйте shallow clone, если работаете только с контентом: `git clone --depth 1` -- Исключайте переводы из поиска, когда работаете с английским контентом -- Сборка может быть медленной при первом запуске (npm install, сборка Vite) +- Большое количество переведённых файлов (50+ языков) увеличивает размер клона +- Для работы только с контентом используйте shallow clone: `git clone --depth 1` +- Исключайте переводы из поиска при работе с английским контентом +- Первоначальная сборка и установка пакетов может быть медленной (npm install, сборка Vite) ## Вопросы безопасности ### Переменные окружения -- Ключи API никогда не должны коммититься в репозиторий -- Используйте `.env` файлы (уже в `.gitignore`) -- Документируйте необходимые переменные окружения в README проектов +- Ключи API не должны попадать в репозиторий +- Используйте файлы `.env` (уже в `.gitignore`) +- Задокументируйте необходимые переменные в README проектов ### Python проекты - Используйте виртуальные окружения: `python -m venv venv` -- Обновляйте зависимости +- Поддерживайте зависимости в актуальном состоянии - Токены GitHub должны иметь минимально необходимые права ### Доступ к GitHub Models -- Для доступа к GitHub Models нужны Personal Access Tokens (PAT) -- Токены должны храниться как переменные окружения +- Личные access tokens (PAT) требуются для GitHub Models +- Храните токены в переменных окружения - Никогда не коммитьте токены или учетные данные ## Дополнительные заметки @@ -358,51 +358,51 @@ CO_OP_TRANSLATOR_METADATA: - Полные новички в веб-разработке - Студенты и самоучки -- Преподаватели, использующие учебную программу в классах -- Контент разработан с акцентом на доступность и поэтапное освоение навыков +- Преподаватели, использующие программу в учебных классах +- Контент разработан с учетом доступности и постепенного наращивания навыков ### Образовательная философия -- Проектно-ориентированный подход к обучению +- Проектно-ориентированное обучение - Частые проверки знаний (викторины) - Практические упражнения по программированию -- Примеры из реальной практики -- Акцент на фундаментальные знания перед изучением фреймворков +- Примеры из реальной жизни +- Акцент на фундаментальных знаниях до изучения фреймворков ### Поддержка репозитория - Активное сообщество учащихся и контрибьюторов -- Регулярное обновление зависимостей и контента -- Мониторинг проблем и обсуждений мейнтейнерами +- Регулярные обновления зависимостей и контента +- Мониторинг вопросов и обсуждений мейнтейнерами - Автоматическое обновление переводов через GitHub Actions ### Связанные ресурсы -- [Модули Microsoft Learn](https://docs.microsoft.com/learn/) -- [Ресурсы Student Hub](https://docs.microsoft.com/learn/student-hub/) -- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендуется учащимся -- Дополнительные курсы: Generative AI, Data Science, ML, IoT учебные программы доступны +- [Microsoft Learn modules](https://docs.microsoft.com/learn/) +- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) +- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендуется для обучающихся +- Дополнительные курсы: Генеративный AI, Data Science, ML, IoT доступны ### Работа с конкретными проектами -Для подробных инструкций по отдельным проектам смотрите README файлы в: -- `quiz-app/README.md` - Приложение викторины на Vue 3 +Для подробных инструкций по отдельным проектам смотрите README файлы: +- `quiz-app/README.md` - Quiz приложение на Vue 3 - `7-bank-project/README.md` - Банковское приложение с аутентификацией -- `5-browser-extension/README.md` - Разработка расширений для браузера +- `5-browser-extension/README.md` - Разработка расширения для браузера - `6-space-game/README.md` - Разработка игры на Canvas -- `9-chat-project/README.md` - Проект AI чат-ассистента +- `9-chat-project/README.md` - AI чат-ассистент проект ### Структура монорепозитория -Хотя это не классический монорепозиторий, этот репозиторий содержит несколько независимых проектов: +Хотя это не традиционный монорепозиторий, репозиторий содержит несколько независимых проектов: - Каждый урок автономен - Проекты не разделяют зависимости -- Работайте над отдельными проектами без влияния на другие -- Клонируйте весь репозиторий для полного опыта учебной программы +- Работа с отдельными проектами не влияет на другие +- Клонируйте весь репозиторий для полного учебного опыта --- **Отказ от ответственности**: -Этот документ был переведен с помощью AI-сервиса перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Мы прилагаем усилия для обеспечения точности, однако имейте в виду, что автоматический перевод может содержать ошибки или неточности. Исходный документ на его оригинальном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется обратиться к профессиональному человеческому переводу. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие при использовании этого перевода. +Этот документ был переведен с помощью сервиса машинного перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия по обеспечению точности, имейте в виду, что автоматический перевод может содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для критически важной информации рекомендуется обращаться к профессиональному человеческому переводу. Мы не несем ответственности за любые недоразумения или искажения смысла, возникающие при использовании данного перевода. \ No newline at end of file