ترجمة كامله لتطبيقك باستخدام مكتبة easy localization مع شرح الاستخدام في Flutter

ترجمة كامله لتطبيقك باستخدام مكتبة easy localization مع شرح الاستخدام في Flutter

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


ترجمة كامله لتطبيقك باستخدام مكتبة easy localizationمع شرح الاستخدام في Flutter

هناك حاجة إلى لغات البرمجة Swift أو Objective-C وبيئات التطوير المتكاملة Xcode أو AppCode لإنشاء تطبيق iOS للجوال. هناك حاجة إلى لغات البرمجة مثل Kotlin أو Java ، بالإضافة إلى بيئات التطوير المتكاملة مثل Android Studio أو Eclipse ، لإنشاء تطبيق Android للجوال. بالإضافة إلى ذلك ، يمكن للمستخدمين الحصول على تطبيقات أصلية من خلال متاجر تطبيقات محددة. لمستخدمي iOS ، إنه متجر تطبيقات Apple ، ولمستخدمي Android ، إنه Google Play. من أشهر أمثلة تطبيقات الهاتف المحمول المحلية Spotify و WhatsApp و LinkedIn. نأمل أن تكون هذه القطعة قد ساعدتك في فهم أفضل تطبيق للجوّال الأصلي.

مميزات easy_localization ؟

دعم العديد من اللغات
دعم تنسيقات الملفات المتعددة للترجمة
معالجة حالات التعددية (pluralization)
دعم النص الموجه من اليمين إلى اليسار (RTL)
دعم إعادة توجيه مفاتيح اللغة البديلة

لماذا افضل easy_localization عن غيرها ؟

1 - التعرف على لغة النظام وبدء التطبيق به
2- توفير الكثير من الاكواد
3- لن تحتاج لحذف اللغه فبمجرد التغيير يتم حفظها

لاستخدام المكتبة

طريقة استخدام مكتبة easy_localization في ترجمة عناصر تطبيقك


في البداية تحتاج الى اضافة ملف assets وبداخله ملف للترجمه translations وتضع بداخله اي لغه ترغم بها فقط رمز اللغه وبنهايته json كما هو موضح وبداخل الملف تكتب ال key الخاص بكل عنصر و العباره بكل لغه


الان سوف تحتاج الى وضع الملف بداخل pubspec كما هو موضح ليتعرف عليها المشروع


الان سوف نقوم بعمل extension للنصوص لتسهل علينا عملية الترجمه بشكل اسرع بدل من كتابة كل key وبعده tr .


الان وقبل ال runApp قم بتعريف المكتبة وارفاق اللغات التي تعمل عليها وايضا مسار الملف الخاص بالترجمه ولغة افتراضيه ( في كلا الحالات سوف يتعرف على لغة النظام ويفتح عليها ) . ولا تنسى ايضا تفعيل المكتبة وعمل init لها .


main.dart
await EasyLocalization.ensureInitialized();
runApp(EasyLocalization(
      supportedLocales: [Locale('en'), Locale('ar')],
      path: 'asstes/translations', // <-- change the path of the translation files
      fallbackLocale: Locale('ar'),
      child: MyApp()
  ),);
  
الان لاستخدام النص سوف تقوم بعمل context ومن ثم المفتاح الخاص بها , ولكي تقوم بالتغيير بين اللغات استخدام setLocale .


locale.dart
Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Text(context.success),
          ElevatedButton(onPressed: (){
            context.setLocale(Locale('en'));
          }, child: Text('Change')),
          ElevatedButton(onPressed: (){
            context.setLocale(Locale('ar'));
          }, child: Text('تغيير')),
        ],
      )
      

تعليقات