Flutter 多语言国际化配置 -- 使用Intl插件
  45VoiS2mj7n5 2023年11月02日 89 0


安装插件

  • Android Studio -> File -> Setting -> Plugins -> 搜索Flutter Intl

配置项目

首先在项目pubspec.yaml中添加如下语句并执行 package get
dev_dependencies:
...
flutter_localizations:
sdk: flutter
在菜单栏的Tool下找到Flutter Intl 并选择Initalize for the project, 配置结束后效果如下:
1. 会在 pubspec.yaml中增加以下字段
flutter_intl:  
enabled: true
2. 会在lib目录下增加 generated 和 l10n两个包
  • generated包下的intl包默认存在一个messages_all.dartmessages_en.dart文件,messages开头的文件会在添加语言后自动生成
  • l10n包下存在一个intl_en.arb文件

添加语言

Tool下找到Flutter Intl 并选择Add Locale, 并输入语言类型(eg: zh),配置结束后会生成如下文件
1. lib目录下l10n包下会生成一个 intl_zh.arb
2. generated包下的intl包中生成messages_zh.dart文件

初始化Flutter国际化

在主页面build中加入
return MaterialApp(
...
localizationsDelegates: const [
S.delegate,
GlobalMaterialLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
GlobalWidgetsLocalizations.delegate
],
// 设置中文为首选项
supportedLocales: [const Locale('zh', ''), ...S.delegate.supportedLocales],
...
);

配置多语言

  • 分别在 intl_en.arb 和 intl_zh.arb下添加字符串
  • 在需要配置国际化的地方调用S.of(context).字符串即可

示例效果

​​完整项目​

Flutter 多语言国际化配置 -- 使用Intl插件_android


Flutter 多语言国际化配置 -- 使用Intl插件_字符串_02


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  iD7FikcuyaVi   2023年11月30日   26   0   0 MacWindowsandroid
  b1UHV4WKBb2S   2023年11月13日   34   0   0 裁剪ideflutter
  b1UHV4WKBb2S   2023年11月13日   27   0   0 flutterDart
45VoiS2mj7n5