Flutter有不少本地化的packages使用,我如今用的是 flutter_i18njson
项目主页:https://pub.dartlang.org/packages/flutter_i18nui
一、安装spa
在pubspec.yaml中添加翻译
dependencies: flutter_i18n:code
Ctrl+S保存后,自动获取最新的包。blog
二、引用ci
import 'package:flutter_i18n/flutter_i18n.dart';
三、配置get
项目下新建一个文件夹,下面站识几个例子,用任意一个便可io
/assets/flutter_i18n (默认) /assets/i18n /assets/locales
以 assets/i18n 为例class
在刚才新建的文件夹下,新建json文件,包含须要翻译的关键字,这儿分两种状况。
须要指定国家代码
/assets/i18n/{languageCode}_{countryCode}.json
其余
/assets/i18n/{languageCode}.json
而后在pubspec.yaml中声明
flutter:
assets:
- /assets/i18n
而后为了使用flutter_i18n,须要在MaterialApp中添加.
true或者false根据状况本身肯定。
return new MaterialApp( localizationsDelegates: [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, FlutterI18nDelegate(true, 'en_us', 'assets/i18n'), ], home: new HomePage(), }, );
四、翻译
在使用的时候,直接添加代码
FlutterI18n.translate(buildContext, "your.key")