flutter CupertinoAlertDialog で日本語だとクラッシュする件
CupertinoAlertDialogを使って日本語を表示させようとすると以下のエラーでハマった。
The getter ‘alertDialogLabel’ was called on null
こちら、CupertinoAlertDialogの多言語対応が必要でした。
以下でバッチリ解決します。
まず、localizationsDelegatesに以下を追加
localizationsDelegates: [
.....
const FallbackCupertinoLocalisationsDelegate(),
]
そして対応するdelegateを追加
class FallbackCupertinoLocalisationsDelegate
extends LocalizationsDelegate<CupertinoLocalizations> {
const FallbackCupertinoLocalisationsDelegate();
@override
bool isSupported(Locale locale) => true;
@override
Future<CupertinoLocalizations> load(Locale locale) =>
DefaultCupertinoLocalizations.load(locale);
@override
bool shouldReload(FallbackCupertinoLocalisationsDelegate old) => false;
}
FLUTTERの多言語対応は結構クセあるなと。
↓参考になりました。ありがとうございました!
https://github.com/flutter/flutter/issues/23047