Flutter有很多本地化的packages使用,我現在用的是 flutter_i18n
項目主頁:https://pub.dartlang.org/packages/flutter_i18n
1、安裝
在pubspec.yaml中添加
dependencies: flutter_i18n:
Ctrl+S保存后,自動獲取最新的包。
2、引用
import 'package:flutter_i18n/flutter_i18n.dart';
3、配置
項目下新建一個文件夾,下面站識幾個例子,用任意一個即可
/assets/flutter_i18n (默認) /assets/i18n /assets/locales
以 assets/i18n 為例
在剛才新建的文件夾下,新建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(), }, );
4、翻譯
在使用的時候,直接添加代碼
FlutterI18n.translate(buildContext, "your.key")
更多請參考項目主頁介紹https://pub.dartlang.org/packages/flutter_i18n