Flutter国际化:Flutter Intl 插件实现国际化 --- AndroidStudio
发布时间
阅读量:
阅读量
Flutter国际化3种方式:
1、官网提供的flutter_localizations,i18n | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
2、第三方库提供的intl和intl_generator, https://pub-web.flutter-io.cn/
3、安装插件Flutter Intl
前两种方式不介绍了,这里记载一下Flutter Intl 插件实现国际化。(重点是简单高效)
Flutter Intl 国际化
第一步:安装插件
安装插件Flutter Intl,如下图:

第二步:初始化项目
AndroidStudio在打开的项目中Tools --->Flutter Intl--->Initialize for the Project,如下图位置:

这是苹果系统的显示,Windows也类似,只是界面显示的位置不同,找一找。
点击后,在lib目录下自动生成generated和l10n文件夹,如下图:

第三步:编辑arb文件
默认arb文件内容是空的,按照json文件编辑即可,ctrl + s后会自动更新generated/intl文件夹下对应dart文件,比如:

第四步:App入口注册国际化
一般在MaterialApp组件里注册,也可以单独某个界面注册,实战中一般都在程序入口注册,代码如下:
supportedLocales: S.delegate.supportedLocales,
localizationsDelegates: const [
S.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
直接粘贴,"S"导包即可。
第五步:添加其他国家语言
Tools ---> Flutter Intl --->Add Local

点击如图Add Local,弹窗添加“zh”名称(注意:文件名称要使用国家语言编码),点击OK后自动在l10n目录下添加新的arb文件,也是空的,只有大括号,编辑如上面第三步。
第六步:项目中调用
S.of(context).app_name
arb文件支持传参方式,如下:
{
"app_name": "Food Delivery App {name}",
"login_title": "Food Delivery"
}
调用:
S.(context).app_name("nice")
全部评论 (0)
还没有任何评论哟~
