شرح مجلد values وبرمجة تطبيق متعدد اللغات اندرويد

بسم الله الرحمن الرحيم

في هذه التدوينة إن شاء الله سوف نعطيكم شرح مبسط لمجلد values والملفات التي بداخله, وعلاقتها بإنشاء تطبيق متعدد اللغات.

في البداية مجلد values هو مجلد من مجلدات المشروع لتطبيق اندرويد. ويحتوي على عدة ملفات xml. بعضها موجودة جاهزة وبعضها تنشأها حسب الحاجة إليها.مجلد القيم وداخله مثلاً ملفات النصوص والأعداد والألوان .. إلخ. وهو من أهم المجلدات داخل الـ Resource. مع ملاحظة إن كل ملف داخل values مرتبط بـ R مباشرة. أي لدينا مثلاً عنصر في strings وهو android >> فالوصول له يكون بالشكل التالي :

اقرأ أيضاً شرح مجلدات وملفات مشروع تطبيق اندرويد

من أهم الملفات التي يحتوي عليها مجلد الفايلوس هي :

  • strings.xml / لقيم النصوص, وتحتوي على 3 أنواع. المشهور منها هو String وهو للنص المفرد, أما لسلسلة من النصوص فنستخدم String Array وأما للكميات والجموع فنستخدم Plurals ولكن جميعها تستخدم داخل نفس الملف strings.xml فقط البادئة تتغير.

مثال على استخدام كلاً منها :

  • styles.xml / للأنماط والاساليب .. الاستايل, هذا الملف من أحب الملفات على قلبي, يمكنك وضع خصائص معينة في تجميعة معينة وتعطيها اسم محدد, ثم تأتي لعنصر ما وتعطيه خاصية ارتباط مع هذه الخصائص .. رائع ويستحق التجربة.

يكتب بالصيغة التالية :

  • colors.xml / لقيم الألوان, كذلك ملف لا غنى عنه إذا كنت ممن يحب تغيير الوان النصوص وغيرها كثيراً.

مثال :

وعند أي عنصر تكتب فقط قيمة name و هو يأخذ اللون الذي حددته #000000.

  • arrays.xml / للمصفوفات, طبعاً من أقوى الملفات ولكن أعتقد من اسمه واضح .

مثال عليه :

  • dimens.xml / للقيم, هذا الملف اممـ ليس معقد كثيراً, ولكن هو أكثر ملف شامل للقيم, أعداد, ألوان, صور, لا اعرف كيف أشرحه ولكنه يحتوي على أنواع كثيرة جداً ..

الأنواع التي يخرجها :
Bool – Color – Dimension – ID – Integer – Integer Array – Typed Array

مهما تكلمنا عن هذه الملفات لن نستطيع إن نعطيها حقها أو ان نتم شرحها, فهي ليست كلمات, ويجب عليك ان تتعامل معها لكي تعرف معناها.
الآن ندخل قليلاً في ملف strings.xml لأنك يجب استخدامه إذا كنت تريد أن تبني تطبيق متعدد اللغات.
هذا الملف, تستطيع فهمه بالمثال التالي :

هذا القيم .. نستخدمها داخل النصوص مثال لدي نص من نوع TextView وخاصية النص كما قلنا سابقاً في :

هي : android:text .. إذا نأتي للنص الذي نريده وندخل داخله قيمة السترنج المطلوبة, مثلاً نضع :

إذا سوف يخرج لنا النص كما حددنا في ملف السترنج = شبكة اندرودي عربي
وهكذا يفضل بل ويجب عليك وضع كل نصوصك داخل ملف السترنج إذا أردت أن تبرمج تطبيق متعدد اللغات.
صورة توضح استخدام ملف strings.xml :
explain_values_multilingual_programming_android_application_1إن شاء الله من الصورة قد توضح المقصود, والآن لكي تستطيع بناء تطبيق متعدد اللغات يجب أن تجعل جميع النصوص في تطبيق في ملف السترنج strings .
بعد ذلك تتوجد إلى مجلد values وتقوم بنسخه .. ولكن أجعل بالنسخة الآخرى فقط ملف strings.xml وأسمي المجلد بالكامل بـ values-** حسب اللغة التي تريد ..
مع العلم إن مجلد values الافتراضي سوف تعمل النصوص فيه, مع اللغة الانجليزية وأي لغة آخرى لا يوجد لها مجلد مستقل ..
لأوضح كلامي بشكل أكبر .. الآن نحن تطبيق ونريد أن يكون لدينا 3 لغات للتطبيق .. انجليزية وعربية وفرنسية.

إذا سوف يكون لدينا 3 مجلدات .. للغة الانجليزية نستخدم نفسه الافتراضي values أما للغة العربية فنستخدم values-ar أما للغة الفرنسية فنستخدم values-fr .

توضيح بصورة :

explain_values_multilingual_programming_android_application_2

الآن افتح ملف السترنج الخاص باللغة العربية .. وحول النصوص لغة عربية .. وهكذا مع بقية اللغات ولكن لا تغير بقيمة name ابداً ..

مثال توضيحي على النص السابق :

الآن عند تشغيل التطبيق على جهاز جوال لغته الانجليزية يعني ملف Values/strings.xml

أما في جهازه اللغة فيه هي العربية فسوف يعمل Values-ar/strings.xml وهكذا بقية اللغات ..

معاينة ولكن تحتاج إلى تنسيق أكبر .. فقط مجرد مثال سريع لكم :

explain_values_multilingual_programming_android_application_3

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

explain_values_multilingual_programming_android_application_4

يمكنكم عمل التطبيق بعدة لغات وتجربته على جهازك الخاص, بتغيير لغة الجهاز من الضبط الخاص بجوالك.
انتظرونا بكل جديد ومفيد .. والسلام عليكم 🙂

لتحميل التدوينة في كتاب إلكتروني  Download pdf : http://andrody.com/?attachment_id=159

عن عبدالقادر عليوي

مواليد 1996 , سوري الجنسية, طالب علم, لدي شغوف كبير في تعلم كل ما يتعلق بالانترنت من تطوير وحماية, أحب القراءة كثيراً .. هدفي نشر العلم بشتى أنواعه ومجالاته, متابع من الدرجة الأولى لـ الدكتور ابراهيم الفقي و الشيخ أحمد ديدات - رحمهم الله -.

شاهد أيضاً

تحميل ملف من السيرفر لجهازك الأندرويد برمجياً

بسم الله الرحمن الرحيم في هذه التدوينة إن شاء الله سوف نتعلم كيفية تحميل ملف …

4 تعليقات

  1. الله يسلم ايديك بصراحة فتت على كل دورات تعليم ما تعلمت ولا شي مفيد غير من عند مدونتك #شكرا

  2. محمد الفيفي

    تعليقي الثاني في موقعك اخي هو:
    أن موقعك مرجع لمن أردا تعلم البرمجة بأندرويد ستديو…
    وفقك الله
    وانتظر درساً لطريقة تحويل التطبيق إلى apk وعمل له مفتاح …ليكون جاهزاً للرفع على قوقل بلاي

    تحياتي لك

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

      اهلا وسهلا بك 🙂

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *