تغيير اللغة ديناميكيا - كتاب هندسة البرمجيات - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تغيير اللغة ديناميكيا في MIT App Inventor

📚 معلومات الصفحة

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

يقدم هذا الدرس شرحاً تفصيلياً لتنفيذ ميزة تغيير اللغة ديناميكياً في تطبيقات MIT App Inventor. يبدأ الدرس بتعريف المتغيرات العامة لتخزين النصوص بلغتين مختلفتين (العربية والإنجليزية)، ثم يوضح كيفية تهيئة شاشة التطبيق لضبط اللغة بناءً على إعدادات المستخدم.

يتضمن الدرس خطوات عملية مثل إنشاء متغيرات للنصوص (العنوان والوصف) بكل لغة، واستخدام كتل البرمجة الشرطية (if-else if) للتحقق من اللغة المحددة، وتطبيق القيم المناسبة على عناصر الواجهة. كما يشرح كيفية ضبط محاذاة النصوص أفقياً وفقاً لاتجاه اللغة المختارة.

يتم دعم الشرح النصي برسم توضيحي يظهر كتل البرمجة في MIT App Inventor المستخدمة لتنفيذ هذه الميزة، مع التركيز على كتل تهيئة المتغيرات العامة وكيفية ربطها بعناصر الواجهة. هذا الدرس موجه لمطوري التطبيقات المبتدئين والمتوسطين الذين يرغبون في إضافة دعم متعدد اللغات لتطبيقاتهم.

📄 النص الكامل للصفحة

--- SECTION: تغيير اللغة ديناميكيا --- تغيير اللغة ديناميكيا --- SECTION: 1 --- أنشئ المتغيرات المناسبة لتسمية النصوص. --- SECTION: 2 --- أضف empty string (سلسلة نصية فارغة) لتسميتي title (العنوان)، و description (الوصف) الخاصين بمُعلّم Al Masmak (المصمك) بكل من اللغتين الإنجليزية والعربية. --- SECTION: 3 --- حدد الحدث initialize (التهيئة) لشاشة Al Masmak. --- SECTION: 4 --- أضف لبنة التعليمات البرمجية if else if داخل حدث initialize (التهيئة). --- SECTION: 5 --- أضف شرط equals (يساوي) داخل كل عبارة if. --- SECTION: 6 --- أضف get start value (للحصول على قيمة البداية) إلى الجانب الأيسر من شرطي equals (يساوي). --- SECTION: 7 --- أضف en (الإنجليزية) إلى الجانب الأيمن من شرط equals (يساوي) الأول، و ar (العربية) إلى الجانب الأيمن من شرط equals (يساوي) الثاني. --- SECTION: 8 --- اضبط خاصية Text (النص) الخاصة بـ title_label (عنوان_التسمية) إلى title variable (عنوان المتغير) الخاص باللغة المناسبة. --- SECTION: 9 --- اضبط خاصية Text (النص) الخاصة بـ description_label (وصف_التسمية) إلى description variable (وصف المتغير) للغة المناسبة. --- SECTION: 10 --- اضبط خاصية Alignhorizontal (المحاذاة الأفقية) لأداة verticalRangement1 (الترتيب العمودي1) إلى اتجاه المحاذاة المناسب للغة. --- SECTION: شكل يوضح كتل البرمجة في MIT App Inventor --- شكل يوضح كتل البرمجة في MIT App Inventor لتغيير اللغة ديناميكيا، مع الإشارة إلى المتغيرات العامة. --- SECTION: Footer Information --- وزارة التعليم 169 Ministry of Education 2025 - 1447 --- VISUAL CONTEXT --- **DIAGRAM**: MIT App Inventor Blocks for Dynamic Language Change Description: A screenshot of the MIT App Inventor blocks editor, illustrating the creation and initialization of global variables for dynamic language switching. The top bar shows 'MIT APP INVENTOR', 'Projects', 'Connect', 'Build', and 'Screen1'. The left panel shows the 'Blocks' palette with categories like 'Built-in' (Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures), and 'AlMasmak'. The right panel, labeled 'Viewer', shows the 'AlMasmak' screen with 'Add Screen...' and 'Remove Screen' options. The main area displays several orange code blocks: 'initialize global name to', 'get', 'set to', and 'initialize local name to in'. An arrow labeled '1' points from a generic 'initialize global name to' block to four specific global variable initialization blocks: 'initialize global title_en to', 'initialize global title_ar to', 'initialize global description_en to', and 'initialize global description_ar to'. These blocks are used to store English and Arabic versions of titles and descriptions. X-axis: N/A Y-axis: N/A Data: N/A Key Values: initialize global title_en, initialize global title_ar, initialize global description_en, initialize global description_ar Context: This visual element demonstrates the programming blocks and variable initialization steps described in the instructions for implementing dynamic language change in an MIT App Inventor application. It specifically shows how to set up global variables to hold text in different languages.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 5 بطاقة لهذه الصفحة

