杀死或销毁应用程序后,Flutter Localization 不稳定

Flutter Localization is not stable after after kill or destroy app

我已经使用 Get 包进行本地化,它工作正常。但是如果我销毁(杀死,关闭)应用程序并再次打开,那么默认设置本地语言的时间。

示例:- 打开应用程序-> 语言(英语)-> 更改语言(阿拉伯语)-> 它工作 -> 关闭(销毁,杀死)应用程序-> 再次打开 -> 默认设置语言(英语) .

以上是流程。

  GetMaterialApp(
        locale: Get.locale,
        translations: LLLanguages(),
        navigatorKey:Get.key,
        debugShowCheckedModeBanner:false,
        theme:LLTheme.light,
        darkTheme: LLTheme.dark,
        themeMode: ThemeService().theme,
        home:LLSplashScreen(),
      )



Get.updateLocale(Locale('ar','DZ'));

提前致谢

这是预期的行为。您需要将活动 localization/language 标志保存在永久性存储中,例如 GetStorage、SharedPreferences 或 Hive。您需要获取该值并在应用启动时根据该值设置本地化。

main() async{
    SharedPreferences prefs = await SharedPreferences.getInstance();

    var isArabic= prefs.getBool('isArabic') ?? false;

   runApp(MyApp(isArabic));
}


class MyApp extends StatelessWidget{
    final bool isArabic;

    MyApp(this.isArabic);

    Widget build()=>   GetMaterialApp(
    locale: isArabic?Locale('ar','DZ'): Locale('en','US'),
    translations: LLLanguages(),
    navigatorKey:Get.key,
    debugShowCheckedModeBanner:false,
    theme:LLTheme.light,
    darkTheme: LLTheme.dark,
    themeMode: ThemeService().theme,
    home:LLSplashScreen(),
  );
 }