我正在使用简单的本地化包在2种语言的应用程序,,我需要用一个按钮切换语言。我怎么能做到这一点?
await EasyLocalization.ensureInitialized();
log(token);
runApp(
EasyLocalization(
supportedLocales: const [Locale('ar'), Locale('en')],
path: 'assets/translations',
startLocale: const Locale('ar'),
fallbackLocale: const Locale('en'),
saveLocale: true,
assetLoader: const CodegenLoader(),
child: ScreenUtilInit(
designSize: const Size(411.4, 683.4),
child: const MyApp(),
builder: (context, child) => child!,
),
),
);
2条答案
按热度按时间slsn1g291#
有课解释正确的制作方法:
Source_code_in_github
Explain Localization with provider and shared preferences
您应该遵循以下步骤:
1.添加软件包
provider
和shared_preferneces
。1.创建文件夹,并将其命名为
l10n
。1.在
l10n
文件夹中添加语言json文件,名称为*.arb
,即app_ar.arb
和app_en.arb
。1.在
l10n
文件夹中添加Dart文件,并将其命名为:l10n.dart
.1.在
arb
文件中写入您需要的内容,如下所示:"youKey":"your_value
键的第一个字母必须是小写字母camelCase,no _ nor -.即1.将列表语言添加到
l10n.dart
。1.在项目的根空间创建
l10n.yaml
文件,并在其中写入:1.然后在你的终端运行
flutter pub get
,它将生成包含你的语言的所有属性的类。1.使用以下代码添加新dart文件名,即
app_local.dart
:1.添加dart文件,并将其命名为
setting_provider.dart
:1.添加dart文件,并将其命名为
shared_pref.dart
:1.写入
main
函数:然后在
MyApp
类中返回提供程序,如下所示:1.最后在任何类中调用该语言,如我的示例
HomePage
所示:kupeojn62#
您需要导入简易本地化包
然后传递参数('ar '或' en')