Flutter 國際化配置 -- 使用Intl插件

安裝插件

  • Android Studio -> File -> Setting -> Plugins -> 搜索Flutter Intl
  • 在這裏插入圖片描述

配置項目

首先在項目pubspec.yaml中添加如下語句並執行 package get
dev_dependencies:
...
  flutter_localizations:
    sdk: flutter
在菜單欄的Tool下找到Flutter Intl 並選擇Initalize for the project, 配置結束後效果如下:
1. 會在 pubspec.yaml中增加以下字段
flutter_intl:  
    enabled: true
2. 會在lib目錄下增加 generated 和 l10n兩個包
  • 在這裏插入圖片描述
  • generated包下的intl包默認存在一個messages_all.dartmessages_en.dart文件,messages開頭的文件會在添加語言後自動生成
  • l10n包下存在一個intl_en.arb文件

添加語言

Tool下找到Flutter Intl 並選擇Add Locale, 並輸入語言類型(eg: zh),配置結束後會生成如下文件
1. lib目錄下l10n包下會生成一個 intl_zh.arb
2. generated包下的intl包中生成messages_zh.dart文件

初始化Flutter國際化

在主頁面build中加入

return MaterialApp(
  ...
    localizationsDelegates: const [
      S.delegate,
      GlobalMaterialLocalizations.delegate,
      GlobalCupertinoLocalizations.delegate,
      GlobalWidgetsLocalizations.delegate
    ],
    // 設置中文爲首選項
    supportedLocales: [const Locale('zh', ''), ...S.delegate.supportedLocales],
  ...
);

配置多語言

  • 分別在 intl_en.arb 和 intl_zh.arb下添加字符串
  • 在需要配置國際化的地方調用S.of(context).字符串即可

示例效果

完整項目
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章