Flutter 多语言 插件 intl

我们使用as支持的一款插件 intl

  https://pub.dev/packages/intl

 安装插件 flutter Intl

安装后重启

 新增依赖 dev_dependencies 下面添加如下代码


  flutter_localizations:
    sdk: flutter

 点击获取下

使用刚才安装的工具,点击Tools Flutter Intl  初始化工程给他多语言的能力

 Lib下会新增很英语的多语言文件

并且 清单文件最下面会新增(不需要我们手动改什么)

flutter_intl:
  enabled: true

这些文件我们不需要用手动去创建 

依然还是使用脚本

 

根据我多年开发者的多语言的经验。已知中文是zh_CN

新增后项目如下

多出的文件分别是 

messages_zh_CN.dart
intl_zh_CN.arb

 我们后面要用。现在先看下里面有什么

intl_zh_CN.arb

一个空Json。。想必在座的各位都知道他是怎么设计的了吧?

不知道也没关系。我们继续往下配置

在我们的 

runAPP的第一个Wegight标签下新增如下代码
 MaterialApp(
      ...
      localizationsDelegates: const [
        GlobalCupertinoLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        S.delegate
      ],
      supportedLocales: S.delegate.supportedLocales,
      ...
      )

直接报错?没关系 !我们在上面导入依赖

import 'package:flutter_catalog/generated/l10n.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

我们编辑intl_zh_CN.arb 这个文件新增如下代码

{
  "title": "安果移动果然名不虚传"
}

英语是不是也同样要加上? 

修改文件 intl_en.arb

打开Goole翻译  

 

{
  "title": "Anguo Mobile really deserves its reputation"
}

ok 怎么调用呢? 

如果想用title里面的文案就可以使用

S.of(context).title

他会在英语的时候使用英语。中文环境下使用中文。想必在做的各位都清楚了吧

我给大家看下

代码

 效果图

英语环境下:

中文环境下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值