شرح اضافة اكثر من لغة في تطبيقك بإستخدام Getx في فلاتر
في هذا الدرس والذي يعد من اهم الدروس في استخدام الGetx وفي هذا المقال سوف نشرح لكم كيف تقوم بجعل التطبيق الخاص بك متعدد اللغات ويمكن لاي شخص استخدامه باكثر من لغة وهذه المسأله تواجه كثير من الاشخاص في عملية كتابة الكود ومن اكثر الاشياء التي يتم البحث عنها بشكل كبير جدا في تطوير تطبيقات الجوال وفي هذا المقال سوف نشرح لكم كيف تقوم بجعل التطبيق الخاص بك يعمل بأكثر من لغة وايضا الامر لا يقتصر على ذلك فقط بل يمكنك حفظ اللغة لكي يعمل عليها التطبيق في كل مره , وطريقة التعامل مع اللغات المختلفه في التطبيق تم شرحها لكم في دروس سابقة في موقعنا ولكن كان بإستخدام الBloc StateManagement.
يمثل نظاما التشغيل الأساسيان للهاتف المحمول ، iOS و Android اكثر من 97% من حصة السوق لتطبيقات الهاتف المحمول. عادةً ما يتعين على مطور تطبيقات الأجهزة المحمولة كتابة العديد من الرموز أو قواعد التعليمات البرمجية عند إنشاء تطبيق جوال.
يتم زيادة تكلفة تطبيق الهاتف المحمول من خلال تطوير التطبيق الأصلي ، والذي يقيد أيضًا خيارات التسويق الرقمي. لذلك ، يبحث سوق تطبيقات الأجهزة المحمولة عن طرق جديدة لإنشاء تطبيقات iOS و Android مع تكلفة معقولة.
هناك العديد من الأدوات الشائعة في السوق في الوقت الحاضر. تكتب هذه الأدوات رموزًا لنظامي iOS و Android في نفس الوقت. أطر تطوير التطبيقات عبر الأنظمة الأساسية ومن ضمنها تقينة Flutter .
How to change language in Flutter
بداخل ملف الcontroller سوف نقوم بعمل methode مسؤوله عن تغيير اللغه وكل ما سوف نمرره لهذه الmethode هو رمز اللغه وبعدها سوف يتم تغيير لغة التطبيق وتخزينها بداخل الshared , وبعدها قمنا بعمل متغير باسم locale وبداخله نحصل على القيمة من الshared واذا لم يكن هناك قيمة سوف يكون باللغه الانجليزي او يمكنك استخدام Get.DeviceLocale للحصول على لغة الجهاز .
controller.dart
class ControllerGetX extends GetxController {
Locale localLang = sharedPreferences!.getString('lang') == null ?
Locale('en') : Locale(sharedPreferences!.getString('lang')!);
void changeLang({required String lang}) {
Locale local = Locale(lang);
sharedPreferences!.setString('lang', lang);
Get.updateLocale(local);
}
}
How to Add more language in Flutter by using Getx
هذا الclass سوف يكون مسؤول عن الترجمه الكامله لتطبيقك وبها قمنا بعمل key و value للغه العربيه والانجليزية كما هو موضح وعن طريق الkey نحصل على الكلمه التي يحملها .
TranslationGetX.dart
class TranslationGetX implements Translations {
@override
Map<String, Map<String, String>> get keys => {
'ar': {
'1': 'اللغه',
'2': 'عربي'
},
'en': {
'1': 'language',
'2': 'english'
},
};
}
Turn on a specific language while opening the app
في هذا الجزء والذي يكون في الmain سوف نضع قيمة اللغة الخاصه بالتطبيق وايضا ملف الترجمه التي يتم اضافتها .
How to use language in Flutter
والان اذا كنت تريد استخدام اي لغة سوف يكون عن طريق الkey الخاص بها وبعدها تضع tr فقط وبهذا سوف يحصل على اللغه من ملف الترجمه .
مزيد من المقالات