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")