flutter國際化

使用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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章