当前位置:网站首页>Flutter自带国际化适配自动生成方案
Flutter自带国际化适配自动生成方案
2022-08-02 19:16:00 【前端码农小王】

1. 介绍
在研究别人的项目期间,突然发现了此方案,特意分享,原来flutter自己已经有一套成熟的国际化生成功能,配置完成后,只需要编写arb即可,主要有以下步骤
- 1.新建一个
l10n.yaml文件 - 2.添加和配置所需文件
- 3.更改pubspec.yaml
- 4.flutter packages get
- 5.使用
1. 新建一个l10n.yaml文件
添加内容如下:
arb-dir: lib/l10n/arb
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart
nullable-getter: false
解析:
- arb-dir: arb 所在的目录
- template-arb-file: 默认使用的arb文件
- output-localization-file: 导出的文件名
- nullable-getter: 获取国际化文本是否可空
2. 添加和配置所需文件
新建文件及文件夹如下:
- 项目下的lib* arb* app_en.arb* app_es.arb* l10n.dart

app_en.arb 文件内容
{"@@locale": "en","appName": "Remarks","@appName": {"description": "备注"}
}
@appName表示配置一些东西,description表示添加注释,app_es.arb 同理可得
l10n.dart 代码如下:(导入的内容虽然有报错,先不用管)
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
export 'package:flutter_gen/gen_l10n/app_localizations.dart';
extension AppLocalizationsX on BuildContext {AppLocalizations get l10n => AppLocalizations.of(this);
}
3. 更改pubspec.yaml
添加generate属性
flutter:uses-material-design: true# 添加这个属性generate: true
4. 运行flutter packages get
运行成功后,可以在.dart_tool目录下,生成了国际化适配的代码,再重新查看之前报错的代码,都正常了

5.使用
MaterialApp修改如下:

需要使用的地方:

arb的内容还有很多,例如,添加参数等,自行可研究,以上完!
边栏推荐
- 【C语言刷题】Leetcode238——除自身以外数组的乘积
- B站HR对面试者声称其核心用户都是生活中的Loser
- golang刷leetcode 经典(9)为运算表达式设计优先级
- Dynamically generate different types of orders, how do I deposit to mongo database?
- Geoserver+mysql+openlayers
- 微服务-gateway【服务网关入门】
- 快手web did可用生成
- 3 and a half years of testing experience, I don't have 20K, it seems it's time to change jobs
- 我靠这套笔记自学,拿下字节50万offer....
- 分享一个 web 应用版本监测 (更新) 的工具库
猜你喜欢
随机推荐
es DELETE index 源码分析
golang刷leetcode 经典(10) tire树与ac自动机
golang刷leetcode 经典(12) 完全二叉树插入器
Dynamically generate different types of orders, how do I deposit to mongo database?
如何获取EasyCVR平台设备通道的RTMP视频流地址?
移动跨端技术方案分析对比
geoserver+mysql+openlayers问题点
淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)
7.22 - 每日一题 - 408
JVM内存和垃圾回收-04.程序计数器(PC寄存器)
博云入选 Gartner 中国 DevOps 代表厂商
JWT学习
NC | Structure and function of soil microbiome reveal N2O release from global wetlands
我靠这套笔记自学,拿下字节50万offer....
MySQL安装时一直卡在starting server
MaxCompute 的SQL 引擎参数化视图具体有哪些增强功能?
如何正确地配置入口文件?
项目分析(复杂嵌入式系统设计)
详解卡尔曼滤波原理
元宇宙001 | 情绪无法自控?元宇宙助你一臂之力









