# 『Flutter』 多國語言,intl套件 ###### tags: `Flutter` ![](https://i.imgur.com/vj5uiij.gif =40%x) ## 安裝 ### 安裝 flutter_localizations ``` dependencies: flutter_localizations: sdk: flutter ``` ### 安裝插件 Preferences -> Plugins -> Flutter Intl ![](https://i.imgur.com/4kkurIm.png) https://plugins.jetbrains.com/plugin/13666-flutter-intl ## 使用 Tools -> Flutter Intl -> Initialize for the Project 建立 ![](https://i.imgur.com/6abq5WS.png) Add Locale 添加語言 ![](https://i.imgur.com/zKgJEUM.png) 插件產生的資料結構,可以從arb檔案修改json ![](https://i.imgur.com/MkgUmTt.png) MaterialApp 配置 ```= ocalizationsDelegates: [ S.delegate, GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate ], supportedLocales: S.delegate.supportedLocales, ``` 後面新版本已經不需要多處理繁簡問題了 ```= localeResolutionCallback: (locale, supportLocales) { // 中文 简繁体处理 if (locale?.languageCode == 'zh') { if (locale?.scriptCode == 'Hant') { return const Locale('zh', 'TW'); //繁体 } else { return const Locale('zh', 'CN'); //简体 } } return null; } ``` IOS配置 ![](https://i.imgur.com/cVrGnvf.jpg) 範例 ```= import 'generated/l10n.dart'; Text(S.of(context).title,) ``` 載入 ```= S.load(Locale('en')); ``` 參考 https://juejin.im/post/5e4536d0e51d4526ef5f85a9 支援代碼表 https://api.flutter.dev/flutter/flutter_localizations/GlobalMaterialLocalizations-class.html