Advertisement

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)

还没有任何评论哟~