Flutter实战-国际化
添加插件
终端中输入
flutter pub add flutter_localizations --sdk=flutter |
然后pubspec.yaml
中就会自动添加下面内容
dependencies: |
在pubspec.yaml
的flutter
模块中添加下面配置
flutter: |
创建国际化字符串
- 在 lib 目录下创建一个名为
l10n
的子目录,并在其中创建 arb 文件(.arb 格式是 JSON 字符串映射的格式,用于存储翻译字符串)。{
"@@locale": "en",
"helloWorld": "Hello, World!",
"appTitle": "My App",
}
注意: 默认是intl_xxx.arb
,格式如下,根据pubspec.yaml
的flutter_xx
字段来flutter_intl
-> intl_xxx.arb
flutter_app
-> `app_xxx.arb
- 创建配置
intl.config.json
{
"arb_dir": "lib/l10n",
"template_arbs": [
"intl_en.arb"
],
"output_dir": "lib/generated" //输出文件夹
}
生成命令
flutter pub run intl_utils:generate --config=lib/l10n/intl.config.json |
- 生成多语言文件(不建议)
flutter gen-l10n
使用
1、MaterialApp组件处添加多语言配置
2、使用字符串
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; |