2018-05-19

كيف يدعم تطبيقك عدة لغات مختلفة Localize your app

بسم الله الرحمن الرحيم
والصلاة والسلام على اشرف المرسلين
سيدنا محمد وعلى آله وصحبه أجمعين

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

هذه الخاصية تسمى Android Localization ، تلك التى تسمح للمستخدم التعامل مع تطبيقك باللغة المضبوط بها اعدادات جهازه تلقائيا ، وبالتالى يكون تطبيقك مميز عن التطبيقات المنافسة ، ففى هذا الموضوع سوف أعرض الفكرة الرئيسية لترجمة تطبيق بسيط:
حتى يتمكن نظام الأندرويد الخاص بجهاز المستخدم التعامل مع التطبيق طبقًا للغة المضبوطة بإعدادات النظام ، لابد من فصل جميع النصوص المستخدمة بالتطبيق داخل ملف يسمى string.xml ، ستجد هذا الملف من ضمن ملفات تطبيقك فى المسار التالى:
app\src\main\res\values\strings.xml

شرح ملف string


لتوضيح أكثر : قم بإنشاء تطبيق جديد بإستخدام برنامج أندرويد ستوديو

كيفية ترجمة التطبيق لأكثر من لغة:

1- إذهب إلى ملف string.xml وقم بعزل جميع النصوص المستخدمة بالتطبيق بهذا الملف وكما بالمثال البسيط المستخدم بهذا الدرس
ستجد  الكود الصيغة:
<resources>
    <string name="app_name">My Application</string>
</resources>
الجزء الملون باللون الأصفر يمثل key ويمكنك إعطاء أى إسم للـ key يعبر عن النص المستخدم بالتطبيق والذى ستستخدمه عند الإشارة للنص فى الملفات الأخرى، بينما الجزء الملون باللون الأحمر يمثل النص الذى سيظهر للمستخدم فعليًا.
ثم قم بتعيين اللغة الإفتراضية للتطبيق وعزل النصوص وكتابتها بهذه الصيغة:

<resources>
    <string name="app_name">My Application</string>
    <string name="hello_world">Hello World!</string>
</resources>

2- الإشارة إلى هذه النصوص المستخدمة بملفات XML , Java  كما يلى:
**تحديث ملف XML : بدلا من إستخدام نص "Hello World" مباشرة ، أستخدم هذه الصيغة ليتم التعرف عليها داخل ملف string.xml :
شرح ملف string

**إذا أردت للإشارة إلى النص فى ملفات الجافا فيتم إستبدال النص " Hello world" بهذه الصيغة:
 getResources().getString(R.string.hello_world);

هكذا نكون قد أتممنا تعيين اللغة الإفتراضية للتطبيق وهى اللغة الإنجليزية.
ننتقل إلى الخطوة التالية وهى ترجمة التطبيق إلى لغة أخرى ولتكن اللغة العربية:

كيفية تعريب التطبيق:

قم بفتح المترجم الخاص ببرنامج أندرويد ستوديو والذى يظهر عند فتح ملف String.xml
و
Translator Editor
سيكون المترجم Translator Editor كما بالصورة يحتوى على key والقيم الإفتراضية التى قمنا بتحديدها فى الخطوة السابقة:
Translator Editor

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

Translation language

قم بإضافة النصوص المترجمة فى المكان المناسب كما بالصورة:
Translation language
لاحظ أنه قد تم إنشاء ملف( string.xml(ar  تلقائيا يحتوى على النصوص المترجمة للغة العربية:
وعند فتح هذا الملف ستجد الكود قد تم ضبطه تلقائيا بهذا الشكل
كن داعيا للخير
يمكن تكرار هذه العملية بإستخدام لغات متعددة

الآن يمكنك معاينة تطبيقك مع تجربة تأثير تغيير إعدادات اللغة للجهاز المستخدم فى المعاينة على تطبيقك

روابط مفيدة:


هناك تعليقان (2)

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

Privacy-Policy | إعلن لدينا
جميع الحقوق محفوظة لــ كن داعيا للخير 2011-2017 ©

تصميم كن مدون