ما هو الهدف من إنشاء المتغيرات العامة (global variables) في تطبيق MIT App Inventor لتغيير اللغة ديناميكياً؟

الإجابة: الهدف هو تخزين النصوص (العناوين والأوصاف) بكل من اللغتين الإنجليزية والعربية في متغيرات منفصلة، بحيث يمكن التبديل بينها بناءً على إعدادات اللغة المختارة.

الشرح: يسمح إنشاء متغيرات مثل title_en و title_ar و description_en و description_ar بتخزين نسخ مختلفة من النص، مما يجعل عملية التغيير بين اللغات أكثر تنظيماً وأسهل في الصيانة.

تلميح: فكر في كيفية فصل محتوى النص عن منطق العرض في التطبيق.

التصنيف: مفهوم جوهري | المستوى: متوسط

ما هي الخطوة الأولى في تهيئة شاشة Al Masmak لتغيير اللغة ديناميكياً؟

الإجابة: تحديد الحدث initialize (التهيئة) لشاشة Al Masmak، ثم إضافة لبنة التعليمات البرمجية if else if داخل هذا الحدث.

الشرح: يجب ربط منطق تغيير اللغة بحدث تهيئة الشاشة لضمان تعيين النصوص الصحيحة بمجرد فتح التطبيق.

تلميح: تذكر أن الحدث initialize هو الذي ينفذ عند بدء تشغيل الشاشة.

التصنيف: صيغة/خطوات | المستوى: سهل

كيف يتم تحديد اللغة المختارة في منطق if else if لتغيير اللغة؟

الإجابة: يتم استخدام شرط equals (يساوي) داخل كل عبارة if. على الجانب الأيسر من الشرط نضع get start value (للحصول على قيمة البداية)، وعلى الجانب الأيمن نضع رمز اللغة (en للإنجليزية أو ar للعربية).

الشرح: يسمح هذا الهيكل المنطقي بفحص قيمة إعداد اللغة وتنفيذ الكود المناسب لكل حالة (الإنجليزية أو العربية).

تلميح: فكر في كيفية مقارنة قيمة إعداد اللغة المخزنة بقيمة ثابتة تمثل كل لغة.

التصنيف: صيغة/خطوات | المستوى: متوسط

ما الذي يجب فعله داخل كل فرع من فروع if else if بعد التحقق من اللغة؟

الإجابة: يجب ضبط خاصية Text (النص) لعناصر الواجهة مثل title_label و description_label إلى قيمة المتغير المناسب للغة (مثل title_en أو title_ar)، وكذلك ضبط خاصية Alignhorizontal (المحاذاة الأفقية) للترتيب العمودي إلى الاتجاه المناسب للغة.

الشرح: هذه الخطوة تطبق التغيير الفعلي على واجهة المستخدم، حيث يتم تعيين النص والمحاذاة بناءً على اللغة المحددة.

تلميح: تذكر أن لكل لغة متغيرات نصية خاصة بها وإعدادات محاذاة قد تختلف (مثل اليمين لليسار للعربية).

التصنيف: صيغة/خطوات | المستوى: متوسط

ما هو دور المتغيرات العامة title_en و title_ar و description_en و description_ar في عملية تغيير اللغة ديناميكياً؟

الإجابة: هذه المتغيرات العامة (global variables) تعمل كمستودعات لتخزين نسخ النصوص (العناوين والأوصاف) باللغتين الإنجليزية والعربية بشكل منفصل، مما يسهل الوصول إليها وتعيينها لعناصر الواجهة عند التبديل بين اللغات.

الشرح: استخدام متغيرات عامة يمنع تكرار النصوص داخل الكود ويجعل التطبيق أكثر مرونة وسهولة في التعديل عند إضافة لغات جديدة.

تلميح: فكر في الفصل بين البيانات (النصوص) والمنطق (كود التغيير).

التصنيف: مفهوم جوهري | المستوى: صعب