شارك المقالة

ترجمة التطبيق الخاص بك في flutter بدون اي مكتبات

ترجمة التطبيق الخاص بك في flutter بدون اي مكتبات

يمكن ترجمة تطبيق Flutter بدون مكتبات عن طريق إنشاء ملفات ترجمة لكل لغة تريد دعمها. يمكنك استخدام أي تنسيق ملف تريده لترجمة، ولكن تنسيق JSON هو الأكثر شيوعًا.



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


الخطوه الاولى : انشاء ملف يحتوي على اللغات التي ترغب باضافتها


الخطوة الثانيه : اضافة الملفات داخل ملف pubspec.yaml


الخطوة الثالثه : انشاء ملف model لقراءة ملفات json  وكل عباره يتم اضافتها في اللغات يتم اضافتها هنا ايضا .


TranslationModel.dart


class TranslationModel {
  late String flutter;

TranslationModel.fromJson(Map<String, dynamic> json) {
    flutter = json['flutter'];
}
 }
 

الخطوة الرابعه : التاكد من لغة الجهاز للمستخدم ومعرفة اللغه التي يستعملها

await di<CacheHelper>().get(AppStringSharedPreferences.isRtl).then((value) {
    if (value != null) {
      isRtl = value;
    } else {
      if (Locale(Platform.localeName).toString().split('_')[0] == 'ar') {
        isRtl = true;
      } else {
        isRtl = false;
      }
    }
  });

  String translation = await rootBundle.loadString('assets/language/${isRtl ? 'ar' : 'en'}.json');
  

الخطوة الخامسه : ترجمه التطبيق عند بدء العمل وذلك يكون عن طريق cubit او اي statemanagement اخرى وذلك يكون عن طريقة كود يتم اضافته في الكيوبت واخر في BlocProvider عند بدء العمل
// cubit.dart

  late TranslationModel translationModel;
  void setTranslation({required String translation}) {
    translationModel = TranslationModel.fromJson(json.decode(
      translation,
    ));
    emit(LanguageLoaded());
  }

// main.dart
BlocProvider(
create: (context) =>MainBloc()....setTranslation(translation: widget.translation)
)

الخطوه السادسه انشاء متغير في constant لاتجاه التطبيق وايضا لتسهيل عملية التعريف للغه .
bool isRtl = false;
TranslationModel appTranslation(context) => MainBloc.get(context).translationModel;

الخطوة السابعه : استخدام اللغه لتطبيقك سوف تقوم بكتابة appTranslation وبعدها اسم الkey
Text(appTranslation(context).setting)

شاهد أيضًا
مقالات ذات صلة
تصميم ui/ux لمتطبيقك او موقعك بالذكاء الاصطناعي في وقت قياسي

كيف تستفاد من الذكاء الاصطناعي كمصمم واجهة المستخدم وتسهيل عملكفي عصرنا الحديث، أصبح الذكاء الاصطناعي…

التعامل مع Map #3 : شرح كيف يمكنك تحديث بيانات موقع المستخدم بواسطة برنامج اندرويد ستوديو .

  مرحبا بكم متابعي شروحات تطوير تطبيقات الاندرويد هذا هو الدرس الثالث من دروس التعامل…

Flutter Document Scanner: وداعاً للأوراق! مسح ضوئي للمستندات بسهولة على هاتفك!

Flutter Document Scanner: وداعاً للأوراق! مسح ضوئي للمستندات بسهولة على هاتفك!اكتشف الحل السحري لمسح ضوئي…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع