Flutter开发之——国际化之Intl插件
一 概述
Intl是官方出品的,包含用于处理国际化/本地化消息,日期和数字格式和解析,双向文本以及其他国际话问题。
- pub地址:https://pub.dev/packages/intl
- Github地址:https://github.com/dart-lang/intl
二 插件安装(Intellij)
Flutter Intl插件安装:依次点击:Intellij IDEA—>Preference—>Plugins—>Marketplace,搜索Flutter Intl
安装重启即可
三 添加依赖
3.1 flutter_localizations
在项目的 pubspec.yaml
文件中添加依赖
1 | dev_dependencies: |
执行命令
1 | flutter pub get |
3.2 Flutter Intl 初始化项目
Tool->Flutter Intl ->Initalize for the project
成功后,自动在 pubspec.yaml末尾增加
1 | flutter_intl: |
3.3 在lib下生成generated 和 l10n
执行Flutter Intl->Initialize for the Project后,lib目录下生成generated和i10n文件夹
文件说明:
- generated包下的intl目录默认生成 messages_all.dart 和 messages_en.dart 文件,messages开头的文件无需手动修改,是自动生成的
- generated包下的 I10n.dart 是Localizations和Delegate的实现,无需手动修改,是自动生成的
- l10n包下存在一个intl_en.arb文件,这是系统默认生成的英文国际话内容
四 添加语言(中文-zh)
Tool->Flutter Intl -> Add Locale,添加语言
添加中文支持
自动生成相关文件
五 添加系统国际化支持
5.1 pubspec.yaml文件中添加包依赖
1 | dependencies: |
5.2 MaterialApp 修改
1 | MaterialApp( |
5.3 在 intl_en.arb 和 intl_zh.arb下添加文案
添加一个 title 文案,intl_en.arb
1 | { |
intl_zh.arb:
1 | { |
按 command + s 保存,generated 目录下相关文件将会重新生成
5.4 main.dart
1 | return Scaffold( |