在说flutter国际化前,不得不提到,在uni-app中支持的Vue-i18n,两者有相似之处,也有差异的地方。
本篇借鉴了三篇热门帖子
Flutter中的国际化:如何写一个多语言的App
Flutter国际化完整例子
Internationalization - Make an Flutter application multi-lingual
只记录根据手机系统语言自动转换app语言
引入后,保存会自动加入安装此依赖
我们新建一个和"/lib"同级别的文件夹"/locale",然后在这个文件夹中新建两个文件,分别为"i18n_en.json" 和" i18n_zh.json"。再在"/lib"文件夹下创建和"main.dart"同级的"translation.dart"和"application.dart"。
文件夹树现在是这个样子的:
MyApplication
|
+- android
+- build
+- images
+- ios
+- lib
|
+-main.dart
+-translation.dart
+-application.dart
+- locale
|
+- i18n_en.json
+- i18n_zh.json
+- test
在pubspec.yaml继续加入json,引入静态资源
补充:如果需要强制转换的话(我自己没有用到)