在Flutter中易于定位i18n

2ekbmq32  于 2023-02-25  发布在  Flutter
关注(0)|答案(5)|浏览(203)

easy_localization包的最新版本与任何在线教程或文章都有很大的不同。
我在新版本中遇到了一些困难,但是当我试图创建一个按钮来动态地改变语言时,我卡住了。旧的方法是data = EasyLocalizationProvider.of(context).data,然后我插入data.changeLocale(Locale(ar-SA));在onPressed函数里面,就是这样。但是我找不到changeLocale函数,也找不到EasyLocalizationProvider类。
如何使用最新版本实现这一点?
先谢了...

m2xkgtsf

m2xkgtsf1#

使用此代码:

context.locale = Locale('ar', 'SA');

或:

EasyLocalization.of(context).locale = Locale('ar', 'SA');
twh00eeo

twh00eeo2#

我找到了答案...我把这个插入到按钮“context.locale = Locale('ar','SA');“它改变了应用程序的语言...

fjnneemd

fjnneemd3#

确保将语言添加到supportedLocales,如在主supportedLocales中所做的那样:

[Locale('en', 'US'), Locale('tr', 'TR'), Locale("ar")],
wgx48brx

wgx48brx4#

就我而言,我犯了愚蠢错误
我分配

final locale = Locale("en-US");
context.setLocale(locale);

代替

final locale = Locale("en", "US");
context.setLocale(locale);
clj7thdc

clj7thdc5#

在我的情况下,我使用了:

context.setLocale(const Locale('uk'));

并得到一个错误:“parent.supportedLocales.包含(区域设置)”:不是真的。”所以我用了这个:

context.setLocale(const Locale('uk', ''));

相关问题