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

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

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

الدرس: تغيير اللغة ديناميكيا

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

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

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

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

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

📝 ملخص الصفحة

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

يتضمن النص إعدادات خصائص واجهة المستخدم لـ 'VerticalArrangement1'، مثل المحاذاة الأفقية والعمودية ولون الخلفية والارتفاع، مما يساعد في فهم كيفية تكوين العناصر المرئية. كما يبرز الرسم البياني المصاحب العلاقة بين إعدادات الواجهة والمنطق البرمجي، مع أسهم توضيحية تربط بينهما لتسهيل الفهم.

تهدف الصفحة إلى تعليم الطلاب مفاهيم برمجة التطبيقات الديناميكية، مع التركيز على التكيف الثقافي واللغوي في التطبيقات، مما ينمي مهاراتهم في تطوير برمجيات متعددة اللغات وقابلة للتخصيص.

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

--- SECTION: Application Header --- Visit_SA_App AlMasmak Add Screen Remove Screen Publish to Gallery --- SECTION: Blocks Panel Header --- Blocks --- SECTION: Block Categories --- Built-in Control Logic Math Text Lists Dictionaries Colors Variables Procedures AlMasmak --- SECTION: Viewer Panel Header --- Viewer --- SECTION: UI Property Settings --- VerticalArrangement1 AlignHorizontal set VerticalArrangement1 AlignHorizontal to HorizontalAlignment Left 10 VerticalArrangement1 AlignVertical set VerticalArrangement1 AlignVertical to VerticalAlignment Top VerticalArrangement1 BackgroundColor set VerticalArrangement1 BackgroundColor to VerticalArrangement1 Height --- SECTION: Initialization Logic --- when AlMasmak .Initialize do if get start value = "en" then set title_label .Text to get global title_en set description_label .Text to get global description_en set VerticalArrangement1 .AlignHorizontal to HorizontalAlignment Left else if get start value = "ar" then set title_label .Text to get global title_ar set description_label .Text to get global description_ar set VerticalArrangement1 .AlignHorizontal to HorizontalAlignment Right --- SECTION: Figure Caption --- شكل 3.42: تغيير اللغة ديناميكيا --- SECTION: Ministry of Education Information --- وزارة التعليم Ministry of Education 2023 - 1447 --- SECTION: Page Number --- 174 --- VISUAL CONTEXT --- **DIAGRAM**: App Inventor Blocks for Dynamic Language Switching Description: A block-based programming interface showing code logic for dynamic language switching. The top section displays UI property settings for 'VerticalArrangement1' including horizontal and vertical alignment, background color, and height. The bottom section shows an 'Initialize' event handler for 'AlMasmak' that checks a 'start value'. If the value is 'en', it sets 'title_label' and 'description_label' text to English global variables and aligns 'VerticalArrangement1' to 'Left'. If the 'start value' is 'ar', it sets the labels to Arabic global variables and aligns 'VerticalArrangement1' to 'Right'. A dashed blue arrow connects the top UI settings to the bottom logic, indicating a relationship or flow. A circled number '10' is present near 'HorizontalAlignment Left'. X-axis: N/A Y-axis: N/A Data: N/A Context: This diagram illustrates how to implement dynamic language switching in a mobile application using a block-based programming environment, specifically demonstrating conditional logic to adjust text content and UI layout (left for English, right for Arabic) based on a language preference. **IMAGE**: Ministry of Education Logo Description: The official logo of the Saudi Arabian Ministry of Education, featuring a stylized emblem and text in both Arabic 'وزارة التعليم' and English 'Ministry of Education' along with the years '2023 - 1447'. X-axis: N/A Y-axis: N/A Data: N/A Context: Identifies the official source or publisher of the educational material.

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

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

ما هي الخطوات التي ينفذها الكود البرمجي عندما تكون قيمة بدء التشغيل (start value) هي "ar"؟

الإجابة: 1. تعيين نص title_label إلى قيمة المتغير العام title_ar. 2. تعيين نص description_label إلى قيمة المتغير العام description_ar. 3. تعيين خاصية AlignHorizontal للعنصر VerticalArrangement1 إلى HorizontalAlignment Right (المحاذاة لليمين).

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

تلميح: راجع الفرع الثاني من الجملة الشرطية (else if) في كتلة when AlMasmak .Initialize.

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

ما الفرق بين الإجراءين المنفذين عند اختيار اللغة الإنجليزية واللغة العربية في الكود البرمجي الموضح؟

الإجابة: الفرق الرئيسي يكمن في مصدر النص المعروض (المتغيرات العامة الإنجليزية title_en و description_en مقابل العربية title_ar و description_ar) وفي اتجاه محاذاة العنصر VerticalArrangement1 (HorizontalAlignment Left للإنجليزية مقابل HorizontalAlignment Right للعربية).

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

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

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

ما هو دور الحدث (event) 'when AlMasmak .Initialize do' في الكود البرمجي الموضح؟

الإجابة: هو معالج حدث (event handler) يتم تنفيذه مرة واحدة عند بدء تشغيل التطبيق أو تهيئته (Initialize). وهو نقطة الدخول المنطقية لتنفيذ إعدادات التهيئة الأولية، مثل تحديد لغة التطبيق وتعيين الإعدادات المناسبة.

الشرح: يعد استخدام أحداث التهيئة ممارسة شائعة في هندسة البرمجيات لضمان تنفيذ الإعدادات المهمة قبل أن يبدأ المستخدم في التفاعل مع التطبيق، مما يوفر تجربة مستخدم سلسة ومتسقة من اللحظة الأولى.

تلميح: فكر في التوقيت الذي يجب فيه تحديد لغة التطبيق وتطبيق الإعدادات الأولية. ما اسم هذا الحدث؟

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

لماذا يُعد تغيير محاذاة العنصر (VerticalArrangement1.AlignHorizontal) جزءاً مهماً من عملية تغيير اللغة ديناميكياً؟

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

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

تلميح: فكر في عادات القراءة والتخطيط البصري للمستخدمين الناطقين بلغات مختلفة.

التصنيف: تفكير ناقد | المستوى: صعب