إنشاء تطبيق متعدد اللغات
لإنشاء تطبيق يدعم عدة لغات يجب أولا استخلاص جميع السلاسل الحرفية String و النصوص Text التي
سنستخدمها في واجهة التطبيق و نقوم بحفظها في ملف منفصل يسمي String.xml
ووظيفة ملف String انه يقوم بحفظ جميع السلاسل الحرفية و إعطائها
اسم خاص لاستخدام في الكود لجلب هذا النص من ملف الـ String
يقوم Android SDK
بإنشاء ملف النصوص String.xml تلقائياً
بمجرد إنشاء مشروع جديد
يتم إنشاء ملف String.xml في المسار
MyProject/
res/
values/
strings.xml
نضع في هذا الملف في نفس المسار السابق كل نصوص التطبيق باللغة الافتراضية
و لوضع نصوص للغات أخري نقوم بإنشاء مجلد خاص لكل لغة و ملف String.xml كما في
المثال التالي
و يقوم نظام التشغيل Android عند تشغيل
التطبيق علي الهاتف بجلب اللغة المناسبة طبقا للعدادات المحلية للهاتف
و للإشارة و جلب هذه النصوص و وضعها في أماكنها في تصميم النشاط Activity نستخدم
المعامل
@string/ في الخاصية
text يتبعها اسم النص في ملف الـ string
مثال :
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
حيث hello_world اسم النص
المخزن به السلسلة الحرفية المراد اظهارها في TextView
سنقوم بعمل مشروع يشرح طريقة برمجة تطبيق متعدد اللغات
يحتوي التطبيق علي TextView واحد و به
جملة Hello world و سنجعل
هذه الجملة بثلاث لعات
- الافتراضية ( الإنجليزية )
- الأسبانية
- الفرنسية
1- قم بإنشاء مشروع
جديد باسم MultiLang
2- قم بالنقر بزر الفأرة
الأيمن علي المجلد res و اختار New ثم Folder و قم
بتسميته values-es
3- كرر نفس الخطوات
لإنشاء مجلد باسم values-fr
4- ليصبح شكل
المستكشف كما بالصورة
5- توجة إلي المجلد values و اضغط علي علامة الجمع التي تظهر بجوار لفتحة ستجد بداخله ملف باسم String.xml قم بعمل
نقر عليه بالزر الأيمن و اختر الأمر Copy
6- توجة إلي المجلد values-es -و بالنقر بالزر الأيمن و اختار Paste
7- كرر نفس الخطوات
لنسخ الملف string.xml .من المجلد values إلي values-fr
8- قم بفتح الملف values-es/string.xml -عن
طريق النقر عليه مرتين
9- انقر فوق زر string.xml .في واجهة
الملف كما بالصورة
ستجد الملف يحتوي علي
<resources>
<string name="app_name">MultiLang</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MultiLang</string>
</resources>
10-
غير النص المسمي hello_world و الذي
يحتوي علي قيمة Hello world غيره إلي اللغة الأسبانية إلي
hola mundo
11-
غير النص المسمي menu_settings من Settings إلي Configuración
ليصبح بالشكل التالي
<resources>
<string name="app_name">MultiLang</string>
<string name="hello_world">hola mundo!</string>
<string name="menu_settings">Configuración</string>
<string name="title_activity_main">MultiLang</string>
</resources>
قم بحفظ الملف بالضغط علي رمز القرص المرن بشريط الأدوات
12-
قم بفتح الملف values-fr/string.xml-عن طريق
النقر عليه مرتين
13-
قم بتغيير النص Hello world إلي bonjour tout le monde و النص Settings إلي réglages
ليظهر بالشكل التالي
<resources>
<string name="app_name">MultiLang</string>
<string name="hello_world">bonjour tout le monde</string>
<string name="menu_settings">réglages</string>
<string name="title_activity_main">MultiLang</string>
</resources>
14- قم بحفظ الملف
بالضغط علي رمز القرص المرن بشريط الأدوات
15- قم بتشغيل التطبيق علي المحاكي
ستجد أن عبارة الترحيب ظهرت باللغة الإنجليزية و لذا ضغط علي زر Menu في المحاكي
ستظهر كلمة الاعدادات باللغة الإنجليزية settings
16- غير اعدادات المحاكي إلي اللغة الأسبانية و اعد تشغيل التطبيق كما
بالصور
سنجد ان رسالة الترحيب و قائمة الاعدادات Settings قد ظهرت و تغيرت تلقائياً إلي اللغة الأسبانية
17- كرر نفس الخطوات السابقة لتغير اعدادات المحاكي اللي اللغة
الفرنسية و اعد تشغيل التطبيق
سنجد أن رسالة الترحيب و
قائمة الاعدادات Settings قد ظهرت و تغيرت تلقائياً
إلي اللغة الفرنسية
لتحميل ملف المشروع من هنا
ليست هناك تعليقات:
إرسال تعليق