使用flutter_i18n進行國際化
1、pubspec.yml裏增加依賴
dependencies:
flutter_localizations:
sdk: flutter
flutter_i18n: ^0.8.2
然後點擊packages get
2、命令行進入根目錄建一個文件夾assets/i18n
pubspec.yml裏增加資源依賴
assets:
- assets/i18n/
3、在assets/i18n下新建一個zh_CN.json文件,粘貼以下代碼,這裏是簡體中文,所以用zh_CN命名,如果其他語言,就用其他語言命名,但必須用下劃線分割,前面是語言,後面是國家
{
"tabItemTitleHome": "Home"
}
左邊是key,右邊是文字
4、main.dart裏設置delegate
MaterialApp下增加
localizationsDelegates: [
FlutterI18nDelegate(useCountryCode: true, fallbackFile: 'zh_CN', path: 'assets/i18n'),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
5、使用文字的地方用以下語句替換
FlutterI18n.translate(context, 'tabItemTitleHome')
tabItemTitleHome替換成自己的key
6、獲取當前locale
Locale currentLocale = Localizations.localeOf(this.context); print(currentLocale.languageCode); print(currentLocale.scriptCode); print(currentLocale.countryCode);